summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--environments/major-upgrade-pacemaker-init.yaml2
-rw-r--r--environments/major-upgrade-pacemaker.yaml2
-rw-r--r--environments/network-management-v6.yaml25
-rw-r--r--environments/network-management.yaml3
-rw-r--r--environments/neutron-midonet.yaml2
-rw-r--r--environments/neutron-nuage-config.yaml2
-rw-r--r--environments/neutron-opencontrail.yaml2
-rwxr-xr-xenvironments/neutron-plumgrid.yaml9
-rw-r--r--environments/puppet-pacemaker.yaml11
-rw-r--r--network/management_v6.yaml69
-rw-r--r--network/ports/management_from_pool_v6.yaml52
-rw-r--r--overcloud-resource-registry-puppet.yaml16
-rw-r--r--overcloud.yaml95
-rw-r--r--puppet/ceph-cluster-config.yaml7
-rw-r--r--puppet/compute.yaml16
-rw-r--r--puppet/controller.yaml273
-rw-r--r--puppet/extraconfig/ceph/ceph-external-config.yaml7
-rwxr-xr-xpuppet/extraconfig/pre_deploy/controller/neutron-plumgrid.yaml113
-rw-r--r--puppet/extraconfig/tls/no-ca.yaml17
-rw-r--r--puppet/extraconfig/tls/no-tls.yaml34
-rw-r--r--puppet/hieradata/compute.yaml2
-rw-r--r--puppet/hieradata/controller.yaml70
-rw-r--r--puppet/manifests/overcloud_compute.pp4
-rw-r--r--puppet/manifests/overcloud_controller.pp72
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp174
-rw-r--r--puppet/services/database/mongodb-base.yaml30
-rw-r--r--puppet/services/database/mongodb.yaml28
-rw-r--r--puppet/services/neutron-base.yaml18
-rw-r--r--puppet/services/neutron-ovs-agent.yaml71
-rw-r--r--puppet/services/neutron-plugin-ml2.yaml109
-rw-r--r--puppet/services/neutron-plugin-plumgrid.yaml111
-rw-r--r--puppet/services/neutron-server.yaml70
-rw-r--r--puppet/services/nova-api.yaml31
-rw-r--r--puppet/services/nova-compute.yaml25
-rw-r--r--puppet/services/nova-consoleauth.yaml24
-rw-r--r--puppet/services/nova-scheduler.yaml26
-rw-r--r--puppet/services/nova-vncproxy.yaml24
-rw-r--r--puppet/services/pacemaker/database/mongodb.yaml28
-rw-r--r--puppet/services/pacemaker/neutron-ovs-agent.yaml25
-rw-r--r--puppet/services/pacemaker/neutron-plugin-ml2.yaml28
-rw-r--r--puppet/services/pacemaker/neutron-plugin-plumgrid.yaml28
-rw-r--r--puppet/services/pacemaker/neutron-server.yaml30
-rw-r--r--puppet/services/pacemaker/nova-api.yaml30
-rw-r--r--puppet/services/pacemaker/nova-consoleauth.yaml30
-rw-r--r--puppet/services/pacemaker/nova-scheduler.yaml30
-rw-r--r--puppet/services/pacemaker/nova-vncproxy.yaml30
46 files changed, 1089 insertions, 816 deletions
diff --git a/environments/major-upgrade-pacemaker-init.yaml b/environments/major-upgrade-pacemaker-init.yaml
index d98a9cdd..fbad0406 100644
--- a/environments/major-upgrade-pacemaker-init.yaml
+++ b/environments/major-upgrade-pacemaker-init.yaml
@@ -1,5 +1,5 @@
parameter_defaults:
- UpgradeLevelNovaCompute: liberty
+ UpgradeLevelNovaCompute: mitaka
resource_registry:
OS::TripleO::Tasks::UpdateWorkflow: ../extraconfig/tasks/major_upgrade_pacemaker_init.yaml
diff --git a/environments/major-upgrade-pacemaker.yaml b/environments/major-upgrade-pacemaker.yaml
index 61186bb0..763ca67e 100644
--- a/environments/major-upgrade-pacemaker.yaml
+++ b/environments/major-upgrade-pacemaker.yaml
@@ -1,5 +1,5 @@
parameter_defaults:
- UpgradeLevelNovaCompute: liberty
+ UpgradeLevelNovaCompute: mitaka
resource_registry:
OS::TripleO::Tasks::UpdateWorkflow: ../extraconfig/tasks/major_upgrade_pacemaker.yaml
diff --git a/environments/network-management-v6.yaml b/environments/network-management-v6.yaml
new file mode 100644
index 00000000..812e84f3
--- /dev/null
+++ b/environments/network-management-v6.yaml
@@ -0,0 +1,25 @@
+# Enable the creation of an IPv6 system management network. This
+# creates a Neutron network for isolated Overcloud
+# system management traffic and configures each role to
+# assign a port (related to that role) on that network.
+# Note that the basic sample NIC configuration templates
+# do not include the management network, see the
+# comments in the sample network config templates in
+# network/config/ for an example.
+resource_registry:
+ OS::TripleO::Network::Management: ../network/management_v6.yaml
+
+ # Port assignments for the controller role
+ OS::TripleO::Controller::Ports::ManagementPort: ../network/ports/management_v6.yaml
+
+ # Port assignments for the compute role
+ OS::TripleO::Compute::Ports::ManagementPort: ../network/ports/management_v6.yaml
+
+ # Port assignments for the ceph storage role
+ OS::TripleO::CephStorage::Ports::ManagementPort: ../network/ports/management_v6.yaml
+
+ # Port assignments for the swift storage role
+ OS::TripleO::SwiftStorage::Ports::ManagementPort: ../network/ports/management_v6.yaml
+
+ # Port assignments for the block storage role
+ OS::TripleO::BlockStorage::Ports::ManagementPort: ../network/ports/management_v6.yaml
diff --git a/environments/network-management.yaml b/environments/network-management.yaml
index 2f0cff8b..041617be 100644
--- a/environments/network-management.yaml
+++ b/environments/network-management.yaml
@@ -4,7 +4,8 @@
# assign a port (related to that role) on that network.
# Note that the basic sample NIC configuration templates
# do not include the management network, see the
-# single-nic-vlans-mgmt templates for an example.
+# comments in the sample network config templates in
+# network/config/ for an example.
resource_registry:
OS::TripleO::Network::Management: ../network/management.yaml
diff --git a/environments/neutron-midonet.yaml b/environments/neutron-midonet.yaml
index 463c1874..7f50f15b 100644
--- a/environments/neutron-midonet.yaml
+++ b/environments/neutron-midonet.yaml
@@ -3,13 +3,13 @@ resource_registry:
OS::TripleO::AllNodesExtraConfig: ../puppet/extraconfig/all_nodes/neutron-midonet-all-nodes.yaml
OS::TripleO::Controller::Net::SoftwareConfig: ../net-config-linux-bridge.yaml # We have to avoid any ovs bridge. MidoNet is incompatible with its datapath
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
+ OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
parameter_defaults:
EnableZookeeperOnController: true
EnableCassandraOnController: true
NeutronCorePlugin: 'midonet.neutron.plugin_v1.MidonetPluginV2' # Overriding default core_plugin in Neutron. Don't touch it
NeutronEnableIsolatedMetadata: true # MidoNet 1.9 needs this one to work. Don't change it
- NeutronEnableOVSAgent: false
# Other available options for MidoNet Services
# TunnelZoneName: 'tunnelname'
diff --git a/environments/neutron-nuage-config.yaml b/environments/neutron-nuage-config.yaml
index 0cd49a20..bf5036bf 100644
--- a/environments/neutron-nuage-config.yaml
+++ b/environments/neutron-nuage-config.yaml
@@ -4,6 +4,7 @@ resource_registry:
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-nuage.yaml
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
+ OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
parameter_defaults:
NeutronNuageOSControllerIp: '0.0.0.0'
@@ -17,7 +18,6 @@ parameter_defaults:
UseForwardedFor: true
NeutronCorePlugin: 'neutron.plugins.nuage.plugin.NuagePlugin'
NeutronEnableDHCPAgent: false
- NeutronEnableOVSAgent: false
NeutronServicePlugins: []
NovaOVSBridge: 'alubr0'
controllerExtraConfig:
diff --git a/environments/neutron-opencontrail.yaml b/environments/neutron-opencontrail.yaml
index ceccd132..b17c9c0a 100644
--- a/environments/neutron-opencontrail.yaml
+++ b/environments/neutron-opencontrail.yaml
@@ -6,11 +6,11 @@ resource_registry:
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
+ OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
parameter_defaults:
NeutronCorePlugin: neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2
NeutronServicePlugins: neutron_plugin_contrail.plugins.opencontrail.loadbalancer.plugin.LoadBalancerPlugin
- NeutronEnableOVSAgent: false
NeutronEnableTunnelling: false
# required params:
diff --git a/environments/neutron-plumgrid.yaml b/environments/neutron-plumgrid.yaml
index 19f51cfc..08ace103 100755
--- a/environments/neutron-plumgrid.yaml
+++ b/environments/neutron-plumgrid.yaml
@@ -1,11 +1,13 @@
# A Heat environment file which can be used to enable PLUMgrid
# extensions, configured via puppet
resource_registry:
- OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-plumgrid.yaml
- # PLUMgrid doesn't require dhcp, l3, and metadata agents
+ # PLUMgrid doesn't require dhcp, l3, metadata, and ovs agents
OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronMetadataAgent: OS::Heat::None
+ OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
+ # Override the Neutron core plugin to use PLUMgrid
+ OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginPlumgrid
parameter_defaults:
NeutronCorePlugin: networking_plumgrid.neutron.plugins.plugin.NeutronPluginPLUMgridV2
@@ -25,6 +27,3 @@ parameter_defaults:
#Optional Parameters
#PLUMgridNeutronPluginVersion: present
#PLUMgridPlumlibVersion: present
-
- # PLUMgrid doesn't require the ovs agent
- NeutronEnableOVSAgent: false
diff --git a/environments/puppet-pacemaker.yaml b/environments/puppet-pacemaker.yaml
index e6326453..52a94d80 100644
--- a/environments/puppet-pacemaker.yaml
+++ b/environments/puppet-pacemaker.yaml
@@ -22,8 +22,19 @@ resource_registry:
OS::TripleO::Services::NeutronDhcpAgent: ../puppet/services/pacemaker/neutron-dhcp.yaml
OS::TripleO::Services::NeutronL3Agent: ../puppet/services/pacemaker/neutron-l3.yaml
OS::TripleO::Services::NeutronMetadataAgent: ../puppet/services/pacemaker/neutron-metadata.yaml
+ OS::TripleO::Services::NeutronServer: ../puppet/services/pacemaker/neutron-server.yaml
+ OS::TripleO::Services::NeutronCorePlugin: ../puppet/services/pacemaker/neutron-plugin-ml2.yaml
+ # Neutron Core Plugin Vendors (these typically override NeutronCorePlugin)
+ OS::TripleO::Services::NeutronCorePluginPlumgrid: ../puppet/services/pacemaker/neutron-plugin-plumgrid.yaml
+
+ OS::TripleO::Services::NeutronOvsAgent: ../puppet/services/pacemaker/neutron-ovs-agent.yaml
OS::TripleO::Services::RabbitMQ: ../puppet/services/pacemaker/rabbitmq.yaml
OS::TripleO::Services::HAproxy: ../puppet/services/pacemaker/haproxy.yaml
OS::TripleO::Services::Memcached: ../puppet/services/pacemaker/memcached.yaml
OS::TripleO::Services::Redis: ../puppet/services/pacemaker/database/redis.yaml
OS::TripleO::Services::NovaConductor: ../puppet/services/pacemaker/nova-conductor.yaml
+ OS::TripleO::Services::MongoDb: ../puppet/services/pacemaker/database/mongodb.yaml
+ OS::TripleO::Services::NovaApi: ../puppet/services/pacemaker/nova-api.yaml
+ OS::TripleO::Services::NovaScheduler: ../puppet/services/pacemaker/nova-scheduler.yaml
+ OS::TripleO::Services::NovaConsoleauth: ../puppet/services/pacemaker/nova-consoleauth.yaml
+ OS::TripleO::Services::NovaVncproxy: ../puppet/services/pacemaker/nova-vncproxy.yaml
diff --git a/network/management_v6.yaml b/network/management_v6.yaml
new file mode 100644
index 00000000..a5e70667
--- /dev/null
+++ b/network/management_v6.yaml
@@ -0,0 +1,69 @@
+heat_template_version: 2015-04-30
+
+description: >
+ Management network. System administration, SSH, DNS, NTP, etc. This network
+ would usually be the default gateway for the non-controller nodes.
+
+parameters:
+ # the defaults here work for static IP assignment (IPAM) only
+ ManagementNetCidr:
+ default: 'fd00:fd00:fd00:6000::/64'
+ description: Cidr for the management network.
+ type: string
+ ManagementNetValueSpecs:
+ default: {'provider:physical_network': 'management', 'provider:network_type': 'flat'}
+ description: Value specs for the management network.
+ type: json
+ ManagementNetAdminStateUp:
+ default: false
+ description: This admin state of of the network.
+ type: boolean
+ ManagementNetShared:
+ default: false
+ description: Whether this network is shared across all tenants.
+ type: boolean
+ ManagementNetName:
+ default: management
+ description: The name of the management network.
+ type: string
+ ManagementSubnetName:
+ default: management_subnet
+ description: The name of the management subnet in Neutron.
+ type: string
+ ManagementAllocationPools:
+ default: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}]
+ description: Ip allocation pool range for the management network.
+ type: json
+ IPv6AddressMode:
+ default: dhcpv6-stateful
+ description: Neutron subnet IPv6 address mode
+ type: string
+ IPv6RAMode:
+ default: dhcpv6-stateful
+ description: Neutron subnet IPv6 router advertisement mode
+ type: string
+
+resources:
+ ManagementNetwork:
+ type: OS::Neutron::Net
+ properties:
+ admin_state_up: {get_param: ManagementNetAdminStateUp}
+ name: {get_param: ManagementNetName}
+ shared: {get_param: ManagementNetShared}
+ value_specs: {get_param: ManagementNetValueSpecs}
+
+ ManagementSubnet:
+ type: OS::Neutron::Subnet
+ properties:
+ ip_version: 6
+ ipv6_address_mode: {get_param: IPv6AddressMode}
+ ipv6_ra_mode: {get_param: IPv6RAMode}
+ cidr: {get_param: ManagementNetCidr}
+ name: {get_param: ManagementSubnetName}
+ network: {get_resource: ManagementNetwork}
+ allocation_pools: {get_param: ManagementAllocationPools}
+
+outputs:
+ OS::stack_id:
+ description: Neutron management network
+ value: {get_resource: ManagementNetwork}
diff --git a/network/ports/management_from_pool_v6.yaml b/network/ports/management_from_pool_v6.yaml
new file mode 100644
index 00000000..d9ac6046
--- /dev/null
+++ b/network/ports/management_from_pool_v6.yaml
@@ -0,0 +1,52 @@
+heat_template_version: 2015-10-15
+
+description: >
+ Returns an IP from a network mapped list of IPs. This version is for IPv6
+ addresses. The ip_address_uri output will have brackets for use in URLs.
+
+parameters:
+ ManagementNetName:
+ description: Name of the management network
+ default: management
+ type: string
+ PortName:
+ description: Name of the port
+ default: ''
+ type: string
+ ControlPlaneIP: # Here for compatability with noop.yaml
+ description: IP address on the control plane
+ default: ''
+ type: string
+ IPPool:
+ default: {}
+ description: A network mapped list of IPs
+ type: json
+ NodeIndex:
+ default: 0
+ description: Index of the IP to get from Pool
+ type: number
+ ManagementNetCidr:
+ default: 'fd00:fd00:fd00:6000::/64'
+ description: Cidr for the management network.
+ type: string
+
+outputs:
+ ip_address:
+ description: management network IP
+ value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
+ ip_address_uri:
+ description: management network IP (for compatibility with management_v6.yaml)
+ value:
+ list_join:
+ - ''
+ - - '['
+ - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
+ - ']'
+ ip_subnet:
+ description: IP/Subnet CIDR for the management network IP
+ value:
+ list_join:
+ - ''
+ - - {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
+ - '/'
+ - {str_split: ['/', {get_attr: [ManagementPort, subnets, 0, cidr]}, 1]}
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index 2fd48dda..4fab2466 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -38,8 +38,8 @@ resource_registry:
# NodeExtraConfig == All nodes configuration pre service deployment
# NodeExtraConfigPost == All nodes configuration post service deployment
OS::TripleO::NodeUserData: firstboot/userdata_default.yaml
- OS::TripleO::NodeTLSCAData: puppet/extraconfig/tls/no-ca.yaml
- OS::TripleO::NodeTLSData: puppet/extraconfig/tls/no-tls.yaml
+ OS::TripleO::NodeTLSCAData: OS::Heat::None
+ OS::TripleO::NodeTLSData: OS::Heat::None
OS::TripleO::ControllerExtraConfigPre: puppet/extraconfig/pre_deploy/default.yaml
OS::TripleO::ComputeExtraConfigPre: puppet/extraconfig/pre_deploy/default.yaml
OS::TripleO::CephStorageExtraConfigPre: puppet/extraconfig/pre_deploy/default.yaml
@@ -135,6 +135,12 @@ resource_registry:
OS::TripleO::Services::NeutronDhcpAgent: puppet/services/neutron-dhcp.yaml
OS::TripleO::Services::NeutronL3Agent: puppet/services/neutron-l3.yaml
OS::TripleO::Services::NeutronMetadataAgent: puppet/services/neutron-metadata.yaml
+ OS::TripleO::Services::NeutronServer: puppet/services/neutron-server.yaml
+ OS::TripleO::Services::NeutronCorePlugin: puppet/services/neutron-plugin-ml2.yaml
+ # Neutron Core Plugin Vendors (these typically override NeutronCorePlugin)
+ OS::TripleO::Services::NeutronCorePluginPlumgrid: puppet/services/neutron-plugin-plumgrid.yaml
+
+ OS::TripleO::Services::NeutronOvsAgent: puppet/services/neutron-ovs-agent.yaml
OS::TripleO::Services::RabbitMQ: puppet/services/rabbitmq.yaml
OS::TripleO::Services::HAproxy: puppet/services/haproxy.yaml
OS::TripleO::Services::Keepalived: puppet/services/keepalived.yaml
@@ -144,6 +150,12 @@ resource_registry:
OS::TripleO::Services::SaharaEngine: puppet/services/sahara-engine.yaml
OS::TripleO::Services::Redis: puppet/services/database/redis.yaml
OS::TripleO::Services::NovaConductor: puppet/services/nova-conductor.yaml
+ OS::TripleO::Services::MongoDb: puppet/services/database/mongodb.yaml
+ OS::TripleO::Services::NovaApi: puppet/services/nova-api.yaml
+ OS::TripleO::Services::NovaScheduler: puppet/services/nova-scheduler.yaml
+ OS::TripleO::Services::NovaConsoleauth: puppet/services/nova-consoleauth.yaml
+ OS::TripleO::Services::NovaVncproxy: puppet/services/nova-vncproxy.yaml
+ OS::TripleO::Services::NovaCompute: puppet/services/nova-compute.yaml
parameter_defaults:
EnablePackageInstall: false
diff --git a/overcloud.yaml b/overcloud.yaml
index 85f344ab..60424885 100644
--- a/overcloud.yaml
+++ b/overcloud.yaml
@@ -158,28 +158,6 @@ parameters:
default: nic1
description: What interface to bridge onto br-ex for network nodes.
type: string
- NeutronPublicInterfaceTag:
- default: ''
- description: >
- VLAN tag for creating a public VLAN. The tag will be used to
- create an access port on the exterior bridge for each control plane node,
- and that port will be given the IP address returned by neutron from the
- public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
- overcloud.yaml to include the deployment of VLAN ports to the control
- plane.
- type: string
- NeutronComputeAgentMode:
- default: 'dvr'
- description: Agent mode for the neutron-l3-agent on the compute hosts
- type: string
- NeutronAgentMode:
- default: 'dvr_snat'
- description: Agent mode for the neutron-l3-agent on the controller hosts
- type: string
- NeutronDVR:
- default: 'False'
- description: Whether to configure Neutron Distributed Virtual Routers
- type: string
NeutronMetadataProxySharedSecret:
description: Shared secret to prevent spoofing
type: string
@@ -198,17 +176,6 @@ parameters:
description: |
The tunnel types for the Neutron tenant network.
type: comma_delimited_list
- NeutronTunnelIdRanges:
- description: |
- Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
- of GRE tunnel IDs that are available for tenant network allocation
- default: ["1:4094", ]
- type: comma_delimited_list
- NeutronVniRanges:
- description: |
- Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
- of VXLAN VNI IDs that are available for tenant network allocation
- default: ["1:4094", ]
type: comma_delimited_list
NeutronCorePlugin:
default: 'ml2'
@@ -232,10 +199,6 @@ parameters:
description: |
The mechanism drivers for the Neutron tenant network.
type: comma_delimited_list
- NeutronPluginExtensions:
- default: "qos,port_security"
- description: |
- Comma-separated list of extensions enabled for the Neutron plugin.
type: comma_delimited_list
NeutronAgentExtensions:
default: "qos"
@@ -262,14 +225,6 @@ parameters:
default: ''
description: Comma-separated list of ntp servers
type: comma_delimited_list
- MongoDbNoJournal:
- default: false
- description: Should MongoDb journaling be disabled
- type: boolean
- MongoDbIPv6:
- default: false
- description: Enable IPv6 if MongoDB VIP is IPv6
- type: boolean
PublicVirtualFixedIPs:
default: []
description: >
@@ -456,7 +411,7 @@ parameters:
description: Template string to be used to generate instance names
type: string
ManageFirewall:
- default: false
+ default: true
description: Whether to manage IPtables rules.
type: boolean
PurgeFirewallRules:
@@ -474,18 +429,6 @@ parameters:
description: Configures MySQL max_connections config setting
type: number
default: 4096
- NeutronPublicInterfaceDefaultRoute:
- default: ''
- description: A custom default route for the NeutronPublicInterface.
- type: string
- NeutronPublicInterfaceIP:
- default: ''
- description: A custom IP address to put onto the NeutronPublicInterface.
- type: string
- NeutronPublicInterfaceRawDevice:
- default: ''
- description: If set, the public interface is a vlan with this device as the raw device.
- type: string
PublicVirtualInterface:
default: 'br-ex'
description: >
@@ -636,6 +579,9 @@ parameters:
- OS::TripleO::Services::NeutronDhcpAgent
- OS::TripleO::Services::NeutronL3Agent
- OS::TripleO::Services::NeutronMetadataAgent
+ - OS::TripleO::Services::NeutronServer
+ - OS::TripleO::Services::NeutronCorePlugin
+ - OS::TripleO::Services::NeutronOvsAgent
- OS::TripleO::Services::RabbitMQ
- OS::TripleO::Services::HAproxy
- OS::TripleO::Services::Keepalived
@@ -643,13 +589,19 @@ parameters:
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::Redis
- OS::TripleO::Services::NovaConductor
+ - OS::TripleO::Services::MongoDb
+ - OS::TripleO::Services::NovaApi
+ - OS::TripleO::Services::NovaScheduler
+ - OS::TripleO::Services::NovaConsoleauth
+ - OS::TripleO::Services::NovaVncproxy
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Controllers.
type: comma_delimited_list
ComputeServices:
- default: []
+ default:
+ - OS::TripleO::Services::NovaCompute
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Compute Nodes.
@@ -909,35 +861,13 @@ resources:
MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
MysqlMaxConnections: {get_param: MysqlMaxConnections}
MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
- NeutronPublicInterfaceIP: {get_param: NeutronPublicInterfaceIP}
- NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
- NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
NeutronTenantMtu: {get_param: NeutronTenantMtu}
- NeutronEnableTunnelling: {get_param: NeutronEnableTunnelling}
- NeutronEnableL2Pop: {get_param: NeutronEnableL2Pop}
- NeutronNetworkVLANRanges: {get_param: NeutronNetworkVLANRanges}
NeutronPublicInterface: {get_param: NeutronPublicInterface}
- NeutronPublicInterfaceDefaultRoute: {get_param: NeutronPublicInterfaceDefaultRoute}
- NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
NeutronPassword: {get_param: NeutronPassword}
- NeutronDVR: {get_param: NeutronDVR}
NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
- NeutronAgentMode: {get_param: NeutronAgentMode}
- NeutronCorePlugin: {get_param: NeutronCorePlugin}
- NeutronServicePlugins: {get_param: NeutronServicePlugins}
- NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
- NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers}
- NeutronPluginExtensions: {get_param: NeutronPluginExtensions}
- NeutronAgentExtensions: {get_param: NeutronAgentExtensions}
- NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover}
- NeutronL3HA: {get_param: NeutronL3HA}
- NeutronNetworkType: {get_param: NeutronNetworkType}
- NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
NovaIPv6: {get_param: NovaIPv6}
NovaPassword: {get_param: NovaPassword}
NtpServer: {get_param: NtpServer}
- MongoDbNoJournal: {get_param: MongoDbNoJournal}
- MongoDbIPv6: {get_param: MongoDbIPv6}
PcsdPassword: {get_resource: PcsdPassword}
PublicVirtualInterface: {get_param: PublicVirtualInterface}
RabbitPassword: {get_param: RabbitPassword}
@@ -1025,10 +955,7 @@ resources:
NeutronPassword: {get_param: NeutronPassword}
NeutronPhysicalBridge: {get_param: HypervisorNeutronPhysicalBridge}
NeutronPublicInterface: {get_param: HypervisorNeutronPublicInterface}
- NeutronDVR: {get_param: NeutronDVR}
NeutronMetadataProxySharedSecret: {get_param: NeutronMetadataProxySharedSecret}
- NeutronAgentMode: {get_param: NeutronComputeAgentMode}
- NeutronPublicInterfaceRawDevice: {get_param: NeutronPublicInterfaceRawDevice}
NeutronCorePlugin: {get_param: NeutronCorePlugin}
NeutronServicePlugins: {get_param: NeutronServicePlugins}
NeutronTypeDrivers: {get_param: NeutronTypeDrivers}
diff --git a/puppet/ceph-cluster-config.yaml b/puppet/ceph-cluster-config.yaml
index 245710f2..6beb751f 100644
--- a/puppet/ceph-cluster-config.yaml
+++ b/puppet/ceph-cluster-config.yaml
@@ -33,6 +33,9 @@ parameters:
CinderRbdPoolName:
default: volumes
type: string
+ CinderBackupRbdPoolName:
+ default: backups
+ type: string
GlanceRbdPoolName:
default: images
type: string
@@ -97,7 +100,7 @@ resources:
secret: 'CLIENT_KEY',
mode: '0644',
cap_mon: 'allow r',
- cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
+ cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=CINDERBACKUP_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
}
}"
params:
@@ -106,6 +109,7 @@ resources:
ADMIN_KEY: {get_param: ceph_admin_key}
NOVA_POOL: {get_param: NovaRbdPoolName}
CINDER_POOL: {get_param: CinderRbdPoolName}
+ CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
GLANCE_POOL: {get_param: GlanceRbdPoolName}
GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
nova::compute::rbd::libvirt_images_rbd_pool: {get_param: NovaRbdPoolName}
@@ -130,6 +134,7 @@ resources:
tripleo::profile::base::cinder::volume::rbd::cinder_rbd_user_name: {get_param: CephClientUserName}
ceph_pools:
- {get_param: CinderRbdPoolName}
+ - {get_param: CinderBackupRbdPoolName}
- {get_param: NovaRbdPoolName}
- {get_param: GlanceRbdPoolName}
- {get_param: GnocchiRbdPoolName}
diff --git a/puppet/compute.yaml b/puppet/compute.yaml
index b7f7f4a5..d3b17784 100644
--- a/puppet/compute.yaml
+++ b/puppet/compute.yaml
@@ -144,12 +144,6 @@ parameters:
of VXLAN VNI IDs that are available for tenant network allocation
default: ["1:4094", ]
type: comma_delimited_list
- NeutronPublicInterfaceRawDevice:
- default: ''
- type: string
- NeutronDVR:
- default: 'False'
- type: string
NeutronMetadataProxySharedSecret:
description: Shared secret to prevent spoofing
type: string
@@ -191,10 +185,6 @@ parameters:
default: 'False'
description: Whether to enable l3-agent HA
type: string
- NeutronAgentMode:
- default: 'dvr_snat'
- description: Agent mode for the neutron-l3-agent on the controller hosts
- type: string
NodeIndex:
type: number
default: 0
@@ -582,14 +572,11 @@ resources:
nova::network::neutron::neutron_password: {get_input: neutron_password}
nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
nova::network::neutron::neutron_auth_url: {get_input: neutron_auth_url}
- neutron_router_distributed: {get_input: neutron_router_distributed}
- neutron_agent_mode: {get_input: neutron_agent_mode}
neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
neutron::core_plugin: {get_input: neutron_core_plugin}
neutron::service_plugins: {get_input: neutron_service_plugins}
neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
- neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
keystone_public_api_virtual_ip: {get_input: keystone_vip}
admin_password: {get_input: admin_password}
ntp::servers: {get_input: ntp_servers}
@@ -680,8 +667,6 @@ resources:
neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
neutron_public_interface: {get_param: NeutronPublicInterface}
neutron_password: {get_param: NeutronPassword}
- neutron_agent_mode: {get_param: NeutronAgentMode}
- neutron_router_distributed: {get_param: NeutronDVR}
neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
neutron_core_plugin: {get_param: NeutronCorePlugin}
neutron_service_plugins:
@@ -704,7 +689,6 @@ resources:
template: AGENT_EXTENSIONS
params:
AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
- neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
keystone_vip: {get_param: KeystonePublicApiVirtualIP}
diff --git a/puppet/controller.yaml b/puppet/controller.yaml
index 232a2e99..c445ec03 100644
--- a/puppet/controller.yaml
+++ b/puppet/controller.yaml
@@ -247,89 +247,10 @@ parameters:
type: string
hidden: true
default: '' # Has to be here because of the ignored empty value bug
- NeutronBridgeMappings:
- description: >
- The OVS logical->physical bridge mappings to use. See the Neutron
- documentation for details. Defaults to mapping br-ex - the external
- bridge on hosts - to a physical name 'datacentre' which can be used
- to create provider networks (and we use this for the default floating
- network) - if changing this either use different post-install network
- scripts or be sure to keep 'datacentre' as a mapping network name.
- type: comma_delimited_list
- default: "datacentre:br-ex"
- NeutronEnableOVSAgent:
- description: Knob to enable/disable OVS Agent
- type: boolean
- default: true
- NeutronAgentMode:
- default: 'dvr_snat'
- description: Agent mode for the neutron-l3-agent on the controller hosts
- type: string
- NeutronL3HA:
- default: 'False'
- description: Whether to enable l3-agent HA
- type: string
- NeutronDVR:
- default: 'False'
- description: Whether to configure Neutron Distributed Virtual Routers
- type: string
NeutronMetadataProxySharedSecret:
description: Shared secret to prevent spoofing
type: string
hidden: true
- NeutronCorePlugin:
- default: 'ml2'
- description: |
- The core plugin for Neutron. The value should be the entrypoint to be loaded
- from neutron.core_plugins namespace.
- type: string
- NeutronServicePlugins:
- default: "router,qos"
- description: |
- Comma-separated list of service plugin entrypoints to be loaded from the
- neutron.service_plugins namespace.
- type: comma_delimited_list
- NeutronTypeDrivers:
- default: "vxlan,vlan,flat,gre"
- description: |
- Comma-separated list of network type driver entrypoints to be loaded.
- type: comma_delimited_list
- NeutronMechanismDrivers:
- default: 'openvswitch'
- description: |
- The mechanism drivers for the Neutron tenant network.
- type: comma_delimited_list
- NeutronAllowL3AgentFailover:
- default: 'True'
- description: Allow automatic l3-agent failover
- type: string
- NeutronEnableTunnelling:
- type: string
- default: "True"
- NeutronEnableL2Pop:
- type: string
- description: >
- Enable/disable the L2 population feature in the Neutron agents.
- default: "False"
- NeutronFlatNetworks:
- type: comma_delimited_list
- default: 'datacentre'
- description: If set, flat networks to configure in neutron plugins.
- NeutronL3HA:
- default: 'False'
- description: Whether to enable l3-agent HA
- type: string
- NeutronNetworkType:
- default: 'vxlan'
- description: The tenant network type for Neutron.
- type: comma_delimited_list
- NeutronNetworkVLANRanges:
- default: 'datacentre:1:1000'
- description: >
- The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
- Neutron documentation for permitted values. Defaults to permitting any
- VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
- type: comma_delimited_list
NeutronPassword:
description: The password for the neutron service and db account, used by neutron agents.
type: string
@@ -338,28 +259,6 @@ parameters:
default: nic1
description: What interface to bridge onto br-ex for network nodes.
type: string
- NeutronPublicInterfaceTag:
- default: ''
- description: >
- VLAN tag for creating a public VLAN. The tag will be used to
- create an access port on the exterior bridge for each control plane node,
- and that port will be given the IP address returned by neutron from the
- public network. Set CONTROLEXTRA=overcloud-vlan-port.yaml when compiling
- overcloud.yaml to include the deployment of VLAN ports to the control
- plane.
- type: string
- NeutronPublicInterfaceDefaultRoute:
- default: ''
- description: A custom default route for the NeutronPublicInterface.
- type: string
- NeutronPublicInterfaceIP:
- default: ''
- description: A custom IP address to put onto the NeutronPublicInterface.
- type: string
- NeutronPublicInterfaceRawDevice:
- default: ''
- description: If set, the public interface is a vlan with this device as the raw device.
- type: string
NeutronTenantMtu:
description: >
The default MTU for tenant networks. For VXLAN/GRE tunneling, this should
@@ -369,40 +268,9 @@ parameters:
will determine the MTU that is assigned to the VM host through DHCP.
default: 1400
type: number
- NeutronTunnelTypes:
- default: 'vxlan'
- description: |
- The tunnel types for the Neutron tenant network.
- type: comma_delimited_list
- NeutronTunnelIdRanges:
- description: |
- Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
- of GRE tunnel IDs that are available for tenant network allocation
- default: ["1:4094", ]
- type: comma_delimited_list
- NeutronVniRanges:
- description: |
- Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
- of VXLAN VNI IDs that are available for tenant network allocation
- default: ["1:4094", ]
- type: comma_delimited_list
- NeutronPluginExtensions:
- default: "qos,port_security"
- description: |
- Comma-separated list of extensions enabled for the Neutron plugin.
- type: comma_delimited_list
- NeutronAgentExtensions:
- default: "qos"
- description: |
- Comma-separated list of extensions enabled for the Neutron agents.
- type: comma_delimited_list
NovaApiVirtualIP:
type: string
default: ''
- NeutronWorkers:
- default: 0
- description: Number of workers for Neutron service.
- type: number
NovaEnableDBPurge:
default: true
description: |
@@ -416,18 +284,6 @@ parameters:
description: The password for the nova service and db account, used by nova-api.
type: string
hidden: true
- NovaWorkers:
- default: 0
- description: Number of workers for Nova service.
- type: number
- MongoDbNoJournal:
- default: false
- description: Should MongoDb journaling be disabled
- type: boolean
- MongoDbIPv6:
- default: false
- description: Enable IPv6 if Mongo DB VIP is IPv6
- type: boolean
NtpServer:
default: ''
description: Comma-separated list of ntp servers
@@ -759,10 +615,6 @@ resources:
input_values:
bootstack_nodeid: {get_attr: [Controller, name]}
ceilometer_workers: {get_param: CeilometerWorkers}
- nova_workers: {get_param: NovaWorkers}
- neutron_workers: {get_param: NeutronWorkers}
- neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
- neutron_enable_l2pop: {get_param: NeutronEnableL2Pop}
haproxy_log_address: {get_param: HAProxySyslogAddress}
haproxy_stats_password: {get_param: HAProxyStatsPassword}
haproxy_stats_user: {get_param: HAProxyStatsUser}
@@ -770,7 +622,6 @@ resources:
horizon_allowed_hosts: {get_param: HorizonAllowedHosts}
horizon_secret: {get_param: HorizonSecret}
admin_password: {get_param: AdminPassword}
- neutron_public_interface_ip: {get_param: NeutronPublicInterfaceIP}
debug: {get_param: Debug}
cinder_public_url: {get_param: [EndpointMap, CinderPublic, uri]}
cinder_internal_url: {get_param: [EndpointMap, CinderInternal, uri]}
@@ -797,88 +648,9 @@ resources:
template: tripleo-CLUSTER
params:
CLUSTER: {get_param: MysqlClusterUniquePart}
- neutron_flat_networks:
- str_replace:
- template: NETWORKS
- params:
- NETWORKS: {get_param: NeutronFlatNetworks}
neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
- neutron_agent_mode: {get_param: NeutronAgentMode}
- neutron_router_distributed: {get_param: NeutronDVR}
- neutron_core_plugin: {get_param: NeutronCorePlugin}
- neutron_service_plugins:
- str_replace:
- template: PLUGINS
- params:
- PLUGINS: {get_param: NeutronServicePlugins}
- neutron_type_drivers:
- str_replace:
- template: DRIVERS
- params:
- DRIVERS: {get_param: NeutronTypeDrivers}
- neutron_enable_ovs_agent: {get_param: NeutronEnableOVSAgent}
- neutron_mechanism_drivers:
- str_replace:
- template: MECHANISMS
- params:
- MECHANISMS: {get_param: NeutronMechanismDrivers}
- neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
- neutron_l3_ha: {get_param: NeutronL3HA}
- neutron_network_vlan_ranges:
- str_replace:
- template: RANGES
- params:
- RANGES: {get_param: NeutronNetworkVLANRanges}
- neutron_bridge_mappings:
- str_replace:
- template: MAPPINGS
- params:
- MAPPINGS: {get_param: NeutronBridgeMappings}
- neutron_public_interface: {get_param: NeutronPublicInterface}
- neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
- neutron_public_interface_default_route: {get_param: NeutronPublicInterfaceDefaultRoute}
- neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag}
- neutron_tunnel_id_ranges:
- str_replace:
- template: RANGES
- params:
- RANGES: {get_param: NeutronTunnelIdRanges}
- neutron_vni_ranges:
- str_replace:
- template: RANGES
- params:
- RANGES: {get_param: NeutronVniRanges}
- neutron_tenant_network_types:
- str_replace:
- template: TYPES
- params:
- TYPES: {get_param: NeutronNetworkType}
- neutron_tunnel_types:
- str_replace:
- template: TYPES
- params:
- TYPES: {get_param: NeutronTunnelTypes}
- neutron_plugin_extensions:
- str_replace:
- template: PLUGIN_EXTENSIONS
- params:
- PLUGIN_EXTENSIONS: {get_param: NeutronPluginExtensions}
- neutron_agent_extensions:
- str_replace:
- template: AGENT_EXTENSIONS
- params:
- AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
neutron_password: {get_param: NeutronPassword}
neutron_tenant_mtu: {get_param: NeutronTenantMtu}
- neutron_dsn:
- list_join:
- - ''
- - - {get_param: [EndpointMap, MysqlInternal, protocol]}
- - '://neutron:'
- - {get_param: NeutronPassword}
- - '@'
- - {get_param: [EndpointMap, MysqlInternal, host]}
- - '/ovs_neutron?charset=utf8'
neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
neutron_public_url: { get_param: [ EndpointMap, NeutronPublic, uri ] }
neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
@@ -965,8 +737,6 @@ resources:
rabbit_cookie: {get_param: RabbitCookie}
rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
rabbit_client_port: {get_param: RabbitClientPort}
- mongodb_no_journal: {get_param: MongoDbNoJournal}
- mongodb_ipv6: {get_param: MongoDbIPv6}
ntp_servers: {get_param: NtpServer}
timezone: {get_param: TimeZone}
control_virtual_interface: {get_param: ControlVirtualInterface}
@@ -1053,7 +823,6 @@ resources:
- neutron_nuage_data # Optionally provided by ControllerExtraConfigPre
- midonet_data #Optionally provided by AllNodesExtraConfig
- neutron_opencontrail_data # Optionally provided by ControllerExtraConfigPre
- - neutron_plumgrid_data # Optionally provided by ControllerExtraConfigPre
merge_behavior: deeper
datafiles:
service_configs:
@@ -1133,10 +902,10 @@ resources:
keystone::public_bind_host: {get_input: keystone_public_api_network}
keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
+
# MongoDB
mongodb::server::bind_ip: {get_input: mongo_db_network}
- mongodb::server::nojournal: {get_input: mongodb_no_journal}
- mongodb::server::ipv6: {get_input: mongodb_ipv6}
+
# MySQL
admin_password: {get_input: admin_password}
enable_galera: {get_input: enable_galera}
@@ -1152,49 +921,14 @@ resources:
# Neutron
neutron::bind_host: {get_input: neutron_api_network}
- neutron::server::auth_uri: {get_input: keystone_auth_uri}
- neutron::server::auth_url: {get_input: keystone_identity_uri}
- neutron::server::database_connection: {get_input: neutron_dsn}
- neutron::server::api_workers: {get_input: neutron_workers}
neutron::network_device_mtu: {get_input: neutron_tenant_mtu}
- neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
- neutron::agents::ml2::ovs::l2_population: {get_input: neutron_enable_l2pop}
neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
- neutron::plugins::ml2::flat_networks: {get_input: neutron_flat_networks}
neutron::agents::metadata::metadata_ip: {get_input: neutron_api_network}
- neutron_agent_mode: {get_input: neutron_agent_mode}
- neutron_router_distributed: {get_input: neutron_router_distributed}
- neutron::core_plugin: {get_input: neutron_core_plugin}
- neutron::service_plugins: {get_input: neutron_service_plugins}
- neutron::enable_ovs_agent: {get_input: neutron_enable_ovs_agent}
- neutron::plugins::ml2::type_drivers: {get_input: neutron_type_drivers}
- neutron::plugins::ml2::mechanism_drivers: {get_input: neutron_mechanism_drivers}
- neutron::plugins::ml2::extension_drivers: {get_input: neutron_plugin_extensions}
- neutron::server::allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
- neutron::server::l3_ha: {get_input: neutron_l3_ha}
- neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
- neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges}
- neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges}
- neutron::agents::ml2::ovs::bridge_mappings: {get_input: neutron_bridge_mappings}
- neutron_public_interface: {get_input: neutron_public_interface}
- neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
- neutron_public_interface_default_route: {get_input: neutron_public_interface_default_route}
- neutron_public_interface_tag: {get_input: neutron_public_interface_tag}
- neutron::plugins::ml2::tenant_network_types: {get_input: neutron_tenant_network_types}
- neutron::agents::ml2::ovs::tunnel_types: {get_input: neutron_tunnel_types}
- neutron::agents::ml2::ovs::extensions: {get_input: neutron_agent_extensions}
- neutron::server::password: {get_input: neutron_password}
- neutron_dsn: {get_input: neutron_dsn}
- neutron::db::mysql::password: {get_input: neutron_password}
neutron::keystone::auth::public_url: {get_input: neutron_public_url }
neutron::keystone::auth::internal_url: {get_input: neutron_internal_url }
neutron::keystone::auth::admin_url: {get_input: neutron_admin_url }
neutron::keystone::auth::password: {get_input: neutron_password }
neutron::keystone::auth::region: {get_input: keystone_region}
- neutron::server::notifications::auth_url: {get_input: neutron_auth_url}
- neutron::server::notifications::tenant_name: 'service'
- neutron::server::notifications::project_name: 'service'
- neutron::server::notifications::password: {get_input: nova_password}
# Ceilometer
ceilometer_backend: {get_input: ceilometer_backend}
@@ -1280,8 +1014,6 @@ resources:
nova::api::api_bind_address: {get_input: nova_api_network}
nova::api::metadata_listen: {get_input: nova_metadata_network}
nova::api::admin_password: {get_input: nova_password}
- nova::api::osapi_compute_workers: {get_input: nova_workers}
- nova::api::metadata_workers: {get_input: nova_workers}
nova::compute::network_device_mtu: {get_input: neutron_tenant_mtu}
nova::database_connection: {get_input: nova_dsn}
nova::api_database_connection: {get_input: nova_api_dsn}
@@ -1322,7 +1054,6 @@ resources:
# Misc
memcached_ipv6: {get_input: memcached_ipv6}
memcached::listen_ip: {get_input: memcached_network}
- neutron_public_interface_ip: {get_input: neutron_public_interface_ip}
ntp::servers: {get_input: ntp_servers}
timezone::timezone: {get_input: timezone}
control_virtual_interface: {get_input: control_virtual_interface}
diff --git a/puppet/extraconfig/ceph/ceph-external-config.yaml b/puppet/extraconfig/ceph/ceph-external-config.yaml
index 7d4dc15b..7c05a5b9 100644
--- a/puppet/extraconfig/ceph/ceph-external-config.yaml
+++ b/puppet/extraconfig/ceph/ceph-external-config.yaml
@@ -35,6 +35,9 @@ parameters:
CinderRbdPoolName:
default: volumes
type: string
+ CinderBackupRbdPoolName:
+ default: backups
+ type: string
GlanceRbdPoolName:
default: images
type: string
@@ -71,7 +74,7 @@ resources:
secret: 'CLIENT_KEY',
mode: '0644',
cap_mon: 'allow r',
- cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
+ cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=CINDER_POOL, allow rwx pool=CINDERBACKUP_POOL, allow rwx pool=NOVA_POOL, allow rwx pool=GLANCE_POOL, allow rwx pool=GNOCCHI_POOL'
}
}"
params:
@@ -79,6 +82,7 @@ resources:
CLIENT_KEY: {get_param: ceph_client_key}
NOVA_POOL: {get_param: NovaRbdPoolName}
CINDER_POOL: {get_param: CinderRbdPoolName}
+ CINDERBACKUP_POOL: {get_param: CinderBackupRbdPoolName}
GLANCE_POOL: {get_param: GlanceRbdPoolName}
GNOCCHI_POOL: {get_param: GnocchiRbdPoolName}
ceph::profile::params::ms_bind_ipv6: {get_param: CephIPv6}
@@ -104,6 +108,7 @@ resources:
tripleo::profile::base::cinder::volume::rbd::cinder_rbd_user_name: {get_param: CephClientUserName}
ceph_pools:
- {get_param: CinderRbdPoolName}
+ - {get_param: CinderBackupRbdPoolName}
- {get_param: NovaRbdPoolName}
- {get_param: GlanceRbdPoolName}
- {get_param: GnocchiRbdPoolName}
diff --git a/puppet/extraconfig/pre_deploy/controller/neutron-plumgrid.yaml b/puppet/extraconfig/pre_deploy/controller/neutron-plumgrid.yaml
deleted file mode 100755
index 7c0a7ad2..00000000
--- a/puppet/extraconfig/pre_deploy/controller/neutron-plumgrid.yaml
+++ /dev/null
@@ -1,113 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: Controller hieradata for Neutron PLUMgrid configuration
-
-parameters:
- server:
- description: ID of the controller node to apply this config to
- type: string
- PLUMgridDirectorServer:
- description: IP address of the PLUMgrid Director Server
- type: string
- default: 127.0.0.1
- PLUMgridDirectorServerPort:
- description: Port of the PLUMgrid Director Server
- type: string
- default: 443
- PLUMgridUsername:
- description: Username for PLUMgrid platform
- type: string
- PLUMgridPassword:
- description: Password for PLUMgrid platform
- type: string
- hidden: true
- PLUMgridServerTimeOut:
- description: Request timeout duration (seconds) to PLUMgrid platform
- type: string
- default: 99
- PLUMgridNovaMetadataIP:
- description: IP address of Nova Metadata
- type: string
- default: 169.254.169.254
- PLUMgridNovaMetadataPort:
- description: Port of Nova Metadata
- type: string
- default: 8775
- PLUMgridL2GatewayVendor:
- description: Vendor for L2 Gateway Switch
- type: string
- default: vendor
- PLUMgridL2GatewayUsername:
- description: Username for L2 Gateway Switch
- type: string
- default: username
- PLUMgridL2GatewayPassword:
- description: Password for L2 Gateway Switch
- type: string
- hidden: true
- PLUMgridIdentityVersion:
- description: Keystone Identity version
- type: string
- default: v2.0
- PLUMgridConnectorType:
- description: Neutron Network Connector Type
- type: string
- default: distributed
- PLUMgridNeutronPluginVersion:
- description: PLUMgrid Neutron Plugin version
- type: string
- default: present
- PLUMgridPlumlibVersion:
- description: PLUMgrid Plumlib version
- type: string
- default: present
-
-
-resources:
- ControllerPLUMgridConfig:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- hiera:
- datafiles:
- neutron_plumgrid_data:
- mapped_data:
- neutron::plugins::plumgrid::director_server: {get_input: plumgrid_director_server}
- neutron::plugins::plumgrid::director_server_port: {get_input: plumgrid_director_server_port}
- neutron::plugins::plumgrid::username: {get_input: plumgrid_username}
- neutron::plugins::plumgrid::password: {get_input: plumgrid_password}
- neutron::plugins::plumgrid::nova_metadata_ip: {get_input: plumgrid_nova_metadata_ip}
- neutron::plugins::plumgrid::nova_metadata_port: {get_input: plumgrid_nova_metadata_port}
- neutron::plugins::plumgrid::l2gateway_vendor: {get_input: plumgrid_l2gateway_vendor}
- neutron::plugins::plumgrid::l2gateway_sw_username: {get_input: plumgrid_l2gateway_sw_username}
- neutron::plugins::plumgrid::l2gateway_sw_password: {get_input: plumgrid_l2gateway_sw_password}
- neutron::plugins::plumgrid::connector_type: {get_input: plumgrid_connector_type}
- neutron::plugins::plumgrid::identity_version: {get_input: plumgrid_identity_version}
- neutron::plugins::plumgrid::package_ensure: {get_input: plumgrid_neutron_plugin_version}
- neutron::plugins::plumgrid::plumlib_package_ensure: {get_input: plumgrid_plumlib_version}
-
- ControllerPLUMgridDeployment:
- type: OS::Heat::StructuredDeployment
- properties:
- config: {get_resource: ControllerPLUMgridConfig}
- server: {get_param: server}
- input_values:
- plumgrid_director_server: {get_param: PLUMgridDirectorServer}
- plumgrid_director_server_port: {get_param: PLUMgridDirectorServerPort}
- plumgrid_username: {get_param: PLUMgridUsername}
- plumgrid_password: {get_param: PLUMgridPassword}
- plumgrid_nova_metadata_ip: {get_param: PLUMgridNovaMetadataIP}
- plumgrid_nova_metadata_port: {get_param: PLUMgridNovaMetadataPort}
- plumgrid_l2gateway_vendor: {get_param: PLUMgridL2GatewayVendor}
- plumgrid_l2gateway_sw_username: {get_param: PLUMgridL2GatewayUsername}
- plumgrid_l2gateway_sw_password: {get_param: PLUMgridL2GatewayPassword}
- plumgrid_identity_version: {get_param: PLUMgridIdentityVersion}
- plumgrid_connector_type: {get_param: PLUMgridConnectorType}
- plumgrid_neutron_plugin_version: {get_param: PLUMgridNeutronPluginVersion}
- plumgrid_plumlib_version: {get_param: PLUMgridPlumlibVersion}
-
-outputs:
- deploy_stdout:
- description: Deployment reference, used to trigger puppet apply on changes
- value: {get_attr: [ControllerPLUMgridDeployment, deploy_stdout]}
diff --git a/puppet/extraconfig/tls/no-ca.yaml b/puppet/extraconfig/tls/no-ca.yaml
deleted file mode 100644
index 5862a85c..00000000
--- a/puppet/extraconfig/tls/no-ca.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- This is a default no-op template which can be passed to the
- OS::Nova::Server resources. This template can be replaced with
- a different implementation via the resource registry, such that
- deployers may customize their configuration.
-
-parameters:
- server: # Here for compatibility with controller.yaml
- description: ID of the controller node to apply this config to
- type: string
-
-outputs:
- deploy_stdout:
- description: Deployment reference, used to trigger puppet apply on changes
- value: 'Root CA cert injection not enabled.'
diff --git a/puppet/extraconfig/tls/no-tls.yaml b/puppet/extraconfig/tls/no-tls.yaml
deleted file mode 100644
index a2b5c569..00000000
--- a/puppet/extraconfig/tls/no-tls.yaml
+++ /dev/null
@@ -1,34 +0,0 @@
-heat_template_version: 2015-04-30
-
-description: >
- This is a default no-op template. This defines the parameters that
- need to be passed in order to have TLS enabled in the controller
- nodes. This template can be replaced with a different
- implementation via the resource registry, such that deployers
- may customize their configuration.
-
-parameters:
- DeployedSSLCertificatePath:
- default: ''
- description: >
- The filepath of the certificate as it will be stored in the controller.
- type: string
- NodeIndex: # Here for compatibility with puppet/controller.yaml
- default: 0
- type: number
- server: # Here for compatibility with puppet/controller.yaml
- description: ID of the controller node to apply this config to
- type: string
-
-outputs:
- deploy_stdout:
- description: Deployment reference, used to trigger puppet apply on changes
- value: 'TLS not enabled.'
- deployed_ssl_certificate_path:
- value: ''
- key_modulus_md5:
- description: Key SSL Modulus
- value: ''
- cert_modulus_md5:
- description: Certificate SSL Modulus
- value: ''
diff --git a/puppet/hieradata/compute.yaml b/puppet/hieradata/compute.yaml
index 5a46fc2b..2d928cbf 100644
--- a/puppet/hieradata/compute.yaml
+++ b/puppet/hieradata/compute.yaml
@@ -3,10 +3,8 @@
nova::host: "%{::fqdn}"
nova::notify_on_state_change: 'vm_and_task_state'
nova::notification_driver: messagingv2
-nova::compute::enabled: true
nova::compute::instance_usage_audit: true
nova::compute::instance_usage_audit_period: 'hour'
-nova::compute::vnc_enabled: true
nova::compute::libvirt::migration_support: true
diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml
index 3ad0748e..7db2b5de 100644
--- a/puppet/hieradata/controller.yaml
+++ b/puppet/hieradata/controller.yaml
@@ -1,9 +1,7 @@
# Hiera data here applies to all controller nodes
nova::api::enabled: true
-nova::consoleauth::enabled: true
nova::vncproxy::enabled: true
-nova::scheduler::enabled: true
# gnocchi
gnocchi::db::sync::extra_opts: '--skip-storage'
@@ -115,7 +113,6 @@ nova::notify_on_state_change: 'vm_and_task_state'
nova::api::default_floating_pool: 'public'
nova::api::sync_db_api: true
nova::api::enable_proxy_headers_parsing: true
-nova::scheduler::filter::ram_allocation_ratio: '1.0'
nova::cron::archive_deleted_rows::hour: '*/12'
nova::cron::archive_deleted_rows::destination: '/dev/null'
nova::notification_driver: messaging
@@ -189,13 +186,13 @@ controller_classes: []
# firewall
tripleo::firewall::firewall_rules:
'101 mongodb_config':
- port: 27019
+ dport: 27019
'102 mongodb_sharding':
- port: 27018
+ dport: 27018
'103 mongod':
- port: 27017
+ dport: 27017
'104 mysql galera':
- port:
+ dport:
- 873
- 3306
- 4444
@@ -203,37 +200,37 @@ tripleo::firewall::firewall_rules:
- 4568
- 9200
'105 ntp':
- port: 123
+ dport: 123
proto: udp
'106 vrrp':
proto: vrrp
'107 haproxy stats':
- port: 1993
+ dport: 1993
'108 redis':
- port:
+ dport:
- 6379
- 26379
'109 rabbitmq':
- port:
+ dport:
- 5672
- 35672
'110 ceph':
- port:
+ dport:
- 6789
- '6800-6810'
'111 keystone':
- port:
+ dport:
- 5000
- 13000
- 35357
- 13357
'112 glance':
- port:
+ dport:
- 9292
- 9191
- 13292
'113 nova':
- port:
+ dport:
- 6080
- 13080
- 8773
@@ -242,43 +239,43 @@ tripleo::firewall::firewall_rules:
- 13774
- 8775
'114 neutron server':
- port:
+ dport:
- 9696
- 13696
'115 neutron dhcp input':
proto: 'udp'
- port: 67
+ dport: 67
'116 neutron dhcp output':
proto: 'udp'
chain: 'OUTPUT'
- port: 68
+ dport: 68
'118 neutron vxlan networks':
proto: 'udp'
- port: 4789
+ dport: 4789
'119 cinder':
- port:
+ dport:
- 8776
- 13776
'120 iscsi initiator':
- port: 3260
+ dport: 3260
'121 memcached':
- port: 11211
+ dport: 11211
'122 swift proxy':
- port:
+ dport:
- 8080
- 13808
'123 swift storage':
- port:
+ dport:
- 873
- 6000
- 6001
- 6002
'124 ceilometer':
- port:
+ dport:
- 8777
- 13777
'125 heat':
- port:
+ dport:
- 8000
- 13800
- 8003
@@ -286,17 +283,30 @@ tripleo::firewall::firewall_rules:
- 8004
- 13004
'126 horizon':
- port:
+ dport:
- 80
- 443
'127 snmp':
- port: 161
+ dport: 161
proto: 'udp'
'128 aodh':
- port:
+ dport:
- 8042
- 13042
'129 gnocchi-api':
- port:
+ dport:
- 8041
- 13041
+ '130 pacemaker tcp':
+ proto: 'tcp'
+ dport:
+ - 2224
+ - 3121
+ - 21064
+ '131 pacemaker udp':
+ proto: 'udp'
+ dport: 5405
+ '132 sahara':
+ dport:
+ - 8386
+ - 13386
diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp
index 6a6f54e0..30672f20 100644
--- a/puppet/manifests/overcloud_compute.pp
+++ b/puppet/manifests/overcloud_compute.pp
@@ -51,10 +51,6 @@ if hiera('step') >= 4 {
ensure => present,
}
- include ::nova
- include ::nova::config
- include ::nova::compute
-
$rbd_ephemeral_storage = hiera('nova::compute::rbd::ephemeral_storage', false)
$rbd_persistent_storage = hiera('rbd_persistent_storage', false)
if $rbd_ephemeral_storage or $rbd_persistent_storage {
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index 89569ae5..6084c954 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -36,9 +36,6 @@ if hiera('step') >= 2 {
# MongoDB
if downcase(hiera('ceilometer_backend')) == 'mongodb' {
- include ::mongodb::globals
- include ::mongodb::client
- include ::mongodb::server
# NOTE(gfidente): We need to pass the list of IPv6 addresses *with* port and
# without the brackets as 'members' argument for the 'mongodb_replset'
# resource.
@@ -54,11 +51,6 @@ if hiera('step') >= 2 {
$mongodb_replset = hiera('mongodb::server::replset')
$ceilometer_mongodb_conn_string = "mongodb://${mongo_node_string}/ceilometer?replicaSet=${mongodb_replset}"
- if downcase(hiera('bootstrap_nodeid')) == $::hostname {
- mongodb_replset { $mongodb_replset :
- members => $mongo_node_ips_with_port_nobr,
- }
- }
}
if str2bool(hiera('enable_galera', true)) {
@@ -87,7 +79,6 @@ if hiera('step') >= 2 {
# Create all the database schemas
include ::nova::db::mysql
include ::nova::db::mysql_api
- include ::neutron::db::mysql
if downcase(hiera('gnocchi_indexer_backend')) == 'mysql' {
include ::gnocchi::db::mysql
}
@@ -160,13 +151,7 @@ if hiera('step') >= 4 {
memcached_servers => $memcached_servers
}
include ::nova::config
- include ::nova::api
- include ::nova::cert
- include ::nova::consoleauth
include ::nova::network::neutron
- include ::nova::vncproxy
- include ::nova::scheduler
- include ::nova::scheduler::filter
if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
@@ -209,36 +194,21 @@ if hiera('step') >= 4 {
}
# TODO: find a way to get an empty list from hiera
+ # TODO: when doing the composable midonet plugin, don't forget to
+ # set service_plugins to an empty array in Hiera.
class {'::neutron':
service_plugins => []
}
}
- else {
-
- # ML2 plugin
- include ::neutron
- }
-
- include ::neutron::config
- include ::neutron::server
- include ::neutron::server::notifications
- # If the value of core plugin is set to 'nuage' or'opencontrail' or 'plumgrid',
- # include nuage or opencontrail or plumgrid core plugins
+ # If the value of core plugin is set to 'nuage' or'opencontrail'
+ # include nuage or opencontrail core plugins
# else use the default value of 'ml2'
if hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
include ::neutron::plugins::nuage
} elsif hiera('neutron::core_plugin') == 'neutron_plugin_contrail.plugins.opencontrail.contrail_plugin.NeutronPluginContrailCoreV2' {
include ::neutron::plugins::opencontrail
- }
- elsif hiera('neutron::core_plugin') == 'networking_plumgrid.neutron.plugins.plugin.NeutronPluginPLUMgridV2' {
- class { '::neutron::plugins::plumgrid' :
- connection => hiera('neutron::server::database_connection'),
- controller_priv_host => hiera('keystone_admin_api_vip'),
- admin_password => hiera('admin_password'),
- metadata_proxy_shared_secret => hiera('nova::api::neutron_metadata_proxy_shared_secret'),
- }
} else {
# If the value of core plugin is set to 'midonet',
@@ -250,42 +220,10 @@ if hiera('step') >= 4 {
keystone_tenant => hiera('neutron::server::auth_tenant'),
keystone_password => hiera('neutron::server::password')
}
- } else {
-
- include ::neutron::plugins::ml2
- include ::neutron::agents::ml2::ovs
-
- if 'cisco_n1kv' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- include ::neutron::plugins::ml2::cisco::nexus1000v
-
- class { '::neutron::agents::n1kv_vem':
- n1kv_source => hiera('n1kv_vem_source', undef),
- n1kv_version => hiera('n1kv_vem_version', undef),
- }
-
- class { '::n1k_vsm':
- n1kv_source => hiera('n1kv_vsm_source', undef),
- n1kv_version => hiera('n1kv_vsm_version', undef),
- pacemaker_control => false,
- }
- }
-
- if 'cisco_ucsm' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- include ::neutron::plugins::ml2::cisco::ucsm
- }
- if 'cisco_nexus' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- include ::neutron::plugins::ml2::cisco::nexus
- include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
- }
-
- if 'bsn_ml2' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- include ::neutron::plugins::ml2::bigswitch::restproxy
- include ::neutron::agents::bigswitch
- }
- Service['neutron-server'] -> Service['neutron-ovs-agent-service']
}
Service['neutron-server'] -> Service['neutron-metadata']
+
}
if $enable_ceph {
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index 10f0398c..13271116 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -100,11 +100,7 @@ if hiera('step') >= 1 {
}
if downcase(hiera('ceilometer_backend')) == 'mongodb' {
- include ::mongodb::globals
- include ::mongodb::client
- class { '::mongodb::server' :
- service_manage => false,
- }
+ include ::mongodb::params
}
# Galera
@@ -166,6 +162,7 @@ if hiera('step') >= 1 {
if hiera('step') >= 2 {
+
# NOTE(gfidente): the following vars are needed on all nodes so they
# need to stay out of pacemaker_master conditional.
# The addresses mangling will hopefully go away when we'll be able to
@@ -192,24 +189,6 @@ if hiera('step') >= 2 {
clone_params => true,
}
- if downcase(hiera('ceilometer_backend')) == 'mongodb' {
- pacemaker::resource::service { $::mongodb::params::service_name :
- op_params => 'start timeout=370s stop timeout=200s',
- clone_params => true,
- require => Class['::mongodb::server'],
- }
- # NOTE (spredzy) : The replset can only be run
- # once all the nodes have joined the cluster.
- mongodb_conn_validator { $mongo_node_ips_with_port :
- timeout => '600',
- require => Pacemaker::Resource::Service[$::mongodb::params::service_name],
- before => Mongodb_replset[$mongodb_replset],
- }
- mongodb_replset { $mongodb_replset :
- members => $mongo_node_ips_with_port_nobr,
- }
- }
-
pacemaker::resource::ocf { 'galera' :
ocf_agent_name => 'heartbeat:galera',
op_params => 'promote timeout=300s on-fail=block',
@@ -278,9 +257,6 @@ if hiera('step') >= 2 {
class { '::nova::db::mysql_api':
require => Exec['galera-ready'],
}
- class { '::neutron::db::mysql':
- require => Exec['galera-ready'],
- }
if downcase(hiera('ceilometer_backend')) == 'mysql' {
class { '::ceilometer::db::mysql':
@@ -373,30 +349,6 @@ MYSQL_HOST=localhost\n",
}
include ::nova::config
-
- class { '::nova::api' :
- sync_db => $sync_db,
- sync_db_api => $sync_db,
- manage_service => false,
- enabled => false,
- }
- class { '::nova::cert' :
- manage_service => false,
- enabled => false,
- }
- class { '::nova::consoleauth' :
- manage_service => false,
- enabled => false,
- }
- class { '::nova::vncproxy' :
- manage_service => false,
- enabled => false,
- }
- include ::nova::scheduler::filter
- class { '::nova::scheduler' :
- manage_service => false,
- enabled => false,
- }
include ::nova::network::neutron
if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
@@ -440,23 +392,14 @@ MYSQL_HOST=localhost\n",
}
# Configure Neutron
+ # TODO: when doing the composable midonet plugin, don't forget to
+ # set service_plugins to an empty array in Hiera.
class {'::neutron':
service_plugins => []
}
}
- else {
- # Neutron class definitions
- include ::neutron
- }
- include ::neutron::config
- class { '::neutron::server' :
- sync_db => $sync_db,
- manage_service => false,
- enabled => false,
- }
- include ::neutron::server::notifications
if hiera('neutron::core_plugin') == 'neutron.plugins.nuage.plugin.NuagePlugin' {
include ::neutron::plugins::nuage
}
@@ -470,45 +413,6 @@ MYSQL_HOST=localhost\n",
keystone_password => hiera('neutron::server::password')
}
}
- if hiera('neutron::core_plugin') == 'networking_plumgrid.neutron.plugins.plugin.NeutronPluginPLUMgridV2' {
- class { '::neutron::plugins::plumgrid' :
- connection => hiera('neutron::server::database_connection'),
- controller_priv_host => hiera('keystone_admin_api_vip'),
- admin_password => hiera('admin_password'),
- metadata_proxy_shared_secret => hiera('nova::api::neutron_metadata_proxy_shared_secret'),
- }
- }
- include ::neutron::plugins::ml2
- class { '::neutron::agents::ml2::ovs':
- manage_service => false,
- enabled => false,
- }
-
- if 'cisco_ucsm' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- include ::neutron::plugins::ml2::cisco::ucsm
- }
- if 'cisco_nexus' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- include ::neutron::plugins::ml2::cisco::nexus
- include ::neutron::plugins::ml2::cisco::type_nexus_vxlan
- }
- if 'cisco_n1kv' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- include ::neutron::plugins::ml2::cisco::nexus1000v
-
- class { '::neutron::agents::n1kv_vem':
- n1kv_source => hiera('n1kv_vem_source', undef),
- n1kv_version => hiera('n1kv_vem_version', undef),
- }
-
- class { '::n1k_vsm':
- n1kv_source => hiera('n1kv_vsm_source', undef),
- n1kv_version => hiera('n1kv_vsm_version', undef),
- }
- }
-
- if 'bsn_ml2' in hiera('neutron::plugins::ml2::mechanism_drivers') {
- include ::neutron::plugins::ml2::bigswitch::restproxy
- include ::neutron::agents::bigswitch
- }
if $enable_ceph {
$ceph_pools = hiera('ceph_pools')
@@ -739,60 +643,11 @@ password=\"${mysql_root_password}\"",
Pacemaker::Resource::Ocf['openstack-core']],
}
- if hiera('neutron::enable_ovs_agent', true) {
- pacemaker::resource::service { $::neutron::params::ovs_agent_service:
- clone_params => 'interleave=true',
- }
- }
if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
pacemaker::resource::service {'tomcat':
clone_params => 'interleave=true',
}
}
- if hiera('neutron::enable_ovs_agent', true) {
- pacemaker::resource::ocf { $::neutron::params::ovs_cleanup_service:
- ocf_agent_name => 'neutron:OVSCleanup',
- clone_params => 'interleave=true',
- }
- pacemaker::resource::ocf { 'neutron-netns-cleanup':
- ocf_agent_name => 'neutron:NetnsCleanup',
- clone_params => 'interleave=true',
- }
-
- # neutron - one chain ovs-cleanup-->netns-cleanup-->ovs-agent
- pacemaker::constraint::base { 'neutron-ovs-cleanup-to-netns-cleanup-constraint':
- constraint_type => 'order',
- first_resource => "${::neutron::params::ovs_cleanup_service}-clone",
- second_resource => 'neutron-netns-cleanup-clone',
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
- Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
- }
- pacemaker::constraint::colocation { 'neutron-ovs-cleanup-to-netns-cleanup-colocation':
- source => 'neutron-netns-cleanup-clone',
- target => "${::neutron::params::ovs_cleanup_service}-clone",
- score => 'INFINITY',
- require => [Pacemaker::Resource::Ocf[$::neutron::params::ovs_cleanup_service],
- Pacemaker::Resource::Ocf['neutron-netns-cleanup']],
- }
- pacemaker::constraint::base { 'neutron-netns-cleanup-to-openvswitch-agent-constraint':
- constraint_type => 'order',
- first_resource => 'neutron-netns-cleanup-clone',
- second_resource => "${::neutron::params::ovs_agent_service}-clone",
- first_action => 'start',
- second_action => 'start',
- require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
- Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
- }
- pacemaker::constraint::colocation { 'neutron-netns-cleanup-to-openvswitch-agent-colocation':
- source => "${::neutron::params::ovs_agent_service}-clone",
- target => 'neutron-netns-cleanup-clone',
- score => 'INFINITY',
- require => [Pacemaker::Resource::Ocf['neutron-netns-cleanup'],
- Pacemaker::Resource::Service[$::neutron::params::ovs_agent_service]],
- }
- }
if hiera('neutron::core_plugin') == 'midonet.neutron.plugin_v1.MidonetPluginV2' {
#midonet-chain chain keystone-->neutron-server-->dhcp-->metadata->tomcat
pacemaker::constraint::base { 'neutron-server-to-dhcp-agent-constraint':
@@ -832,20 +687,6 @@ password=\"${mysql_root_password}\"",
}
# Nova
- pacemaker::resource::service { $::nova::params::api_service_name :
- clone_params => 'interleave=true',
- }
- pacemaker::resource::service { $::nova::params::consoleauth_service_name :
- clone_params => 'interleave=true',
- require => Pacemaker::Resource::Ocf['openstack-core'],
- }
- pacemaker::resource::service { $::nova::params::vncproxy_service_name :
- clone_params => 'interleave=true',
- }
- pacemaker::resource::service { $::nova::params::scheduler_service_name :
- clone_params => 'interleave=true',
- }
-
pacemaker::constraint::base { 'keystone-then-nova-consoleauth-constraint':
constraint_type => 'order',
first_resource => 'openstack-core-clone',
@@ -855,6 +696,13 @@ password=\"${mysql_root_password}\"",
require => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
Pacemaker::Resource::Ocf['openstack-core']],
}
+ pacemaker::constraint::colocation { 'nova-consoleauth-with-openstack-core':
+ source => "${::nova::params::consoleauth_service_name}-clone",
+ target => 'openstack-core-clone',
+ score => 'INFINITY',
+ require => [Pacemaker::Resource::Service[$::nova::params::consoleauth_service_name],
+ Pacemaker::Resource::Ocf['openstack-core']],
+ }
pacemaker::constraint::base { 'nova-consoleauth-then-nova-vncproxy-constraint':
constraint_type => 'order',
first_resource => "${::nova::params::consoleauth_service_name}-clone",
diff --git a/puppet/services/database/mongodb-base.yaml b/puppet/services/database/mongodb-base.yaml
new file mode 100644
index 00000000..ecd1d319
--- /dev/null
+++ b/puppet/services/database/mongodb-base.yaml
@@ -0,0 +1,30 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Configuration details for MongoDB service using composable roles
+
+parameters:
+ MongoDbNoJournal:
+ default: false
+ description: Should MongoDb journaling be disabled
+ type: boolean
+ MongoDbIPv6:
+ default: false
+ description: Enable IPv6 if MongoDB VIP is IPv6
+ type: boolean
+ MongoDbReplset:
+ type: string
+ default: "tripleo"
+
+outputs:
+ aux_parameters:
+ description: Additional parameters referenced outside the base file
+ value:
+ rplset_name: {get_param: MongoDbReplset}
+ role_data:
+ description: Role data for the MongoDB base service.
+ value:
+ config_settings:
+ mongodb::server::nojournal: {get_param: MongoDbNoJournal}
+ mongodb::server::ipv6: {get_param: MongoDbIPv6}
+ mongodb::server::replset: {get_param: MongoDbReplset} \ No newline at end of file
diff --git a/puppet/services/database/mongodb.yaml b/puppet/services/database/mongodb.yaml
new file mode 100644
index 00000000..c0488700
--- /dev/null
+++ b/puppet/services/database/mongodb.yaml
@@ -0,0 +1,28 @@
+heat_template_version: 2016-04-08
+
+description: >
+ MongoDb service deployment using puppet
+
+parameters:
+ #Parameters not used EndpointMap
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+ MongoDbBase:
+ type: ./mongodb-base.yaml
+
+outputs:
+ role_data:
+ description: Service mongodb using composable services.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [MongoDbBase, role_data, config_settings]
+ - tripleo::profile::base::database::mongodb::mongodb_replset: {get_attr: [MongoDbBase, aux_parameters, rplset_name]}
+ mongodb::server::service_manage: True
+ step_config: |
+ include ::tripleo::profile::base::database::mongodb \ No newline at end of file
diff --git a/puppet/services/neutron-base.yaml b/puppet/services/neutron-base.yaml
index b34bdd22..8bd8d989 100644
--- a/puppet/services/neutron-base.yaml
+++ b/puppet/services/neutron-base.yaml
@@ -26,6 +26,18 @@ parameters:
type: number
default: 3
description: The number of neutron dhcp agents to schedule per network
+ NeutronCorePlugin:
+ default: 'ml2'
+ description: |
+ The core plugin for Neutron. The value should be the entrypoint to be loaded
+ from neutron.core_plugins namespace.
+ type: string
+ NeutronServicePlugins:
+ default: "router,qos"
+ description: |
+ Comma-separated list of service plugin entrypoints to be loaded from the
+ neutron.service_plugins namespace.
+ type: comma_delimited_list
Debug:
type: string
default: ''
@@ -41,4 +53,10 @@ outputs:
neutron::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
neutron::rabbit_port: {get_param: RabbitClientPort}
neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
+ neutron::core_plugin: {get_param: NeutronCorePlugin}
+ neutron::service_plugins:
+ str_replace:
+ template: PLUGINS
+ params:
+ PLUGINS: {get_param: NeutronServicePlugins}
neutron::debug: {get_param: Debug}
diff --git a/puppet/services/neutron-ovs-agent.yaml b/puppet/services/neutron-ovs-agent.yaml
new file mode 100644
index 00000000..0e1dbb29
--- /dev/null
+++ b/puppet/services/neutron-ovs-agent.yaml
@@ -0,0 +1,71 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron OVS agent configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ NeutronEnableTunnelling:
+ type: string
+ default: "True"
+ NeutronEnableL2Pop:
+ type: string
+ description: >
+ Enable/disable the L2 population feature in the Neutron agents.
+ default: "False"
+ NeutronBridgeMappings:
+ description: >
+ The OVS logical->physical bridge mappings to use. See the Neutron
+ documentation for details. Defaults to mapping br-ex - the external
+ bridge on hosts - to a physical name 'datacentre' which can be used
+ to create provider networks (and we use this for the default floating
+ network) - if changing this either use different post-install network
+ scripts or be sure to keep 'datacentre' as a mapping network name.
+ type: comma_delimited_list
+ default: "datacentre:br-ex"
+ NeutronTunnelTypes:
+ default: 'vxlan'
+ description: |
+ The tunnel types for the Neutron tenant network.
+ type: comma_delimited_list
+ NeutronAgentExtensions:
+ default: "qos"
+ description: |
+ Comma-separated list of extensions enabled for the Neutron agents.
+ type: comma_delimited_list
+
+resources:
+
+ NeutronBase:
+ type: ./neutron-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Neutron OVS agent service.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NeutronBase, role_data, config_settings]
+ neutron::agents::ml2::ovs::enable_tunneling: {get_param: NeutronEnableTunnelling}
+ neutron::agents::ml2::ovs::l2_population: {get_param: NeutronEnableL2Pop}
+ neutron::agents::ml2::ovs::bridge_mappings:
+ str_replace:
+ template: MAPPINGS
+ params:
+ MAPPINGS: {get_param: NeutronBridgeMappings}
+ neutron::agents::ml2::ovs::tunnel_types:
+ str_replace:
+ template: TYPES
+ params:
+ TYPES: {get_param: NeutronTunnelTypes}
+ neutron::agents::ml2::ovs::extensions:
+ str_replace:
+ template: AGENT_EXTENSIONS
+ params:
+ AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
+ step_config: |
+ include ::tripleo::profile::base::neutron::ovs
diff --git a/puppet/services/neutron-plugin-ml2.yaml b/puppet/services/neutron-plugin-ml2.yaml
new file mode 100644
index 00000000..435a6de0
--- /dev/null
+++ b/puppet/services/neutron-plugin-ml2.yaml
@@ -0,0 +1,109 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron ML2 Plugin configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ NeutronMechanismDrivers:
+ default: 'openvswitch'
+ description: |
+ The mechanism drivers for the Neutron tenant network.
+ type: comma_delimited_list
+ NeutronTypeDrivers:
+ default: "vxlan,vlan,flat,gre"
+ description: |
+ Comma-separated list of network type driver entrypoints to be loaded.
+ type: comma_delimited_list
+ NeutronFlatNetworks:
+ type: comma_delimited_list
+ default: 'datacentre'
+ description: If set, flat networks to configure in neutron plugins.
+ NeutronPluginExtensions:
+ default: "qos,port_security"
+ description: |
+ Comma-separated list of extensions enabled for the Neutron plugin.
+ type: comma_delimited_list
+ NeutronNetworkVLANRanges:
+ default: 'datacentre:1:1000'
+ description: >
+ The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the
+ Neutron documentation for permitted values. Defaults to permitting any
+ VLAN on the 'datacentre' physical network (See NeutronBridgeMappings).
+ type: comma_delimited_list
+ NeutronTunnelIdRanges:
+ description: |
+ Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
+ of GRE tunnel IDs that are available for tenant network allocation
+ default: ["1:4094", ]
+ type: comma_delimited_list
+ NeutronVniRanges:
+ description: |
+ Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges
+ of VXLAN VNI IDs that are available for tenant network allocation
+ default: ["1:4094", ]
+ type: comma_delimited_list
+ NeutronNetworkType:
+ default: 'vxlan'
+ description: The tenant network type for Neutron.
+ type: comma_delimited_list
+
+resources:
+
+ NeutronBase:
+ type: ./neutron-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Neutron ML2 plugin.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NeutronBase, role_data, config_settings]
+ - neutron::plugins::ml2::mechanism_drivers:
+ str_replace:
+ template: MECHANISMS
+ params:
+ MECHANISMS: {get_param: NeutronMechanismDrivers}
+ neutron::plugins::ml2::type_drivers:
+ str_replace:
+ template: DRIVERS
+ params:
+ DRIVERS: {get_param: NeutronTypeDrivers}
+ neutron::plugins::ml2::flat_networks:
+ str_replace:
+ template: NETWORKS
+ params:
+ NETWORKS: {get_param: NeutronFlatNetworks}
+ neutron::plugins::ml2::extension_drivers:
+ str_replace:
+ template: PLUGIN_EXTENSIONS
+ params:
+ PLUGIN_EXTENSIONS: {get_param: NeutronPluginExtensions}
+ neutron::plugins::ml2::network_vlan_ranges:
+ str_replace:
+ template: RANGES
+ params:
+ RANGES: {get_param: NeutronNetworkVLANRanges}
+ neutron::plugins::ml2::tunnel_id_ranges:
+ str_replace:
+ template: RANGES
+ params:
+ RANGES: {get_param: NeutronTunnelIdRanges}
+ neutron::plugins::ml2::vni_ranges:
+ str_replace:
+ template: RANGES
+ params:
+ RANGES: {get_param: NeutronVniRanges}
+ neutron::plugins::ml2::tenant_network_types:
+ str_replace:
+ template: TYPES
+ params:
+ TYPES: {get_param: NeutronNetworkType}
+
+ step_config: |
+ include ::tripleo::profile::base::neutron::ml2
diff --git a/puppet/services/neutron-plugin-plumgrid.yaml b/puppet/services/neutron-plugin-plumgrid.yaml
new file mode 100644
index 00000000..a0ac46ef
--- /dev/null
+++ b/puppet/services/neutron-plugin-plumgrid.yaml
@@ -0,0 +1,111 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron Plumgrid plugin
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ NeutronPassword:
+ description: The password for the neutron service and db account, used by neutron agents.
+ type: string
+ hidden: true
+ NeutronMetadataProxySharedSecret:
+ description: Shared secret to prevent spoofing
+ type: string
+ hidden: true
+ AdminPassword:
+ description: The password for the keystone admin account, used for monitoring, querying neutron etc.
+ type: string
+ hidden: true
+
+ # PLUMgrid specific settings
+ PLUMgridDirectorServer:
+ description: IP address of the PLUMgrid Director Server
+ type: string
+ default: 127.0.0.1
+ PLUMgridDirectorServerPort:
+ description: Port of the PLUMgrid Director Server
+ type: string
+ default: 443
+ PLUMgridUsername:
+ description: Username for PLUMgrid platform
+ type: string
+ PLUMgridPassword:
+ description: Password for PLUMgrid platform
+ type: string
+ hidden: true
+ PLUMgridNovaMetadataIP:
+ description: IP address of Nova Metadata
+ type: string
+ default: 169.254.169.254
+ PLUMgridNovaMetadataPort:
+ description: Port of Nova Metadata
+ type: string
+ default: 8775
+ PLUMgridL2GatewayVendor:
+ description: Vendor for L2 Gateway Switch
+ type: string
+ default: vendor
+ PLUMgridL2GatewayUsername:
+ description: Username for L2 Gateway Switch
+ type: string
+ default: username
+ PLUMgridL2GatewayPassword:
+ description: Password for L2 Gateway Switch
+ type: string
+ hidden: true
+ PLUMgridIdentityVersion:
+ description: Keystone Identity version
+ type: string
+ default: v2.0
+ PLUMgridConnectorType:
+ description: Neutron Network Connector Type
+ type: string
+ default: distributed
+ PLUMgridNeutronPluginVersion:
+ description: PLUMgrid Neutron Plugin version
+ type: string
+ default: present
+ PLUMgridPlumlibVersion:
+ description: PLUMgrid Plumlib version
+ type: string
+ default: present
+
+
+outputs:
+ role_data:
+ description: Role data for the Neutron Plumgrid plugin
+ value:
+ config_settings:
+ neutron::plugins::plumgrid::connection:
+ list_join:
+ - ''
+ - - {get_param: [EndpointMap, MysqlInternal, protocol]}
+ - '://neutron:'
+ - {get_param: NeutronPassword}
+ - '@'
+ - {get_param: [EndpointMap, MysqlInternal, host]}
+ - '/ovs_neutron?charset=utf8'
+ neutron::plugins::plumgrid::controller_priv_host: {get_param: [EndpointMap, KeystoneAdmin, host]}
+ neutron::plugins::plumgrid::admin_password: {get_param: AdminPassword}
+ neutron::plugins::plumgrid::metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
+ neutron::plugins::plumgrid::director_server: {get_param: PLUMgridDirectorServer}
+ neutron::plugins::plumgrid::director_server_port: {get_param: PLUMgridDirectorServerPort}
+ neutron::plugins::plumgrid::username: {get_param: PLUMgridUsername}
+ neutron::plugins::plumgrid::password: {get_param: PLUMgridPassword}
+ neutron::plugins::plumgrid::nova_metadata_ip: {get_param: PLUMgridNovaMetadataIP}
+ neutron::plugins::plumgrid::nova_metadata_port: {get_param: PLUMgridNovaMetadataPort}
+ neutron::plugins::plumgrid::l2gateway_vendor: {get_param: PLUMgridL2GatewayVendor}
+ neutron::plugins::plumgrid::l2gateway_sw_username: {get_param: PLUMgridL2GatewayUsername}
+ neutron::plugins::plumgrid::l2gateway_sw_password: {get_param: PLUMgridL2GatewayPassword}
+ neutron::plugins::plumgrid::connector_type: {get_param: PLUMgridConnectorType}
+ neutron::plugins::plumgrid::identity_version: {get_param: PLUMgridIdentityVersion}
+ neutron::plugins::plumgrid::package_ensure: {get_param: PLUMgridNeutronPluginVersion}
+ neutron::plugins::plumgrid::plumlib_package_ensure: {get_param: PLUMgridPlumlibVersion}
+
+ step_config: |
+ include tripleo::profile::base::neutron::plugins::plumgrid
diff --git a/puppet/services/neutron-server.yaml b/puppet/services/neutron-server.yaml
new file mode 100644
index 00000000..6299c39e
--- /dev/null
+++ b/puppet/services/neutron-server.yaml
@@ -0,0 +1,70 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron Server configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ NeutronWorkers:
+ default: 0
+ description: Number of workers for Neutron service.
+ type: number
+ NeutronPassword:
+ description: The password for the neutron service and db account, used by neutron agents.
+ type: string
+ hidden: true
+ NeutronAllowL3AgentFailover:
+ default: 'True'
+ description: Allow automatic l3-agent failover
+ type: string
+ NeutronL3HA:
+ default: 'False'
+ description: Whether to enable l3-agent HA
+ type: string
+ NovaPassword:
+ description: The password for the nova service and db account, used by nova-api.
+ type: string
+ hidden: true
+
+resources:
+
+ NeutronBase:
+ type: ./neutron-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Neutron Server agent service.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NeutronBase, role_data, config_settings]
+ neutron_dsn: &neutron_dsn
+ list_join:
+ - ''
+ - - {get_param: [EndpointMap, MysqlInternal, protocol]}
+ - '://neutron:'
+ - {get_param: NeutronPassword}
+ - '@'
+ - {get_param: [EndpointMap, MysqlInternal, host]}
+ - '/ovs_neutron?charset=utf8'
+ neutron::server::auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
+ neutron::server::auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
+ neutron::server::identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
+ neutron::server::database_connection: *neutron_dsn
+ neutron::server::api_workers: {get_param: NeutronWorkers}
+ neutron::server::allow_automatic_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
+ neutron::server::l3_ha: {get_param: NeutronL3HA}
+ neutron::server::auth_password: {get_param: NeutronPassword}
+
+ neutron::server::notifications::nova_url: { get_param: [ EndpointMap, NovaInternal, uri ] }
+ neutron::server::notifications::auth_url: { get_param: [ EndpointMap, KeystoneV3Admin, uri ] }
+ neutron::server::notifications::tenant_name: 'service'
+ neutron::server::notifications::project_name: 'service'
+ neutron::server::notifications::password: {get_param: NovaPassword}
+ neutron::db::mysql::password: {get_param: NeutronPassword}
+ step_config: |
+ include tripleo::profile::base::neutron::server
diff --git a/puppet/services/nova-api.yaml b/puppet/services/nova-api.yaml
new file mode 100644
index 00000000..f31df371
--- /dev/null
+++ b/puppet/services/nova-api.yaml
@@ -0,0 +1,31 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova API service configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ NovaWorkers:
+ default: 0
+ description: Number of workers for Nova API service.
+ type: number
+
+resources:
+ NovaBase:
+ type: ./nova-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Nova API service.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NovaBase, role_data, config_settings]
+ - nova::api::osapi_compute_workers: {get_param: NovaWorkers}
+ - nova::api::metadata_workers: {get_param: NovaWorkers}
+ step_config: |
+ include tripleo::profile::base::nova::api
diff --git a/puppet/services/nova-compute.yaml b/puppet/services/nova-compute.yaml
new file mode 100644
index 00000000..0844aa85
--- /dev/null
+++ b/puppet/services/nova-compute.yaml
@@ -0,0 +1,25 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Compute service configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+ NovaBase:
+ type: ./nova-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Nova Conductor service.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NovaBase, role_data, config_settings]
+ step_config: |
+ include tripleo::profile::base::nova::compute
diff --git a/puppet/services/nova-consoleauth.yaml b/puppet/services/nova-consoleauth.yaml
new file mode 100644
index 00000000..791c5449
--- /dev/null
+++ b/puppet/services/nova-consoleauth.yaml
@@ -0,0 +1,24 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Consoleauth service configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+ NovaBase:
+ type: ./nova-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Nova Consoleauth service.
+ value:
+ config_settings:
+ get_attr: [NovaBase, role_data, config_settings]
+ step_config: |
+ include tripleo::profile::base::nova::consoleauth
diff --git a/puppet/services/nova-scheduler.yaml b/puppet/services/nova-scheduler.yaml
new file mode 100644
index 00000000..65ed6643
--- /dev/null
+++ b/puppet/services/nova-scheduler.yaml
@@ -0,0 +1,26 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Scheduler service configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+ NovaBase:
+ type: ./nova-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Nova Scheduler service.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NovaBase, role_data, config_settings]
+ - nova::scheduler::filter::ram_allocation_ratio: '1.0'
+ step_config: |
+ include tripleo::profile::base::nova::scheduler
diff --git a/puppet/services/nova-vncproxy.yaml b/puppet/services/nova-vncproxy.yaml
new file mode 100644
index 00000000..93a25ab2
--- /dev/null
+++ b/puppet/services/nova-vncproxy.yaml
@@ -0,0 +1,24 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Vncproxy service configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+ NovaBase:
+ type: ./nova-base.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Nova Vncproxy service.
+ value:
+ config_settings:
+ get_attr: [NovaBase, role_data, config_settings]
+ step_config: |
+ include tripleo::profile::base::nova::vncproxy
diff --git a/puppet/services/pacemaker/database/mongodb.yaml b/puppet/services/pacemaker/database/mongodb.yaml
new file mode 100644
index 00000000..b2e9e0bb
--- /dev/null
+++ b/puppet/services/pacemaker/database/mongodb.yaml
@@ -0,0 +1,28 @@
+heat_template_version: 2016-04-08
+
+description: >
+ MongoDb service deployment using puppet
+
+parameters:
+ #Parameters not used EndpointMap
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+ MongoDbBase:
+ type: ../../database/mongodb-base.yaml
+
+outputs:
+ role_data:
+ description: Service mongodb using composable services.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [MongoDbBase, role_data, config_settings]
+ - tripleo::profile::pacemaker::database::mongodb::mongodb_replset: {get_attr: [MongoDbBase, aux_parameters, rplset_name]}
+ mongodb::server::service_manage: False
+ step_config: |
+ include ::tripleo::profile::pacemaker::database::mongodb
diff --git a/puppet/services/pacemaker/neutron-ovs-agent.yaml b/puppet/services/pacemaker/neutron-ovs-agent.yaml
new file mode 100644
index 00000000..a17d7a61
--- /dev/null
+++ b/puppet/services/pacemaker/neutron-ovs-agent.yaml
@@ -0,0 +1,25 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron OVS agent with Pacemaker configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+
+ NeutronOvsBase:
+ type: ../neutron-ovs-agent.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Neutron OVS agent service.
+ value:
+ config_settings:
+ get_attr: [NeutronOvsBase, role_data, config_settings]
+ step_config: |
+ include ::tripleo::profile::pacemaker::neutron::ovs
diff --git a/puppet/services/pacemaker/neutron-plugin-ml2.yaml b/puppet/services/pacemaker/neutron-plugin-ml2.yaml
new file mode 100644
index 00000000..ac9d2402
--- /dev/null
+++ b/puppet/services/pacemaker/neutron-plugin-ml2.yaml
@@ -0,0 +1,28 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron ML2 Plugin with Pacemaker configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+
+ NeutronMl2Base:
+ type: ../neutron-plugin-ml2.yaml
+
+outputs:
+ role_data:
+ description: Role data for the Neutron ML2 plugin.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NeutronMl2Base, role_data, config_settings]
+ - neutron::agents::ml2::ovs::enabled: false
+ neutron::agents::ml2::ovs::manage_service: false
+ step_config: |
+ include ::tripleo::profile::pacemaker::neutron::ml2
diff --git a/puppet/services/pacemaker/neutron-plugin-plumgrid.yaml b/puppet/services/pacemaker/neutron-plugin-plumgrid.yaml
new file mode 100644
index 00000000..c2e8eaac
--- /dev/null
+++ b/puppet/services/pacemaker/neutron-plugin-plumgrid.yaml
@@ -0,0 +1,28 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron PLUMgrid Plugin with Pacemaker configured with Puppet
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+
+ NeutronPluginPlumgridBase:
+ type: ../neutron-plugin-ml2.yaml
+ properties:
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role data for the Neutron PLUMgrid plugin.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NeutronPluginPlumgridBase, role_data, config_settings]
+ step_config: |
+ include ::tripleo::profile::pacemaker::neutron::plugins::plumgrid
diff --git a/puppet/services/pacemaker/neutron-server.yaml b/puppet/services/pacemaker/neutron-server.yaml
new file mode 100644
index 00000000..60599e7e
--- /dev/null
+++ b/puppet/services/pacemaker/neutron-server.yaml
@@ -0,0 +1,30 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Neutron Server with Pacemaker configured with Puppet.
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+
+ NeutronServerBase:
+ type: ../neutron-server.yaml
+ properties:
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role data for the Neutron Server.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NeutronServerBase, role_data, config_settings]
+ - neutron::server::enabled: false
+ neutron::server::manage_service: false
+ step_config: |
+ include ::tripleo::profile::pacemaker::neutron::server
diff --git a/puppet/services/pacemaker/nova-api.yaml b/puppet/services/pacemaker/nova-api.yaml
new file mode 100644
index 00000000..1b5011b6
--- /dev/null
+++ b/puppet/services/pacemaker/nova-api.yaml
@@ -0,0 +1,30 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova API service with Pacemaker configured with Puppet.
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+
+ NovaApiBase:
+ type: ../nova-api.yaml
+ properties:
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role data for the Nova API role.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NovaApiBase, role_data, config_settings]
+ - nova::api::manage_service: false
+ nova::api::enabled: false
+ step_config: |
+ include ::tripleo::profile::pacemaker::nova::api
diff --git a/puppet/services/pacemaker/nova-consoleauth.yaml b/puppet/services/pacemaker/nova-consoleauth.yaml
new file mode 100644
index 00000000..f9b6b058
--- /dev/null
+++ b/puppet/services/pacemaker/nova-consoleauth.yaml
@@ -0,0 +1,30 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Consoleauth service with Pacemaker configured with Puppet.
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+
+ NovaConsoleauthBase:
+ type: ../nova-consoleauth.yaml
+ properties:
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role data for the Nova Consoleauth role.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NovaConsoleauthBase, role_data, config_settings]
+ - nova::consoleauth::manage_service: false
+ nova::consoleauth::enabled: false
+ step_config: |
+ include ::tripleo::profile::pacemaker::nova::consoleauth
diff --git a/puppet/services/pacemaker/nova-scheduler.yaml b/puppet/services/pacemaker/nova-scheduler.yaml
new file mode 100644
index 00000000..0032cbe6
--- /dev/null
+++ b/puppet/services/pacemaker/nova-scheduler.yaml
@@ -0,0 +1,30 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Scheduler service with Pacemaker configured with Puppet.
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+
+ NovaSchedulerBase:
+ type: ../nova-scheduler.yaml
+ properties:
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role data for the Nova Scheduler role.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NovaSchedulerBase, role_data, config_settings]
+ - nova::scheduler::manage_service: false
+ nova::scheduler::enabled: false
+ step_config: |
+ include ::tripleo::profile::pacemaker::nova::scheduler
diff --git a/puppet/services/pacemaker/nova-vncproxy.yaml b/puppet/services/pacemaker/nova-vncproxy.yaml
new file mode 100644
index 00000000..52395240
--- /dev/null
+++ b/puppet/services/pacemaker/nova-vncproxy.yaml
@@ -0,0 +1,30 @@
+heat_template_version: 2016-04-08
+
+description: >
+ OpenStack Nova Vncproxy service with Pacemaker configured with Puppet.
+
+parameters:
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+
+resources:
+
+ NovaVncproxyBase:
+ type: ../nova-vncproxy.yaml
+ properties:
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role data for the Nova Vncproxy role.
+ value:
+ config_settings:
+ map_merge:
+ - get_attr: [NovaVncproxyBase, role_data, config_settings]
+ - nova::vncproxy::manage_service: false
+ nova::vncproxy::enabled: false
+ step_config: |
+ include ::tripleo::profile::pacemaker::nova::vncproxy