diff options
-rw-r--r-- | compute-config.yaml | 73 | ||||
-rw-r--r-- | compute.yaml | 66 | ||||
-rw-r--r-- | nova-compute-config.yaml | 6 | ||||
-rw-r--r-- | nova-compute-instance.yaml | 22 | ||||
-rw-r--r-- | overcloud-resource-registry.yaml | 2 | ||||
-rw-r--r-- | overcloud-source.yaml | 56 | ||||
-rw-r--r-- | ssl-source.yaml | 29 | ||||
-rw-r--r-- | swift-deploy.yaml | 5 | ||||
-rw-r--r-- | swift-source.yaml | 1 | ||||
-rw-r--r-- | swift-storage-source.yaml | 1 | ||||
-rw-r--r-- | swift-storage.yaml | 5 | ||||
-rw-r--r-- | undercloud-source.yaml | 5 |
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: |