Odo: Telemetery should be disabled for CI tests

Created on 31 Mar 2021  ยท  5Comments  ยท  Source: openshift/odo

/kind bug

What versions of software are you using?

Output of odo version:

โฏ odo version
odo v2.0.8 (d2f7cfb7a)

How did you run odo exactly?

./openshiftci-presubmit-all-tests.sh > output.txt

Actual behavior

Telemetery prompt stalled tests

Any logs, error output, etc?

go build -mod=vendor -ldflags="-X github.com/openshift/odo/pkg/version.GITCOMMIT=d2f7cfb7a" cmd/odo/odo.go
# https://go-review.googlesource.com/c/go/+/198438/
GOFLAGS='' go get github.com/onsi/ginkgo/[email protected]
? Help odo improve by allowing it to collect usage data. Read about our privacy statement: https://developers.redhat.com/article/tool-data-collection. You can change your preference later by changing the ConsentTelemetry preference. (y/N)

[cloud-user@ocp-driver-bpratt-m8b71 odo]$ cat output.txt
. ./scripts/configure-installer-tests-cluster.sh
Login successful.
You have access to 59 projects, the list has been suppressed. You can list all projects with ' projects'
Using project "default".
Call  separately if you want to reset the kubeconfig
Now using project "ci-operator-hub-project" on server "https://***************:6443".
You can add applications to this project with the 'new-app' command. For example, try:
    oc new-app rails-postgresql-example
to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
    kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
clusterrole.rbac.authorization.k8s.io/edit added: "developer"
subscription.operators.coreos.com/etcd created
subscription.operators.coreos.com/rh-service-binding-operator created
Now using project "openjdk-11-rhel8" on server "https://***************:6443".
You can add applications to this project with the 'new-app' command. For example, try:
    oc new-app rails-postgresql-example
to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
    kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
secret/pull-secret created
clusterrole.rbac.authorization.k8s.io/edit added: "developer"
Now using project "nodejs-12-rhel7" on server "https://***************:6443".
You can add applications to this project with the 'new-app' command. For example, try:
    oc new-app rails-postgresql-example
to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
    kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
secret/pull-secret created
clusterrole.rbac.authorization.k8s.io/edit added: "developer"
Now using project "nodejs-12" on server "https://***************:6443".
You can add applications to this project with the 'new-app' command. For example, try:
    oc new-app rails-postgresql-example
to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
    kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
secret/pull-secret created
clusterrole.rbac.authorization.k8s.io/edit added: "developer"
Now using project "openjdk-11" on server "https://***************:6443".
You can add applications to this project with the 'new-app' command. For example, try:
    oc new-app rails-postgresql-example
to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
    kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
secret/pull-secret created
clusterrole.rbac.authorization.k8s.io/edit added: "developer"
Now using project "nodejs-14" on server "https://***************:6443".
You can add applications to this project with the 'new-app' command. For example, try:
    oc new-app rails-postgresql-example
to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
    kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
secret/pull-secret created
clusterrole.rbac.authorization.k8s.io/edit added: "developer"
imagestream.image.openshift.io/wildfly created
Creating cluster secret for htpasswd
secret/htpasswd-secret created
configuring cluster to use configured auth
oauth.config.openshift.io/cluster configured
ensuring login api stability
Setting up first project
Now using project "myproject" on server "https://***************:6443".
You can add applications to this project with the 'new-app' command. For example, try:
    oc new-app rails-postgresql-example
to build a new example application in Ruby. Or use kubectl to deploy a simple Kubernetes application:
    kubectl create deployment hello-node --image=k8s.gcr.io/serve_hostname
Client Version: 4.6.23
Kubernetes Version: v1.19.0+263ee0d
You have access to the following projects and can switch between them with ' project <projectname>':
    ci-operator-hub-project
  * myproject
    nodejs-12
    nodejs-12-rhel7
    nodejs-14
    openjdk-11
    openjdk-11-rhel8
Using project "myproject" on server "https://***************:6443".
go build -mod=vendor -ldflags="-X github.com/openshift/odo/pkg/version.GITCOMMIT=d2f7cfb7a" cmd/odo/odo.go
# https://go-review.googlesource.com/c/go/+/198438/
GOFLAGS='' go get github.com/onsi/ginkgo/[email protected]
? Help odo improve by allowing it to collect usage data. Read about our privacy statement: https://developers.redhat.com/article/tool-data-co>

Hi, I was running a test after making some changes and caught this latest update. The telemetry prompt seems to have messed up executing this script standalone. Since the script builds odo, I can't actually disable it with odo preference set ConsentTelemetry false (maybe, I could build it and toggle the setting prior to running the script).

Happy to help out with any changes that are needed :)

kinbug prioritHigh

All 5 comments

@valaparthvi It looks like the current approach for disabling telemetry in tests is not reliable.
I think that it might be better to use the env variable approach.

if ODO_DISABLE_TELEMETRY is true odo should skip the consent question and diable telemetry. Basicaly act as ConstTelemetry=false.
With this, it will be easy to just make sure that our tests do export ODO_DISABLE_TELEMETRY=true and the telemetry will be disabled no matter what preference file is used.

/priority high
/kind failing-test

found the problem.
This is actually not related to tests not disabling telemetry, but the shell script executing tests uses odo to log in https://github.com/openshift/odo/blob/master/scripts/openshiftci-presubmit-all-tests.sh#L31

This call should be replaced with oc, and the same needs to be done in other shell scripts executing tests

@kadel awesome, thanks for catching this, I made a wrong assumption about that login command. I can open a PR in a just bit with replacements of odo login -> oc login.

Interop's testing is up and running! Thank you @kadel for the help!

Was this page helpful?
0 / 5 - 0 ratings