Bug 1247647
Summary: | Unsatisfied dependency during openshift-ansible node install | ||
---|---|---|---|
Product: | OKD | Reporter: | Sebastian Lütge <sebastian.luetge> |
Component: | Installer | Assignee: | Jason DeTiberus <jdetiber> |
Status: | CLOSED NOTABUG | QA Contact: | Liang Xia <lxia> |
Severity: | low | Docs Contact: | |
Priority: | unspecified | ||
Version: | 3.x | CC: | bleanhar, dmcphers, dvohra10, libra-bugs, mmccomas, sebastian.luetge |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2016-01-22 14:00:49 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Sebastian Lütge
2015-07-28 14:11:37 UTC
Something is either wrong in the ansible or with the yum configuration on your instance. I just launched an instance of ami-acd999c4, installed yum-utils and ran the following: [root@ip-172-18-15-12 ~]# yumdownloader --urls docker-io http://mirror.umd.edu/fedora/linux/updates/21/x86_64/d/docker-io-1.8.1-2.git32b8b25.fc21.x86_64.rpm Can you try the same and paste the output? The installation procedure is different. Used the Docker image for OpenShift and the Advanced Installation at https://docs.openshift.com/enterprise/3.0/install_config/install/advanced_install.html Ansible command: sudo ansible-playbook ~/openshift-ansible/playbooks/byo/config.yml --user "ec2-user" -e "ansible_ssh_private_key_file=docker.pem" Error: Error: Package: origin-node-1.0.6-0.git.5812.e2a02a8.el7.centos.x86_64 (maxamillion-origin-next) Requires: docker-io >= 1.6.2 /etc/ansible/hosts: # Create an OSEv3 group that contains the masters and nodes groups [OSEv3:children] masters nodes # Set variables common for all OSEv3 hosts [OSEv3:vars] # SSH user, this user should allow ssh based auth without requiring a password ansible_ssh_user=root # If ansible_ssh_user is not root, ansible_sudo must be set to true #ansible_sudo=true product_type=openshift deployment_type=origin # uncomment the following to enable htpasswd authentication; defaults to DenyAllPasswordIdentityProvider openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider', 'filename': '/etc/openshift/openshift-passwd'}] # host group for masters [masters] 52.91.211.165 # host group for nodes, includes region info [nodes] 52.91.211.165 Hi Deepak, I see your system is trying to install the centos7 build of Origin. Can you confirm you system is indeed running CentOS and not Fedora? Please provide the output of "cat /etc/redhat-release". If you are trying to install Origin you should instead use the documentation available here: https://docs.openshift.org/latest/install_config/install/advanced_install.html While the documentation between Origin and OpenShift Enterprise is very similar there will be subtle differences that could cause unpredictable problems if you mix the two. I just did the following: * created a centos7 host in AWS * copied the ansible inventory example from the Origin docs * in my AMI I couldn't log in as root so I set: ansible_ssh_user=centos ansible_sudo=true * I set my master and node as follows: # host group for masters [masters] ec2-52-91-87-78.compute-1.amazonaws.com openshift_ip=172.18.13.245 openshift_public_ip=52.91.87.78 openshift_hostname=ip-172-18-13-245.ec2.internal openshift_public_hostname=ec2-52-91-87-78.compute-1.amazonaws.com # host group for nodes, includes region info [nodes] ec2-52-91-87-78.compute-1.amazonaws.com openshift_ip=172.18.13.245 openshift_public_ip=52.91.87.78 openshift_hostname=ip-172-18-13-245.ec2.internal openshift_public_hostname=ec2-52-91-87-78.compute-1.amazonaws.com openshift_node_labels="{'region': 'infra', 'zone': 'default'}" * I ran the following: ansible-playbook playbooks/byo/config.yml Everything installed correctly. Output from: cat /etc/redhat-release is: Red Hat Enterprise Linux Server release 7.1 (Maipo) The reference https://docs.openshift.org/latest/install_config/install/advanced_install.html is used for installation. The earlier link was mis-posted. What does 'yum repolist' show on the system that is seeing the yum error? I suspect one problem is that for Origin we are likely assuming the admin is using either Fedora or CentOS. For the product the requirement is Red Hat Enterprise Linux Server. If you take a look the "Prerequisites" section is a little different between Origin and OSE: https://docs.openshift.org/latest/install_config/install/advanced_install.html#prerequisites https://docs.openshift.com/enterprise/3.0/install_config/install/prerequisites.html#software-prerequisites You'd have to do a modified version of the OSE docs if you wanted to install Origin on RHEL. If you haven't purchased the product or are using an evaluation you obviously won't be able to enable the rhel-7-server-ose-3.0-rpms repo. However, the other two repos are indeed required. The RHEL Docker distribution comes from the Extras channel. [ec2-user@ip-172-30-1-16 ~]$ sudo yum repolist Loaded plugins: amazon-id, rhui-lb repo id repo name status docker-main-repo Docker main Repository 6 rhui-REGION-client-config-server-7/x86_64 Red Hat Update Infrastru 6 rhui-REGION-rhel-server-releases/7Server/x86_64 Red Hat Enterprise Linux 7,609 rhui-REGION-rhel-server-rh-common/7Server/x86_64 Red Hat Enterprise Linux 167 repolist: 7,788 I suspect you need to disable the 'docker-main-repo'. You should be able to install Docker from rhel extras. I'm betting rhui has support for that too. You can grep under /etc/yum.repos.d for 'extras' and find out what the repo name is. With Centos following error is generated with sudo ansible-playbook ~/openshift-ansible/playbooks/byo/config.yml --user "root" <ec2-54-159-204-5.compute-1.amazonaws.com> ESTABLISH CONNECTION FOR USER: root fatal: [ec2-54-159-204-5.compute-1.amazonaws.com] => Failed to template {{ False in (g_master_cert_stat_result.results | map(attribute='stat.exists') | list ) }}: template error while templating string: no filter named 'map' No user "centos" as suggested earlier to set: ansible_ssh_user=centos ansible_sudo=true Centos 7 does create user centos. With the suggested settings, and also added openshift_master_cluster_method=native Getting error TASK: [openshift_master | Start and enable master api] ************************ failed: [ec2-54-86-8-222.compute-1.amazonaws.com] => {"failed": true} msg: Job for origin-master-api.service failed. See 'systemctl status origin-master-api.service' and 'journalctl -xn' for details. FATAL: all hosts have already failed -- aborting PLAY RECAP ******************************************************************** to retry, use: --limit @/root/config.retry ec2-54-86-8-222.compute-1.amazonaws.com : ok=75 changed=4 unreachable=0 failed=1 localhost : ok=8 changed=0 unreachable=0 failed=0 openshift_public_hostname=ec2-54-86-8-222.compute-1.amazonaws.com : ok=0 changed=0 unreachable=1 failed=0 openshift_public_ip=54.86.8.222 : ok=0 changed=0 unreachable=1 failed=0 Modified Masters and Nodes, which were being interpreted as multiple masters when single master was configured and removed the openshift_master_cluster_method=native. Getting an error: TASK: [openshift_master | Start and enable master] **************************** failed: [ec2-54-86-8-222.compute-1.amazonaws.com] => {"failed": true} msg: Job for origin-master.service failed. See 'systemctl status origin-master.service' and 'journalctl -xn' for details. FATAL: all hosts have already failed -- aborting PLAY RECAP ******************************************************************** to retry, use: --limit @/root/config.retry ec2-54-86-8-222.compute-1.amazonaws.com : ok=70 changed=4 unreachable=0 failed=1 localhost : ok=8 changed=0 unreachable=0 failed=0 Deepak, Could you post your full inventory file? Also, there should be an error in the journal for the origin-master service. journalctl -u origin-master-api -l should give it to you in a format that you can copy/paste from. One thing I noticed above is that you are overriding openshift_ip, openshift_hostname and openshift_public_hostname, unless you are disabling the metadata on the hosts through cloud-init, you should be able to leave these variables off and openshift-facts should auto-detect these values correctly from the ec2 metadata. An earlier post by Brenton Leanhardt suggested to override, but only the hostname is required, which is the internal IP Address ip-172-30-1-223.ec2.internal, which generates the same error. Some of the logs of failed master. [centos@ip-172-30-1-223 ~]$ sudo systemctl status origin-master.service origin-master.service - Origin Master Service Loaded: loaded (/usr/lib/systemd/system/origin-master.service; enabled) Active: failed (Result: start-limit) since Mon 2015-11-09 01:34:20 UTC; 5min ago Docs: https://github.com/openshift/origin Process: 27723 ExecStart=/usr/bin/openshift start master --config=${CONFIG_FILE} $OPTIONS (code=exited, status=255) Main PID: 27723 (code=exited, status=255) Nov 09 01:34:20 ip-172-30-1-223.ec2.internal systemd[1]: origin-master.servic... Nov 09 01:34:20 ip-172-30-1-223.ec2.internal systemd[1]: Failed to start Orig... Nov 09 01:34:20 ip-172-30-1-223.ec2.internal systemd[1]: Unit origin-master.s... Nov 09 01:34:20 ip-172-30-1-223.ec2.internal systemd[1]: origin-master.servic... Nov 09 01:34:20 ip-172-30-1-223.ec2.internal systemd[1]: Stopping Origin Mast... Nov 09 01:34:20 ip-172-30-1-223.ec2.internal systemd[1]: Starting Origin Mast... Nov 09 01:34:20 ip-172-30-1-223.ec2.internal systemd[1]: origin-master.servic... Nov 09 01:34:20 ip-172-30-1-223.ec2.internal systemd[1]: Failed to start Orig... Nov 09 01:34:20 ip-172-30-1-223.ec2.internal systemd[1]: Unit origin-master.s... Hint: Some lines were ellipsized, use -l to show in full. [centos@ip-172-30-1-223 ~]$ sudo journalctl -xn -- Logs begin at Sun 2015-11-08 23:36:25 UTC, end at Mon 2015-11-09 01:40:14 UTC Nov 09 01:40:13 ip-172-30-1-223.ec2.internal docker[20590]: time="2015-11-09T01: Nov 09 01:40:13 ip-172-30-1-223.ec2.internal docker[20590]: time="2015-11-09T01: Nov 09 01:40:13 ip-172-30-1-223.ec2.internal docker[20590]: time="2015-11-09T01: Nov 09 01:40:14 ip-172-30-1-223.ec2.internal docker[20590]: time="2015-11-09T01: Nov 09 01:40:14 ip-172-30-1-223.ec2.internal postfix/master[2088]: warning: proc Nov 09 01:40:14 ip-172-30-1-223.ec2.internal postfix/master[2088]: warning: /usr Nov 09 01:40:14 ip-172-30-1-223.ec2.internal docker[20590]: time="2015-11-09T01: Nov 09 01:40:14 ip-172-30-1-223.ec2.internal docker[20590]: time="2015-11-09T01: Nov 09 01:40:14 ip-172-30-1-223.ec2.internal docker[20590]: time="2015-11-09T01: Nov 09 01:40:14 ip-172-30-1-223.ec2.internal docker[20590]: time="2015-11-09T01: lines 1-11/11 (END) [centos@ip-172-30-1-223 ~]$ [cent-- Logs begin at Mon 2015-11-09 00:16:34 UTC, end at Mon 2015-11-09 01:41:05 UTC Nov 09 00:29:36 ip-172-30-1-223.ec2.internal systemd[1]: Starting Atomic OpenShi Nov 09 00:29:36 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[30881]: Nov 09 00:29:36 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[30881]: Nov 09 00:29:37 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[30881]: Nov 09 00:29:37 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[30881]: Nov 09 00:29:37 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[30881]: Nov 09 00:29:37 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[30881]: Nov 09 00:29:46 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[30881]: Nov 09 00:29:46 ip-172-30-1-223.ec2.internal systemd[1]: origin-master-api.servi Nov 09 00:29:46 ip-172-30-1-223.ec2.internal systemd[1]: Failed to start Atomic Nov 09 00:29:46 ip-172-30-1-223.ec2.internal systemd[1]: Unit origin-master-api. Nov 09 00:31:00 ip-172-30-1-223.ec2.internal systemd[1]: Starting Atomic OpenShi Nov 09 00:31:00 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[1952]: Nov 09 00:31:00 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[1952]: Nov 09 00:31:01 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[1952]: Nov 09 00:31:01 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[1952]: Nov 09 00:31:01 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[1952]: Nov 09 00:31:01 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[1952]: Nov 09 00:31:10 ip-172-30-1-223.ec2.internal atomic-openshift-master-api[1952]: Nov 09 00:31:10 ip-172-30-1-223.ec2.internal systemd[1]: origin-master-api.servi Nov 09 00:31:10 ip-172-30-1-223.ec2.internal systemd[1]: Failed to start Atomic Nov 09 00:31:10 ip-172-30-1-223.ec2.internal systemd[1]: Unit origin-master-api. lines 1-23 The 3rd log listing is for journalctl -u origin-master-api -l A File called "download" gets downloaded from url http://ec2-54-86-8-222.compute-1.amazonaws.com:8443 after the failed master. Inventory file is [OSEv3:children] masters nodes # Set variables common for all OSEv3 hosts [OSEv3:vars] ansible_ssh_user=centos ansible_sudo=true product_type=openshift deployment_type=origin # host group for masters [masters] ip-172-30-1-223.ec2.internal # host group for nodes, includes region info [nodes] ip-172-30-1-223.ec2.internal Unfortunately, it looks like the relevant log content is still truncated in your previous comment... Could you try: journalctl -u origin-master -l | tail The issue may be closed. Thanks. Thanks Deppak. I'm going to close this. If the original reporter still needs assistance it can be reopened. |