summaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'puppet')
-rw-r--r--puppet/ceph-storage-puppet.yaml21
-rw-r--r--puppet/cinder-storage-puppet.yaml30
-rw-r--r--puppet/compute-puppet.yaml45
-rw-r--r--puppet/controller-puppet.yaml64
-rw-r--r--puppet/manifests/overcloud_controller_pacemaker.pp20
-rw-r--r--puppet/swift-storage-puppet.yaml30
6 files changed, 191 insertions, 19 deletions
diff --git a/puppet/ceph-storage-puppet.yaml b/puppet/ceph-storage-puppet.yaml
index e3d623fd..00dbca01 100644
--- a/puppet/ceph-storage-puppet.yaml
+++ b/puppet/ceph-storage-puppet.yaml
@@ -45,13 +45,26 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ StoragePort:
+ type: OS::TripleO::CephStorage::Ports::StoragePort
+ properties:
+ ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
+
+ StorageMgmtPort:
+ type: OS::TripleO::CephStorage::Ports::StorageMgmtPort
+ properties:
+ ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
+
NetworkConfig:
type: OS::TripleO::CephStorage::Net::SoftwareConfig
+ properties:
+ StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
+ StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
properties:
- config: {get_attr: [NetworkConfig, config_id]}
+ config: {get_resource: NetworkConfig}
server: {get_resource: CephStorage}
CephStorageDeployment:
@@ -102,3 +115,9 @@ outputs:
description: Heat resource handle for the ceph storage server
value:
{get_resource: CephStorage}
+ storage_ip_address:
+ description: IP address of the server in the storage network
+ value: {get_attr: [StoragePort, ip_address]}
+ storage_mgmt_ip_address:
+ description: IP address of the server in the storage_mgmt network
+ value: {get_attr: [StorageMgmtPort, ip_address]}
diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml
index e373c928..c69a0f3c 100644
--- a/puppet/cinder-storage-puppet.yaml
+++ b/puppet/cinder-storage-puppet.yaml
@@ -123,13 +123,32 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ InternalApiPort:
+ type: OS::TripleO::BlockStorage::Ports::InternalApiPort
+ properties:
+ ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
+
+ StoragePort:
+ type: OS::TripleO::BlockStorage::Ports::StoragePort
+ properties:
+ ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
+
+ StorageMgmtPort:
+ type: OS::TripleO::BlockStorage::Ports::StorageMgmtPort
+ properties:
+ ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
+
NetworkConfig:
type: OS::TripleO::BlockStorage::Net::SoftwareConfig
+ properties:
+ InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
+ StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
+ StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
properties:
- config: {get_attr: [NetworkConfig, config_id]}
+ config: {get_resource: NetworkConfig}
server: {get_resource: BlockStorage}
BlockStorageDeployment:
@@ -209,3 +228,12 @@ outputs:
description: Heat resource handle for the block storage server
value:
{get_resource: BlockStorage}
+ internal_api_ip_address:
+ description: IP address of the server in the internal_api network
+ value: {get_attr: [InternalApiPort, ip_address]}
+ storage_ip_address:
+ description: IP address of the server in the storage network
+ value: {get_attr: [StoragePort, ip_address]}
+ storage_mgmt_ip_address:
+ description: IP address of the server in the storage_mgmt network
+ value: {get_attr: [StorageMgmtPort, ip_address]}
diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml
index b9106e60..28a4e045 100644
--- a/puppet/compute-puppet.yaml
+++ b/puppet/compute-puppet.yaml
@@ -247,6 +247,11 @@ parameters:
default: 'false'
description: Set to true to enable package installation via Puppet
type: boolean
+ ServiceNetMap:
+ default: {}
+ description: Mapping of service_name -> network name. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
resources:
@@ -267,14 +272,40 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ InternalApiPort:
+ type: OS::TripleO::Compute::Ports::InternalApiPort
+ properties:
+ ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
+
+ StoragePort:
+ type: OS::TripleO::Compute::Ports::StoragePort
+ properties:
+ ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
+
+ TenantPort:
+ type: OS::TripleO::Compute::Ports::TenantPort
+ properties:
+ ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
+
+ NetIpMap:
+ type: OS::TripleO::Network::Ports::NetIpMap
+ properties:
+ InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
+ StorageIp: {get_attr: [StoragePort, ip_address]}
+ TenantIp: {get_attr: [TenantPort, ip_address]}
+
NetworkConfig:
type: OS::TripleO::Compute::Net::SoftwareConfig
+ properties:
+ InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
+ StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
+ TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
properties:
signal_transport: NO_SIGNAL
- config: {get_attr: [NetworkConfig, config_id]}
+ config: {get_resource: NetworkConfig}
server: {get_resource: NovaCompute}
input_values:
bridge_name: {get_param: NeutronPhysicalBridge}
@@ -334,7 +365,8 @@ resources:
neutron::rabbit_port: {get_input: rabbit_client_port}
neutron_flat_networks: {get_input: neutron_flat_networks}
neutron_host: {get_input: neutron_host}
- neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip}
+ neutron::agents::ml2::ovs::local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronLocalIp]}]}
+
neutron_tenant_network_type: {get_input: neutron_tenant_network_type}
neutron_tunnel_types: {get_input: neutron_tunnel_types}
neutron::network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
@@ -431,6 +463,15 @@ outputs:
ip_address:
description: IP address of the server in the ctlplane network
value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
+ internal_api_ip_address:
+ description: IP address of the server in the internal_api network
+ value: {get_attr: [InternalApiPort, ip_address]}
+ storage_ip_address:
+ description: IP address of the server in the storage network
+ value: {get_attr: [StoragePort, ip_address]}
+ tenant_ip_address:
+ description: IP address of the server in the tenant network
+ value: {get_attr: [TenantPort, ip_address]}
hostname:
description: Hostname of the server
value: {get_attr: [NovaCompute, name]}
diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml
index bcbaf56e..3e522df9 100644
--- a/puppet/controller-puppet.yaml
+++ b/puppet/controller-puppet.yaml
@@ -426,6 +426,11 @@ parameters:
default: 'false'
description: Set to true to enable package installation via Puppet
type: boolean
+ ServiceNetMap:
+ default: {}
+ description: Mapping of service_name -> network name. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
resources:
@@ -444,14 +449,54 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ ExternalPort:
+ type: OS::TripleO::Controller::Ports::ExternalPort
+ properties:
+ ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
+
+ InternalApiPort:
+ type: OS::TripleO::Controller::Ports::InternalApiPort
+ properties:
+ ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
+
+ StoragePort:
+ type: OS::TripleO::Controller::Ports::StoragePort
+ properties:
+ ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
+
+ StorageMgmtPort:
+ type: OS::TripleO::Controller::Ports::StorageMgmtPort
+ properties:
+ ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
+
+ TenantPort:
+ type: OS::TripleO::Controller::Ports::TenantPort
+ properties:
+ ControlPlaneIP: {get_attr: [Controller, networks, ctlplane, 0]}
+
+ NetIpMap:
+ type: OS::TripleO::Network::Ports::NetIpMap
+ properties:
+ ExternalIp: {get_attr: [ExternalPort, ip_address]}
+ InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
+ StorageIp: {get_attr: [StoragePort, ip_address]}
+ StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
+ TenantIp: {get_attr: [TenantPort, ip_address]}
+
NetworkConfig:
type: OS::TripleO::Controller::Net::SoftwareConfig
+ properties:
+ ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
+ InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
+ StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
+ StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
+ TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
properties:
signal_transport: NO_SIGNAL
- config: {get_attr: [NetworkConfig, config_id]}
+ config: {get_resource: NetworkConfig}
server: {get_resource: Controller}
input_values:
bridge_name: br-ex
@@ -778,7 +823,7 @@ resources:
neutron::server::identity_uri: {get_input: keystone_identity_uri}
neutron::server::database_connection: {get_input: neutron_dsn}
neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling}
- neutron::agents::ml2::ovs::local_ip: {get_input: controller_host}
+ neutron::agents::ml2::ovs::local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronLocalIp]}]}
neutron_flat_networks: {get_input: neutron_flat_networks}
neutron::agents::metadata::shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
neutron::agents::metadata::metadata_ip: {get_input: controller_virtual_ip}
@@ -863,6 +908,21 @@ outputs:
ip_address:
description: IP address of the server in the ctlplane network
value: {get_attr: [Controller, networks, ctlplane, 0]}
+ external_ip_address:
+ description: IP address of the server in the external network
+ value: {get_attr: [ExternalPort, ip_address]}
+ internal_api_ip_address:
+ description: IP address of the server in the internal_api network
+ value: {get_attr: [InternalApiPort, ip_address]}
+ storage_ip_address:
+ description: IP address of the server in the storage network
+ value: {get_attr: [StoragePort, ip_address]}
+ storage_mgmt_ip_address:
+ description: IP address of the server in the storage_mgmt network
+ value: {get_attr: [StorageMgmtPort, ip_address]}
+ tenant_ip_address:
+ description: IP address of the server in the tenant network
+ value: {get_attr: [TenantPort, ip_address]}
hostname:
description: Hostname of the server
value: {get_attr: [Controller, name]}
diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp
index 3626f5b7..058d8c02 100644
--- a/puppet/manifests/overcloud_controller_pacemaker.pp
+++ b/puppet/manifests/overcloud_controller_pacemaker.pp
@@ -94,14 +94,14 @@ if hiera('step') >= 1 {
replace => true,
}
- # MongoDB
- include ::mongodb::globals
-
- # FIXME: replace with service_manage => false on ::mongodb::server
- # when this is merged: https://github.com/puppetlabs/pupp etlabs-mongodb/pull/198
- class { '::mongodb::server' :
- service_ensure => undef,
- service_enable => false,
+ if downcase(hiera('ceilometer_backend')) == 'mongodb' {
+ include ::mongodb::globals
+ # FIXME: replace with service_manage => false on ::mongodb::server
+ # when this is merged: https://github.com/puppetlabs/pupp etlabs-mongodb/pull/198
+ class { '::mongodb::server' :
+ service_ensure => undef,
+ service_enable => false,
+ }
}
# Galera
@@ -208,10 +208,6 @@ if hiera('step') >= 2 {
require => Class['::mysql::server'],
before => Exec['galera-ready'],
}
- mysql_user { 'clustercheckuser@localhost' :
- password_hash => mysql_password($clustercheck_password),
- require => Exec['galera-ready'],
- }
}
# Redis
diff --git a/puppet/swift-storage-puppet.yaml b/puppet/swift-storage-puppet.yaml
index b1c4f238..12292dec 100644
--- a/puppet/swift-storage-puppet.yaml
+++ b/puppet/swift-storage-puppet.yaml
@@ -68,13 +68,32 @@ resources:
NodeUserData:
type: OS::TripleO::NodeUserData
+ InternalApiPort:
+ type: OS::TripleO::SwiftStorage::Ports::InternalApiPort
+ properties:
+ ControlPlaneIP: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
+
+ StoragePort:
+ type: OS::TripleO::SwiftStorage::Ports::StoragePort
+ properties:
+ ControlPlaneIP: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
+
+ StorageMgmtPort:
+ type: OS::TripleO::SwiftStorage::Ports::StorageMgmtPort
+ properties:
+ ControlPlaneIP: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
+
NetworkConfig:
type: OS::TripleO::ObjectStorage::Net::SoftwareConfig
+ properties:
+ InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
+ StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
+ StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
properties:
- config: {get_attr: [NetworkConfig, config_id]}
+ config: {get_resource: NetworkConfig}
server: {get_resource: SwiftStorage}
SwiftStorageHieraConfig:
@@ -151,3 +170,12 @@ outputs:
template: 'r1z1-IP:%PORT%/d1'
params:
IP: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
+ internal_api_ip_address:
+ description: IP address of the server in the internal_api network
+ value: {get_attr: [InternalApiPort, ip_address]}
+ storage_ip_address:
+ description: IP address of the server in the storage network
+ value: {get_attr: [StoragePort, ip_address]}
+ storage_mgmt_ip_address:
+ description: IP address of the server in the storage_mgmt network
+ value: {get_attr: [StorageMgmtPort, ip_address]}