fuel-plugin-opendaylight/deployment_tasks.yaml

277 lines
9.5 KiB
YAML

- id: opendaylight
type: group
role: [opendaylight]
requires: [deploy_start]
required_for: [deploy_end, primary-controller, controller]
tasks: [hiera, setup_repositories, fuel_pkgs, globals, tools, logging, netconfig, odl_install]
parameters:
strategy:
type: parallel
- id: odl_install
type: puppet
version: 2.1.0
groups: [opendaylight]
requires: [deploy_start]
required_for: [openstack-network-start, odl_configure]
requires: [hosts, firewall, globals, netconfig]
condition:
yaql_exp: changedAny($.network_metadata.vips.get('management'), $.opendaylight)
parameters:
puppet_manifest: puppet/manifests/odl-install.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 3000
# We remove override file, because 'odl_hiera_override' task is not reenterant and
# cannot correctly handled data on subsequent calls
- id: odl_remove_hiera
type: puppet
version: 2.1.0
groups: [primary-controller, controller, compute, opendaylight]
required_for: [odl_hiera_override]
condition:
yaql_exp: &hiera_override >
changedAny($.network_metadata.vips.get('management'), $.quantum_settings,
$.opendaylight, $.neutron_advanced_configuration)
parameters:
puppet_manifest: puppet/manifests/remove-odl-override.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 30
- id: odl_hiera_override
type: puppet
groups: [primary-controller, controller, compute, opendaylight]
version: 2.1.0
required_for: [netconfig]
requires: [globals]
condition:
yaql_exp: *hiera_override
parameters:
puppet_manifest: puppet/manifests/hiera-override.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
- id: odl_configure
type: puppet
version: 2.1.0
groups: [primary-controller, controller]
requires: [deploy_start, primary-cluster-haproxy, cluster-haproxy]
required_for: [openstack-network-common-config, openstack-haproxy, openstack-network-end]
cross-depends:
- name: odl_install
condition:
yaql_exp: >
changedAny($.network_metadata.vips, $.opendaylight,
$.network_metadata.nodes.values().where($.node_roles.contains('opendaylight')).network_roles.management)
parameters:
puppet_manifest: puppet/manifests/odl-service.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1400
- id: odl_sfc
type: puppet
version: 2.1.0
groups: [primary-controller]
required_for: [openstack-network-common-config]
requires: [openstack-network-start]
condition:
yaql_exp: $.opendaylight.enable_sfc and changedAny($.network_metadata.vips.get('management'), $.opendaylight)
parameters:
puppet_manifest: puppet/manifests/odl-sfc.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 120
- id: odl_vxgpe
type: puppet
version: 2.1.0
groups: [compute, compute-vmware]
required_for: [openstack-network-common-config]
requires: [openstack-network-start]
parameters:
puppet_manifest: puppet/manifests/odl-vxgpe.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 60
- id: openstack-network-common-config
type: puppet
version: 2.1.0
groups: [primary-controller, controller, compute]
required_for: [openstack-network-end]
requires: [openstack-network-start]
cross-depends:
- name: odl_sfc
condition:
yaql_exp: >
changedAny($.opendaylight, $.get('openstack_network'), $.debug,
$.quantum_settings, $.neutron_advanced_configuration, $.rabbit,
$.ceilometer, $.network_scheme, $.get('use_syslog'),
$.get('use_stderr'), $.get('syslog_log_facility_neutron'),
$.network_metadata.nodes.values().where(
$.node_roles.any($.matches('controller'))).network_roles.select(
$.get('mgmt/messaging')),
$.get('amqp_hosts'), $.get('kombu_compression'))
parameters:
puppet_manifest: puppet/manifests/odl-common_config.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1800
- id: primary-openstack-network-plugins-l2
type: puppet
version: 2.1.0
groups: [primary-controller]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config, primary-openstack-network-server-config]
condition:
yaql_exp: &network_plugins_l2 >
changedAny($.quantum, $.configuration, $.fqdn,
$.get('neutron_primary_controller_roles'),
$.get('neutron_compute_nodes'), $.quantum_settings, $.public_ssl,
$.get('use_ssl'), $.get('region'), $.network_scheme,
$.neutron_advanced_configuration)
refresh_on: [neutron_agent_ovs]
parameters:
puppet_manifest: puppet/manifests/odl-ml2-configuration.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1800
- id: openstack-network-plugins-l2
type: puppet
version: 2.1.0
groups: [controller, compute]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-common-config, openstack-network-server-config]
condition:
yaql_exp: *network_plugins_l2
cross-depends:
- name: primary-openstack-network-plugins-l2
parameters:
puppet_manifest: puppet/manifests/odl-ml2-configuration.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 1800
# We have two tracks here.
# If user wants to use ODL to control L3 traffic
# then we skip tasks which spawn neutron L3 agents
# and move networks and router creation on the end.
# In other case standard path is preserved, but additional
# condition is added to tasks
- id: primary-openstack-network-agents-l3
type: puppet
version: 2.1.0
groups: [primary-controller]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-networks, openstack-network-routers, primary-openstack-network-plugins-l2]
refresh_on: [neutron_l3_agent_config]
condition:
yaql_exp: &network_agents_l3 >
not $.opendaylight.enable_l3_odl and changedAny($.quantum, $.neutron_advanced_configuration,
$.get('neutron_controller_roles'), $.get('neutron_compute_nodes'),
$.debug, $.configuration, $.network_scheme,
('primary-controller' in $.roles))
parameters:
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/agents/l3.pp
puppet_modules: /etc/puppet/modules
timeout: 1800
- id: openstack-network-agents-l3
type: puppet
version: 2.1.0
groups: [controller, compute]
required_for: [openstack-network-end]
requires: [openstack-network-start, openstack-network-networks, openstack-network-routers, openstack-network-plugins-l2]
condition:
yaql_exp: *network_agents_l3
refresh_on: [neutron_l3_agent_config]
cross-depends:
- name: primary-openstack-network-plugins-l2
- name: primary-openstack-network-agents-l3
parameters:
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/agents/l3.pp
puppet_modules: /etc/puppet/modules
timeout: 1800
# POST DEPLOYMENT
# Additional task for routers when L3 HA is enabled
# HA routers must be created on post-deployment step when all L3 agents are available
- id: openstack-network-networks
type: skipped
groups: [primary-controller]
- id: odl-openstack-network-networks
type: puppet
version: 2.1.0
role: [primary-controller]
required_for: [post_deployment_end]
requires: [post_deployment_start]
condition:
yaql_exp: changedAny($.access, $.quantum_settings, $.quantum)
parameters:
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/networks.pp
puppet_modules: /etc/puppet/modules
timeout: 1800
- id: openstack-network-routers
type: skipped
groups: [primary-controller]
- id: odl-openstack-network-routers
type: puppet
version: 2.1.0
role: [primary-controller]
requires: [post_deployment_start, odl-openstack-network-networks]
required_for: [post_deployment_end]
condition:
yaql_exp: >
not $.neutron_advanced_configuration.neutron_l3_ha and
changed($.neutron_advanced_configuration.neutron_l3_ha)
parameters:
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/routers.pp
puppet_modules: /etc/puppet/modules
timeout: 1800
- id: openstack-network-routers-ha
type: puppet
version: 2.1.0
role: [primary-controller]
condition:
yaql_exp: >
not $.opendaylight.enable_l3_odl and
$.neutron_advanced_configuration.neutron_l3_ha and
changed($.neutron_advanced_configuration.neutron_l3_ha)
required_for: [post_deployment_end]
requires: [post_deployment_start]
parameters:
puppet_manifest: /etc/puppet/modules/openstack_tasks/examples/openstack-network/routers.pp
puppet_modules: /etc/puppet/modules
timeout: 1800
- id: configure_default_route
type: puppet
version: 2.1.0
role: [primary-mongo, mongo]
requires: [post_deployment_start]
required_for: [post_deployment_end]
condition:
yaql_exp: >
not $.opendaylight.enable_l3_odl and
changedAny($.network_scheme, $.network_metadata.vips.get('management'))
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/netconfig/configure_default_route.pp
puppet_modules: /etc/puppet/modules
timeout: 3600
- id: odl_dashboard_registration
type: puppet
version: 2.1.0
role: [primary-controller]
required_for: [post_deployment_end]
requires: [post_deployment_start]
condition:
yaql_exp: >
changedAny($.deployment_id, $.master_ip, $.opendaylight,
$.network_metadata.vips.get('public', {}).get('ipaddr'))
parameters:
puppet_manifest: puppet/manifests/odl-dashboard.pp
puppet_modules: puppet/modules:/etc/puppet/modules
timeout: 180