aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compute-config-puppet.yaml112
-rw-r--r--compute-config.yaml9
-rw-r--r--compute.yaml27
-rw-r--r--controller.yaml7
-rw-r--r--net-config-bond.yaml44
-rw-r--r--net-config-bridge.yaml37
-rw-r--r--net-config-noop.yaml18
-rw-r--r--nova-compute-config.yaml3
-rw-r--r--nova-compute-instance.yaml9
-rw-r--r--overcloud-resource-registry-puppet.yaml8
-rw-r--r--overcloud-resource-registry.yaml1
-rw-r--r--overcloud-source.yaml31
-rw-r--r--overcloud-without-mergepy.yaml28
-rw-r--r--puppet/hieradata/common.yaml1
-rw-r--r--puppet/hieradata/compute.yaml20
-rw-r--r--puppet/overcloud_compute.pp58
-rw-r--r--undercloud-bm-nova-deploy.yaml2
-rw-r--r--undercloud-vm-ironic-deploy.yaml2
-rw-r--r--undercloud-vm-nova-deploy.yaml2
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: