783975c72c
Introduces environment files for deploying OpenDaylight in two ways: - ODL only managing L2 as an ML2 plugin - ODL managing L2 and L3 DVR, by replacing NeutronL3Agent Two services are added. One to install ODL and configure OVS on the Controllers, and another service to only configure OVS on compute nodes. Paritally-Implements: blueprint opendaylight-integration Depends-On: I666dc0874f1d11a72a62d796f4f6d41f7aa87a3f Change-Id: Ide69e20cbf2ec6151953cb23e51478b770aca17f Signed-off-by: Tim Rozet <trozet@redhat.com>
355 lines
12 KiB
YAML
355 lines
12 KiB
YAML
heat_template_version: 2015-04-30
|
|
description: 'All Nodes Config for Puppet'
|
|
|
|
parameters:
|
|
hosts:
|
|
type: comma_delimited_list
|
|
controller_ips:
|
|
type: comma_delimited_list
|
|
controller_names:
|
|
type: comma_delimited_list
|
|
rabbit_node_ips:
|
|
type: comma_delimited_list
|
|
mongo_node_ips:
|
|
type: comma_delimited_list
|
|
redis_node_ips:
|
|
type: comma_delimited_list
|
|
memcache_node_ips:
|
|
type: comma_delimited_list
|
|
mysql_node_ips:
|
|
type: comma_delimited_list
|
|
horizon_node_ips:
|
|
type: comma_delimited_list
|
|
heat_api_node_ips:
|
|
type: comma_delimited_list
|
|
swift_proxy_node_ips:
|
|
type: comma_delimited_list
|
|
ceilometer_api_node_ips:
|
|
type: comma_delimited_list
|
|
aodh_api_node_ips:
|
|
type: comma_delimited_list
|
|
nova_api_node_ips:
|
|
type: comma_delimited_list
|
|
nova_metadata_node_ips:
|
|
type: comma_delimited_list
|
|
glance_api_node_ips:
|
|
type: comma_delimited_list
|
|
glance_registry_node_ips:
|
|
type: comma_delimited_list
|
|
gnocchi_api_node_ips:
|
|
type: comma_delimited_list
|
|
cinder_api_node_ips:
|
|
type: comma_delimited_list
|
|
manila_api_node_ips:
|
|
type: comma_delimited_list
|
|
neutron_api_node_ips:
|
|
type: comma_delimited_list
|
|
keystone_public_api_node_ips:
|
|
type: comma_delimited_list
|
|
keystone_admin_api_node_ips:
|
|
type: comma_delimited_list
|
|
sahara_api_node_ips:
|
|
type: comma_delimited_list
|
|
ironic_api_node_ips:
|
|
type: comma_delimited_list
|
|
ceph_mon_node_ips:
|
|
type: comma_delimited_list
|
|
ceph_mon_node_names:
|
|
type: comma_delimited_list
|
|
opendaylight_api_node_ips:
|
|
type: comma_delimited_list
|
|
DeployIdentifier:
|
|
type: string
|
|
description: >
|
|
Setting this to a unique value will re-run any deployment tasks which
|
|
perform configuration on a Heat stack-update.
|
|
UpdateIdentifier:
|
|
type: string
|
|
description: >
|
|
Setting to a previously unused value during stack-update will trigger
|
|
package update on all nodes
|
|
StackAction:
|
|
type: string
|
|
description: >
|
|
Heat action on performed top-level stack.
|
|
constraints:
|
|
- allowed_values: ['CREATE', 'UPDATE']
|
|
|
|
resources:
|
|
|
|
allNodesConfigImpl:
|
|
type: OS::Heat::StructuredConfig
|
|
properties:
|
|
group: os-apply-config
|
|
config:
|
|
hosts:
|
|
list_join:
|
|
- "\n"
|
|
- {get_param: hosts}
|
|
hiera:
|
|
datafiles:
|
|
bootstrap_node:
|
|
mapped_data:
|
|
bootstrap_nodeid: {get_input: bootstrap_nodeid}
|
|
bootstrap_nodeid_ip: {get_input: bootstrap_nodeid_ip}
|
|
all_nodes:
|
|
mapped_data:
|
|
controller_node_ips:
|
|
list_join:
|
|
- ','
|
|
- {get_param: controller_ips}
|
|
controller_node_names:
|
|
list_join:
|
|
- ','
|
|
- {get_param: controller_names}
|
|
galera_node_names:
|
|
list_join:
|
|
- ','
|
|
- {get_param: controller_names}
|
|
rabbitmq_node_ips: &rabbit_nodes_array
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: rabbit_node_ips}
|
|
mongodb_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: mongo_node_ips}
|
|
redis_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: redis_node_ips}
|
|
memcached_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: memcache_node_ips}
|
|
memcached_node_ips_v6:
|
|
str_replace:
|
|
template: "['inet6:[SERVERS_LIST]']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "]','inet6:["
|
|
- {get_param: memcache_node_ips}
|
|
mysql_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: mysql_node_ips}
|
|
horizon_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: horizon_node_ips}
|
|
heat_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: heat_api_node_ips}
|
|
swift_proxy_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: swift_proxy_node_ips}
|
|
ceilometer_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: ceilometer_api_node_ips}
|
|
aodh_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: aodh_api_node_ips}
|
|
gnocchi_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: gnocchi_api_node_ips}
|
|
nova_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: nova_api_node_ips}
|
|
nova_metadata_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: nova_metadata_node_ips}
|
|
glance_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: glance_api_node_ips}
|
|
glance_registry_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: glance_registry_node_ips}
|
|
cinder_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: cinder_api_node_ips}
|
|
manila_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: manila_api_node_ips}
|
|
neutron_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: neutron_api_node_ips}
|
|
# TODO: pass a `midonet_api_node_ips` var
|
|
midonet_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: neutron_api_node_ips}
|
|
keystone_public_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: keystone_public_api_node_ips}
|
|
keystone_admin_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: keystone_admin_api_node_ips}
|
|
sahara_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: sahara_api_node_ips}
|
|
ironic_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: ironic_api_node_ips}
|
|
opendaylight_api_node_ips:
|
|
str_replace:
|
|
template: "['SERVERS_LIST']"
|
|
params:
|
|
SERVERS_LIST:
|
|
list_join:
|
|
- "','"
|
|
- {get_param: opendaylight_api_node_ips}
|
|
tripleo::profile::base::ceph::ceph_mon_initial_members:
|
|
list_join:
|
|
- ','
|
|
- {get_param: ceph_mon_node_names}
|
|
tripleo::profile::base::ceph::ceph_mon_host:
|
|
list_join:
|
|
- ','
|
|
- {get_param: ceph_mon_node_ips}
|
|
tripleo::profile::base::ceph::ceph_mon_host_v6:
|
|
str_replace:
|
|
template: "'[IPS_LIST]'"
|
|
params:
|
|
IPS_LIST:
|
|
list_join:
|
|
- '],['
|
|
- {get_param: ceph_mon_node_ips}
|
|
# NOTE(gfidente): interpolation with %{} in the
|
|
# hieradata file can't be used as it returns string
|
|
ceilometer::rabbit_hosts: *rabbit_nodes_array
|
|
aodh::rabbit_hosts: *rabbit_nodes_array
|
|
cinder::rabbit_hosts: *rabbit_nodes_array
|
|
glance::notify::rabbitmq::rabbit_hosts: *rabbit_nodes_array
|
|
manila::rabbit_hosts: *rabbit_nodes_array
|
|
heat::rabbit_hosts: *rabbit_nodes_array
|
|
neutron::rabbit_hosts: *rabbit_nodes_array
|
|
nova::rabbit_hosts: *rabbit_nodes_array
|
|
keystone::rabbit_hosts: *rabbit_nodes_array
|
|
sahara::rabbit_hosts: *rabbit_nodes_array
|
|
ironic::rabbit_hosts: *rabbit_nodes_array
|
|
|
|
deploy_identifier: {get_param: DeployIdentifier}
|
|
update_identifier: {get_param: UpdateIdentifier}
|
|
stack_action: {get_param: StackAction}
|
|
|
|
outputs:
|
|
config_id:
|
|
description: The ID of the allNodesConfigImpl resource.
|
|
value:
|
|
{get_resource: allNodesConfigImpl}
|
|
hosts_entries:
|
|
description: |
|
|
The content that should be appended to your /etc/hosts if you want to get
|
|
hostname-based access to the deployed nodes (useful for testing without
|
|
setting up a DNS).
|
|
value: {get_attr: [allNodesConfigImpl, config, hosts]}
|