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
Ok so it took me a bit of digging as to how this all works: 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
1) openstack undercloud install, these days turns into
2)
sudo openstack tripleo deploy --standalone --standalone-role Undercloud --stack undercloud --local-
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 :Services: :Zaqar: ../../docker/ services/ zaqar.yaml :Services: :Redis : ../../docker/ services/ database/ redis.yaml
resource_registry:
OS::TripleO:
OS::TripleO:
And 1-4 explain *why* redis gets pulled in. The thing is that in environments/ undercloud. yaml we have: tore: 'swift' ntStore: 'sqlalchemy'
parameter_defaults:
ZaqarMessageS
ZaqarManageme
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: :Services: :Zaqar: ../docker/ services/ zaqar.yaml to environments/ undercloud. yaml openstack- tripleo- heat-templates/ environments/ services/ zaqar.yaml from the client undercloud install path
1) Add OS::TripleO:
2) Remove -e /usr/share/