277 lines
9.5 KiB
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
|