dwmkerr / terraform-aws-openshift

Create infrastructure with Terraform and AWS, install OpenShift. Party!
http://www.dwmkerr.com/get-up-and-running-with-openshift-on-aws
MIT License
170 stars 174 forks source link

check "docker_image_availability":One or more required container images are not available #93

Open skatdutta opened 4 years ago

skatdutta commented 4 years ago

Tried several times but this is not working. Getting the below error:

CHECK [memory_availability : ip-10-0-1-28.us-east-2.compute.internal] ** fatal: [ip-10-0-1-28.us-east-2.compute.internal]: FAILED! => {"changed": true, "checks": {"disk_availability": {}, "docker_image_availability": {"changed": true, "failed": true, "failures": [["OpenShiftCheckException", "One or more required container images are not available:\n docker.io/cockpit/kubernetes:latest,\n docker.io/openshift/origin-deployer:v3.11,\n docker.io/openshift/origin-docker-registry:v3.11,\n docker.io/openshift/origin-haproxy-router:v3.11,\n docker.io/openshift/origin-pod:v3.11\nChecked with: skopeo inspect [--tls-verify=false] [--creds=:] docker:///\n"]], "msg": "One or more required container images are not available:\n docker.io/cockpit/kubernetes:latest,\n docker.io/openshift/origin-deployer:v3.11,\n docker.io/openshift/origin-docker-registry:v3.11,\n docker.io/openshift/origin-haproxy-router:v3.11,\n docker.io/openshift/origin-pod:v3.11\nChecked with: skopeo inspect [--tls-verify=false] [--creds=:] docker:///\n"}, "docker_storage": {"failed": true, "failures": [["RemoteCommandFailure", "Failed to execute command on remote host: docker info --format \"{{json .}}\""]], "msg": "Failed to execute command on remote host: docker info --format \"{{json .}}\""}, "memory_availability": {}, "package_availability": {"failed": true, "failures": [["OpenShiftCheckException", "Cannot install all of the necessary packages. Unavailable:\n docker\n flannel\n python-httplib2\nYou may need to enable one or more yum repositories to make this content available."]], "invocation": {"module_args": {"packages": ["PyYAML", "bind", "ceph-common", "dnsmasq", "docker", "firewalld", "flannel", "glusterfs-fuse", "iptables", "iptables-services", "iscsi-initiator-utils", "libselinux-python", "nfs-utils", "ntp", "openssl", "origin", "origin-node", "pyparted", "python-httplib2", "yum-utils"]}}, "last_failed": {"failed": true, "invocation": {"module_args": {"packages": ["PyYAML", "bind", "ceph-common", "dnsmasq", "docker", "firewalld", "flannel", "glusterfs-fuse", "iptables", "iptables-services", "iscsi-initiator-utils", "libselinux-python", "nfs-utils", "ntp", "openssl", "origin", "origin-node", "pyparted", "python-httplib2", "yum-utils"]}}, "msg": "Cannot install all of the necessary packages. Unavailable:\n docker\n flannel\n python-httplib2\nYou may need to enable one or more yum repositories to make this content available."}, "msg": "Cannot install all of the necessary packages. Unavailable:\n docker\n flannel\n python-httplib2\nYou may need to enable one or more yum repositories to make this content available."}, "package_version": {"changed": false, "invocation": {"module_args": {"package_list": [{"check_multi": false, "name": "origin", "version": "3.11"}, {"check_multi": false, "name": "origin-master", "version": "3.11"}, {"check_multi": false, "name": "origin-node", "version": "3.11"}], "package_mgr": "yum"}}}}, "msg": "One or more checks failed", "playbook_context": "install"}

CHECK [memory_availability : ip-10-0-1-226.us-east-2.compute.internal] ***** fatal: [ip-10-0-1-226.us-east-2.compute.internal]: FAILED! => {"changed": true, "checks": {"disk_availability": {}, "docker_image_availability": {"changed": true, "failed": true, "failures": [["OpenShiftCheckException", "One or more required container images are not available:\n docker.io/cockpit/kubernetes:latest,\n docker.io/openshift/origin-deployer:v3.11,\n docker.io/openshift/origin-docker-registry:v3.11,\n docker.io/openshift/origin-haproxy-router:v3.11,\n docker.io/openshift/origin-pod:v3.11\nChecked with: skopeo inspect [--tls-verify=false] [--creds=:] docker:///\n"]], "msg": "One or more required container images are not available:\n docker.io/cockpit/kubernetes:latest,\n docker.io/openshift/origin-deployer:v3.11,\n docker.io/openshift/origin-docker-registry:v3.11,\n docker.io/openshift/origin-haproxy-router:v3.11,\n docker.io/openshift/origin-pod:v3.11\nChecked with: skopeo inspect [--tls-verify=false] [--creds=:] docker:///\n"}, "docker_storage": {"failed": true, "failures": [["RemoteCommandFailure", "Failed to execute command on remote host: docker info --format \"{{json .}}\""]], "msg": "Failed to execute command on remote host: docker info --format \"{{json .}}\""}, "memory_availability": {}, "package_availability": {"failed": true, "failures": [["OpenShiftCheckException", "Cannot install all of the necessary packages. Unavailable:\n docker\n flannel\n python-httplib2\nYou may need to enable one or more yum repositories to make this content available."]], "invocation": {"module_args": {"packages": ["PyYAML", "bind", "ceph-common", "dnsmasq", "docker", "firewalld", "flannel", "glusterfs-fuse", "iptables", "iptables-services", "iscsi-initiator-utils", "libselinux-python", "nfs-utils", "ntp", "openssl", "origin", "origin-node", "pyparted", "python-httplib2", "yum-utils"]}}, "last_failed": {"failed": true, "invocation": {"module_args": {"packages": ["PyYAML", "bind", "ceph-common", "dnsmasq", "docker", "firewalld", "flannel", "glusterfs-fuse", "iptables", "iptables-services", "iscsi-initiator-utils", "libselinux-python", "nfs-utils", "ntp", "openssl", "origin", "origin-node", "pyparted", "python-httplib2", "yum-utils"]}}, "msg": "Cannot install all of the necessary packages. Unavailable:\n docker\n flannel\n python-httplib2\nYou may need to enable one or more yum repositories to make this content available."}, "msg": "Cannot install all of the necessary packages. Unavailable:\n docker\n flannel\n python-httplib2\nYou may need to enable one or more yum repositories to make this content available."}, "package_version": {"changed": false, "invocation": {"module_args": {"package_list": [{"check_multi": false, "name": "origin", "version": "3.11"}, {"check_multi": false, "name": "origin-master", "version": "3.11"}, {"check_multi": false, "name": "origin-node", "version": "3.11"}], "package_mgr": "yum"}}}}, "msg": "One or more checks failed", "playbook_context": "install"}

CHECK [memory_availability : ip-10-0-1-124.us-east-2.compute.internal] ***** fatal: [ip-10-0-1-124.us-east-2.compute.internal]: FAILED! => {"changed": true, "checks": {"disk_availability": {}, "docker_image_availability": {"changed": true, "failed": true, "failures": [["OpenShiftCheckException", "One or more required container images are not available:\n docker.io/cockpit/kubernetes:latest,\n docker.io/openshift/origin-control-plane:v3.11,\n docker.io/openshift/origin-deployer:v3.11,\n docker.io/openshift/origin-docker-registry:v3.11,\n docker.io/openshift/origin-haproxy-router:v3.11,\n docker.io/openshift/origin-pod:v3.11,\n quay.io/coreos/etcd:v3.2.22\nChecked with: skopeo inspect [--tls-verify=false] [--creds=:] docker:///\n"]], "msg": "One or more required container images are not available:\n docker.io/cockpit/kubernetes:latest,\n docker.io/openshift/origin-control-plane:v3.11,\n docker.io/openshift/origin-deployer:v3.11,\n docker.io/openshift/origin-docker-registry:v3.11,\n docker.io/openshift/origin-haproxy-router:v3.11,\n docker.io/openshift/origin-pod:v3.11,\n quay.io/coreos/etcd:v3.2.22\nChecked with: skopeo inspect [--tls-verify=false] [--creds=:] docker:///\n"}, "docker_storage": {"failed": true, "failures": [["RemoteCommandFailure", "Failed to execute command on remote host: docker info --format \"{{json .}}\""]], "msg": "Failed to execute command on remote host: docker info --format \"{{json .}}\""}, "memory_availability": {}, "package_availability": {"failed": true, "failures": [["OpenShiftCheckException", "Cannot install all of the necessary packages. Unavailable:\n docker\n flannel\n python-httplib2\nYou may need to enable one or more yum repositories to make this content available."]], "invocation": {"module_args": {"packages": ["PyYAML", "bash-completion", "bind", "ceph-common", "dnsmasq", "docker", "firewalld", "flannel", "glusterfs-fuse", "httpd-tools", "iptables", "iptables-services", "iscsi-initiator-utils", "libselinux-python", "nfs-utils", "ntp", "openssl", "origin", "origin-clients", "origin-hyperkube", "origin-node", "pyparted", "python-httplib2", "yum-utils"]}}, "last_failed": {"failed": true, "invocation": {"module_args": {"packages": ["PyYAML", "bash-completion", "bind", "ceph-common", "dnsmasq", "docker", "firewalld", "flannel", "glusterfs-fuse", "httpd-tools", "iptables", "iptables-services", "iscsi-initiator-utils", "libselinux-python", "nfs-utils", "ntp", "openssl", "origin", "origin-clients", "origin-hyperkube", "origin-node", "pyparted", "python-httplib2", "yum-utils"]}}, "msg": "Cannot install all of the necessary packages. Unavailable:\n docker\n flannel\n python-httplib2\nYou may need to enable one or more yum repositories to make this content available."}, "msg": "Cannot install all of the necessary packages. Unavailable:\n docker\n flannel\n python-httplib2\nYou may need to enable one or more yum repositories to make this content available."}, "package_version": {"changed": false, "invocation": {"module_args": {"package_list": [{"check_multi": false, "name": "origin", "version": "3.11"}, {"check_multi": false, "name": "origin-master", "version": "3.11"}, {"check_multi": false, "name": "origin-node", "version": "3.11"}], "package_mgr": "yum"}}}}, "msg": "One or more checks failed", "playbook_context": "install"}

NO MORE HOSTS LEFT ***** to retry, use: --limit @/home/ec2-user/openshift-ansible/playbooks/deploy_cluster.retry

PLAY RECAP ***** ip-10-0-1-124.us-east-2.compute.internal : ok=43 changed=0 unreachable=0 failed=1 ip-10-0-1-226.us-east-2.compute.internal : ok=19 changed=0 unreachable=0 failed=1 ip-10-0-1-28.us-east-2.compute.internal : ok=19 changed=0 unreachable=0 failed=1 localhost : ok=11 changed=0 unreachable=0 failed=0

INSTALLER STATUS *** Initialization : Complete (0:00:23) Health Check : In Progress (0:03:25) This phase can be restarted by running: playbooks/openshift-checks/pre-install.yml

Failure summary:

  1. Hosts: ip-10-0-1-226.us-east-2.compute.internal, ip-10-0-1-28.us-east-2.compute.internal Play: OpenShift Health ChecksFailure summary:

  2. Hosts: ip-10-0-1-226.us-east-2.compute.internal, ip-10-0-1-28.us-east-2.compute.internal Play: OpenShift Health Checks Task: Run health checks (install) - EL Message: One or more checks failed Details: check "docker_image_availability": One or more required container images are not available: docker.io/cockpit/kubernetes:latest, docker.io/openshift/origin-deployer:v3.11, docker.io/openshift/origin-docker-registry:v3.11, docker.io/openshift/origin-haproxy-router:v3.11, docker.io/openshift/origin-pod:v3.11 Checked with: skopeo inspect [--tls-verify=false] [--creds=:] docker:///

           check "docker_storage":
           Failed to execute command on remote host: docker info --format "{{json .}}"
    
           check "package_availability":
           Cannot install all of the necessary packages. Unavailable:
             docker
             flannel
             python-httplib2
           You may need to enable one or more yum repositories to make this content available.
  3. Hosts: ip-10-0-1-124.us-east-2.compute.internal Play: OpenShift Health Checks Task: Run health checks (install) - EL Message: One or more checks failed Details: check "docker_image_availability": One or more required container images are not available: docker.io/cockpit/kubernetes:latest, docker.io/openshift/origin-control-plane:v3.11, docker.io/openshift/origin-deployer:v3.11, docker.io/openshift/origin-docker-registry:v3.11, docker.io/openshift/origin-haproxy-router:v3.11, docker.io/openshift/origin-pod:v3.11, quay.io/coreos/etcd:v3.2.22 Checked with: skopeo inspect [--tls-verify=false] [--creds=:] docker:///

           check "docker_storage":Failed to execute command on remote host: docker info --format "{{json .}}"
    
           check "package_availability":
           Cannot install all of the necessary packages. Unavailable:
             docker
             flannel
             python-httplib2
           You may need to enable one or more yum repositories to make this content available.

The execution of "./openshift-ansible/playbooks/deploy_cluster.yml" includes checks designed to fail early if the requirements of the playbook are not met. One or more of these checks failed. To disregard these results,explicitly disable checks by setting an Ansible variable: openshift_disable_check=docker_image_availability,docker_storage,package_availability Failing check names are shown in the failure details above. Some checks may be configurable by variables if your requirements are different from the defaults; consult check documentation. Variables can be set in the inventory or passed on the command line using the -e flag to ansible-playbook. makefile:7: recipe for target 'openshift' failed make: *** [openshift] Error 2

docker pull openshift/origin-deployer:v3.11.0-alpha.0 docker pull openshift/origin-deployer:v3.7.2

skatdutta commented 4 years ago

Even tried to delete terraform setup and run, but no luck. Tried different region as well. Kindly help if this is working for you guys.

skatdutta commented 4 years ago

On further checking found that docker is not installed inside the nodes.

skatdutta commented 4 years ago

Anyone recently used this project, please let me know how to resolve the issue?

Jani93 commented 4 years ago

I'm having the same problem Lol.

priteshchandaliya commented 4 years ago

Any update on how to fix this issue? I tried putting in openshift_disable_check=docker_image_availability,docker_storage,package_availability option under the inventory file but that too leads to more such errors.

smilhomme commented 4 years ago

Having the same problem, I confirm docker is not installed and will not install with "yum install docker" as it is tried by the script. I decided to move away from RHEL because of the costs, so I changed the AMI from RHEL to amazonlinux (in 06-nodes.tf), docker installs but the ansible script fails when verifying the presence of NetworkManager which won't install on AmazonLinux. Then I tried using CentOS by adding a new resource to 02-amis.tf, but other errors appears later on. (you need to manually accept terms to use the image, terraform will raise a http 401 error, just follow the link provided)

No luck with this project so far...

lucardcoder commented 1 year ago

having the same issue. it looks like this repo is not being maintained either.