aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compute-config.yaml73
-rw-r--r--compute.yaml66
-rw-r--r--nova-compute-config.yaml6
-rw-r--r--nova-compute-instance.yaml22
-rw-r--r--overcloud-resource-registry.yaml2
-rw-r--r--overcloud-source.yaml56
-rw-r--r--ssl-source.yaml29
-rw-r--r--swift-deploy.yaml5
-rw-r--r--swift-source.yaml1
-rw-r--r--swift-storage-source.yaml1
-rw-r--r--swift-storage.yaml5
-rw-r--r--undercloud-source.yaml5
12 files changed, 184 insertions, 87 deletions
diff --git a/compute-config.yaml b/compute-config.yaml
new file mode 100644
index 00000000..4d1e3cec
--- /dev/null
+++ b/compute-config.yaml
@@ -0,0 +1,73 @@
+heat_template_version: 2014-10-16
+
+description: >
+ Software Config for Nova Compute.
+
+resources:
+ NovaComputeConfigImpl:
+ type: OS::Heat::StructuredConfig
+ properties:
+ group: os-apply-config
+ config:
+ nova:
+ compute_driver: { get_input: nova_compute_driver }
+ compute_libvirt_type: { get_input: nova_compute_libvirt_type }
+ db: {get_input: nova_dsn}
+ debug: {get_input: debug}
+ host: {get_input: nova_api_host}
+ public_ip: {get_input: nova_public_ip}
+ service-password: {get_input: nova_password}
+ ceilometer:
+ db: {get_input: ceilometer_dsn}
+ debug: {get_input: debug}
+ 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:
+ debug: {get_input: debug}
+ host: {get_input: glance_host}
+ port: {get_input: glance_port}
+ protocol: {get_input: glance_protocol}
+ keystone:
+ debug: {get_input: debug}
+ host: {get_input: keystone_host}
+ neutron:
+ debug: {get_input: debug}
+ flat-networks: {get_input: neutron_flat_networks}
+ host: {get_input: neutron_host}
+ ovs_db: {get_input: neutron_dsn}
+ ovs:
+ local_ip: {get_input: neutron_local_ip}
+ tenant_network_type: {get_input: neutron_tenant_network_type}
+ tunnel_types: {get_input: neutron_tunnel_types}
+ network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
+ bridge_mappings: {get_input: neutron_bridge_mappings}
+ enable_tunneling: {get_input: neutron_enable_tunneling}
+ physical_bridge: {get_input: neutron_physical_bridge}
+ public_interface: {get_input: neutron_public_interface}
+ service-password: {get_input: neutron_password}
+ admin-password: {get_input: admin_password}
+ rabbit:
+ host: {get_input: rabbit_host}
+ username: {get_input: rabbit_username}
+ password: {get_input: rabbit_password}
+ live-update:
+ host: {get_input: live_update_host}
+ username: {get_input: live_update_username}
+ password: {get_input: live_update_password}
+ tenant-name: {get_input: live_update_tenant_name}
+ base_image_id: {get_input: nova_image}
+ live_update_image_id: {get_input: live_update_compute_image}
+ ntp:
+ servers:
+ - {server: {get_input: ntp_server}, fudge: "stratum 0"}
+
+outputs:
+ config_id:
+ description: The ID of the NovaComputeConfigImpl resource.
+ value:
+ {get_resource: NovaComputeConfigImpl}
diff --git a/compute.yaml b/compute.yaml
index bc13509c..57b30868 100644
--- a/compute.yaml
+++ b/compute.yaml
@@ -245,74 +245,16 @@ resources:
user_data_format: SOFTWARE_CONFIG
NovaComputeConfig:
- type: OS::Heat::StructuredConfig
- properties:
- group: os-apply-config
- config:
- nova:
- compute_driver: { get_input: nova_compute_driver }
- compute_libvirt_type: { get_input: nova_compute_libvirt_type }
- db: {get_input: nova_dsn}
- debug: {get_param: Debug}
- host: {get_input: nova_api_host}
- public_ip: {get_input: nova_public_ip}
- service-password: {get_input: nova_password}
- ceilometer:
- db: {get_input: ceilometer_dsn}
- debug: {get_param: Debug}
- 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:
- debug: {get_param: Debug}
- host: {get_input: glance_host}
- port: {get_input: glance_port}
- protocol: {get_input: glance_protocol}
- keystone:
- debug: {get_param: Debug}
- host: {get_input: keystone_host}
- neutron:
- debug: {get_param: Debug}
- flat-networks: {get_input: neutron_flat_networks}
- host: {get_input: neutron_host}
- ovs_db: {get_input: neutron_dsn}
- ovs:
- local_ip: {get_input: neutron_local_ip}
- tenant_network_type: {get_input: neutron_tenant_network_type}
- tunnel_types: {get_input: neutron_tunnel_types}
- network_vlan_ranges: {get_input: neutron_network_vlan_ranges}
- bridge_mappings: {get_input: neutron_bridge_mappings}
- enable_tunneling: {get_input: neutron_enable_tunneling}
- physical_bridge: {get_input: neutron_physical_bridge}
- public_interface: {get_input: neutron_public_interface}
- service-password: {get_input: neutron_password}
- admin-password: {get_input: admin_password}
- rabbit:
- host: {get_input: rabbit_host}
- username: {get_input: rabbit_username}
- password: {get_input: rabbit_password}
- live-update:
- host: {get_input: live_update_host}
- username: {get_input: live_update_username}
- password: {get_input: live_update_password}
- tenant-name: {get_input: live_update_tenant_name}
- base_image_id: {get_input: nova_image}
- live_update_image_id: {get_input: live_update_compute_image}
- ntp:
- servers:
- - {server: {get_input: ntp_server}, fudge: "stratum 0"}
+ type: OS::TripleO::Compute::SoftwareConfig
NovaComputeDeployment:
- type: OS::Heat::StructuredDeployment
+ type: OS::TripleO::SoftwareDeployment
properties:
signal_transport: NO_SIGNAL
- config: {get_resource: NovaComputeConfig}
+ config: {get_attr: [NovaComputeConfig, config_id]}
server: {get_resource: NovaCompute}
input_values:
+ debug: {get_param: Debug}
nova_compute_driver: {get_param: NovaComputeDriver}
nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType}
nova_dsn: {get_param: NovaDSN}
diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml
index 63685df6..8ba778bc 100644
--- a/nova-compute-config.yaml
+++ b/nova-compute-config.yaml
@@ -34,7 +34,12 @@ resources:
debug: {get_param: Debug}
flat-networks: {get_input: neutron_flat_networks}
host: {get_input: neutron_host}
+ router_distributed: {get_input: neutron_router_distributed}
+ agent_mode: {get_input: neutron_agent_mode}
ovs_db: {get_input: neutron_dsn}
+ metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
+ mechanism_drivers: {get_input: neutron_mechanism_drivers}
+ allow_automatic_l3agent_failover: {get_input: neutron_allow_l3agent_failover}
ovs:
local_ip: {get_input: neutron_local_ip}
tenant_network_type: {get_input: neutron_tenant_network_type}
@@ -44,6 +49,7 @@ resources:
enable_tunneling: {get_input: neutron_enable_tunneling}
physical_bridge: {get_input: neutron_physical_bridge}
public_interface: {get_input: neutron_public_interface}
+ public_interface_raw_device: {get_input: neutron_public_interface_raw_device}
service-password: {get_input: neutron_password}
admin-password: {get_input: admin_password}
rabbit:
diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml
index ab958b77..180657a6 100644
--- a/nova-compute-instance.yaml
+++ b/nova-compute-instance.yaml
@@ -144,6 +144,22 @@ parameters:
The tunnel types for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'gre,vxlan'
type: string
+ NeutronPublicInterfaceRawDevice:
+ default: ''
+ type: string
+ NeutronDVR:
+ default: 'False'
+ type: string
+ NeutronMechanismDrivers:
+ default: 'openvswitch'
+ description: |
+ The mechanism drivers for the Neutron tenant network. To specify multiple
+ values, use a comma separated string, like so: 'openvswitch,l2_population'
+ type: string
+ NeutronAllowL3AgentFailover:
+ default: 'True'
+ description: Allow automatic l3-agent failover
+ type: string
NovaApiHost:
type: string
NovaComputeDriver:
@@ -240,7 +256,13 @@ resources:
neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
neutron_physical_bridge: {get_param: NeutronPhysicalBridge}
neutron_public_interface: {get_param: NeutronPublicInterface}
+ neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
neutron_password: {get_param: NeutronPassword}
+ neutron_agent_mode: {get_param: NeutronComputeAgentMode}
+ neutron_router_distributed: {get_param: NeutronDVR}
+ neutron_metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
+ neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
+ neutron_allow_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
admin_password: {get_param: AdminPassword}
rabbit_host: {get_param: RabbitHost}
rabbit_username: {get_param: RabbitUserName}
diff --git a/overcloud-resource-registry.yaml b/overcloud-resource-registry.yaml
index 822d9873..4ac404ee 100644
--- a/overcloud-resource-registry.yaml
+++ b/overcloud-resource-registry.yaml
@@ -1,5 +1,7 @@
resource_registry:
OS::TripleO::BlockStorage: cinder-storage.yaml
OS::TripleO::Compute: compute.yaml
+ OS::TripleO::Compute::SoftwareConfig: compute-config.yaml
+ OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment
OS::TripleO::Controller: controller.yaml
OS::TripleO::ObjectStorage: swift-storage.yaml
diff --git a/overcloud-source.yaml b/overcloud-source.yaml
index 64deb95b..c08dcbde 100644
--- a/overcloud-source.yaml
+++ b/overcloud-source.yaml
@@ -280,12 +280,46 @@ parameters:
overcloud.yaml to include the deployment of VLAN ports to the control
plane.
type: string
+ NeutronPublicInterfaceRawDevice:
+ default: ''
+ description: If set, the public interface is a vlan with this device as the raw device.
+ type: string
+ NeutronComputeAgentMode:
+ default: 'dvr'
+ description: Agent mode for the neutron-l3-agent on the compute hosts
+ type: string
+ NeutronAgentMode:
+ default: 'dvr_snat'
+ description: Agent mode for the neutron-l3-agent on the controller hosts
+ type: string
+ NeutronDVR:
+ default: 'False'
+ description: Whether to configure Neutron Distributed Virtual Routers
+ type: string
+ NeutronMetadataProxySharedSecret:
+ default: 'unset'
+ description: Shared secret to prevent spoofing
+ type: string
+ NeutronNetworkType:
+ default: 'gre'
+ description: The tenant network type for Neutron, either gre or vxlan.
+ type: string
NeutronTunnelTypes:
default: 'gre'
description: |
The tunnel types for the Neutron tenant network. To specify multiple
values, use a comma separated string, like so: 'gre,vxlan'
type: string
+ NeutronMechanismDrivers:
+ default: 'openvswitch'
+ description: |
+ The mechanism drivers for the Neutron tenant network. To specify multiple
+ values, use a comma separated string, like so: 'openvswitch,l2_population'
+ type: string
+ NeutronAllowL3AgentFailover:
+ default: 'True'
+ description: Allow automatic l3-agent failover
+ type: string
NovaComputeDriver:
default: libvirt.LibvirtDriver
type: string
@@ -449,6 +483,16 @@ resources:
get_param: HypervisorNeutronPublicInterface
NeutronBridgeMappings:
get_param: NeutronBridgeMappings
+ NeutronDVR:
+ get_param: NeutronDVR
+ NeutronAgentMode:
+ get_param: NeutronComputeAgentMode
+ NeutronPublicInterfaceRawDevice:
+ get_param: NeutronPublicInterfaceRawDevice
+ NeutronMechanismDrivers:
+ get_param: NeutronMechanismDrivers
+ NeutronAllowL3AgentFailover:
+ get_param: NeutronAllowL3AgentFailover
NovaCompute0AllNodesDeployment:
type: FileInclude
Path: nova-compute-instance.yaml
@@ -609,7 +653,11 @@ resources:
debug: {get_param: Debug}
flat-networks: {get_param: NeutronFlatNetworks}
host: {get_input: controller_virtual_ip}
- metadata_proxy_shared_secret: unset
+ metadata_proxy_shared_secret: {get_param: NeutronMetadataProxySharedSecret}
+ agent_mode: {get_param: NeutronAgentMode}
+ router_distributed: {get_param: NeutronDVR}
+ mechanism_drivers: {get_param: NeutronMechanismDrivers}
+ allow_automatic_l3agent_failover: {get_param: NeutronAllowL3AgentFailover}
ovs:
enable_tunneling: 'True'
local_ip:
@@ -732,6 +780,8 @@ resources:
net_binds:
- &control_vip {ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}}
- &public_vip {ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]}}
+ options:
+ - option httpchk GET /
services:
- name: keystone_admin
port: 35357
@@ -747,6 +797,7 @@ resources:
port: 9292
- name: glance_registry
port: 9191
+ options: # overwrite options as glace_reg needs auth for http req
- name: heat_api
port: 8004
- name: heat_cloudwatch
@@ -772,8 +823,11 @@ resources:
port: 6080
- name: ceilometer
port: 8777
+ options: # overwrite options as ceil needs auth for http req
- name: swift_proxy_server
port: 8080
+ options:
+ - option httpchk GET /info
- name: rabbitmq
port: 5672
net_binds:
diff --git a/ssl-source.yaml b/ssl-source.yaml
index a03aac37..a9357323 100644
--- a/ssl-source.yaml
+++ b/ssl-source.yaml
@@ -21,53 +21,34 @@ resources:
group: os-apply-config
config:
ssl:
- ca_certificate:
- get_input: ssl_ca_certificate
+ ca_certificate: {get_input: ssl_ca_certificate}
stunnel:
- cert:
- get_input: ssl_certificate
- key:
- get_input: ssl_key
- cacert:
- get_input: ssl_ca_certificate
+ cert: {get_input: ssl_certificate}
+ key: {get_input: ssl_key}
+ cacert: {get_input: ssl_ca_certificate}
+ connect_host: {get_input: controller_host}
ports:
- name: 'ec2'
accept: 13773
connect: 8773
- connect_host:
- get_input: controller_host
- name: 'image'
accept: 13292
connect: 9292
- connect_host:
- get_input: controller_host
- name: 'identity'
accept: 13000
connect: 5000
- connect_host:
- get_input: controller_host
- name: 'network'
accept: 13696
connect: 9696
- connect_host:
- get_input: controller_host
- name: 'compute'
accept: 13774
connect: 8774
- connect_host:
- get_input: controller_host
- name: 'swift-proxy'
accept: 13080
connect: 8080
- connect_host:
- get_input: controller_host
- name: 'cinder'
accept: 13776
connect: 8776
- connect_host:
- get_input: controller_host
- name: 'ceilometer'
accept: 13777
connect: 8777
- connect_host:
- get_input: controller_host
diff --git a/swift-deploy.yaml b/swift-deploy.yaml
index 9c42684a..1e15511f 100644
--- a/swift-deploy.yaml
+++ b/swift-deploy.yaml
@@ -5,6 +5,10 @@ parameters:
description: A random string to be used as a salt when hashing to determine mappings in the ring.
type: string
hidden: true
+ SwiftMountCheck:
+ default: 'false'
+ description: Value of mount_check in Swift account/container/object -server.conf
+ type: boolean
SwiftMinPartHours:
type: number
default: 1
@@ -31,6 +35,7 @@ resources:
signal_transport: NO_SIGNAL
input_values:
swift_hash_suffix: {get_param: SwiftHashSuffix}
+ swift_mount_check: {get_param: SwiftMountCheck}
swift_password: {get_param: SwiftPassword}
swift_part_power: {get_param: SwiftPartPower}
swift_devices:
diff --git a/swift-source.yaml b/swift-source.yaml
index 815ca7f5..e6fd951e 100644
--- a/swift-source.yaml
+++ b/swift-source.yaml
@@ -7,6 +7,7 @@ resources:
swift:
devices: { get_input: swift_devices }
hash: { get_input: swift_hash_suffix }
+ mount-check: { get_input: swift_mount_check }
part-power: { get_input: swift_part_power }
proxy-memcache: { get_input: swift_proxy_memcache }
replicas: {get_input: swift_replicas }
diff --git a/swift-storage-source.yaml b/swift-storage-source.yaml
index fabb5545..10155df9 100644
--- a/swift-storage-source.yaml
+++ b/swift-storage-source.yaml
@@ -42,6 +42,7 @@ resources:
signal_transport: NO_SIGNAL
input_values:
swift_hash_suffix: {get_param: SwiftHashSuffix}
+ swift_mount_check: {get_param: SwiftMountCheck}
swift_password: {get_param: SwiftPassword}
swift_part_power: {get_param: SwiftPartPower}
swift_devices:
diff --git a/swift-storage.yaml b/swift-storage.yaml
index 68fd8a48..2b40e800 100644
--- a/swift-storage.yaml
+++ b/swift-storage.yaml
@@ -59,6 +59,10 @@ parameters:
default: default
description: Name of an existing EC2 KeyPair to enable SSH access to the instances
type: string
+ MountCheck:
+ default: 'false'
+ description: Value of mount_check in Swift account/container/object -server.conf
+ type: boolean
NeutronEnableTunnelling:
default: "True"
type: string
@@ -143,6 +147,7 @@ resources:
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
swift_hash_suffix: {get_param: HashSuffix}
+ swift_mount_check: {get_param: MountCheck}
swift_password: {get_param: Password}
swift_part_power: {get_param: PartPower}
swift_replicas: { get_param: Replicas}
diff --git a/undercloud-source.yaml b/undercloud-source.yaml
index 67c3e6d6..18527e53 100644
--- a/undercloud-source.yaml
+++ b/undercloud-source.yaml
@@ -179,6 +179,9 @@ parameters:
description: The password for the nova service account, used by nova-api.
type: string
hidden: true
+ NeutronDVR:
+ default: 'False'
+ type: string
NtpServer:
type: string
default: ''
@@ -312,6 +315,8 @@ resources:
host: 127.0.0.1
ovs_db: mysql://neutron:unset@localhost/ovs_neutron?charset=utf8
ovs:
+ local_ip:
+ get_input: controller_host
public_interface:
get_param: NeutronPublicInterface
public_interface_raw_device: