Bug 1333154 - "/api/mon/configure/" endpoint fails on Ubuntu during "set_fact is_ceph_infernalis" task
Summary: "/api/mon/configure/" endpoint fails on Ubuntu during "set_fact is_ceph_infer...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Storage Console
Classification: Red Hat Storage
Component: ceph-installer
Version: 2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: 2
Assignee: Alfredo Deza
QA Contact: Daniel Horák
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-05-04 19:28 UTC by Ken Dreyer (Red Hat)
Modified: 2016-08-23 19:50 UTC (History)
8 users (show)

Fixed In Version: ceph-ansible-1.0.5-7.el7scon
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-08-23 19:50:00 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2016:1754 0 normal SHIPPED_LIVE New packages: Red Hat Storage Console 2.0 2017-04-18 19:09:06 UTC

Description Ken Dreyer (Red Hat) 2016-05-04 19:28:40 UTC
Description of problem:
When a user uses the /api/mon/configure/ endpoint to configure an Ubuntu Trusty or Xenial monitor, the Ansible run fails during the "set_fact is_ceph_infernalis" task

Version-Release number of selected component (if applicable):
ceph-ansible-1.0.5-6.el7scon
ceph-installer-1.0.6-1.el7scon

How reproducible:
always

1. Set up an Ubuntu Xenial node
2. Proceed with the Ceph installation as normal:

 - Run the bootstrap script on the node (for example `curl
   http://installer-node:8181/setup/ | bash`)

 - POST the host to http://installer-node:8181/api/mon/install to install the
   ceph-mon software on the Xenial node

 - POST the host to http://installer-node:8181/api/mon/configure to configure
   the monitor


Actual results:
"/api/mon/configure/" task fails

Expected results:
"/api/mon/configure/" task runs successfully

Additional info:
Output from failing task

TASK: [ceph.ceph-common | get ceph rhcs version] ****************************** 
ok: [kdreyer-clot-2] => {"changed": false, "cmd": "rpm -q --qf \"%{version}\\n\" ceph-common | cut -f1,2 -d '.'", "delta": "0:00:00.004559", "end": "2016-05-04 18:39:54.370070", "failed": false, "failed_when_result": false, "rc": 0, "start": "2016-05-04 18:39:54.365511", "stderr": "/bin/sh: 1: rpm: not found", "stdout": "", "stdout_lines": [], "warnings": ["Consider using yum module rather than running rpm"]}

TASK: [ceph.ceph-common | set_fact is_ceph_infernalis={{ (ceph_stable and ceph_stable_release not in ceph_stable_releases) or (ceph_dev) or (ceph_stable_rh_storage and (rh_storage_version.stdout | version_compare('0.94', '>'))) }}] *** 
fatal: [kdreyer-clot-2] => Failed to template is_ceph_infernalis={{ (ceph_stable and ceph_stable_release not in ceph_stable_releases) or (ceph_dev) or (ceph_stable_rh_storage and (rh_storage_version.stdout | version_compare('0.94', '>'))) }}: Version comparison: LooseVersion instance has no attribute 'version'

FATAL: all hosts have already failed -- aborting

Comment 1 Alfredo Deza 2016-05-04 19:30:31 UTC
Fixed upstream with this PR https://github.com/ceph/ceph-ansible/pull/737

Comment 6 Daniel Horák 2016-08-02 11:29:50 UTC
Tested on:
  USM Server/ceph-installer server RHEL 7.2: 
  ceph-ansible-1.0.5-31.el7scon.noarch
  ceph-installer-1.0.14-1.el7scon.noarch
  rhscon-ceph-0.0.39-1.el7scon.x86_64
  rhscon-core-0.0.39-1.el7scon.x86_64
  rhscon-core-selinux-0.0.39-1.el7scon.noarch
  rhscon-ui-0.0.51-1.el7scon.noarch

  Ceph MON (Ubuntu 16.04):
  ceph-base     10.2.2-24redhat1xenial
  ceph-common   10.2.2-24redhat1xenial
  ceph-mon      10.2.2-24redhat1xenial
  libcephfs1    10.2.2-24redhat1xenial
  python-cephfs 10.2.2-24redhat1xenial
  rhscon-agent  0.0.16-2redhat1xenial 

Tasks "/api/mon/configure/" works as expected.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
{
  "endpoint": "/api/mon/configure",
  "succeeded": true,
  "stdout": "\nPLAY [mons] <<truncated>> ok=73   changed=11   unreachable=0    failed=0   \n\n",
  "started": "2016-08-02 13:17:33.981484",
  "request": "{\"address\":\"172.16.176.188\",\"calamari\":false,\"cluster_name\":\"TestCluster01\",\"cluster_network\":\"172.16.176.0/24\",\"conf\":{\"global\":{\"osd crush update on start\":false}},\"fsid\":\"92ae4aaa-5028-47a9-b929-08d313a04d98\",\"host\":\"jenkins-usm1-mon1.localdomain\",\"monitor_secret\":\"AQA7P8dWAAAAABAAH/tbiZQn/40Z8pr959UmEA==\",\"public_network\":\"172.16.176.0/24\",\"redhat_storage\":true}",
  "exit_code": 0,
  "ended": "2016-08-02 13:17:56.809930",
  "http_method": "POST",
  "command": "/bin/ansible-playbook -v -u ceph-installer /usr/share/ceph-ansible/site.yml.sample -i /tmp/085187ca-f3f8-4ddc-8d28-0362c59616e9_jRrrfI --extra-vars {\"monitor_secret\": \"AQA7P8dWAAAAABAAH/tbiZQn/40Z8pr959UmEA==\", \"ceph_conf_overrides\": {\"global\": {\"osd crush update on start\": false}}, \"cluster\": \"TestCluster01\", \"ceph_stable_rh_storage_cdn_install\": true, \"redhat_storage\": true, \"public_network\": \"172.16.176.0/24\", \"fetch_directory\": \"/var/lib/ceph-installer/fetch\", \"cluster_network\": \"172.16.176.0/24\", \"calamari\": false, \"fsid\": \"92ae4aaa-5028-47a9-b929-08d313a04d98\", \"ceph_stable_rh_storage\": true} --skip-tags package-install",
  "user_agent": "Go 1.1 package http",
  "stderr": "",
  "identifier": "085187ca-f3f8-4ddc-8d28-0362c59616e9"
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

>> VERIFIED

Comment 8 errata-xmlrpc 2016-08-23 19:50:00 UTC
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/RHEA-2016:1754


Note You need to log in before you can comment on or make changes to this bug.