summaryrefslogtreecommitdiffstats
path: root/puppet/compute-puppet.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'puppet/compute-puppet.yaml')
-rw-r--r--puppet/compute-puppet.yaml46
1 files changed, 39 insertions, 7 deletions
diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml
index e85a96aa..74e9b63e 100644
--- a/puppet/compute-puppet.yaml
+++ b/puppet/compute-puppet.yaml
@@ -70,9 +70,12 @@ parameters:
default: default
constraints:
- custom_constraint: nova.keypair
- KeystoneHost:
+ KeystoneAdminApiVirtualIP:
type: string
default: ''
+ KeystonePublicApiVirtualIP:
+ type: string
+ default: ''
NeutronBridgeMappings:
description: >
The OVS logical->physical bridge mappings to use. See the Neutron
@@ -97,7 +100,7 @@ parameters:
NeutronNetworkType:
type: string
description: The tenant network type for Neutron, either gre or vxlan.
- default: 'gre'
+ default: 'vxlan'
NeutronNetworkVLANRanges:
default: 'datacentre'
description: >
@@ -123,7 +126,7 @@ parameters:
description: |
The tunnel types for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'gre,vxlan'
- default: 'gre'
+ default: 'vxlan'
NeutronTunnelIdRanges:
description: |
Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges
@@ -260,9 +263,26 @@ resources:
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
- user_data: {get_resource: NodeUserData}
+ user_data: {get_resource: UserData}
name: {get_param: Hostname}
+ # Combine the NodeAdminUserData and NodeUserData mime archives
+ UserData:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: {get_resource: NodeAdminUserData}
+ type: multipart
+ - config: {get_resource: NodeUserData}
+ type: multipart
+
+ # Creates the "heat-admin" user if configured via the environment
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
+ NodeAdminUserData:
+ type: OS::TripleO::NodeAdminUserData
+
+ # For optional operator additional userdata
+ # Should return a OS::Heat::MultipartMime reference via OS::stack_id
NodeUserData:
type: OS::TripleO::NodeUserData
@@ -284,6 +304,7 @@ resources:
NetIpMap:
type: OS::TripleO::Network::Ports::NetIpMap
properties:
+ ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
StorageIp: {get_attr: [StoragePort, ip_address]}
TenantIp: {get_attr: [TenantPort, ip_address]}
@@ -410,7 +431,7 @@ resources:
list_join:
- ''
- - 'http://'
- - {get_param: KeystoneHost}
+ - {get_param: KeystonePublicApiVirtualIP}
- ':5000/v2.0'
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
@@ -471,7 +492,7 @@ resources:
list_join:
- ''
- - 'http://'
- - {get_param: NeutronHost}
+ - {get_param: KeystoneAdminApiVirtualIP}
- ':35357/v2.0'
admin_password: {get_param: AdminPassword}
rabbit_username: {get_param: RabbitUserName}
@@ -485,6 +506,13 @@ resources:
server: {get_param: NtpServer}
enable_package_install: {get_param: EnablePackageInstall}
+ # Hook for site-specific additional pre-deployment config, e.g extra hieradata
+ ComputeExtraConfigPre:
+ depends_on: NovaComputeDeployment
+ type: OS::TripleO::ComputeExtraConfigPre
+ properties:
+ server: {get_resource: NovaCompute}
+
UpdateConfig:
type: OS::TripleO::Tasks::PackageUpdate
@@ -528,4 +556,8 @@ outputs:
{get_resource: NovaCompute}
config_identifier:
description: identifier which changes if the node configuration may need re-applying
- value: {get_attr: [NovaComputeDeployment, deploy_stdout]}
+ value:
+ list_join:
+ - ','
+ - - {get_attr: [NovaComputeDeployment, deploy_stdout]}
+ - {get_attr: [ComputeExtraConfigPre, deploy_stdout]}