Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

addon apply ansible-service-broker fails in OpenShift version 3.9.0 #108

Open
edmacabebe opened this issue Apr 12, 2018 · 15 comments
Open

Comments

@edmacabebe
Copy link

minishift addon apply ansible-service-broker
-- Applying addon 'ansible-service-broker':.Unable to connect to the server: x509: certificate signed by unknown authority
Error applying the add-on: Error executing command 'oc new-project ansible-service-broker'.

@edmacabebe
Copy link
Author

I'm using minishift for latest origin 3.9
May I know if this is working?

I'v set the MINISHIFT_ENABLE_EXPERIMENTAL=y
My config is as follows:
minishift profile set local-cluster-ac
minishift config set iso-url centos
minishift config set vm-driver virtualbox
minishift config set memory 12GB
minishift config set cpus 3
minishift config set disk-size 100GB
minishift config set openshift-version 3.9.0
minishift config set metrics true
minishift config set logging true
minishift config set host-config-dir ~/config
minishift config set host-volumes-dir ~/volumes
minishift config set host-data-dir ~/data
minishift config set host-pv-dir ~/pv

I boot up the cluster in this manner
minishift start --profile local-cluster-abc --service-catalog

@edmacabebe
Copy link
Author

Hurdling the above with a fresh cluster name, and then I applied only the ff default addons: anyuid, admin-user and registry-route, seems to have smoothly worked.
But when I finally decided to go ahead apply the asb addon
minishift addon apply ansible-service-broker
The deployment of the ASB fails, with a loopbackcoff
I'll try redeploying increasing the timeout from 600 to 1500.

@edmacabebe
Copy link
Author

Further, more drastic changes has to be made, like redeploying with a modified strategy of recreate, increased the timeout to 5 folds, and tagged it to release-1.1
APB is loading but due to volume it's taking time...we'll see.

@coolbrg
Copy link
Contributor

coolbrg commented Apr 13, 2018

@edmacabebe Which version of minishift you are using?

@edmacabebe
Copy link
Author

edmacabebe commented Apr 13, 2018 via email

@edmacabebe
Copy link
Author

My last activity as posted here, actually ultimately corrupted my entire minishift setup in macos, where when everytime I boot it up, it constantly already rejects to support all the versions that I want to set. I'm reinstalling now, and trying out with the default minishift profile using 3.7.2. I hope to see and ID outright which of the addons are working. So far, among the large ones, I've consistently been able to successfully install the mini-che. Ansible-service-broker, Cockpit, istio, & fabric8 have so far been very painful.

@coolbrg
Copy link
Contributor

coolbrg commented Apr 13, 2018

I'm using minishift for latest origin 3.9

I got it from here that you are using minishift with origin 3.9.
The addon ASB is tested with 3.7.0

# Name: ansible-service-broker
# Description: Deploys the Ansible Service Broker
# OpenShift-Version: >=3.7.0

Probably @eriknelson can help here what is wrong in 3.9.

mini-che. Ansible-service-broker, Cockpit, istio, & fabric8 have so far been very painful.

Fabric8 might not be stable now as the original authors are not maintaining it.

@edmacabebe
Copy link
Author

The ASB works on 3.7.2
Now on with APB finally!

Can still wait for a real solid 3.9 up.

Thanks bud!

@coolbrg
Copy link
Contributor

coolbrg commented Apr 13, 2018

@edmacabebe Renaming the issue that APB doesn't work with 3.9

@coolbrg coolbrg changed the title addon apply ansible-service-broker fails addon apply ansible-service-broker fails in OpenShift version 3.9.0 Apr 13, 2018
@eriknelson
Copy link
Contributor

eriknelson commented Apr 13, 2018

Hi! Will investigate this today and report back with 3.9 details. Thanks for letting me know @budhrg.

@eriknelson
Copy link
Contributor

@edmacabebe Using minishift v1.14.0+1ec5877, I didn't have any issues installing and applying the ansible-service-broker addon as of master. Can you update with your minishift version, as well as oc version outputs after you have a 3.9 minishift cluster up and running? From your error, it looks like the context is misconfigured such that your oc tool can't even talk to the cluster due to a corrupted x509 cert. I would also ask, before you apply ansible-service-broker, can you create a new project manually? (oc new-project foo)?

