OCP 3.6 installation fails on Atomic hosts when configuring certificates

Solution Verified - Updated -

Issue

  • OCP 3.6 installation fails on Atomic hosts when configuring certificates.
  • Ansible installer fails with the traceback:
failed: [master.example.com -> master-1.example.com] (item=openshift-registry.crt) => {
    "failed": true,
    "item": "openshift-registry.crt",
    "path": "/etc/origin/generated-configs/master-master.example.com/openshift-registry.crt",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

changed: [node.example.com -> master-1.example.com] => (item=master.kubelet-client.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-node.example.com/master.kubelet-client.key",
    "gid": 0,
    "group": "root",
    "item": "master.kubelet-client.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1675,
    "src": "/etc/origin/master/master.kubelet-client.key",
    "state": "hard",
    "uid": 0
}
failed: [master.example.com -> master-1.example.com] (item=openshift-registry.key) => {
    "failed": true,
    "item": "openshift-registry.key",
    "path": "/etc/origin/generated-configs/master-master.example.com/openshift-registry.key",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

failed: [node.example.com -> master-1.example.com] (item=openshift-registry.crt) => {
    "failed": true,
    "item": "openshift-registry.crt",
    "path": "/etc/origin/generated-configs/master-node.example.com/openshift-registry.crt",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

failed: [master.example.com -> master-1.example.com] (item=openshift-registry.kubeconfig) => {
    "failed": true,
    "item": "openshift-registry.kubeconfig",
    "path": "/etc/origin/generated-configs/master-master.example.com/openshift-registry.kubeconfig",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

failed: [node.example.com -> master-1.example.com] (item=openshift-registry.key) => {
    "failed": true,
    "item": "openshift-registry.key",
    "path": "/etc/origin/generated-configs/master-node.example.com/openshift-registry.key",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

failed: [master.example.com -> master-1.example.com] (item=openshift-router.crt) => {
    "failed": true,
    "item": "openshift-router.crt",
    "path": "/etc/origin/generated-configs/master-master.example.com/openshift-router.crt",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

failed: [node.example.com -> master-1.example.com] (item=openshift-registry.kubeconfig) => {
    "failed": true,
    "item": "openshift-registry.kubeconfig",
    "path": "/etc/origin/generated-configs/master-node.example.com/openshift-registry.kubeconfig",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

failed: [master.example.com -> master-1.example.com] (item=openshift-router.key) => {
    "failed": true,
    "item": "openshift-router.key",
    "path": "/etc/origin/generated-configs/master-master.example.com/openshift-router.key",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

failed: [node.example.com -> master-1.example.com] (item=openshift-router.crt) => {
    "failed": true,
    "item": "openshift-router.crt",
    "path": "/etc/origin/generated-configs/master-node.example.com/openshift-router.crt",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

failed: [master.example.com -> master-1.example.com] (item=openshift-router.kubeconfig) => {
    "failed": true,
    "item": "openshift-router.kubeconfig",
    "path": "/etc/origin/generated-configs/master-master.example.com/openshift-router.kubeconfig",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

failed: [node.example.com -> master-1.example.com] (item=openshift-router.key) => {
    "failed": true,
    "item": "openshift-router.key",
    "path": "/etc/origin/generated-configs/master-node.example.com/openshift-router.key",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

changed: [master.example.com -> master-1.example.com] => (item=ca.crt) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-master.example.com/ca.crt",
    "gid": 0,
    "group": "root",
    "item": "ca.crt",
    "mode": "0644",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1070,
    "src": "/etc/origin/master/ca.crt",
    "state": "hard",
    "uid": 0
}
failed: [node.example.com -> master-1.example.com] (item=openshift-router.kubeconfig) => {
    "failed": true,
    "item": "openshift-router.kubeconfig",
    "path": "/etc/origin/generated-configs/master-node.example.com/openshift-router.kubeconfig",
    "state": "absent"
}

MSG:

Error while linking: [Errno 2] No such file or directory

changed: [master.example.com -> master-1.example.com] => (item=ca.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-master.example.com/ca.key",
    "gid": 0,
    "group": "root",
    "item": "ca.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1675,
    "src": "/etc/origin/master/ca.key",
    "state": "hard",
    "uid": 0
}
changed: [node.example.com -> master-1.example.com] => (item=ca.crt) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-node.example.com/ca.crt",
    "gid": 0,
    "group": "root",
    "item": "ca.crt",
    "mode": "0644",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1070,
    "src": "/etc/origin/master/ca.crt",
    "state": "hard",
    "uid": 0
}
changed: [master.example.com -> master-1.example.com] => (item=ca-bundle.crt) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-master.example.com/ca-bundle.crt",
    "gid": 0,
    "group": "root",
    "item": "ca-bundle.crt",
    "mode": "0644",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 8758,
    "src": "/etc/origin/master/ca-bundle.crt",
    "state": "hard",
    "uid": 0
}
changed: [node.example.com -> master-1.example.com] => (item=ca.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-node.example.com/ca.key",
    "gid": 0,
    "group": "root",
    "item": "ca.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1675,
    "src": "/etc/origin/master/ca.key",
    "state": "hard",
    "uid": 0
}
changed: [master.example.com -> master-1.example.com] => (item=serviceaccounts.private.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-master.example.com/serviceaccounts.private.key",
    "gid": 0,
    "group": "root",
    "item": "serviceaccounts.private.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1675,
    "src": "/etc/origin/master/serviceaccounts.private.key",
    "state": "hard",
    "uid": 0
}
changed: [node.example.com -> master-1.example.com] => (item=ca-bundle.crt) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-node.example.com/ca-bundle.crt",
    "gid": 0,
    "group": "root",
    "item": "ca-bundle.crt",
    "mode": "0644",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 8758,
    "src": "/etc/origin/master/ca-bundle.crt",
    "state": "hard",
    "uid": 0
}
changed: [master.example.com -> master-1.example.com] => (item=serviceaccounts.public.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-master.example.com/serviceaccounts.public.key",
    "gid": 0,
    "group": "root",
    "item": "serviceaccounts.public.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 451,
    "src": "/etc/origin/master/serviceaccounts.public.key",
    "state": "hard",
    "uid": 0
}
changed: [node.example.com -> master-1.example.com] => (item=serviceaccounts.private.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-node.example.com/serviceaccounts.private.key",
    "gid": 0,
    "group": "root",
    "item": "serviceaccounts.private.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1675,
    "src": "/etc/origin/master/serviceaccounts.private.key",
    "state": "hard",
    "uid": 0
}
changed: [master.example.com -> master-1.example.com] => (item=master.proxy-client.crt) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-master.example.com/master.proxy-client.crt",
    "gid": 0,
    "group": "root",
    "item": "master.proxy-client.crt",
    "mode": "0644",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1086,
    "src": "/etc/origin/master/master.proxy-client.crt",
    "state": "hard",
    "uid": 0
}
changed: [node.example.com -> master-1.example.com] => (item=serviceaccounts.public.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-node.example.com/serviceaccounts.public.key",
    "gid": 0,
    "group": "root",
    "item": "serviceaccounts.public.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 451,
    "src": "/etc/origin/master/serviceaccounts.public.key",
    "state": "hard",
    "uid": 0
}
changed: [master.example.com -> master-1.example.com] => (item=master.proxy-client.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-master.example.com/master.proxy-client.key",
    "gid": 0,
    "group": "root",
    "item": "master.proxy-client.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1679,
    "src": "/etc/origin/master/master.proxy-client.key",
    "state": "hard",
    "uid": 0
}
changed: [node.example.com -> master-1.example.com] => (item=master.proxy-client.crt) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-node.example.com/master.proxy-client.crt",
    "gid": 0,
    "group": "root",
    "item": "master.proxy-client.crt",
    "mode": "0644",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1086,
    "src": "/etc/origin/master/master.proxy-client.crt",
    "state": "hard",
    "uid": 0
}
changed: [master.example.com -> master-1.example.com] => (item=service-signer.crt) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-master.example.com/service-signer.crt",
    "gid": 0,
    "group": "root",
    "item": "service-signer.crt",
    "mode": "0644",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1115,
    "src": "/etc/origin/master/service-signer.crt",
    "state": "hard",
    "uid": 0
}
changed: [node.example.com -> master-1.example.com] => (item=master.proxy-client.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-node.example.com/master.proxy-client.key",
    "gid": 0,
    "group": "root",
    "item": "master.proxy-client.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1679,
    "src": "/etc/origin/master/master.proxy-client.key",
    "state": "hard",
    "uid": 0
}
changed: [node.example.com -> master-1.example.com] => (item=service-signer.crt) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-node.example.com/service-signer.crt",
    "gid": 0,
    "group": "root",
    "item": "service-signer.crt",
    "mode": "0644",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1115,
    "src": "/etc/origin/master/service-signer.crt",
    "state": "hard",
    "uid": 0
}
changed: [master.example.com -> master-1.example.com] => (item=service-signer.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-master.example.com/service-signer.key",
    "gid": 0,
    "group": "root",
    "item": "service-signer.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1675,
    "src": "/etc/origin/master/service-signer.key",
    "state": "hard",
    "uid": 0
}
changed: [node.example.com -> master-1.example.com] => (item=service-signer.key) => {
    "changed": true,
    "dest": "/etc/origin/generated-configs/master-node.example.com/service-signer.key",
    "gid": 0,
    "group": "root",
    "item": "service-signer.key",
    "mode": "0600",
    "owner": "root",
    "secontext": "unconfined_u:object_r:etc_t:s0",
    "size": 1675,
    "src": "/etc/origin/master/service-signer.key",
    "state": "hard",
    "uid": 0
}

NO MORE HOSTS LEFT *************************************************************
        to retry, use: --limit @/root/openshift/infra-maint/3.6/install_vm.retry

PLAY RECAP *********************************************************************
master-1.example.com : ok=417  changed=31   unreachable=0    failed=0
master.example.com : ok=369  changed=23   unreachable=0    failed=1
node.example.com : ok=369  changed=23   unreachable=0    failed=1
master-2.example.com : ok=182  changed=1    unreachable=0    failed=0
etcd.example.com : ok=182  changed=1    unreachable=0    failed=0
lb.example.com : ok=182  changed=1    unreachable=0    failed=0
lnode-2.example.com : ok=182  changed=1    unreachable=0    failed=0
node-3.example.com : ok=166  changed=6    unreachable=0    failed=0
localhost                  : ok=24   changed=0    unreachable=0    failed=0


Failure summary:

  1. Host:     master.example.com
     Play:     Configure masters
     Task:     openshift_master_certificates : file
     Message:  One or more items failed

  2. Host:     node.example.com
     Play:     Configure masters
     Task:     openshift_master_certificates : file
     Message:  One or more items failed

Environment

  • Openshift Container Platform 3.6
  • Ansible
  • Atomic Host

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content