fuel-plugin-murano/deployment_tasks.yaml

364 lines
12 KiB
YAML

- id: primary-murano-node
type: group
role: [primary-murano-node]
tasks: &common_tasks
- hiera
- setup_repositories
- fuel_pkgs
- globals
- tools
- logging
- hiera_default_route
- netconfig
- hosts
required_for: [deploy_end]
requires: [primary-controller]
parameters:
strategy:
type: one_by_one
- id: murano-node
type: group
role: [murano-node]
tasks: *common_tasks
required_for: [deploy_end]
requires: [primary-murano-node]
parameters:
strategy:
type: parallel
- id: hiera-murano-override
version: 2.1.0
type: puppet
groups: ['primary-controller', 'controller', 'primary-murano-node', 'murano-node']
required_for: [logging]
requires: [globals]
parameters:
puppet_manifest: manifests/murano_hiera_override.pp
puppet_modules: /etc/puppet/modules
timeout: 120
# reexecute_on is needed for scale-down operations
reexecute_on:
- deploy_changes
- id: pin-murano-plugin-repo
version: 2.1.0
type: puppet
groups: ['primary-controller', 'controller', 'primary-murano-node', 'murano-node' ]
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
changedAny($.get('detach-murano').metadata.plugin_version)
required_for: [hiera-murano-override]
requires: [globals]
parameters:
puppet_manifest: manifests/pin_murano_plugin_repo.pp
puppet_modules: /etc/puppet/modules
timeout: 120
- id: murano-keystone-endpoints
version: 2.1.0
type: puppet
groups: ['primary-controller']
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
changedAny($.get('detach-murano'), $.network_metadata.vips,
$.get('region', 'RegionOne'), $.public_ssl, $.get('use_ssl'))
required_for: [murano-controller-end]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
parameters:
puppet_manifest: manifests/murano_keystone.pp
puppet_modules: modules:/etc/puppet/modules
timeout: 1800
- id: murano-database
version: 2.1.0
type: puppet
groups: ['primary-controller']
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
changedAny($.network_metadata.nodes.values().where($.fqdn = new($.fqdn)),
$.get('detach-murano').metadata.plugin_version,
$.get('detach-murano').yaml_additional_config, $.mysql,
$.network_metadata.vips, $.get('database_vip'))
cross-depends:
- name: /(primary-)?database/
required_for: [murano-controller-end]
requires: [primary-database, database]
parameters:
puppet_manifest: manifests/murano_db.pp
puppet_modules: modules:/etc/puppet/modules
timeout: 1800
- id: murano-dashboard
version: 2.1.0
type: puppet
groups: ['primary-controller','controller']
required_for: [murano-controller-end]
requires: [horizon, glance]
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
changedAny($.get('detach-murano').murano_glance_artifacts,
$.get('detach-murano').murano_repo_url,
$.get('detach-murano').metadata.plugin_version, $.network_scheme,
$.horizon, $.get('memcached_addresses'),
$.get('memcache_roles'),
$.network_metadata.nodes.values().where(
('controller' in $.node_roles) or
('primary-controller' in $.node_roles)),
$.storage, $.neutron_advanced_configuration, $.public_ssl,
$.get('horizon_use_ssl'), $.get('external_lb'), $.get('use_ssl'),
$.nova_quota, $.debug, $.get('verbose'), $.get('apache_ports'))
parameters:
puppet_manifest: manifests/murano_dashboard.pp
puppet_modules: modules:/etc/puppet/modules
timeout: 1800
- id: murano-controller-end
version: 2.1.0
type: skipped
groups: ['primary-controller','controller']
required_for: [deploy_end]
requires: []
- id: murano-update-openrc
version: 2.1.0
type: puppet
groups: ['primary-controller', 'controller']
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
changedAny($.get('detach-murano').murano_glance_artifacts,
$.get('detach-murano').murano_repo_url)
required_for: [murano-controller-end]
requires: [primary-keystone, keystone]
cross-depends:
- name: keystone
parameters:
puppet_manifest: manifests/update_openrc.pp
puppet_modules: /etc/puppet/modules
timeout: 120
- id: murano-haproxy
version: 2.1.0
type: puppet
groups: ['primary-controller', 'controller']
required_for: [murano-controller-end]
requires: [deploy_start, primary-cluster-haproxy, cluster-haproxy]
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
(changedAny($.get('detach-murano'),
$.public_ssl, $.get('use_ssl'), $.get('external_lb'),
$.network_metadata.nodes.values().where(
('murano-node' in $.node_roles) or
('primary-murano-node' in $.node_roles)),
$.network_metadata.vips) or
(not $.network_metadata.nodes.values().any(
('murano-node' in $.node_roles) or
('primary-murano-node' in $.node_roles)) and
changedAny($.network_metadata.nodes.values().where(
('controller' in $.node_roles) or
('primary-controller' in $.node_roles)))))
cross-depends:
- name: /(primary-)?cluster-haproxy/
role: self
parameters:
puppet_manifest: manifests/murano_haproxy.pp
puppet_modules: /etc/puppet/modules
timeout: 300
- id: murano-disable-old-services
version: 2.1.0
type: puppet
groups: ['primary-controller', 'controller']
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
$.network_metadata.nodes.values().any('primary-murano-node' in $.node_roles)
required_for: [murano-controller-end]
parameters:
puppet_manifest: manifests/murano_disable_old.pp
puppet_modules: /etc/puppet/modules
timeout: 900
- id: murano-logging
version: 2.1.0
type: puppet
groups: ['primary-controller', 'controller', 'primary-murano-node', 'murano-node']
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
($.roles.any($.matches('(primary-)?murano-node')) or
not ($.murano.enabled or $.roles.any($.matches('(primary-)?murano-node'))))
required_for: [murano-services]
requires: [logging]
parameters:
puppet_manifest: manifests/murano_logging.pp
puppet_modules: /etc/puppet/modules
timeout: 1800
- id: murano-services
version: 2.1.0
type: puppet
groups: ['primary-controller', 'controller', 'primary-murano-node', 'murano-node']
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
($.roles.any($.matches('(primary-)?murano-node')) or
not $.network_metadata.nodes.values().any(
('murano-node' in $.node_roles) or
('primary-murano-node' in $.node_roles))) and
changedAny($.get('detach-murano'), $.rabbit, $.ceilometer,
$.quantum_settings, $.network_metadata.vips, $.get('database_vip'),
$.get('region', 'RegionOne'), $.quantum, $.network_metadata,
$.get('syslog_log_facility_murano'), $.debug,
$.get('default_log_levels'), $.get('use_syslog'),
$.get('use_stderr'), $.get('rabbit_ha_queues'), $.get('amqp_port'),
$.get('amqp_hosts'), $.external_dns, $.public_ssl, $.get('use_ssl'),
$.get('kombu_compression'), $.get('keystone_endpoint'))
required_for: [deploy_end]
requires: [hosts]
cross-depends:
- name: murano-controller-end
parameters:
puppet_manifest: manifests/murano.pp
puppet_modules: modules:/etc/puppet/modules
timeout: 3600
- id: murano-node-rabbitmq
version: 2.1.0
type: puppet
groups: ['primary-controller', 'controller', 'primary-murano-node', 'murano-node']
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
($.roles.any($.matches('(primary-)?murano-node')) or
not $.network_metadata.nodes.values().any(
('murano-node' in $.node_roles) or
('primary-murano-node' in $.node_roles))) and
changedAny($.get('detach-murano'), $.rabbit)
required_for: [murano-services]
requires: [hosts]
parameters:
puppet_manifest: manifests/murano_rabbitmq.pp
puppet_modules: modules:/etc/puppet/modules
timeout: 1800
- id: murano-node-cfapi
version: 2.1.0
type: puppet
groups: ['primary-controller', 'controller', 'primary-murano-node', 'murano-node']
condition:
yaql_exp: >
$.get('detach-murano', {}).get('murano_cfapi', false) and
($.roles.any($.matches('(primary-)?murano-node')) or
not $.network_metadata.nodes.values().any(
('murano-node' in $.node_roles) or
('primary-murano-node' in $.node_roles))) and
changedAny($.public_ssl,
$.network_metadata.vips, $.get('use_ssl'), $.network_metadata)
required_for: [deploy_end]
requires: [murano-services]
parameters:
puppet_manifest: manifests/murano_cfapi.pp
puppet_modules: modules:/etc/puppet/modules
timeout: 3600
# Murano ssl tasks
- id: murano-ssl-keys-saving
type: puppet
version: 2.1.0
groups: ['primary-murano-node', 'murano-node']
requires: [netconfig]
condition:
yaql_exp: >
(($.public_ssl.horizon or $.public_ssl.services) and
$.public_ssl.cert_source = 'user_uploaded' and
changed($.public_ssl.cert_data)) or
(changed($.get('use_ssl')) and len($.get('use_ssl', [])) > 0)
required_for: [deploy_end]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ssl/ssl_keys_saving.pp
puppet_modules: /etc/puppet/modules
timeout: 120
- id: murano-ssl-add-trust-chain
type: puppet
version: 2.1.0
groups: ['primary-murano-node', 'murano-node']
requires: [murano-ssl-keys-saving]
condition:
yaql_exp: &public_ssl_enabled >
(changed($.public_ssl) and
($.public_ssl.horizon or $.public_ssl.services)) or
(changed($.get('use_ssl')) and (len($.get('use_ssl', [])) > 0))
required_for: [hosts]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ssl/ssl_add_trust_chain.pp
puppet_modules: /etc/puppet/modules
timeout: 120
- id: murano-ssl-dns-setup
type: puppet
version: 2.1.0
groups: ['primary-murano-node', 'murano-node']
requires: [murano-ssl-add-trust-chain]
condition:
yaql_exp: *public_ssl_enabled
required_for: [hosts]
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/ssl/ssl_dns_setup.pp
puppet_modules: /etc/puppet/modules
timeout: 120
#####
- id: import_murano_package
type: puppet
version: 2.1.0
groups: ['primary-murano-node', 'primary-controller']
condition:
yaql_exp: >
$.get('detach-murano', {}).get('metadata', {}).get('enabled', false) and
($.roles.any($.matches('primary-murano-node')) or
not $.network_metadata.nodes.values().any(
('primary-murano-node' in $.node_roles))) and
changedAny($.get('detach-murano').murano_glance_artifacts)
required_for: [post_deployment_end]
cross-depends:
- name: upload_cirros
parameters:
puppet_manifest: manifests/import_murano_package.pp
puppet_modules: modules:/etc/puppet/modules
timeout: 180
# skip base murano tasks
- id: murano
type: skipped
- id: murano-db
type: skipped
- id: murano-keystone
type: skipped
- id: murano-rabbitmq
type: skipped
- id: murano-cfapi
type: skipped
- id: murano-cfapi-keystone
type: skipped
- id: openstack-haproxy-murano
type: skipped
- id: upload_murano_package
type: skipped