@eriknelson
Copy link
Contributor

@edmacabebe
Copy link
Author

edmacabebe commented Apr 16, 2018

I'm using minishift v1.15.1+a5c47dd

I initialize minishift by calling:
minishift delete -f && rm -rf ~/.minishift/profiles/local-cluster-aa

My new profile and configs are the ff:

minishift profile set local-cluster-aa
minishift config set iso-url centos
minishift config set vm-driver virtualbox
minishift config set memory 12GB
minishift config set cpus 3
minishift config set disk-size 100GB
minishift config set openshift-version 3.9.0
minishift config set metrics true
minishift config set logging true
minishift config set host-config-dir ~/Dev/single-master-local-cluster/local-cluster-aa/config
minishift config set host-volumes-dir ~/Dev/single-master-local-cluster/local-cluster-aa/volumes
minishift config set host-data-dir ~/Dev/single-master-local-cluster/local-cluster-aa/data
minishift config set host-pv-dir ~/Dev/single-master-local-cluster/local-cluster-aa/pv

Then I ran the ff cluster up scripts:

source ~/.bashrc <----This ensures the MINISHIFT_ENABLE_EXPERIMENTAL=y is set

minishift start --profile local-cluster-aa --service-catalog
minishift addon apply anyuid admin-user registry-route <---to apply the default addons
eval $(minishift docker-env) &amp;&amp; eval $(minishift oc-env)

The end-result is
-- Starting profile 'local-cluster-aa'
-- Checking if requested OpenShift version 'v3.9.0' is valid ... OK
-- Checking if requested OpenShift version 'v3.9.0' is supported ... OK
-- Checking if requested hypervisor 'virtualbox' is supported on this platform ... OK
-- Checking if VirtualBox is installed ... OK
-- Checking the ISO URL ... OK
-- Checking if provided oc flags are supported ... OK
-- Starting local OpenShift cluster using 'virtualbox' hypervisor ...
-- Minishift VM will be configured with ...
Memory: 12 GB
vCPUs : 3
Disk size: 100 GB
-- Starting Minishift VM ........................................ OK
-- Checking for IP address ... OK
-- Checking for nameservers ... OK
-- Checking if external host is reachable from the Minishift VM ...
Pinging 8.8.8.8 ... FAIL
VM is unable to ping external host
-- Checking HTTP connectivity from the VM ...
Retrieving http://minishift.io/index.html ... OK
-- Checking if persistent storage volume is mounted ... OK
-- Checking available disk space ... 1% used OK
Importing 'openshift/origin:v3.9.0' . CACHE MISS
Importing 'openshift/origin-docker-registry:v3.9.0' . CACHE MISS
Importing 'openshift/origin-haproxy-router:v3.9.0' . CACHE MISS
-- OpenShift cluster will be configured with ...
Version: v3.9.0
Pulling image openshift/origin:v3.9.0
Pulled 1/4 layers, 26% complete
Pulled 1/4 layers, 34% complete
Pulled 1/4 layers, 41% complete
Pulled 1/4 layers, 49% complete
Pulled 1/4 layers, 58% complete
Pulled 1/4 layers, 70% complete
Pulled 2/4 layers, 79% complete
Pulled 3/4 layers, 87% complete
Pulled 3/4 layers, 91% complete
Pulled 3/4 layers, 96% complete
Pulled 4/4 layers, 100% complete
Extracting
Image pull complete
Using nsenter mounter for OpenShift volumes
Using 192.168.99.100 as the server IP
Starting OpenShift using openshift/origin:v3.9.0 ...
OpenShift server started.

The server is accessible via web console at:
https://192.168.99.101:8443

The metrics service is available at:
https://hawkular-metrics-openshift-infra.192.168.99.101.nip.io/hawkular/metrics

The kibana logging UI is available at:
https://kibana-logging.192.168.99.101.nip.io

You are logged in as:
User: developer
Password:

To login as administrator:
oc login -u system:admin

