Specify openstack services cross-deps explicitly

In order to avoid race condition, introduce
explicit cross-dependencies for openstack services

Closes-bug: #1533279

Change-Id: Ib68d0e46f915578ad8513cd5a0b97f4658d4e078
This commit is contained in:
Vladimir Kuklin 2015-12-11 23:16:14 +03:00
parent 90df01b65b
commit 02e4b84e6d
15 changed files with 98 additions and 18 deletions

View File

@ -3,6 +3,7 @@
version: 2.0.0
cross-depends:
- name: ceilometer-keystone
- name: /(primary-)?mongo/
groups: [primary-controller, controller]
required_for: [openstack-controller, swift]
requires: [mongo, primary-mongo, openstack-haproxy]
@ -40,7 +41,9 @@
groups: [primary-controller]
required_for: [ceilometer-controller]
condition: "settings:additional_components.ceilometer.value == true"
requires: [keystone]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceilometer/keystone.pp
puppet_modules: /etc/puppet/modules

View File

@ -42,16 +42,33 @@
requires: [hosts, firewall]
cross-depends:
- name: ceph-mon
- name: ceph-radosgw
- name: /(primary-)?ceph-radosgw/
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/ceph-osd.pp
puppet_modules: /etc/puppet/modules
timeout: 3600
- id: primary-ceph-radosgw
version: 2.0.0
type: puppet
groups: [primary-controller]
required_for: [deploy_end, controller_remaining_tasks]
requires: [apache, ceph-mon, primary-ceph-mon]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ceph/radosgw.pp
puppet_modules: /etc/puppet/modules
timeout: 3600
test_pre:
cmd: ruby /etc/puppet/modules/osnailyfacter/modular/ceph/radosgw_pre.rb
test_post:
cmd: ruby /etc/puppet/modules/osnailyfacter/modular/ceph/radosgw_post.rb
- id: ceph-radosgw
type: puppet
version: 2.0.0
groups: [primary-controller, controller]
groups: [controller]
cross-depends:
- name: primary-ceph-radosgw
required_for: [deploy_end, controller_remaining_tasks]
requires: [apache, ceph-mon, primary-ceph-mon]
parameters:

View File

@ -4,6 +4,9 @@
groups: [primary-controller, controller]
required_for: [openstack-controller]
requires: [openstack-haproxy, primary-database, database]
cross-depends:
- name: glance-db
- name: glance-keystone
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/glance/glance.pp
puppet_modules: /etc/puppet/modules
@ -31,7 +34,7 @@
version: 2.0.0
groups: [primary-controller]
required_for: [glance]
requires: [keystone]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
parameters:

View File

@ -4,6 +4,10 @@
groups: [primary-controller, controller]
required_for: [deploy_end]
requires: [openstack-controller]
cross-depends:
- name: heat-db
- name: heat-keystone
- name: memcached
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/heat/heat.pp
puppet_modules: /etc/puppet/modules
@ -31,7 +35,9 @@
version: 2.0.0
groups: [primary-controller]
required_for: [heat]
requires: [keystone]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/heat/keystone.pp
puppet_modules: /etc/puppet/modules

View File

@ -4,6 +4,8 @@
groups: [primary-controller, controller]
required_for: [deploy_end]
requires: [openstack-controller]
cross-depends:
- name: memcached
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/horizon/horizon.pp
puppet_modules: /etc/puppet/modules

View File

@ -3,6 +3,9 @@
version: 2.0.0
groups: [primary-controller, controller]
condition: "settings:additional_components.ironic.value == true"
cross-depends:
- name: ironic-db
- name: ironic-keystone
required_for: [openstack-controller]
requires: [openstack-haproxy, ironic-db, ironic-keystone]
parameters:
@ -30,7 +33,9 @@
groups: [primary-controller]
condition: "settings:additional_components.ironic.value == true"
required_for: [ironic-api]
requires: [keystone]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ironic/keystone.pp
puppet_modules: /etc/puppet/modules
@ -48,6 +53,7 @@
- name: /(primary-)?rabbitmq/
- name: openstack-controller
- name: ironic-api
- name: memcached
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ironic/ironic-compute.pp
puppet_modules: /etc/puppet/modules

View File

