aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ceph-storage.yaml10
-rw-r--r--cinder-storage.yaml13
-rw-r--r--compute.yaml6
-rw-r--r--controller.yaml6
-rw-r--r--overcloud-resource-registry-puppet.yaml6
-rw-r--r--overcloud-resource-registry.yaml6
-rw-r--r--puppet/all-nodes-config.yaml4
-rw-r--r--puppet/ceph-storage-puppet.yaml10
-rw-r--r--puppet/cinder-storage-puppet.yaml13
-rw-r--r--puppet/compute-puppet.yaml8
-rw-r--r--puppet/controller-puppet.yaml6
-rw-r--r--puppet/manifests/overcloud_controller.pp88
-rw-r--r--puppet/swift-storage-puppet.yaml9
-rw-r--r--swift-storage.yaml9
14 files changed, 145 insertions, 49 deletions
diff --git a/ceph-storage.yaml b/ceph-storage.yaml
index 93b4deb6..f89d5f3a 100644
--- a/ceph-storage.yaml
+++ b/ceph-storage.yaml
@@ -28,6 +28,7 @@ parameters:
default: ''
description: The list of ip/names to use as Ceph monitors
type: json
+
resources:
CephStorage:
type: OS::Nova::Server
@@ -44,6 +45,15 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ NetworkConfig:
+ type: OS::TripleO::CephStorage::Net::SoftwareConfig
+
+ NetworkDeployment:
+ type: OS::TripleO::SoftwareDeployment
+ properties:
+ config: {get_attr: [NetworkConfig, config_id]}
+ server: {get_resource: CephStorage}
+
CephStorageDeployment:
type: OS::Heat::StructuredDeployment
properties:
diff --git a/cinder-storage.yaml b/cinder-storage.yaml
index 24739115..f26ef3e2 100644
--- a/cinder-storage.yaml
+++ b/cinder-storage.yaml
@@ -71,10 +71,10 @@ parameters:
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
type: string
RabbitPassword:
- default: ''
+ default: 'guest'
type: string
RabbitUserName:
- default: ''
+ default: 'guest'
type: string
RabbitClientUseSSL:
default: false
@@ -111,6 +111,15 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ NetworkConfig:
+ type: OS::TripleO::BlockStorage::Net::SoftwareConfig
+
+ NetworkDeployment:
+ type: OS::TripleO::SoftwareDeployment
+ properties:
+ config: {get_attr: [NetworkConfig, config_id]}
+ server: {get_resource: BlockStorage}
+
BlockStorageDeployment:
type: OS::Heat::StructuredDeployment
properties:
diff --git a/compute.yaml b/compute.yaml
index a4190893..f7e434f5 100644
--- a/compute.yaml
+++ b/compute.yaml
@@ -110,13 +110,13 @@ parameters:
network) - if changing this either use different post-install network
scripts or be sure to keep 'datacentre' as a mapping network name.
type: string
- default: ""
+ default: "datacentre:br-ex"
NeutronEnableTunnelling:
type: string
default: "True"
NeutronFlatNetworks:
type: string
- default: ''
+ default: 'datacentre'
description: >
If set, flat networks to configure in neutron plugins.
NeutronHost:
@@ -265,7 +265,7 @@ resources:
type: OS::TripleO::NodeUserData
NetworkConfig:
- type: OS::TripleO::Net::SoftwareConfig
+ type: OS::TripleO::Compute::Net::SoftwareConfig
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
diff --git a/controller.yaml b/controller.yaml
index 37c0debe..b578a252 100644
--- a/controller.yaml
+++ b/controller.yaml
@@ -221,7 +221,7 @@ parameters:
network) - if changing this either use different post-install network
scripts or be sure to keep 'datacentre' as a mapping network name.
type: string
- default: ""
+ default: "datacentre:br-ex"
NeutronDnsmasqOptions:
default: 'dhcp-option-force=26,1400'
description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
@@ -257,7 +257,7 @@ parameters:
default: "True"
NeutronFlatNetworks:
type: string
- default: ''
+ default: 'datacentre'
description: If set, flat networks to configure in neutron plugins.
NeutronNetworkType:
default: 'gre'
@@ -424,7 +424,7 @@ resources:
type: OS::TripleO::NodeUserData
NetworkConfig:
- type: OS::TripleO::Net::SoftwareConfig
+ type: OS::TripleO::Controller::Net::SoftwareConfig
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml
index c725ae85..2b9da710 100644
--- a/overcloud-resource-registry-puppet.yaml
+++ b/overcloud-resource-registry-puppet.yaml
@@ -1,11 +1,15 @@
resource_registry:
OS::TripleO::BlockStorage: puppet/cinder-storage-puppet.yaml
+ OS::TripleO::BlockStorage::Net::SoftwareConfig: net-config-noop.yaml
OS::TripleO::Compute: puppet/compute-puppet.yaml
+ OS::TripleO::Compute::Net::SoftwareConfig: net-config-bridge.yaml
OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment
OS::TripleO::Controller: puppet/controller-puppet.yaml
+ OS::TripleO::Controller::Net::SoftwareConfig: net-config-bridge.yaml
OS::TripleO::ObjectStorage: puppet/swift-storage-puppet.yaml
- OS::TripleO::Net::SoftwareConfig: net-config-bridge.yaml
+ OS::TripleO::ObjectStorage::Net::SoftwareConfig: net-config-noop.yaml
OS::TripleO::CephStorage: puppet/ceph-storage-puppet.yaml
+ OS::TripleO::CephStorage::Net::SoftwareConfig: net-config-noop.yaml
OS::TripleO::ControllerPostDeployment: puppet/controller-post-puppet.yaml
OS::TripleO::ComputePostDeployment: puppet/compute-post-puppet.yaml
OS::TripleO::ObjectStoragePostDeployment: puppet/swift-storage-post.yaml
diff --git a/overcloud-resource-registry.yaml b/overcloud-resource-registry.yaml
index 7436ea48..69266405 100644
--- a/overcloud-resource-registry.yaml
+++ b/overcloud-resource-registry.yaml
@@ -1,11 +1,15 @@
resource_registry:
OS::TripleO::BlockStorage: cinder-storage.yaml
+ OS::TripleO::BlockStorage::Net::SoftwareConfig: net-config-noop.yaml
OS::TripleO::Compute: compute.yaml
+ OS::TripleO::Compute::Net::SoftwareConfig: net-config-noop.yaml
OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment
OS::TripleO::Controller: controller.yaml
+ OS::TripleO::Controller::Net::SoftwareConfig: net-config-noop.yaml
OS::TripleO::ObjectStorage: swift-storage.yaml
- OS::TripleO::Net::SoftwareConfig: net-config-noop.yaml
+ OS::TripleO::ObjectStorage::Net::SoftwareConfig: net-config-noop.yaml
OS::TripleO::CephStorage: ceph-storage.yaml
+ OS::TripleO::CephStorage::Net::SoftwareConfig: net-config-noop.yaml
OS::TripleO::ControllerPostDeployment: controller-post.yaml
OS::TripleO::ComputePostDeployment: compute-post.yaml
OS::TripleO::ObjectStoragePostDeployment: swift-storage-post.yaml
diff --git a/puppet/all-nodes-config.yaml b/puppet/all-nodes-config.yaml
index 7a4df796..9345e5c5 100644
--- a/puppet/all-nodes-config.yaml
+++ b/puppet/all-nodes-config.yaml
@@ -54,10 +54,10 @@ resources:
list_join:
- ','
- {get_param: controller_ips}
- rabbit_node_names:
+ rabbit_node_ips:
list_join:
- ','
- - {get_param: controller_names}
+ - {get_param: controller_ips}
mongo_node_ips:
list_join:
- ','
diff --git a/puppet/ceph-storage-puppet.yaml b/puppet/ceph-storage-puppet.yaml
index 4ce16225..660ea30a 100644
--- a/puppet/ceph-storage-puppet.yaml
+++ b/puppet/ceph-storage-puppet.yaml
@@ -45,6 +45,15 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ NetworkConfig:
+ type: OS::TripleO::CephStorage::Net::SoftwareConfig
+
+ NetworkDeployment:
+ type: OS::TripleO::SoftwareDeployment
+ properties:
+ config: {get_attr: [NetworkConfig, config_id]}
+ server: {get_resource: CephStorage}
+
CephStorageDeployment:
type: OS::Heat::StructuredDeployment
properties:
@@ -57,6 +66,7 @@ resources:
params:
server: {get_param: NtpServer}
enable_package_install: {get_param: EnablePackageInstall}
+
CephStorageConfig:
type: OS::Heat::StructuredConfig
properties:
diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml
index 3e55ec85..de96809a 100644
--- a/puppet/cinder-storage-puppet.yaml
+++ b/puppet/cinder-storage-puppet.yaml
@@ -75,10 +75,10 @@ parameters:
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
type: string
RabbitPassword:
- default: ''
+ default: 'guest'
type: string
RabbitUserName:
- default: ''
+ default: 'guest'
type: string
RabbitClientUseSSL:
default: false
@@ -123,6 +123,15 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ NetworkConfig:
+ type: OS::TripleO::BlockStorage::Net::SoftwareConfig
+
+ NetworkDeployment:
+ type: OS::TripleO::SoftwareDeployment
+ properties:
+ config: {get_attr: [NetworkConfig, config_id]}
+ server: {get_resource: BlockStorage}
+
BlockStorageDeployment:
type: OS::Heat::StructuredDeployment
properties:
diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml
index 11910d79..a31ea858 100644
--- a/puppet/compute-puppet.yaml
+++ b/puppet/compute-puppet.yaml
@@ -110,13 +110,13 @@ parameters:
network) - if changing this either use different post-install network
scripts or be sure to keep 'datacentre' as a mapping network name.
type: string
- default: ""
+ default: "datacentre:br-ex"
NeutronEnableTunnelling:
type: string
default: "True"
NeutronFlatNetworks:
type: string
- default: ''
+ default: 'datacentre'
description: >
If set, flat networks to configure in neutron plugins.
NeutronHost:
@@ -139,7 +139,7 @@ parameters:
type: string
hidden: true
NeutronPhysicalBridge:
- default: ''
+ default: 'br-ex'
description: An OVS bridge to create for accessing external networks.
type: string
NeutronPublicInterface:
@@ -268,7 +268,7 @@ resources:
type: OS::TripleO::NodeUserData
NetworkConfig:
- type: OS::TripleO::Net::SoftwareConfig
+ type: OS::TripleO::Compute::Net::SoftwareConfig
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index a904e041..4e04eb0e 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -221,7 +221,7 @@ parameters:
network) - if changing this either use different post-install network
scripts or be sure to keep 'datacentre' as a mapping network name.
type: string
- default: ""
+ default: "datacentre:br-ex"
NeutronDnsmasqOptions:
default: 'dhcp-option-force=26,1400'
description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
@@ -257,7 +257,7 @@ parameters:
default: "True"
NeutronFlatNetworks:
type: string
- default: ''
+ default: 'datacentre'
description: If set, flat networks to configure in neutron plugins.
NeutronL3HA:
default: 'False'
@@ -431,7 +431,7 @@ resources:
type: OS::TripleO::NodeUserData
NetworkConfig:
- type: OS::TripleO::Net::SoftwareConfig
+ type: OS::TripleO::Controller::Net::SoftwareConfig
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
index b1ccf3d7..7e7f2fb2 100644
--- a/puppet/manifests/overcloud_controller.pp
+++ b/puppet/manifests/overcloud_controller.pp
@@ -24,23 +24,25 @@ if !str2bool(hiera('enable_package_install', 'false')) {
}
}
+$enable_pacemaker = str2bool(hiera('enable_pacemaker'))
+$enable_keepalived = !$enable_pacemaker
+if $::hostname == downcase(hiera('bootstrap_nodeid')) {
+ $pacemaker_master = true
+} else {
+ $pacemaker_master = false
+}
+
if hiera('step') >= 1 {
$controller_node_ips = split(hiera('controller_node_ips'), ',')
- $enable_pacemaker = str2bool(hiera('enable_pacemaker'))
- $enable_keepalived = !$enable_pacemaker
class { '::tripleo::loadbalancer' :
controller_hosts => $controller_node_ips,
+ manage_vip => $enable_keepalived,
}
if $enable_pacemaker {
$pacemaker_cluster_members = regsubst(hiera('controller_node_ips'), ',', ' ', 'G')
- if $::hostname == downcase(hiera('bootstrap_nodeid')) {
- $pacemaker_master = true
- } else {
- $pacemaker_master = false
- }
user { 'hacluster':
ensure => present,
} ->
@@ -54,6 +56,19 @@ if hiera('step') >= 1 {
class { '::pacemaker::stonith':
disable => true,
}
+ if $pacemaker_master {
+ $control_vip = hiera('tripleo::loadbalancer::controller_virtual_ip')
+ pacemaker::resource::ip { 'control_vip':
+ ip_address => $control_vip,
+ }
+ $public_vip = hiera('tripleo::loadbalancer::public_virtual_ip')
+ pacemaker::resource::ip { 'public_vip':
+ ip_address => $public_vip,
+ }
+ pacemaker::resource::systemd { 'haproxy':
+ clone => true,
+ }
+ }
}
}
@@ -168,29 +183,46 @@ if hiera('step') >= 2 {
allowed_hosts => $allowed_hosts,
}
- $rabbit_nodes = split(downcase(hiera('rabbit_node_names', $::hostname)), ',')
- if count($rabbit_nodes) > 1 {
- $rabbit_cluster = true
- }
- else {
- $rabbit_cluster = false
- }
- class { 'rabbitmq':
- config_cluster => $rabbit_cluster,
- cluster_nodes => $rabbit_nodes,
- node_ip_address => hiera('controller_host'),
- }
- if $rabbit_cluster {
- rabbitmq_policy { 'ha-all@/':
- pattern => '^(?!amq\.).*',
- definition => {
- 'ha-mode' => 'all',
- 'ha-sync-mode' => 'automatic',
+ if $enable_pacemaker {
+ # the module ignores erlang_cookie if cluster_config is false
+ file { '/var/lib/rabbitmq/.erlang.cookie':
+ ensure => 'present',
+ owner => 'rabbitmq',
+ group => 'rabbitmq',
+ mode => '0400',
+ content => hiera('rabbitmq::erlang_cookie'),
+ replace => true,
+ } ->
+ class { '::rabbitmq':
+ service_manage => false,
+ environment_variables => {
+ 'RABBITMQ_NODENAME' => "rabbit@$::hostname",
},
}
- }
- rabbitmq_vhost { '/':
- provider => 'rabbitmqctl',
+ if $pacemaker_master {
+ pacemaker::resource::ocf { 'rabbitmq':
+ resource_name => 'heartbeat:rabbitmq-cluster',
+ options => 'set_policy=\'ha-all ^(?!amq\.).* {"ha-mode":"all"}\'',
+ clone => true,
+ require => Class['::rabbitmq'],
+ }
+ }
+ } else {
+ $rabbit_nodes = split(hiera('rabbit_node_ips'), ',')
+ if count($rabbit_nodes) > 1 {
+ class { '::rabbitmq':
+ config_cluster => true,
+ cluster_nodes => $rabbit_nodes,
+ }
+ rabbitmq_policy { 'ha-all@/':
+ pattern => '^(?!amq\.).*',
+ definition => {
+ 'ha-mode' => 'all',
+ },
+ }
+ } else {
+ include ::rabbitmq
+ }
}
# pre-install swift here so we can build rings
diff --git a/puppet/swift-storage-puppet.yaml b/puppet/swift-storage-puppet.yaml
index 6f861d88..c3eb9536 100644
--- a/puppet/swift-storage-puppet.yaml
+++ b/puppet/swift-storage-puppet.yaml
@@ -68,6 +68,15 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ NetworkConfig:
+ type: OS::TripleO::ObjectStorage::Net::SoftwareConfig
+
+ NetworkDeployment:
+ type: OS::TripleO::SoftwareDeployment
+ properties:
+ config: {get_attr: [NetworkConfig, config_id]}
+ server: {get_resource: SwiftStorage}
+
SwiftStorageHieraConfig:
type: OS::Heat::StructuredConfig
properties:
diff --git a/swift-storage.yaml b/swift-storage.yaml
index db8ff5d3..7160c14d 100644
--- a/swift-storage.yaml
+++ b/swift-storage.yaml
@@ -116,6 +116,15 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ NetworkConfig:
+ type: OS::TripleO::ObjectStorage::Net::SoftwareConfig
+
+ NetworkDeployment:
+ type: OS::TripleO::SoftwareDeployment
+ properties:
+ config: {get_attr: [NetworkConfig, config_id]}
+ server: {get_resource: SwiftStorage}
+
SwiftStorageDeploy:
type: OS::Heat::StructuredDeployment
properties: