Bug 1330207

Summary: Start calamari during mon configure based on flag calamari=true and not by default during mon install
Product: Red Hat Ceph Storage Reporter: Shubhendu Tripathi <shtripat>
Component: CalamariAssignee: Christina Meno <gmeno>
Calamari sub component: Back-end QA Contact: Rachana Patel <racpatel>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: unspecified CC: ceph-eng-bugs, gmeno, hnallurv, japplewh, kdreyer, nthomas, sankarshan, vakulkar
Version: 2.0   
Target Milestone: rc   
Target Release: 2.0   
Hardware: Unspecified   
OS: Unspecified   
Fixed In Version: RHEL: calamari-server-1.4.0-0.7.rc10.el7cp Ubuntu: calamari_1.4.0~rc10-2redhat1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-23 19:37:00 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:
Bug Depends On:    
Bug Blocks: 1291304    

Description Shubhendu Tripathi 2016-04-25 15:46:31 UTC
Description of problem:
Currently with ceph-installer-1.0.5-1.el7.noarch.rpm during mon install (/api/mon/install) calamari server gets started by default on all the mon nodes. Here we need to pass calamari=true as we need calamari to be installed on mon nodes.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Create a cluster with say 2 mons and 2 osd nodes

Actual results:
All the mon nodes get calamari installed and started by default

Expected results:
Calamari should be installed as part of mon/install based on flag calamari=true. BUT calamari should be started only after mon configure successful and only if calamari=true is passed during configure request.

Additional info:

Comment 2 Alfredo Deza 2016-04-28 13:43:43 UTC
I couldn't find anything specific for the ceph-installer that would do this.

After installing the latest RPM directly, I saw the service was started without any user interaction:

    [vagrant@localhost ~]$ ps aux | grep calamari
    vagrant  12337  0.0  0.1 112640   972 pts/0    S+   13:34   0:00 grep --color=auto calamari
    [vagrant@localhost ~]$ sudo yum install calamari-server-1.4.0-rc8_6_g3050509.el7.centos.x86_64.rpm
    Loaded plugins: fastestmirror, priorities
    Examining calamari-server-1.4.0-rc8_6_g3050509.el7.centos.x86_64.rpm: calamari-server-1.4.0-rc8_6_g3050509.el7.centos.x86_64
    Marking calamari-server-1.4.0-rc8_6_g3050509.el7.centos.x86_64.rpm to be installed
    Resolving Dependencies
    --> Running transaction check
    ---> Package calamari-server.x86_64 0:1.4.0-rc8_6_g3050509.el7.centos will be installed
    --> Processing Dependency: cairo for package: calamari-server-1.4.0-rc8_6_g3050509.el7.centos.x86_64
      Installing : calamari-server-1.4.0-rc8_6_g3050509.el7.centos.x86_64                                                                                                                                                                   33/33
    Redirecting to /bin/systemctl stop  supervisord.service
    Redirecting to /bin/systemctl start  supervisord.service
    Redirecting to /bin/systemctl stop  httpd.service
    Redirecting to /bin/systemctl start  httpd.service
    Thank you for installing Calamari.
    Please run 'sudo calamari-ctl initialize' to complete the installation.
      calamari-server.x86_64 0:1.4.0-rc8_6_g3050509.el7.centos
    [vagrant@localhost ~]$ ps aux | grep calamari
    apache   12580  0.0  1.2 311948  6240 ?        Sl   13:37   0:00 calamari-httpd  -DFOREGROUND
    apache   12581  0.0  1.2 311956  6244 ?        Sl   13:37   0:00 calamari-httpd  -DFOREGROUND
    apache   12582  0.0  1.2 377492  6244 ?        Sl   13:37   0:00 calamari-httpd  -DFOREGROUND
    apache   12583  0.0  1.2 311956  6244 ?        Sl   13:37   0:00 calamari-httpd  -DFOREGROUND
    apache   12584  0.0  1.2 311956  6248 ?        Sl   13:37   0:00 calamari-httpd  -DFOREGROUND
    apache   12585  0.0  1.2 311956  6248 ?        Sl   13:37   0:00 calamari-httpd  -DFOREGROUND
    apache   12586  0.0  1.2 311956  6248 ?        Sl   13:37   0:00 calamari-httpd  -DFOREGROUND
    apache   12587  0.0  1.2 311956  6248 ?        Sl   13:37   0:00 calamari-httpd  -DFOREGROUND
    vagrant  12633  0.0  0.1 112640   972 pts/0    R+   13:38   0:00 grep --color=auto calamari

Those stop/start commands are the ones bringing up the service.

Comment 5 Shubhendu Tripathi 2016-05-06 05:54:13 UTC
@Gregory, any updates on this BZ?

Comment 10 Christina Meno 2016-05-09 17:40:18 UTC
calamari will start when calamari-ctl initialize is called. Not during package installation.

Comment 12 Shubhendu Tripathi 2016-06-09 07:29:59 UTC
Just to help steps to verify could be as below

1. Install ceph-installer on server node
2. Bootstrap storage nodes using http://<node>:8181/setup/ and http://<node>:8181/api/agent (run these from storage nodes)
3. From server run the api http://<node>:8181/api/mon/install with calamari=true in request body
4. Run http://<node>:8181/api/mon/configure with calamari=true and it should start calamari on the mon node
5. Run http://<node>:8181/api/mon/configure with calamari=false on a different mon and it should NOT start calamari on the mon node

Also we should run "calamari-ctl initialize --admin-username <name> --admin-password <passwd> --admin-email <email>" on a mon node and login to calamari URL.

In case of USM we never pass calamari=true for mon/configure api and post mon configuration, on one of the mons we run the above calamari-ctl command to start calamari and initialize with proper user and password.

Comment 13 Rachana Patel 2016-07-06 20:08:28 UTC
verified with calamari version - calamari-server-1.4.4-1.el7cp.x86_64 
INSTALLER VERSION - ceph-installer-1.0.12-3.el7scon.noarch

Working as expected hence moving to verified

Comment 15 errata-xmlrpc 2016-08-23 19:37: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.