Red Hat Bugzilla – Bug 1459639
ceph-ansible-2.2.10-1.el7scon.noarch.rpm -- with ceph_origin: distro, ansible-playbook hangs.
Last modified: 2017-10-18 04:28:13 EDT
Description of problem: On ceph-ansible-2.2.10-1.el7scon.noarch.rpm, ceph_origin: distro hangs in ansible-playbook Version-Release number of selected component (if applicable): ceph-ansible-2.2.10-1.el7scon.noarch.rpm How reproducible: 100% of the time Steps to Reproduce: 1. Install ceph-ansible-2.2.10-1.el7scon.noarch.rpm 2. Bring up containers. Notice that: ansible-playbook --skip-tags=with_pkg site-docker.yml fails with: fatal: [magna066]: FAILED! => {"changed": false, "failed": true, "msg": "choose an upstream installation source or read https://github.com/ceph/ceph-ansible/wiki" Set ceph_origin: distro in all.yml Now the playbook hangs at this point: TASK [ceph.ceph-common : is ceph running already?] ***************************** [DEPRECATION WARNING]: always_run is deprecated. Use check_mode = no instead.. Actual results: See above Expected results: playbook should complete Additional info:
I also tried running with ceph_origin set to upstream. Here's are results of a combination of different value set in those runs: Run 1: TASK [ceph.ceph-common : make sure an installation source was chosen] ********** fatal: [magna066]: FAILED! => {"changed": false, "failed": true, "msg": "choose an upstream installation source or read https://github.com/ceph/ceph-ansible/wiki"} ========================================================================= Run 2 -- set ceph_origin to distro Hangs here: TASK [ceph.ceph-common : is ceph running already?] ***************************** [DEPRECATION WARNING]: always_run is deprecated. Use check_mode = no instead.. This feature will be removed in version 2.4. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. TASK [ceph.ceph-common : fetch ceph development repo file] ********************* fatal: [magna066]: FAILED! => {"changed": false, "connection": "close", "content": "504 Gateway Timeout\n\nThe gateway has timed out.\n\n no repository is ready for: ceph/master ", "content_length": "91", "content_type": "text/plain; charset=UTF-8", "date": "Wed, 07 Jun 2017 03:21:54 GMT", "failed": true, "msg": "Status code was not [200]: HTTP Error 504: Gateway Timeout", "redirected": false, "server": "nginx", "status": 504, "url": "https://shaman.ceph.com/api/repos/ceph/master/latest/redhat/7/repo", "x_pecan_controller": "list index out of range", "x_pecan_hooks": "['TransactionHook', 'RequestViewerHook']", "x_pecan_method": "GET", "x_pecan_params": "[]", "x_pecan_path": "/api/repos/ceph/master/latest/redhat/7/repo", "x_pecan_status": "504 Gateway Timeout"} ========================================================================= Run 4 -- set ceph_stable to true: Seems to get stuck at: TASK [ceph-mon : collect admin and bootstrap keys] ***************************** [DEPRECATION WARNING]: always_run is deprecated. Use check_mode = no instead.. This feature will be removed in version 2.4. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. ========================================================================= Run 5 -- set ceph_rhcs to true: TASK [ceph.ceph-common : verify that a method was chosen for red hat storage] *** fatal: [magna066]: FAILED! => {"changed": false, "failed": true, "msg": "choose between ceph_rhcs_cdn_install and ceph_rhcs_iso_install"} ========================================================================= Run 6 -- set ceph_rhcs to true and ceph_rhcs_cdn_install to true Hangs here: [DEPRECATION WARNING]: always_run is deprecated. Use check_mode = no instead.. This feature will be removed in version 2.4. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. ========================================================================= Run 7 -- set ceph_rhcs to true and ceph_rhcs_iso_install to true [WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: '{{ ceph_rhcs_iso_path | dirname }}' != '/' fatal: [magna066]: FAILED! => {"changed": false, "failed": true, "msg": "There was an issue creating as requested: [Errno 2] No such file or directory: ''", "path": "", "state": "absent"}
It looks like the playbook is mistakenly trying to deploy a cluster that is not containerized because you should have never hit the task "make sure an installation source was chosen" because that is in the ceph-common role which isn't used for containerized clusters. I took a look at this environment and the /usr/share/ceph-ansible/groups_vars/mon.yml.sample file was missing the 'mon_containerized_deployment' config option that would need to be set here. Upon further inspection I realized I'd mistakenly created the v2.2.10 tag of ceph-ansible. I've created a v2.2.11 tag now which should resolve this issue. https://github.com/ceph/ceph-ansible/tree/v2.2.11
Hi Bara, Even though the bug was assigned to me, I never worked on its resolution. After looking at the comment history, I can't precisely tell what precisely this issue was. Andrew worked on this one so he should be able to help. Thanks.
Bara, I don't believe that this BZ needs any documentation added. The issue was a misconfiguration, 'mon_containerized_deployment' was missing. Thanks, Andrew
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2017:2903