Comment 4 for bug 1795027

Revision history for this message
Michele Baldessari (michele) wrote :

Ok so it took me a bit of digging as to how this all works:
1) openstack undercloud install, these days turns into
2)
sudo openstack tripleo deploy --standalone --standalone-role Undercloud --stack undercloud --local-domain=tripleodomain.example.com --local-ip=192.168.24.1/24 --templates=/usr/share/openstack-tripleo-heat-templates --heat-native -e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/undercloud.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/mistral.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/novajoin.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/zaqar.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/tripleo-ui.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/public-tls-undercloud.yaml --public-virtual-ip 192.168.24.2 --control-virtual-ip 192.168.24.3 -e /usr/share/openstack-tripleo-heat-templates/environments/ssl/tls-endpoints-public-ip.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/use-dns-for-vips.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/undercloud-haproxy.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/undercloud-keepalived.yaml --deployment-user stack --output-dir=/home/stack --cleanup -e /home/stack/tripleo-config-generated-env-files/undercloud_parameters.yaml --hieradata-override=/home/stack/./hieradata-overrides-classic-undercloud.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/tripleo-validations.yaml --log-file=install-undercloud.log -e /usr/share/openstack-tripleo-heat-templates/undercloud-stack-vstate-dropin.yaml

3) The include '-e /usr/share/openstack-tripleo-heat-templates/environments/services/zaqar.yaml' comes *after* '-e /usr/share/openstack-tripleo-heat-templates/environments/undercloud.yaml' and so wins

4) /usr/share/openstack-tripleo-heat-templates/environments/services/zaqar.yaml has
resource_registry:
  OS::TripleO::Services::Zaqar: ../../docker/services/zaqar.yaml
  OS::TripleO::Services::Redis : ../../docker/services/database/redis.yaml

And 1-4 explain *why* redis gets pulled in. The thing is that in environments/undercloud.yaml we have:
parameter_defaults:
  ZaqarMessageStore: 'swift'
  ZaqarManagementStore: 'sqlalchemy'

Which trumps the default parameter of docker/services/zaqar.yaml which points to the redis backend.
So we basically pull in redis but do not use it as we use sqlalchemy + swift as backends.

My best guess (barring confirmation that indeed redis is not needed on the undercloud, which I seem to think is the case) is that we should do the following:
1) Add OS::TripleO::Services::Zaqar: ../docker/services/zaqar.yaml to environments/undercloud.yaml
2) Remove -e /usr/share/openstack-tripleo-heat-templates/environments/services/zaqar.yaml from the client undercloud install path