-- Exporting of OpenShift images is occuring in background process with pid 8294.
-- Applying addon 'anyuid':.
Add-on 'anyuid' changed the default security context constraints to allow pods to run as any user.
Per default OpenShift runs containers using an arbitrarily assigned user ID.
Refer to https://docs.openshift.org/latest/architecture/additional_concepts/authorization.html#security-context-constraints and
https://docs.openshift.org/latest/creating_images/guidelines.html#openshift-origin-specific-guidelines for more information.
-- Applying addon 'admin-user':..
-- Applying addon 'registry-route':........
Add-on 'registry-route' created docker-registry route. Please run following commands to login to the OpenShift docker registry:
$ eval $(minishift docker-env)
$ eval $(minishift oc-env)

If your deployed version of OpenShift is < 3.7.0 use.
$ docker login -u developer -p oc whoami -t docker-registry-default.192.168.99.101.nip.io:443

If your deployed version of OpenShift is >= 3.7.0 use.
$ docker login -u developer -p oc whoami -t docker-registry-default.192.168.99.101.nip.io

Installed addons
Addon 'admin-role' installed
Addon 'ansible-service-broker' installed
Addon 'cockpit' installed
Addon 'prometheus' installed
Addon 'fabric8' installed
Addon 'grafana' installed
Addon 'kube-dashboard' installed
Addon 'debezium' installed
Addon 'management-infra' installed
Addon 'che' installed

Enable addons
Add-on 'anyuid' enabled
Add-on 'admin-user' enabled
Add-on 'registry-route' enabled
Add-on 'admin-role' enabled
Add-on 'che' enabled
Add-on 'fabric8' enabled
Add-on 'prometheus' enabled
Add-on 'grafana' enabled
Add-on 'management-infra' enabled
Add-on 'ansible-service-broker' enabled
Add-on 'cockpit' enabled

Then finally invoked
minishift addon apply ansible-service-broker
-- Applying addon 'ansible-service-broker':.........
Ansible Service Broker Deployed
User [ developer ] has been given permission for usage with the apb tools

All seems normal in logs & events...with rolling deployment..untill... an Unhealthy
Readiness probe failed: Get https://172.17.0.9:1338/healthz: dial tcp 172.17.0.9:1338: getsockopt: connection refused

Showed-up in the events!
My 3.7.2 results for the same set of scripts went out all right. But not for 3.9.0.

@edmacabebe
Copy link
Author

The logs that I got from openshift is this

Using config file mounted to /etc/ansible-service-broker/config.yaml

  | ============================================================
  | == Starting Ansible Service Broker... ==
  | ============================================================
  | [2018-04-16T11:15:59.513Z] [NOTICE] - Initializing clients...
  | [2018-04-16T11:15:59.513Z] [DEBUG] - Trying to connect to etcd
  | time="2018-04-16T11:15:59Z" level=info msg="== ETCD CX =="
  | time="2018-04-16T11:15:59Z" level=info msg="EtcdHost: asb-etcd.ansible-service-broker.svc"
  | time="2018-04-16T11:15:59Z" level=info msg="EtcdPort: 2379"
  | time="2018-04-16T11:15:59Z" level=info msg="Endpoints: [https://asb-etcd.ansible-service-broker.svc:2379 ]"
  | [2018-04-16T11:15:59.526Z] [INFO] - Etcd Version [Server: 3.3.3, Cluster: 3.3.0]
  | [2018-04-16T11:15:59.527Z] [DEBUG] - Connecting to Cluster
  | time="2018-04-16T11:15:59Z" level=info msg="OpenShift version: %vv3.9.0+f0a99e5-2"
  | time="2018-04-16T11:15:59Z" level=info msg="unable to retrieve the network plugin, defaulting to not joining networks - clusternetworks.network.openshift.io "default" not found"
  | time="2018-04-16T11:15:59Z" level=info msg="Kubernetes version: %vv1.9.1+a0ce1bc657"
  | [2018-04-16T11:15:59.539Z] [DEBUG] - Connecting Dao
  | [2018-04-16T11:15:59.539Z] [DEBUG] - Connecting Registry
  | [2018-04-16T11:15:59.54Z] [DEBUG] - Initializing WorkEngine
  | [2018-04-16T11:15:59.54Z] [DEBUG] - Creating AnsibleBroker
  | [2018-04-16T11:15:59.54Z] [INFO] - Initiating Recovery Process
  | [2018-04-16T11:15:59.54Z] [DEBUG] - Dao::FindByState
  | [2018-04-16T11:15:59.54Z] [INFO] - No jobs to recover
  | [2018-04-16T11:15:59.54Z] [NOTICE] -
  | [2018-04-16T11:15:59.54Z] [INFO] - Broker configured to bootstrap on startup
  | [2018-04-16T11:15:59.54Z] [INFO] - Attempting bootstrap...
  | [2018-04-16T11:15:59.54Z] [INFO] - AnsibleBroker::Bootstrap
  | [2018-04-16T11:15:59.54Z] [DEBUG] - Dao::BatchGetRaw
  | time="2018-04-16T11:15:59Z" level=info msg="== REGISTRY CX == "
  | time="2018-04-16T11:15:59Z" level=info msg="Name: dh"
  | time="2018-04-16T11:15:59Z" level=info msg="Type: dockerhub"
  | time="2018-04-16T11:15:59Z" level=info msg="Url: https://registry.hub.docker.com "
  | time="2018-04-16T11:15:59Z" level=info msg="== REGISTRY CX == "
  | time="2018-04-16T11:15:59Z" level=info msg="Name: localregistry"
  | time="2018-04-16T11:15:59Z" level=info msg="Type: local_openshift"
  | time="2018-04-16T11:15:59Z" level=info msg="Url: "
  | time="2018-04-16T11:16:03Z" level=info msg="APBs filtered by white/blacklist filter:-> ansibleplaybookbundle/kubevirt-ansible-> ansibleplaybookbundle/origin-ansible-service-broker-> ansibleplaybookbundle/mediawiki123-> ansibleplaybookbundle/ansible-service-broker-> ansibleplaybookbundle/apb-base-> ansibleplaybookbundle/apb-tools-> ansibleplaybookbundle/hello-world-> ansibleplaybookbundle/origin-service-catalog-> ansibleplaybookbundle/py-zip-demo-> ansibleplaybookbundle/photo-album-demo-app-> ansibleplaybookbundle/apb-assets-base-> ansibleplaybookbundle/helm-bundle-base-> ansibleplaybookbundle/origin-> ansibleplaybookbundle/photo-album-demo-api-> ansibleplaybookbundle/asb-installer-> ansibleplaybookbundle/deploy-broker-> ansibleplaybookbundle/manageiq-apb-runner-> ansibleplaybookbundle/origin-deployer-> ansibleplaybookbundle/origin-docker-registry-> ansibleplaybookbundle/origin-haproxy-router-> ansibleplaybookbundle/origin-pod-> ansibleplaybookbundle/origin-sti-builder-> ansibleplaybookbundle/origin-recycler"
  | time="2018-04-16T11:16:09Z" level=info msg="No runtime label found. Set runtime=1. Will use 'exec' to gather bind credentials"
  | time="2018-04-16T11:16:12Z" level=info msg="Didn't find encoded Spec label. Assuming image is not APB and skiping"
  | time="2018-04-16T11:16:17Z" level=info msg="No runtime label found. Set runtime=1. Will use 'exec' to gather bind credentials"
  | time="2018-04-16T11:16:23Z" level=info msg="Didn't find encoded Spec label. Assuming image is not APB and skiping"

@djzager
Copy link

djzager commented Apr 16, 2018

@edmacabebe Based on the broker's logs you provided and the Readiness probe failed: Get https://172.17.0.9:1338/healthz: dial tcp 172.17.0.9:1338: getsockopt: connection refused. I believe that the broker is taking longer than 15 seconds to come up. If you could bump the initialDelaySeconds for the broker's readiness|liveness probes that would be very helpful.

To modify the deployment config: oc edit deploymentconfig -n ansible-service-broker asb
Then find initialDelaySeconds for the readiness|liveness probes and bump to 120 (want to be certain the broker has all the time it needs).

Thank you for all of the logs & information, very helpful, hopefully we can get you past these issues. I'm hopeful that it's a bug in our deploymentconfig.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants