Bug 1372651

Summary: [RFE] Allow disabling Sahara in OSP 9 deployments
Product: Red Hat OpenStack Reporter: Ramon Acedo <racedoro>
Component: openstack-tripleo-heat-templatesAssignee: Jiri Stransky <jstransk>
Status: CLOSED CURRENTRELEASE QA Contact: Arik Chernetsky <achernet>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 9.0 (Mitaka)CC: egafford, mburns, mcornea, rhel-osp-director-maint, scohen
Target Milestone: ---Keywords: FutureFeature
Target Release: 10.0 (Newton)Flags: scohen: needinfo+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-09-12 16:01:57 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:

Description Ramon Acedo 2016-09-02 09:46:44 UTC
Sahara will always be installed by default with OSP 9. Operators should be able to choose wether to enable Sahara and possibly leave it disabled by default.

Implementing a parameter like ControllerEnableSahara would be ideal and simple enough to add a conditional to /usr/share/openstack-tripleo-heat-templates/puppet/manifests/overcloud_controller_pacemaker.pp in the Sahara section.

As a workaround, to disable it I had to do the following:

1. Disable it in haproxy using controllerExtraConfig:

parameter_defaults:
 controllerExtraConfig:
  tripleo::loadbalancer::sahara: false

2. Remove the pcs resources via script in NodeExtraConfigPost. Note I couldn't find any way via puppet and extraconfig to do this. Something like this in a script run from NodeExtraConfigPost will do:

            #!/bin/sh
            if [[ `hostname` = *"controller"* ]]
            then
              pcs resource delete openstack-sahara-api
              pcs resource delete openstack-sahara-engine
            fi

3. Remove the endpoint manually: I can't find any way to disable this other than modifying /usr/lib/python2.7/site-packages/tripleoclient/constants.py and removing 'sahara' from SERVICE_LIST. It doesn't look like there's a clean way to patch /usr/lib/python2.7/site-packages/tripleoclient/v1/overcloud_deploy.py to achieve this. With the current implementation it seems it's all or nothing.