diff options
-rw-r--r-- | compute-config-puppet.yaml | 112 | ||||
-rw-r--r-- | compute-config.yaml | 9 | ||||
-rw-r--r-- | compute.yaml | 27 | ||||
-rw-r--r-- | controller.yaml | 7 | ||||
-rw-r--r-- | net-config-bond.yaml | 44 | ||||
-rw-r--r-- | net-config-bridge.yaml | 37 | ||||
-rw-r--r-- | net-config-noop.yaml | 18 | ||||
-rw-r--r-- | nova-compute-config.yaml | 3 | ||||
-rw-r--r-- | nova-compute-instance.yaml | 9 | ||||
-rw-r--r-- | overcloud-resource-registry-puppet.yaml | 8 | ||||
-rw-r--r-- | overcloud-resource-registry.yaml | 1 | ||||
-rw-r--r-- | overcloud-source.yaml | 31 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 28 | ||||
-rw-r--r-- | puppet/hieradata/common.yaml | 1 | ||||
-rw-r--r-- | puppet/hieradata/compute.yaml | 20 | ||||
-rw-r--r-- | puppet/overcloud_compute.pp | 58 | ||||
-rw-r--r-- | undercloud-bm-nova-deploy.yaml | 2 | ||||
-rw-r--r-- | undercloud-vm-ironic-deploy.yaml | 2 | ||||
-rw-r--r-- | undercloud-vm-nova-deploy.yaml | 2 |
19 files changed, 349 insertions, 70 deletions
diff --git a/compute-config-puppet.yaml b/compute-config-puppet.yaml new file mode 100644 index 00000000..8414579c --- /dev/null +++ b/compute-config-puppet.yaml @@ -0,0 +1,112 @@ +# Copyright 2014 Red Hat, Inc. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +heat_template_version: 2014-10-16 + +description: > + Puppet Software Config for Nova Compute. + +parameters: + server_id: + type: string + hidden: true + +resources: + + ComputePuppetConfig: + type: OS::Heat::SoftwareConfig + properties: + group: puppet + outputs: + - name: result + config: + get_file: puppet/overcloud_compute.pp + + ComputePuppetDeployment: + type: OS::Heat::StructuredDeployment + properties: + server: {get_param: server_id} + config: {get_resource: ComputePuppetConfig} + signal_transport: NO_SIGNAL + + NovaComputeConfigImpl: + type: OS::Heat::StructuredConfig + properties: + group: os-apply-config + config: + hiera: + hierarchy: + - heat_config_%{::deploy_config_name} + - compute + - common + datafiles: + common: + raw_data: {get_file: puppet/hieradata/common.yaml} + compute: + raw_data: {get_file: puppet/hieradata/compute.yaml} + oac_data: + nova::compute::vncserver_proxyclient_address: local-ipv4 + mapped_data: + #nova::debug: {get_input: debug} + nova_compute_driver: {get_input: nova_compute_driver} + nova::compute::libvirt::libvirt_virt_type: {get_input: nova_compute_libvirt_type} + nova_api_host: {get_input: nova_api_host} + nova::compute::vncproxy_host: {get_input: nova_public_ip} + nova_password: {get_input: nova_password} + #ceilometer::debug: {get_input: debug} + ceilometer::metering_secret: {get_input: ceilometer_metering_secret} + ceilometer::agent::auth::auth_password: {get_input: ceilometer_password} + ceilometer_compute_agent: {get_input: ceilometer_compute_agent} + snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name} + snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password} + glance_host: {get_input: glance_host} + glance_port: {get_input: glance_port} + glance_protocol: {get_input: glance_protocol} + keystone_host: {get_input: keystone_host} + #neutron::debug: {get_input: debug} + neutron_flat_networks: {get_input: neutron_flat_networks} + neutron_host: {get_input: neutron_host} + neutron::agents::ml2::ovs::local_ip: {get_input: neutron_local_ip} + neutron_tenant_network_type: {get_input: neutron_tenant_network_type} + neutron_tunnel_types: {get_input: neutron_tunnel_types} + neutron::network_vlan_ranges: {get_input: neutron_network_vlan_ranges} + neutron_bridge_mappings: {get_input: neutron_bridge_mappings} + neutron::agents::ml2::ovs::enable_tunneling: {get_input: neutron_enable_tunneling} + neutron_physical_bridge: {get_input: neutron_physical_bridge} + neutron_public_interface: {get_input: neutron_public_interface} + nova::network::neutron::neutron_admin_password: {get_input: neutron_password} + neutron_router_distributed: {get_input: neutron_router_distributed} + neutron_agent_mode: {get_input: neutron_agent_mode} + neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret} + neutron_mechanism_drivers: {get_input: neutron_mechanism_drivers} + neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover} + neutron_allow_l3agent_failover: {get_input: neutron_allow_l3agent_failover} + neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device} + admin_password: {get_input: admin_password} + nova::rabbit_host: {get_input: rabbit_host} + neutron::rabbit_host: {get_input: rabbit_host} + ceilometer::rabbit_host: {get_input: rabbit_host} + nova::rabbit_userid: {get_input: rabbit_username} + neutron::rabbit_user: {get_input: rabbit_username} + ceilometer::rabbit_userid: {get_input: rabbit_username} + nova::rabbit_password: {get_input: rabbit_password} + neutron::rabbit_password: {get_input: rabbit_password} + ceilometer::rabbit_password: {get_input: rabbit_password} + ntp_server: {get_input: ntp_server} + +outputs: + config_id: + description: The ID of the NovaComputeConfigImpl resource. + value: + {get_resource: NovaComputeConfigImpl} diff --git a/compute-config.yaml b/compute-config.yaml index a5bfab34..9698cc3b 100644 --- a/compute-config.yaml +++ b/compute-config.yaml @@ -3,6 +3,13 @@ heat_template_version: 2014-10-16 description: > Software Config for Nova Compute. +parameters: + # unused here but is a placeholder for other compute-config templates + # which may choose to create in-templates resources that require server + server_id: + type: string + hidden: true + resources: NovaComputeConfigImpl: type: OS::Heat::StructuredConfig @@ -12,13 +19,11 @@ resources: 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} diff --git a/compute.yaml b/compute.yaml index c93bd627..66d4bef0 100644 --- a/compute.yaml +++ b/compute.yaml @@ -15,8 +15,6 @@ parameters: default: '' constraints: - allowed_values: ['', Present] - CeilometerDSN: - type: string CeilometerMeteringSecret: default: unset description: Secret shared by the ceilometer services. @@ -113,8 +111,6 @@ parameters: scripts or be sure to keep 'datacentre' as a mapping network name. type: string default: "" - NeutronDSN: - type: string NeutronEnableTunnelling: type: string default: "True" @@ -147,7 +143,7 @@ parameters: description: An OVS bridge to create for accessing external networks. type: string NeutronPublicInterface: - default: eth0 + default: nic1 description: A port to add to the NeutronPhysicalBridge. type: string NeutronTunnelTypes: @@ -195,8 +191,6 @@ parameters: NovaComputeLibvirtType: type: string default: '' - NovaDSN: - type: string NovaPassword: default: unset description: The password for the nova service account, used by nova-api. @@ -246,8 +240,24 @@ resources: - network: ctlplane user_data_format: SOFTWARE_CONFIG + NetworkConfig: + type: OS::TripleO::Net::SoftwareConfig + + NetworkDeployment: + type: OS::TripleO::SoftwareDeployment + properties: + signal_transport: NO_SIGNAL + config: {get_attr: [NetworkConfig, config_id]} + server: {get_resource: NovaCompute} + input_values: + bridge_name: {get_param: NeutronPhysicalBridge} + interface_name: {get_param: NeutronPublicInterface} + NovaComputeConfig: type: OS::TripleO::Compute::SoftwareConfig + properties: + # allow configs to create sub-resources attached to the server + server_id: {get_resource: NovaCompute} NovaComputeDeployment: type: OS::TripleO::SoftwareDeployment @@ -259,11 +269,9 @@ resources: debug: {get_param: Debug} nova_compute_driver: {get_param: NovaComputeDriver} nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType} - nova_dsn: {get_param: NovaDSN} nova_public_ip: {get_param: NovaPublicIP} nova_api_host: {get_param: NovaApiHost} nova_password: {get_param: NovaPassword} - ceilometer_dsn: {get_param: CeilometerDSN} ceilometer_metering_secret: {get_param: CeilometerMeteringSecret} ceilometer_password: {get_param: CeilometerPassword} ceilometer_compute_agent: {get_param: CeilometerComputeAgent} @@ -275,7 +283,6 @@ resources: keystone_host: {get_param: KeystoneHost} neutron_flat_networks: {get_param: NeutronFlatNetworks} neutron_host: {get_param: NeutronHost} - neutron_dsn: {get_param: NeutronDSN} neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]} neutron_tenant_network_type: {get_param: NeutronNetworkType} neutron_tunnel_types: {get_param: NeutronTunnelTypes} diff --git a/controller.yaml b/controller.yaml index 0e99cb04..6d1c2121 100644 --- a/controller.yaml +++ b/controller.yaml @@ -170,8 +170,9 @@ parameters: description: A unique identifier of the MySQL cluster the controller is in. type: string default: 'unset' # Has to be here because of the ignored empty value bug - constraints: - - length: {min: 4, max: 10} + # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446 + # constraints: + # - length: {min: 4, max: 10} MysqlInnodbBufferPoolSize: description: > Specifies the size of the buffer pool in megabytes. Setting to @@ -243,7 +244,7 @@ parameters: type: string hidden: true NeutronPublicInterface: - default: eth0 + default: nic1 description: What interface to bridge onto br-ex for network nodes. type: string NeutronPublicInterfaceTag: diff --git a/net-config-bond.yaml b/net-config-bond.yaml new file mode 100644 index 00000000..3518dbae --- /dev/null +++ b/net-config-bond.yaml @@ -0,0 +1,44 @@ +heat_template_version: 2014-10-16 + +description: > + Software Config to drive os-net-config with 2 bonded nics on a bridge. + +resources: + OsNetConfigImpl: + type: OS::Heat::StructuredConfig + properties: + group: os-apply-config + config: + os_net_config: + network_config: + - + type: ovs_bridge + name: {get_input: bridge_name} + use_dhcp: true + # Can't do this yet: https://bugs.launchpad.net/heat/+bug/1344284 + #ovs_extra: + # - list_join: + # - ' ' + # - - br-set-external-id + # - {get_input: bridge_name} + # - bridge-id + # - {get_input: bridge_name} + members: + - + type: ovs_bond + name: bond1 + use_dhcp: true + members: + # os-net-config translates nic1 => em1 (for example) + - + type: interface + name: nic1 + - + type: interface + name: nic2 + +outputs: + config_id: + description: The ID of the OsNetConfigImpl resource. + value: + {get_resource: OsNetConfigImpl} diff --git a/net-config-bridge.yaml b/net-config-bridge.yaml new file mode 100644 index 00000000..d1faa5df --- /dev/null +++ b/net-config-bridge.yaml @@ -0,0 +1,37 @@ +heat_template_version: 2014-10-16 + +description: > + Software Config to drive os-net-config for a simple bridge. + +resources: + OsNetConfigImpl: + type: OS::Heat::StructuredConfig + properties: + group: os-apply-config + config: + os_net_config: + network_config: + - + type: ovs_bridge + name: {get_input: bridge_name} + use_dhcp: true + # Can't do this yet: https://bugs.launchpad.net/heat/+bug/1344284 + #ovs_extra: + # - list_join: + # - ' ' + # - - br-set-external-id + # - {get_input: bridge_name} + # - bridge-id + # - {get_input: bridge_name} + members: + - + type: interface + name: {get_input: interface_name} + # force the MAC address of the bridge to this interface + primary: true + +outputs: + config_id: + description: The ID of the OsNetConfigImpl resource. + value: + {get_resource: OsNetConfigImpl} diff --git a/net-config-noop.yaml b/net-config-noop.yaml new file mode 100644 index 00000000..a3b1d1af --- /dev/null +++ b/net-config-noop.yaml @@ -0,0 +1,18 @@ +heat_template_version: 2014-10-16 + +description: > + Software Config to no-op for os-net-config. Using this will allow you + to use the parameter driven (init-neutron-ovs) configuration instead. + +resources: + OsNetConfigImpl: + type: OS::Heat::StructuredConfig + properties: + group: os-apply-config + config: + +outputs: + config_id: + description: The ID of the OsNetConfigImpl resource. + value: + {get_resource: OsNetConfigImpl} diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml index a7708a2e..8129cfa1 100644 --- a/nova-compute-config.yaml +++ b/nova-compute-config.yaml @@ -7,13 +7,11 @@ resources: 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} @@ -36,7 +34,6 @@ resources: 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} diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml index 2d8168a8..70172cb2 100644 --- a/nova-compute-instance.yaml +++ b/nova-compute-instance.yaml @@ -15,8 +15,6 @@ parameters: default: '' constraints: - allowed_values: ['', Present] - CeilometerDSN: - type: string CeilometerMeteringSecret: default: unset description: Secret shared by the ceilometer services. @@ -93,8 +91,6 @@ parameters: type: string NeutronBridgeMappings: type: string - NeutronDSN: - type: string NeutronEnableTunnelling: type: string NeutronFlatNetworks: @@ -153,8 +149,6 @@ parameters: NovaComputeLibvirtType: type: string default: '' - NovaDSN: - type: string NovaImage: type: string default: overcloud-compute @@ -211,11 +205,9 @@ resources: input_values: nova_compute_driver: {get_param: NovaComputeDriver} nova_compute_libvirt_type: {get_param: NovaComputeLibvirtType} - nova_dsn: {get_param: NovaDSN} nova_public_ip: {get_param: NovaPublicIP} nova_api_host: {get_param: NovaApiHost} nova_password: {get_param: NovaPassword} - ceilometer_dsn: {get_param: CeilometerDSN} ceilometer_metering_secret: {get_param: CeilometerMeteringSecret} ceilometer_password: {get_param: CeilometerPassword} ceilometer_compute_agent: {get_param: CeilometerComputeAgent} @@ -227,7 +219,6 @@ resources: keystone_host: {get_param: KeystoneHost} neutron_flat_networks: {get_param: NeutronFlatNetworks} neutron_host: {get_param: NeutronHost} - neutron_dsn: {get_param: NeutronDSN} neutron_local_ip: {get_attr: [NovaCompute0, networks, ctlplane, 0]} neutron_tenant_network_type: {get_param: NeutronNetworkType} neutron_tunnel_types: {get_param: NeutronTunnelTypes} diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml new file mode 100644 index 00000000..30afa813 --- /dev/null +++ b/overcloud-resource-registry-puppet.yaml @@ -0,0 +1,8 @@ +resource_registry: + OS::TripleO::BlockStorage: cinder-storage.yaml + OS::TripleO::Compute: compute.yaml + OS::TripleO::Compute::SoftwareConfig: compute-config-puppet.yaml + OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment + OS::TripleO::Controller: controller.yaml + OS::TripleO::ObjectStorage: swift-storage.yaml + OS::TripleO::Net::SoftwareConfig: net-config-bridge.yaml diff --git a/overcloud-resource-registry.yaml b/overcloud-resource-registry.yaml index 4ac404ee..476758b0 100644 --- a/overcloud-resource-registry.yaml +++ b/overcloud-resource-registry.yaml @@ -3,5 +3,6 @@ resource_registry: OS::TripleO::Compute: compute.yaml OS::TripleO::Compute::SoftwareConfig: compute-config.yaml OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment + OS::TripleO::Net::SoftwareConfig: net-config-noop.yaml OS::TripleO::Controller: controller.yaml OS::TripleO::ObjectStorage: swift-storage.yaml diff --git a/overcloud-source.yaml b/overcloud-source.yaml index 5084e386..a3d1e34f 100644 --- a/overcloud-source.yaml +++ b/overcloud-source.yaml @@ -116,6 +116,10 @@ parameters: description: The filepath of the file to use for logging messages from Glance. type: string default: '' + HorizonPort: + type: number + default: 80 + description: Horizon web server port. GlancePassword: default: unset description: The password for the glance service account, used by the glance services. @@ -151,7 +155,7 @@ parameters: the openvswitch agent. Typically should not need to be changed. type: string HypervisorNeutronPublicInterface: - default: 'eth0' + default: nic1 description: What interface to add to the HypervisorNeutronPhysicalBridge. type: string ImageUpdatePolicy: @@ -234,7 +238,7 @@ parameters: type: string hidden: true NeutronPublicInterface: - default: eth0 + default: nic1 description: What interface to bridge onto br-ex for network nodes. type: string NeutronPublicInterfaceDefaultRoute: @@ -418,25 +422,7 @@ resources: NeutronHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} - NovaDSN: - Fn::Join: - - '' - - - mysql://nova:unset@ - - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} - - /nova NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]} - CeilometerDSN: - Fn::Join: - - '' - - - mysql://ceilometer:unset@ - - *compute_database_host - - /ceilometer - NeutronDSN: - Fn::Join: - - '' - - - mysql://neutron:unset@ - - *compute_database_host - - /ovs_neutron NeutronNetworkType: get_param: NeutronNetworkType NeutronTunnelTypes: @@ -583,6 +569,7 @@ resources: metadata_server_url: {get_input: heat.metadata_server_url} waitcondition_server_url: {get_input: heat.waitcondition_server_url} horizon: + port: {get_param: HorizonPort} caches: memcached: nodes: @@ -929,6 +916,10 @@ resources: - Merge::Map: controller0: {get_attr: [controller0, name]} + sysctl: + net.ipv4.tcp_keepalive_time: 5 + net.ipv4.tcp_keepalive_probes: 5 + net.ipv4.tcp_keepalive_intvl: 1 controller0SSLDeployment: type: OS::Heat::StructuredDeployment properties: diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index ae61ec4b..f704abaa 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -94,7 +94,7 @@ parameters: type: string hidden: true NeutronPublicInterface: - default: eth0 + default: nic1 description: What interface to bridge onto br-ex for network nodes. type: string NeutronPublicInterfaceTag: @@ -397,7 +397,7 @@ parameters: the openvswitch agent. Typically should not need to be changed. type: string HypervisorNeutronPublicInterface: - default: 'eth0' + default: nic1 description: What interface to add to the HypervisorNeutronPhysicalBridge. type: string NeutronNetworkVLANRanges: @@ -509,6 +509,8 @@ resources: NeutronAgentMode: {get_param: NeutronAgentMode} NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers} NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover} + NeutronNetworkType: {get_param: NeutronNetworkType} + NeutronTunnelTypes: {get_param: NeutronTunnelTypes} NovaPassword: {get_param: NovaPassword} NtpServer: {get_param: NtpServer} PublicVirtualInterface: {get_param: PublicVirtualInterface} @@ -577,24 +579,6 @@ resources: RabbitUserName: {get_param: RabbitUserName} SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName} SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword} - NovaDSN: - list_join: - - '' - - - mysql://nova:unset@ - - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} - - /nova - CeilometerDSN: - list_join: - - '' - - - mysql://ceilometer:unset@ - - *compute_database_host - - /ceilometer - NeutronDSN: - list_join: - - '' - - - mysql://neutron:unset@ - - *compute_database_host - - /ovs_neutron BlockStorage: type: OS::Heat::ResourceGroup @@ -658,6 +642,10 @@ resources: list_join: - ',' - {get_attr: [Controller, hostname]} + sysctl: + net.ipv4.tcp_keepalive_time: 5 + net.ipv4.tcp_keepalive_probes: 5 + net.ipv4.tcp_keepalive_intvl: 1 MysqlRootPassword: type: OS::Heat::RandomString diff --git a/puppet/hieradata/common.yaml b/puppet/hieradata/common.yaml new file mode 100644 index 00000000..884be6af --- /dev/null +++ b/puppet/hieradata/common.yaml @@ -0,0 +1 @@ +# Common Hiera data gets applied to all nodes diff --git a/puppet/hieradata/compute.yaml b/puppet/hieradata/compute.yaml new file mode 100644 index 00000000..ffa716a4 --- /dev/null +++ b/puppet/hieradata/compute.yaml @@ -0,0 +1,20 @@ +# Hiera data here applies to all compute nodes + +nova::notify_on_state_change: 'vm_and_task_state' + +nova::compute::enabled: true +nova::compute::instance_usage_audit: true +nova::compute::instance_usage_audit_period: 'hour' +nova::compute::vnc_enabled: true + +nova::compute::libvirt::vncserver_listen: '0.0.0.0' +nova::compute::libvirt::migration_support: true + +nova::network::neutron::neutron_admin_tenant_name: 'service' +nova::network::neutron::neutron_admin_username: 'neutron' +nova::network::neutron::vif_plugging_is_fatal: false +nova::network::neutron::vif_plugging_timeout: 30 + +neutron::plugins::ml2::tunnel_id_ranges: ['1:1000'] + +ceilometer::agent::auth::auth_tenant_name: 'service' diff --git a/puppet/overcloud_compute.pp b/puppet/overcloud_compute.pp new file mode 100644 index 00000000..798fb544 --- /dev/null +++ b/puppet/overcloud_compute.pp @@ -0,0 +1,58 @@ +# Copyright 2014 Red Hat, Inc. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +class { 'nova': + glance_api_servers => join([hiera('glance_protocol'), '://', hiera('glance_host'), ':', hiera('glance_port')]), +} + +file { ['/etc/libvirt/qemu/networks/autostart/default.xml', + '/etc/libvirt/qemu/networks/default.xml']: + ensure => absent, + before => Service['libvirt'] +} + +include ::nova::compute + +nova_config { + 'DEFAULT/my_ip': value => $ipaddress; + 'DEFAULT/linuxnet_interface_driver': value => 'nova.network.linux_net.LinuxOVSInterfaceDriver'; +} + +include ::nova::compute::libvirt + +class { 'nova::network::neutron': + neutron_admin_auth_url => join(['http://', hiera('neutron_host'), ':35357/v2.0']), + neutron_url => join(['http://', hiera('neutron_host'), ':9696']), +} + +include ::neutron + +class { 'neutron::plugins::ml2': + flat_networks => split(hiera('neutron_flat_networks'), ','), + tenant_network_types => [hiera('neutron_tenant_network_type')], + type_drivers => [hiera('neutron_tenant_network_type')], +} + +class { 'neutron::agents::ml2::ovs': + bridge_mappings => split(hiera('neutron_bridge_mappings'), ','), + tunnel_types => split(hiera('neutron_tunnel_types'), ','), +} + +include ::ceilometer +include ::ceilometer::agent::compute + +class { 'ceilometer::agent::auth': + auth_url => join(['http://', hiera('keystone_host'), ':5000/v2.0']), +} diff --git a/undercloud-bm-nova-deploy.yaml b/undercloud-bm-nova-deploy.yaml index d46fc076..dca68329 100644 --- a/undercloud-bm-nova-deploy.yaml +++ b/undercloud-bm-nova-deploy.yaml @@ -1,6 +1,6 @@ parameters: NeutronPublicInterface: - default: eth2 + default: nic1 description: What interface to bridge onto br-ex for network nodes. type: string NovaComputeDriver: diff --git a/undercloud-vm-ironic-deploy.yaml b/undercloud-vm-ironic-deploy.yaml index 3bf32a76..5d23495c 100644 --- a/undercloud-vm-ironic-deploy.yaml +++ b/undercloud-vm-ironic-deploy.yaml @@ -4,7 +4,7 @@ parameters: description: Ironic password for keystone access hidden: true NeutronPublicInterface: - default: eth0 + default: nic1 description: What interface to bridge onto br-ex for network nodes. type: string NovaComputeDriver: diff --git a/undercloud-vm-nova-deploy.yaml b/undercloud-vm-nova-deploy.yaml index c6278a1b..da15b46d 100644 --- a/undercloud-vm-nova-deploy.yaml +++ b/undercloud-vm-nova-deploy.yaml @@ -1,6 +1,6 @@ parameters: NeutronPublicInterface: - default: eth0 + default: nic1 description: What interface to bridge onto br-ex for network nodes. type: string NovaComputeDriver: |