Skip to content

oc cluster join fail with 3.7.0-rc0 #17331

@ikus060

Description

@ikus060

Trying to add a new node with oc cluster join is failing in openshift v3.7.0-rc0.

Version
# oc version
oc v3.7.0-rc.0+e92d5c5
kubernetes v1.7.6+a08f5eeb62
features: Basic-Auth GSSAPI Kerberos SPNEGO
Steps To Reproduce
  1. Create a master using oc cluster up
  2. Try to add a new node using oc cluster join
Current Result

The docker container fail to start because of an invalid argument.

# /usr/local/bin/oc cluster join --use-existing-config --host-config-dir=/etc/origin --server-loglevel=4 --secret="$(cat kubeconfig)"
-- Checking OpenShift client ... OK
-- Checking Docker client ... OK
-- Checking Docker version ... OK
-- Checking for existing OpenShift container ... 
   Deleted existing OpenShift container
-- Checking for openshift/origin:v3.7.0-rc.0 image ... OK
-- Checking Docker daemon configuration ... OK
-- Checking for available ports ... OK
-- Checking type of volume mount ... 
   Using Docker shared volumes for OpenShift volumes
-- Creating host directories ... OK
-- Finding server IP ... 
   Using 127.0.0.1 as the server IP
-- Joining OpenShift cluster ... 
   Starting OpenShift Node using container 'origin'
FAIL
   Error: could not start OpenShift container "origin"
   Details:
     Last 10 lines of "origin" container log:
           --kubeconfig='': Path to the kubeconfig file to use for requests to the Kubernetes API.
           --kubernetes='https://localhost:8443': removed in favor of --kubeconfig
           --latest-images=false: If true, attempt to use the latest images for the cluster instead of the latest release.
           --listen='https://0.0.0.0:8443': The address to listen for connections on (scheme://host:port).
           --network-plugin='': The network plugin to be called for configuring networking for pods.
           --recursive-resolv-conf='': An optional upstream resolv.conf that will override the DNS config.
           --volume-dir='openshift.local.volumes': The volume storage directory.

     Use "openshift options" for a list of global command-line options (applies to all commands).

With docker logs:

# docker logs origin
Error: unknown flag: --bootstrap


Usage:
  openshift start node [options]

Options:
      --bootstrap-config-name='': On startup, the node will request a client cert from the master and get its config from this config map in the openshift-node namespace (experimental).
      --config='': Location of the node configuration file to run from. When running from a configuration file, all other command-line arguments are ignored.
      --disable='': The set of node components to disable
      --enable='dns,kubelet,plugins,proxy': The set of node components to enable
      --expire-days=730: Validity of the certificates in days (defaults to 2 years). WARNING: extending this above default value is highly discouraged.
      --hostname='veras': The hostname to identify this node with the master.
      --images='openshift/origin-${component}:${version}': When fetching images used by the cluster for important components, use this format on both master and nodes. The latest release will be used by default.
      --kubeconfig='': Path to the kubeconfig file to use for requests to the Kubernetes API.
      --kubernetes='https://localhost:8443': removed in favor of --kubeconfig
      --latest-images=false: If true, attempt to use the latest images for the cluster instead of the latest release.
      --listen='https://0.0.0.0:8443': The address to listen for connections on (scheme://host:port).
      --network-plugin='': The network plugin to be called for configuring networking for pods.
      --recursive-resolv-conf='': An optional upstream resolv.conf that will override the DNS config.
      --volume-dir='openshift.local.volumes': The volume storage directory.

Use "openshift options" for a list of global command-line options (applies to all commands).

Using runliketo reverse the command line use to start the container:

# runlike origin
docker run --name=origin --hostname=veras --env="HOME=/root" --env="OPENSHIFT_CONTAINERIZED=true" --env="KUBECONFIG=/var/lib/origin/openshift.local.config/master/admin.kubeconfig" --env="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" --volume="/var/log:/var/log:rw" --volume="/var/run:/var/run:rw" --volume="/sys:/sys:rw" --volume="/sys/fs/cgroup:/sys/fs/cgroup:rw" --volume="/dev:/dev" --volume="/:/rootfs:ro" --volume="/var/lib/origin/openshift.local.volumes:/var/lib/origin/openshift.local.volumes:rslave" --network=host --privileged --restart= --label io.openshift.tags="openshift,core" --label license="GPLv2" --label io.k8s.description="OpenShift Origin is a platform for developing, building, and deploying containerized applications." --label build-date="20170911" --label name="CentOS Base Image" --label io.k8s.display-name="OpenShift Origin Application Platform" --label vendor="CentOS" --detach=true openshift/origin:v3.7.0-rc.0 start node --bootstrap --kubeconfig=/var/lib/origin/openshift.local.config/node/node-bootstrap.kubeconfig --loglevel=4
Expected Result

The node container should start without this help message.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions