origin: oc cluster up fails on mac with "error creating node config"
When running ‘oc cluster up’ on a mac, based on the tag v3.11.0, the
Version
oc v3.11.0+0cbc58b
kubernetes v1.11.0+d4cacc0
features: Basic-Auth
Steps To Reproduce
Run ‘oc cluster up’ on mac
Current Result
Getting a Docker client ...
Checking if image openshift/origin-control-plane:v3.11 is available ...
Creating shared mount directory on the remote host ...
Determining server IP ...
Checking if OpenShift is already running ...
Checking for supported Docker version (=>1.22) ...
Checking if insecured registry is configured properly in Docker ...
Checking prerequisites for port forwarding ...
Checking if required ports are available ...
Checking if OpenShift client is configured properly ...
Checking if image openshift/origin-control-plane:v3.11 is available ...
Starting OpenShift using openshift/origin-control-plane:v3.11 ...
I1012 16:42:36.567938 25836 config.go:40] Running "create-master-config"
I1012 16:42:38.246052 25836 config.go:46] Running "create-node-config"
I1012 16:42:39.653261 25836 flags.go:30] Running "create-kubelet-flags"
I1012 16:42:40.684323 25836 run_kubelet.go:49] Running "start-kubelet"
Error: error creating node config: could not create OpenShift configuration: cannot start container 12c1d210ad5040275c66065e9659ec8a7856b6f9fa822d133a4cb5f678814e1e; caused by: cannot start container 12c1d210ad5040275c66065e9659ec8a7856b6f9fa822d133a4cb5f678814e1e
Expected Result
Successful startup of 3.11 cluster
Getting a Docker client ...
Checking if image openshift/origin-control-plane:v3.11 is available ...
Creating shared mount directory on the remote host ...
Determining server IP ...
Checking if OpenShift is already running ...
Checking for supported Docker version (=>1.22) ...
Checking if insecured registry is configured properly in Docker ...
Checking prerequisites for port forwarding ...
Checking if required ports are available ...
Checking if OpenShift client is configured properly ...
Checking if image openshift/origin-control-plane:v3.11 is available ...
Starting OpenShift using openshift/origin-control-plane:v3.11 ...
I1012 16:46:37.989224 26159 config.go:40] Running "create-master-config"
I1012 16:46:39.707623 26159 config.go:46] Running "create-node-config"
I1012 16:46:40.856186 26159 flags.go:30] Running "create-kubelet-flags"
I1012 16:46:41.925547 26159 run_kubelet.go:48] Running "start-kubelet"
I1012 16:46:42.307358 26159 run_self_hosted.go:181] Waiting for the kube-apiserver to be ready ...
I1012 16:46:57.459015 26159 interface.go:26] Installing "kube-proxy" ...
I1012 16:46:57.459045 26159 interface.go:26] Installing "kube-dns" ...
I1012 16:46:57.459057 26159 interface.go:26] Installing "openshift-service-cert-signer-operator" ...
I1012 16:46:57.459065 26159 interface.go:26] Installing "openshift-apiserver" ...
I1012 16:46:57.459094 26159 apply_template.go:81] Installing "openshift-apiserver"
I1012 16:46:57.459097 26159 apply_template.go:81] Installing "kube-dns"
I1012 16:46:57.459097 26159 apply_template.go:81] Installing "kube-proxy"
I1012 16:46:57.459107 26159 apply_template.go:81] Installing "openshift-service-cert-signer-operator"
I1012 16:46:59.584384 26159 interface.go:41] Finished installing "kube-proxy" "kube-dns" "openshift-service-cert-signer-operator" "openshift-apiserver"
I1012 16:48:06.686751 26159 run_self_hosted.go:242] openshift-apiserver available
I1012 16:48:06.686785 26159 interface.go:26] Installing "openshift-controller-manager" ...
I1012 16:48:06.686803 26159 apply_template.go:81] Installing "openshift-controller-manager"
I1012 16:48:08.735196 26159 interface.go:41] Finished installing "openshift-controller-manager"
Adding default OAuthClient redirect URIs ...
Adding registry ...
Adding sample-templates ...
Adding centos-imagestreams ...
Adding router ...
Adding persistent-volumes ...
Adding web-console ...
I1012 16:48:08.798854 26159 interface.go:26] Installing "openshift-image-registry" ...
I1012 16:48:08.798867 26159 interface.go:26] Installing "sample-templates" ...
I1012 16:48:08.798873 26159 interface.go:26] Installing "centos-imagestreams" ...
I1012 16:48:08.798878 26159 interface.go:26] Installing "openshift-router" ...
I1012 16:48:08.798883 26159 interface.go:26] Installing "persistent-volumes" ...
I1012 16:48:08.798889 26159 interface.go:26] Installing "openshift-web-console-operator" ...
I1012 16:48:08.798951 26159 interface.go:26] Installing "sample-templates/mysql" ...
I1012 16:48:08.798969 26159 interface.go:26] Installing "sample-templates/postgresql" ...
I1012 16:48:08.798975 26159 interface.go:26] Installing "sample-templates/cakephp quickstart" ...
I1012 16:48:08.798981 26159 interface.go:26] Installing "sample-templates/django quickstart" ...
I1012 16:48:08.798986 26159 interface.go:26] Installing "sample-templates/rails quickstart" ...
I1012 16:48:08.798989 26159 apply_list.go:67] Installing "centos-imagestreams"
I1012 16:48:08.798992 26159 interface.go:26] Installing "sample-templates/jenkins pipeline ephemeral" ...
I1012 16:48:08.799067 26159 apply_list.go:67] Installing "sample-templates/rails quickstart"
I1012 16:48:08.799075 26159 interface.go:26] Installing "sample-templates/mongodb" ...
I1012 16:48:08.799085 26159 interface.go:26] Installing "sample-templates/mariadb" ...
I1012 16:48:08.799084 26159 apply_list.go:67] Installing "sample-templates/postgresql"
I1012 16:48:08.799106 26159 interface.go:26] Installing "sample-templates/dancer quickstart" ...
I1012 16:48:08.799086 26159 apply_list.go:67] Installing "sample-templates/mysql"
I1012 16:48:08.799113 26159 apply_list.go:67] Installing "sample-templates/cakephp quickstart"
I1012 16:48:08.799108 26159 apply_list.go:67] Installing "sample-templates/django quickstart"
I1012 16:48:08.799114 26159 interface.go:26] Installing "sample-templates/nodejs quickstart" ...
I1012 16:48:08.799181 26159 apply_list.go:67] Installing "sample-templates/mariadb"
I1012 16:48:08.799208 26159 apply_list.go:67] Installing "sample-templates/jenkins pipeline ephemeral"
I1012 16:48:08.799273 26159 apply_template.go:81] Installing "openshift-web-console-operator"
I1012 16:48:08.799305 26159 interface.go:26] Installing "sample-templates/sample pipeline" ...
I1012 16:48:08.799347 26159 apply_list.go:67] Installing "sample-templates/dancer quickstart"
I1012 16:48:08.799382 26159 apply_list.go:67] Installing "sample-templates/mongodb"
I1012 16:48:08.799413 26159 apply_list.go:67] Installing "sample-templates/sample pipeline"
I1012 16:48:08.799435 26159 apply_list.go:67] Installing "sample-templates/nodejs quickstart"
I1012 16:48:11.607054 26159 interface.go:41] Finished installing "sample-templates/mysql" "sample-templates/postgresql" "sample-templates/cakephp quickstart" "sample-templates/django quickstart" "sample-templates/rails quickstart" "sample-templates/jenkins pipeline ephemeral" "sample-templates/mongodb" "sample-templates/mariadb" "sample-templates/dancer quickstart" "sample-templates/nodejs quickstart" "sample-templates/sample pipeline"
I1012 16:48:28.145835 26159 interface.go:41] Finished installing "openshift-image-registry" "sample-templates" "centos-imagestreams" "openshift-router" "persistent-volumes" "openshift-web-console-operator"
Login to server ...
Creating initial project "myproject" ...
Server Information ...
OpenShift server started.
The server is accessible via web console at:
https://127.0.0.1:8443
You are logged in as:
User: developer
Password: <any value>
To login as administrator:
oc login -u system:admin
Additional Information
The failure is caused by
Error response from daemon: Mounts denied:
The path /var/lib/kubelet/device-plugins
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.
and the introduction of the ‘/var/lib/kubelet/device-plugins’ mount in the following commit
https://github.com/openshift/origin/commit/10560a82888f0566a98edef6daafb97e58d6ad33
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 7
- Comments: 21 (3 by maintainers)
Any fix for this issue yet?
I got by this error by adding /var/lib/kubelet/device-plugins to the list of bind mounted directories in Docker->File Sharing. I had to type the the directory name, not use Finder that comes up with the + window, which resulted in an error.
@Avdhey We’ve had no problems running ‘oc cluster up’ with previous releases and the only issue we have discovered on MacOS has been this one with the 3.11 tool. The cause was the introduction of a very small, linux specific change being introduced to the codebase. We publish our own version of ‘oc’ so just patched it ourselves.
Given ‘oc cluster up’ and minishift are being replaced with 4.x this issue can likely be closed as “Won’t Fix”
@Dimss It’s part of the maistra configuration so if you run ‘oc cluster up’ you will see the operator deployed into the istio-operator namespace. You would then need to deploy the installation CR into the istio-operator namespace, details of which can be found in our docs
I needed to include /var/lib/kubelet/device-plugins in the docker shared folders as mentioned by cunningt above Also I needed to install and start docker-machine All working now on OSX High Sierra
The following worked for me on
Mojave 10.14.1Version 18.06.1-ce-mac73 (26764)by executing following steps:
mkdir -p /var/lib/kubelet/device-pluginssudo chown -R your_user /var/lib/kubelet/device-pluginsrestart docker enginerun oc cluster --base-dir=/tmp/new-oc-run(set--base-dirto ensure fresh installation)@cunningt I took a look at the commit and it’s purpose is vague, since we are building our own version of oc with an extension for installing Istio I went ahead and removed the offending line.