@ -1,13 +1,34 @@
- id: keystone
- id: primary-keystone
type: puppet
version: 2.0.0
groups: [primary-controller, controller]
groups: [primary-controller]
required_for: [openstack-controller]
requires: [openstack-haproxy, database, primary-rabbitmq, rabbitmq, primary-database]
refresh_on: [keystone_config]
cross-depends:
- name: /(primary-)?rabbitmq/
- name: keystone-db
- name: memcached
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/keystone/keystone.pp
puppet_modules: /etc/puppet/modules
timeout: 3600
test_pre:
cmd: ruby /etc/puppet/modules/osnailyfacter/modular/keystone/keystone_pre.rb
test_post:
cmd: ruby /etc/puppet/modules/osnailyfacter/modular/keystone/keystone_post.rb
- id: keystone
type: puppet
groups: [controller]
version: 2.0.0
required_for: [openstack-controller]
requires: [openstack-haproxy, database, primary-rabbitmq, rabbitmq, primary-database]
refresh_on: [keystone_config]
cross-depends:
- name: /(primary-)?rabbitmq/
- name: keystone-db
- name: primary-keystone
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/keystone/keystone.pp
puppet_modules: /etc/puppet/modules
@ -21,7 +42,7 @@
type: puppet
version: 2.0.0
groups: [primary-controller]
required_for: [keystone]
required_for: [keystone, primary-keystone]
requires: [primary-database, database]
cross-depends:
- name: /(primary-)?database/
@ -36,7 +57,7 @@
version: 2.0.0
groups: [primary-controller]
required_for: [deploy_end]
requires: [keystone]
requires: [keystone, primary-keystone]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/keystone/workloads_collector_add.pp
puppet_modules: /etc/puppet/modules

View File

@ -2,7 +2,7 @@
type: puppet
version: 2.0.0
groups: [primary-controller, controller]
required_for: [deploy_end, keystone]
required_for: [deploy_end, keystone, primary-keystone]
requires: [openstack-haproxy]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/memcached/memcached.pp

View File

@ -5,6 +5,9 @@
condition: "settings:additional_components.murano.value == true"
required_for: [deploy_end, controller_remaining_tasks]
requires: [heat, horizon, primary-rabbitmq, rabbitmq]
cross-depends:
- name: murano-db
- name: murano-keystone
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/murano/murano.pp
puppet_modules: /etc/puppet/modules
@ -34,7 +37,9 @@
groups: [primary-controller]
condition: "settings:additional_components.murano.value == true"
required_for: [murano]
requires: [keystone]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/murano/keystone.pp
puppet_modules: /etc/puppet/modules
@ -72,7 +77,9 @@
groups: [primary-controller]
condition: "settings:additional_components.murano-cfapi.value == true"
required_for: [murano-cfapi]
requires: [keystone]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/murano/keystone_cfapi.pp
puppet_modules: /etc/puppet/modules

View File

@ -4,6 +4,9 @@
groups: [primary-controller, controller]
required_for: [deploy_end, openstack-controller]
requires: [primary-rabbitmq, rabbitmq, keystone, hosts, firewall]
cross-depends:
- name: cinder-db
- name: cinder-keystone
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/openstack-cinder/openstack-cinder.pp
puppet_modules: /etc/puppet/modules
@ -29,7 +32,7 @@
required_for: [openstack-cinder]
cross-depends:
- name: keystone
requires: [keystone]
requires: [primary-keystone, keystone]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/openstack-cinder/keystone.pp
puppet_modules: /etc/puppet/modules/

View File

@ -6,6 +6,9 @@
requires: [openstack-haproxy]
cross-depends:
- name: /(primary-)?rabbitmq/
- name: nova-db
- name: nova-keystone
- name: memcached
refresh_on: [nova_config, nova_paste_api_ini]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/openstack-controller/openstack-controller.pp
@ -30,7 +33,7 @@
version: 2.0.0
groups: [primary-controller]
required_for: [openstack-controller]
requires: [keystone]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
parameters:

View File

@ -16,7 +16,7 @@
version: 2.0.0
groups: [primary-controller]
required_for: [openstack-network-end]
requires: [keystone]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
parameters:

View File

@ -18,6 +18,7 @@
- name: keystone
- name: openstack-controller
- name: /(primary-)?rabbitmq/
- name: memcached
refresh_on: [nova_config, nova_paste_api_ini]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/roles/compute.pp
@ -52,6 +53,8 @@
type: puppet
version: 2.0.0
groups: [mongo]
cross-depends:
- name: primary-mongo
required_for: [deploy_end]
requires: [hosts, firewall]
parameters:
@ -68,6 +71,7 @@
cross-depends:
- name: ironic
- name: /(primary-)?database/
- name: /(primary-)?rabbitmq/
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/roles/ironic-conductor.pp
puppet_modules: /etc/puppet/modules

View File

@ -5,6 +5,9 @@
condition: "settings:additional_components.sahara.value == true"
required_for: [deploy_end, controller_remaining_tasks]
requires: [openstack-network-end, horizon]
cross-depends:
- name: sahara-db
- name: sahara-keystone
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/sahara/sahara.pp
puppet_modules: /etc/puppet/modules
@ -33,7 +36,7 @@
version: 2.0.0
groups: [primary-controller]
required_for: [sahara]
requires: [keystone]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
condition: "settings:additional_components.sahara.value == true"

View File

@ -23,6 +23,8 @@
requires: [openstack-controller]
cross-depends:
- name: /(primary-)?rabbitmq/
- name: swift-keystone
- name: memcached
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/swift/swift.pp
puppet_modules: /etc/puppet/modules
@ -57,7 +59,7 @@
required_for: [primary-swift]
cross-depends:
- name: keystone
requires: [keystone]
requires: [primary-keystone, keystone]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/swift/keystone.pp
puppet_modules: /etc/puppet/modules