# Custom roles definition - id: primary-standalone-keystone type: group role: [primary-standalone-keystone] requires: [deploy_start, primary-database, database, primary-rabbitmq, rabbitmq] required_for: [deploy_end] tasks: [hiera, fuel_pkgs, globals, tools, logging, netconfig, hosts, firewall, keystone-firewall, ssl-keys-saving, ssl-add-trust-chain, deploy_start, primary-cluster, keystone-vip, primary-cluster-haproxy, openstack-haproxy-stats, memcached, apache, primary-keystone] parameters: strategy: type: one_by_one - id: standalone-keystone type: group role: [standalone-keystone] requires: [deploy_start, primary-database, database, primary-rabbitmq, rabbitmq] required_for: [deploy_end] tasks: [hiera, fuel_pkgs, globals, tools, logging, netconfig, hosts, firewall, keystone-firewall, ssl-keys-saving, ssl-add-trust-chain, deploy_start, cluster, keystone-vip, cluster-haproxy, openstack-haproxy-stats, memcached, apache, keystone] parameters: strategy: type: parallel # Custom tasks needed for plugin - id: keystone-hiera-override version: 2.0.0 type: puppet role: '*' requires: [globals] required_for: [logging, keystone-controller] parameters: puppet_manifest: 'hiera-override.pp' puppet_modules: '/etc/puppet/modules' timeout: 120 - id: keystone-haproxy type: puppet role: [primary-standalone-keystone, standalone-keystone] version: 2.0.0 required_for: [keystone, deploy_end] requires: [deploy_start, keystone-vip, primary-cluster-haproxy, cluster-haproxy] parameters: puppet_manifest: 'haproxy.pp' puppet_modules: '/etc/puppet/modules' timeout: 3600 - id: keystone-vip type: puppet version: 2.0.0 role: [primary-standalone-keystone, standalone-keystone] required_for: [deploy_end] requires: [primary-cluster, cluster] cross-depends: - name: /(primary-)?cluster$/ role: self parameters: puppet_manifest: '/etc/puppet/modules/osnailyfacter/modular/virtual_ips/virtual_ips.pp' puppet_modules: '/etc/puppet/modules' timeout: 3600 - id: keystone-firewall type: puppet version: 2.0.0 role: [primary-standalone-keystone, standalone-keystone] requires: [keystone-hiera-override, firewall] required_for: [primary-cluster, cluster] parameters: puppet_manifest: 'keystone_firewall.pp' puppet_modules: /etc/puppet/modules timeout: 180 # Override existing Fuel tasks to run on standalone-keystone role - id: openrc-delete type: puppet version: 2.0.0 role: [primary-standalone-keystone, standalone-keystone] requires: [deploy_start] required_for: [primary-keystone, keystone] refresh_on: [keystone_config] parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/keystone/openrc_delete.pp puppet_modules: /etc/puppet/modules timeout: 90 - id: primary-keystone type: puppet version: 2.0.0 role: [primary-standalone-keystone] required_for: [deploy_end, primary-openstack-controller, openstack-controller] requires: [keystone-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 version: 2.0.0 role: [standalone-keystone] required_for: [deploy_end, primary-openstack-controller, openstack-controller] requires: [keystone-haproxy, primary-database, database, primary-rabbitmq, rabbitmq] 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 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-db type: puppet version: 2.0.0 role: [primary-standalone-keystone] required_for: [keystone, primary-keystone] requires: [hosts] cross-depends: - name: /(primary-)?database/ role: primary-controller parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/keystone/db.pp puppet_modules: /etc/puppet/modules timeout: 1800 - id: workloads_collector_add type: puppet version: 2.0.0 role: [primary-standalone-keystone] required_for: [deploy_end] requires: [keystone, primary-keystone] parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/keystone/workloads_collector_add.pp puppet_modules: /etc/puppet/modules timeout: 1800 - id: disable_keystone_service_token type: puppet version: 2.0.0 role: [primary-standalone-keystone, standalone-keystone] requires: [post_deployment_start] required_for: [post_deployment_end] parameters: puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/astute/service_token_off.pp puppet_modules: /etc/puppet/modules timeout: 180 cwd: / - id: keystone-controller type: puppet version: 2.0.0 role: [primary-controller, controller] requires: [deploy_start, primary-cluster-haproxy, cluster-haproxy] # TODO(mattymo): Use cross-depended-by when it works required_for: [ceilometer-keystone, neutron-keystone, nova-keystone, ironic-keystone, swift-keystone, heat-keystone, aodh-keystone, glance-keystone, sahara-keystone, murano-keystone, murano-cfapi-keystone, cinder-keystone, radosgw-keystone] cross-depends: - name: /(primary-)?keystone/ role: ["/(primary-)?standalone-keystone/"] # TODO(mattymo): Uncomment when this field works #cross-depended-by: # - name: /(?!haproxy|primary|standalone)-keystone/ # role: self parameters: puppet_manifest: 'keystone-controller.pp' puppet_modules: '/etc/puppet/modules' timeout: 600