aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--block-storage.yaml1
-rw-r--r--nova-compute-config.yaml9
-rw-r--r--nova-compute-instance.yaml17
-rw-r--r--overcloud-source.yaml70
-rw-r--r--ssl-source.yaml7
-rw-r--r--swift-deploy.yaml22
-rw-r--r--swift-source.yaml2
-rw-r--r--swift-storage-source.yaml45
-rw-r--r--undercloud-source.yaml32
9 files changed, 176 insertions, 29 deletions
diff --git a/block-storage.yaml b/block-storage.yaml
index 9cc92fe1..16363b59 100644
--- a/block-storage.yaml
+++ b/block-storage.yaml
@@ -34,6 +34,7 @@ Resources:
BlockStorageConfig:
Type: OS::Heat::StructuredConfig
Properties:
+ group: os-apply-config
config:
admin-password: {Ref: AdminPassword}
keystone:
diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml
index 02d8e002..ebc8fbd2 100644
--- a/nova-compute-config.yaml
+++ b/nova-compute-config.yaml
@@ -2,6 +2,7 @@ Resources:
NovaComputeConfig:
Type: OS::Heat::StructuredConfig
Properties:
+ group: os-apply-config
config:
nova:
compute_driver: { get_input: nova_compute_driver }
@@ -14,6 +15,10 @@ Resources:
metering_secret: {get_input: ceilometer_metering_secret}
service-password: {get_input: ceilometer_password}
compute_agent: {get_input: ceilometer_compute_agent}
+ snmpd:
+ export_MIB: UCD-SNMP-MIB
+ readonly_user_name: {get_input: snmpd_readonly_user_name}
+ readonly_user_password: {get_input: snmpd_readonly_user_password}
glance:
host: {get_input: glance_host}
hosts: {get_input: static_hosts}
@@ -45,7 +50,11 @@ Resources:
base_image_id: {get_input: nova_image}
live_update_image_id: {get_input: live_update_compute_image}
completion-signal: {get_input: deploy_signal_id}
+ ntp:
+ servers:
+ - {server: {get_input: ntp_server}, fudge: "stratum 0"}
NovaComputePassthrough:
Type: OS::Heat::StructuredConfig
Properties:
+ group: os-apply-config
config: {get_input: passthrough_config}
diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
index 76a67766..a93eda03 100644
--- a/nova-compute-instance.yaml
+++ b/nova-compute-instance.yaml
@@ -43,7 +43,7 @@ Parameters:
}
}
Type: Json
- KeyName:
+ KeyName:
Description: Name of an existing EC2 KeyPair to enable SSH access to the instances
Type: String
Default: default
@@ -58,6 +58,9 @@ Parameters:
NovaImage:
Type: String
Default: overcloud-compute
+ NtpServer:
+ Type: String
+ Default: ''
KeystoneHost:
Type: String
NeutronFlatNetworks:
@@ -96,6 +99,15 @@ Parameters:
Description: The password for the ceilometer service account.
Type: String
NoEcho: true
+ SnmpdReadonlyUserName:
+ Default: ro_snmp_user
+ Description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+ Type: String
+ SnmpdReadonlyUserPassword:
+ Default: unset
+ Description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+ Type: String
+ NoEcho: true
NovaComputeDriver:
Type: String
Default: libvirt.LibvirtDriver
@@ -177,6 +189,8 @@ Resources:
ceilometer_metering_secret: {Ref: CeilometerMeteringSecret}
ceilometer_password: {Ref: CeilometerPassword}
ceilometer_compute_agent: {Ref: CeilometerComputeAgent}
+ snmpd_readonly_user_name: {Ref: SnmpdReadonlyUserName}
+ snmpd_readonly_user_password: {Ref: SnmpdReadonlyUserPassword}
glance_host: {Ref: GlanceHost}
static_hosts: {Ref: StaticHosts}
keystone_host: {Ref: KeystoneHost}
@@ -201,6 +215,7 @@ Resources:
live_update_tenant_name: {Ref: LiveUpdateTenantName}
nova_image: {Ref: NovaImage}
live_update_image_id: {Ref: LiveUpdateComputeImage}
+ ntp_server: {Ref: NtpServer}
NovaCompute0Passthrough:
Type: OS::Heat::StructuredDeployment
Properties:
diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index 4794f042..e3a440f9 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -121,6 +121,15 @@ Parameters:
Description: The password for the ceilometer service account.
Type: String
NoEcho: true
+ SnmpdReadonlyUserName:
+ Default: ro_snmp_user
+ Description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+ Type: String
+ SnmpdReadonlyUserPassword:
+ Default: unset
+ Description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+ Type: String
+ NoEcho: true
CloudName:
Default: ''
Description: The DNS name of this cloud. E.g. ci-overcloud.tripleo.org
@@ -254,14 +263,14 @@ Resources:
Path: nova-compute-instance.yaml
SubKey: Resources.NovaCompute0Deploy
Parameters:
- NovaApiHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- KeystoneHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- RabbitHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- NeutronHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- GlanceHost: {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
- NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/nova']]}
- CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/ceilometer']]}
- NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ]}, '/neutron']]}
+ NovaApiHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+ KeystoneHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+ RabbitHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+ NeutronHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+ GlanceHost: {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
+ NovaDSN: {"Fn::Join": ['', ['mysql://nova:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/nova']]}
+ CeilometerDSN: {"Fn::Join": ['', ['mysql://ceilometer:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/ceilometer']]}
+ NeutronDSN: {"Fn::Join": ['', ['mysql://neutron:unset@', {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}, '/neutron']]}
NeutronNetworkType: "gre"
NeutronEnableTunnelling: "True"
NeutronFlatNetworks:
@@ -344,6 +353,7 @@ Resources:
controllerConfig:
Type: OS::Heat::StructuredConfig
Properties:
+ group: os-apply-config
config:
completion-signal: {get_input: deploy_signal_id}
admin-password:
@@ -353,6 +363,20 @@ Resources:
bootstack:
public_interface_ip:
Ref: NeutronPublicInterfaceIP
+ bootstrap_host:
+ bootstrap_nodeid:
+ Fn::Select:
+ - 0
+ - Fn::Select:
+ - 0
+ - Merge::Map:
+ controller0:
+ - Fn::Select:
+ - name
+ - Fn::GetAtt:
+ - controller0
+ - show
+ nodeid: {get_input: bootstack_nodeid}
cinder:
db: mysql://cinder:unset@localhost/cinder
volume_size_mb:
@@ -424,6 +448,12 @@ Resources:
metering_secret: {Ref: CeilometerMeteringSecret}
service-password:
Ref: CeilometerPassword
+ snmpd:
+ export_MIB: UCD-SNMP-MIB
+ readonly_user_name:
+ Ref: SnmpdReadonlyUserName
+ readonly_user_password:
+ Ref: SnmpdReadonlyUserPassword
nova:
compute_driver: libvirt.LibvirtDriver
db: mysql://nova:unset@localhost/nova
@@ -460,6 +490,7 @@ Resources:
controllerPassthrough:
Type: OS::Heat::StructuredConfig
Properties:
+ group: os-apply-config
config: {get_input: passthrough_config}
controller0:
Type: OS::Nova::Server
@@ -479,7 +510,13 @@ Resources:
config: {Ref: controllerConfig}
server: {Ref: controller0}
input_values:
- controller_host:
+ bootstack_nodeid:
+ Fn::Select:
+ - name
+ - Fn::GetAtt:
+ - controller0
+ - show
+ controller_host:
Fn::Select:
- 0
- Fn::Select:
@@ -491,19 +528,19 @@ Resources:
Fn::Join:
- ''
- - 'http://'
- - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
+ - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
- ':8003'
heat.metadata_server_url:
Fn::Join:
- ''
- - 'http://'
- - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
+ - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
- ':8000'
heat.waitcondition_server_url:
Fn::Join:
- ''
- - 'http://'
- - {"Fn::Select": [ 0, "Fn::Select": [ ctlplane, { "Fn::GetAtt": [ controller0, networks ]}]]}
+ - {'Fn::Select': [ip_address, 'Fn::Select': [0, 'Fn::GetAtt': [ControlVirtualIP, fixed_ips]]]}
- ':8000/v1/waitcondition'
hosts:
Fn::Join:
@@ -570,6 +607,7 @@ Resources:
input_values:
ssl_certificate: {Ref: SSLCertificate}
ssl_key: {Ref: SSLKey}
+ ssl_ca_certificate: {Ref: SSLCACertificate}
controller0Passthrough:
Type: OS::Heat::StructuredDeployment
Properties:
@@ -586,10 +624,10 @@ Outputs:
- ''
- - http://
- Fn::Select:
- - 0
+ - ip_address
- Fn::Select:
- - ctlplane
+ - 0
- Fn::GetAtt:
- - controller0
- - networks
+ - ControlVirtualIP
+ - fixed_ips
- :5000/v2.0/
diff --git a/ssl-source.yaml b/ssl-source.yaml
index 26f2f72c..1d6ac246 100644
--- a/ssl-source.yaml
+++ b/ssl-source.yaml
@@ -10,16 +10,23 @@ Parameters:
Description: If set, the contents of an SSL certificate .key file for encrypting SSL endpoints.
Type: String
NoEcho: true
+ SSLCACertificate:
+ Default: ''
+ Description: If set, the contents of an SSL certificate authority file.
+ Type: String
Resources:
SSLConfig:
Type: OS::Heat::StructuredConfig
Properties:
+ group: os-apply-config
config:
stunnel:
cert:
get_input: ssl_certificate
key:
get_input: ssl_key
+ cacert:
+ get_input: ssl_ca_certificate
ports:
- name: 'ec2'
accept: 13773
diff --git a/swift-deploy.yaml b/swift-deploy.yaml
index 1e96928f..3fe8eced 100644
--- a/swift-deploy.yaml
+++ b/swift-deploy.yaml
@@ -43,3 +43,25 @@ Resources:
- SwiftStorage0
- networks
- ':%PORT%/d1'
+ swift_proxy_memcache:
+ Fn::Join:
+ - ', '
+ - - Fn::Join:
+ - ''
+ - - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+ - ':11211'
+ - Fn::Join:
+ - ', '
+ - Merge::Map:
+ SwiftStorage0:
+ Fn::Join:
+ - ''
+ - - Fn::Select:
+ - 0
+ - Fn::Select:
+ - 'ctlplane'
+ - Fn::GetAtt:
+ - SwiftStorage0
+ - networks
+ - ':11211'
+
diff --git a/swift-source.yaml b/swift-source.yaml
index 1a17b770..3ca2b1a8 100644
--- a/swift-source.yaml
+++ b/swift-source.yaml
@@ -2,11 +2,13 @@ Resources:
SwiftConfig:
Type: OS::Heat::StructuredConfig
Properties:
+ group: os-apply-config
config:
swift:
devices: { get_input: swift_devices }
hash: { get_input: swift_hash_suffix }
part-power: 10
+ proxy-memcache: { get_input: swift_proxy_memcache }
replicas: 1
service-password: { get_input: swift_password }
neutron:
diff --git a/swift-storage-source.yaml b/swift-storage-source.yaml
index 69236b28..f20b2752 100644
--- a/swift-storage-source.yaml
+++ b/swift-storage-source.yaml
@@ -39,16 +39,37 @@ Resources:
- ':%PORT%/d1'
- Fn::Join:
- ', '
- Merge::Map:
- SwiftStorage0:
- Fn::Join:
- - ''
- - - 'r1z1-'
- - Fn::Select:
- - 0
+ - Merge::Map:
+ SwiftStorage0:
+ Fn::Join:
+ - ''
+ - - 'r1z1-'
- Fn::Select:
- - 'ctlplane'
- - Fn::GetAtt:
- - SwiftStorage0
- - networks
- - ':%PORT%/d1'
+ - 0
+ - Fn::Select:
+ - 'ctlplane'
+ - Fn::GetAtt:
+ - SwiftStorage0
+ - networks
+ - ':%PORT%/d1'
+ swift_proxy_memcache:
+ Fn::Join:
+ - ', '
+ - - Fn::Join:
+ - ''
+ - - {"Fn::Select": [ 0, {"Fn::Select": [ "ctlplane", {"Fn::GetAtt": [controller0, networks]} ]} ] }
+ - ':11211'
+ - Fn::Join:
+ - ', '
+ - Merge::Map:
+ SwiftStorage0:
+ Fn::Join:
+ - ''
+ - - Fn::Select:
+ - 0
+ - Fn::Select:
+ - 'ctlplane'
+ - Fn::GetAtt:
+ - SwiftStorage0
+ - networks
+ - ':11211'
diff --git a/undercloud-source.yaml b/undercloud-source.yaml
index c64a6ad3..cf9a43b8 100644
--- a/undercloud-source.yaml
+++ b/undercloud-source.yaml
@@ -29,6 +29,15 @@ Parameters:
Description: The password for the ceilometer service account.
Type: String
NoEcho: true
+ SnmpdReadonlyUserName:
+ Default: ro_snmp_user
+ Description: The user name for SNMPd with readonly rights running on all Overcloud nodes
+ Type: String
+ SnmpdReadonlyUserPassword:
+ Default: unset
+ Description: The user password for SNMPd with readonly rights running on all Overcloud nodes
+ Type: String
+ NoEcho: true
Flavor:
Default: baremetal
Description: Flavor to request when deploying.
@@ -145,6 +154,25 @@ Resources:
Ref: AdminPassword
admin-token:
Ref: AdminToken
+ bootstrap_host:
+ bootstrap_nodeid:
+ Fn::Select:
+ - 0
+ - Fn::Select:
+ - 0
+ - Merge::Map:
+ undercloud:
+ - Fn::Select:
+ - name
+ - Fn::GetAtt:
+ - undercloud
+ - show
+ nodeid:
+ Fn::Select:
+ - name
+ - Fn::GetAtt:
+ - undercloud
+ - show
controller-address:
Fn::Select:
- 0
@@ -156,6 +184,10 @@ Resources:
ceilometer:
db: mysql://ceilometer:unset@localhost/ceilometer
metering_secret: {Ref: CeilometerMeteringSecret}
+ snmpd_readonly_user_name:
+ Ref: SnmpdReadonlyUserName
+ snmpd_readonly_user_password:
+ Ref: SnmpdReadonlyUserPassword
service-password:
Ref: CeilometerPassword
cinder: