diff options
-rw-r--r-- | block-storage.yaml | 1 | ||||
-rw-r--r-- | nova-compute-config.yaml | 9 | ||||
-rw-r--r-- | nova-compute-instance.yaml | 17 | ||||
-rw-r--r-- | overcloud-source.yaml | 70 | ||||
-rw-r--r-- | ssl-source.yaml | 7 | ||||
-rw-r--r-- | swift-deploy.yaml | 22 | ||||
-rw-r--r-- | swift-source.yaml | 2 | ||||
-rw-r--r-- | swift-storage-source.yaml | 45 | ||||
-rw-r--r-- | undercloud-source.yaml | 32 |
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: |