diff options
26 files changed, 153 insertions, 122 deletions
diff --git a/controller.yaml b/controller.yaml index 5983a41e..ae60e910 100644 --- a/controller.yaml +++ b/controller.yaml @@ -256,7 +256,7 @@ parameters: MysqlMaxConnections: description: Configures MySQL max_connections config setting type: number - default: 1024 + default: 4096 MysqlRootPassword: type: string hidden: true diff --git a/environments/cinder-netapp-config.yaml b/environments/cinder-netapp-config.yaml index 4eaec71f..0437cc67 100644 --- a/environments/cinder-netapp-config.yaml +++ b/environments/cinder-netapp-config.yaml @@ -4,7 +4,7 @@ resource_registry: OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml parameter_defaults: - CinderEnableNetappBackend: false + CinderEnableNetappBackend: true CinderNetappBackendName: 'tripleo_netapp' CinderNetappLogin: '' CinderNetappPassword: '' diff --git a/environments/net-bond-with-vlans.yaml b/environments/net-bond-with-vlans.yaml index 73f71324..9600fc7e 100644 --- a/environments/net-bond-with-vlans.yaml +++ b/environments/net-bond-with-vlans.yaml @@ -12,7 +12,11 @@ resource_registry: OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/swift-storage.yaml OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/bond-with-vlans/ceph-storage.yaml -parameters: +# We use parameter_defaults instead of parameters here because Tuskar munges +# the names of top level and role level parameters with the role name and a +# version. Using parameter_defaults makes it such that if the parameter name is +# not defined in the template, we don't get an error. +parameter_defaults: # This sets 'external_network_bridge' in l3_agent.ini to an empty string # so that external networks act like provider bridge networks (they # will plug into br-int instead of br-ex) diff --git a/environments/net-single-nic-with-vlans.yaml b/environments/net-single-nic-with-vlans.yaml index 8561acd3..bdfeadd3 100644 --- a/environments/net-single-nic-with-vlans.yaml +++ b/environments/net-single-nic-with-vlans.yaml @@ -12,7 +12,11 @@ resource_registry: OS::TripleO::ObjectStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/swift-storage.yaml OS::TripleO::CephStorage::Net::SoftwareConfig: ../network/config/single-nic-vlans/ceph-storage.yaml -parameters: +# We use parameter_defaults instead of parameters here because Tuskar munges +# the names of top level and role level parameters with the role name and a +# version. Using parameter_defaults makes it such that if the parameter name is +# not defined in the template, we don't get an error. +parameter_defaults: # This sets 'external_network_bridge' in l3_agent.ini to an empty string # so that external networks act like provider bridge networks (they # will plug into br-int instead of br-ex) diff --git a/network/ports/ctlplane_vip.yaml b/network/ports/ctlplane_vip.yaml index d5001e43..0d2945bc 100644 --- a/network/ports/ctlplane_vip.yaml +++ b/network/ports/ctlplane_vip.yaml @@ -2,6 +2,7 @@ heat_template_version: 2015-04-30 description: > Creates a port for a VIP on the undercloud ctlplane network. + The IP address will be chosen automatically if FixedIPs is empty. parameters: NetworkName: @@ -19,15 +20,20 @@ parameters: description: The name of the undercloud Neutron control plane default: ctlplane type: string - + FixedIPs: + description: > + Control the IP allocation for the VIP port. E.g. + [{'ip_address':'1.2.3.4'}] + default: [] + type: json resources: - VipPort: type: OS::Neutron::Port properties: network: {get_param: ControlPlaneNetwork} name: {get_param: PortName} + fixed_ips: {get_param: FixedIPs} replacement_policy: AUTO outputs: @@ -36,7 +42,7 @@ outputs: value: {get_attr: [VipPort, fixed_ips, 0, ip_address]} ip_subnet: # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?) - description: IP/Subnet CIDR for the internal API network IP + description: IP/Subnet CIDR for the ctlplane network. value: list_join: - '' diff --git a/network/ports/external.yaml b/network/ports/external.yaml index b5c1e5c9..63e3eeb3 100644 --- a/network/ports/external.yaml +++ b/network/ports/external.yaml @@ -1,7 +1,8 @@ heat_template_version: 2015-04-30 description: > - Creates a port on the external network. + Creates a port on the external network. The IP address will be chosen + automatically if FixedIPs is empty. parameters: ExternalNetName: @@ -15,6 +16,16 @@ parameters: ControlPlaneIP: # Here for compatability with noop.yaml description: IP address on the control plane type: string + ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml + description: The name of the undercloud Neutron control plane + default: ctlplane + type: string + FixedIPs: + description: > + Control the IP allocation for the VIP port. E.g. + [{'ip_address':'1.2.3.4'}] + default: [] + type: json resources: @@ -23,6 +34,7 @@ resources: properties: network: {get_param: ExternalNetName} name: {get_param: PortName} + fixed_ips: {get_param: FixedIPs} replacement_policy: AUTO outputs: diff --git a/network/ports/noop.yaml b/network/ports/noop.yaml index 9e1a1276..31ee6f3c 100644 --- a/network/ports/noop.yaml +++ b/network/ports/noop.yaml @@ -19,6 +19,10 @@ parameters: description: # Here for compatability with vip.yaml default: '' type: string + FixedIPs: + description: # Here for compatibility with vip.yaml + default: [] + type: json ControlPlaneSubnetCidr: # Override this via parameter_defaults default: '24' description: The subnet CIDR of the control plane network. diff --git a/network/ports/vip.yaml b/network/ports/vip.yaml index ab72083d..299579dc 100644 --- a/network/ports/vip.yaml +++ b/network/ports/vip.yaml @@ -2,6 +2,7 @@ heat_template_version: 2015-04-30 description: > Creates a port for a VIP on the isolated network NetworkName. + The IP address will be chosen automatically if FixedIPs is empty. parameters: NetworkName: @@ -19,14 +20,20 @@ parameters: description: The name of the undercloud Neutron control plane default: ctlplane type: string + FixedIPs: + description: > + Control the IP allocation for the VIP port. E.g. + [{'ip_address':'1.2.3.4'}] + default: [] + type: json resources: - VipPort: type: OS::Neutron::Port properties: network: {get_param: NetworkName} name: {get_param: PortName} + fixed_ips: {get_param: FixedIPs} replacement_policy: AUTO outputs: @@ -35,7 +42,7 @@ outputs: value: {get_attr: [VipPort, fixed_ips, 0, ip_address]} ip_subnet: # FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?) - description: IP/Subnet CIDR for the internal API network IP + description: IP/Subnet CIDR for the network associated with this IP value: list_join: - '' diff --git a/overcloud-resource-registry-puppet.yaml b/overcloud-resource-registry-puppet.yaml index 17c1470f..75e53227 100644 --- a/overcloud-resource-registry-puppet.yaml +++ b/overcloud-resource-registry-puppet.yaml @@ -46,7 +46,7 @@ resource_registry: OS::TripleO::Network::Ports::NetIpListMap: network/ports/net_ip_list_map.yaml # Port assignments for the controller role - OS::TripleO::Controller::Ports::ExternalPort: network/ports/noop.yaml + OS::TripleO::Controller::Ports::ExternalPort: network/ports/ctlplane_vip.yaml OS::TripleO::Controller::Ports::InternalApiPort: network/ports/noop.yaml OS::TripleO::Controller::Ports::StoragePort: network/ports/noop.yaml OS::TripleO::Controller::Ports::StorageMgmtPort: network/ports/noop.yaml diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index 12467066..53d4beca 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -196,11 +196,6 @@ parameters: Control the IP allocation for the PublicVirtualInterface port. E.g. [{'ip_address':'1.2.3.4'}] type: json - PublicVirtualNetwork: - default: 'ctlplane' - type: string - description: > - Neutron network to allocate public virtual IP port on. RabbitCookieSalt: type: string default: unset @@ -398,7 +393,7 @@ parameters: MysqlMaxConnections: description: Configures MySQL max_connections config setting type: number - default: 1024 + default: 4096 NeutronDnsmasqOptions: default: 'dhcp-option-force=26,1400' description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the tunnel overhead. @@ -781,7 +776,7 @@ resources: SwiftPassword: {get_param: SwiftPassword} SwiftReplicas: { get_param: SwiftReplicas} VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} # deprecated. Use per service VIP settings instead now. - PublicVirtualIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]} # deprecated. Use per service VIP settings instead now. + PublicVirtualIP: {get_attr: [PublicVirtualIP, ip_address]} ServiceNetMap: {get_param: ServiceNetMap} HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]} GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]} @@ -841,7 +836,7 @@ resources: NovaComputeExtraConfig: {get_param: NovaComputeExtraConfig} NovaComputeLibvirtType: {get_param: NovaComputeLibvirtType} NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend} - NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]} + NovaPublicIP: {get_attr: [PublicVirtualIP, ip_address]} NovaPassword: {get_param: NovaPassword} NtpServer: {get_param: NtpServer} RabbitHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]} @@ -1021,15 +1016,15 @@ resources: PortName: redis_virtual_ip NetworkName: {get_param: [ServiceNetMap, RedisNetwork]} - # same as external + # The public VIP is on the External net, falls back to ctlplane PublicVirtualIP: - type: OS::Neutron::Port depends_on: Networks + type: OS::TripleO::Controller::Ports::ExternalPort properties: - name: public_virtual_ip - network: {get_param: PublicVirtualNetwork} - fixed_ips: {get_param: PublicVirtualFixedIPs} - replacement_policy: AUTO + ControlPlaneIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} + ControlPlaneNetwork: {get_param: NeutronControlPlaneID} + PortName: public_virtual_ip + FixedIPs: {get_param: PublicVirtualFixedIPs} InternalApiVirtualIP: depends_on: Networks @@ -1055,7 +1050,7 @@ resources: VipMap: type: OS::TripleO::Network::Ports::NetIpMap properties: - ExternalIp: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]} + ExternalIp: {get_attr: [PublicVirtualIP, ip_address]} InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]} StorageIp: {get_attr: [StorageVirtualIP, ip_address]} StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]} @@ -1088,7 +1083,7 @@ resources: rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]} # direct configuration of Virtual IPs for each network control_virtual_ip: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} - public_virtual_ip: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]} + public_virtual_ip: {get_attr: [PublicVirtualIP, ip_address]} internal_api_virtual_ip: {get_attr: [InternalApiVirtualIP, ip_address]} storage_virtual_ip: {get_attr: [StorageVirtualIP, ip_address]} storage_mgmt_virtual_ip: {get_attr: [StorageMgmtVirtualIP, ip_address]} @@ -1247,11 +1242,11 @@ outputs: list_join: - '' - - http:// - - {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]} + - {get_attr: [PublicVirtualIP, ip_address]} - :5000/v2.0/ PublicVip: description: Controller VIP for public API endpoints - value: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]} + value: {get_attr: [PublicVirtualIP, ip_address]} CeilometerInternalVip: description: VIP for Ceilometer API internal endpoint value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]} diff --git a/puppet/ceph-storage-puppet.yaml b/puppet/ceph-storage-puppet.yaml index 2d089419..ccbd277d 100644 --- a/puppet/ceph-storage-puppet.yaml +++ b/puppet/ceph-storage-puppet.yaml @@ -129,7 +129,7 @@ resources: raw_data: {get_file: hieradata/ceph.yaml} mapped_data: ntp::servers: {get_input: ntp_servers} - enable_package_install: {get_input: enable_package_install} + tripleo::packages::enable_install: {get_input: enable_package_install} ceph::profile::params::cluster_network: {get_input: ceph_cluster_network} ceph::profile::params::public_network: {get_input: ceph_public_network} diff --git a/puppet/cinder-storage-puppet.yaml b/puppet/cinder-storage-puppet.yaml index 25f6ef49..091d1f1b 100644 --- a/puppet/cinder-storage-puppet.yaml +++ b/puppet/cinder-storage-puppet.yaml @@ -237,7 +237,7 @@ resources: cinder_iscsi_ip_address: {get_input: cinder_iscsi_ip_address} cinder::glance::glance_api_servers: {get_input: glance_api_servers} ntp::servers: {get_input: ntp_servers} - enable_package_install: {get_input: enable_package_install} + tripleo::packages::enable_install: {get_input: enable_package_install} snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name} snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password} diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml index aa0d26ac..c0d0e98f 100644 --- a/puppet/compute-puppet.yaml +++ b/puppet/compute-puppet.yaml @@ -380,7 +380,7 @@ resources: neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device} admin_password: {get_input: admin_password} ntp::servers: {get_input: ntp_servers} - enable_package_install: {get_input: enable_package_install} + tripleo::packages::enable_install: {get_input: enable_package_install} NovaComputeDeployment: type: OS::TripleO::SoftwareDeployment diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml index d88e54b5..1271ca97 100644 --- a/puppet/controller-puppet.yaml +++ b/puppet/controller-puppet.yaml @@ -228,7 +228,7 @@ parameters: MysqlMaxConnections: description: Configures MySQL max_connections config setting type: number - default: 1024 + default: 4096 MysqlRootPassword: type: string hidden: true @@ -1074,7 +1074,7 @@ resources: public_virtual_interface: {get_input: public_virtual_interface} tripleo::loadbalancer::control_virtual_interface: {get_input: control_virtual_interface} tripleo::loadbalancer::public_virtual_interface: {get_input: public_virtual_interface} - enable_package_install: {get_input: enable_package_install} + tripleo::packages::enable_install: {get_input: enable_package_install} # Hook for site-specific additional pre-deployment config, e.g extra hieradata ControllerExtraConfigPre: diff --git a/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml b/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml index 1d982dff..18295a2f 100644 --- a/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml +++ b/puppet/extraconfig/pre_deploy/controller/cinder-netapp.yaml @@ -9,8 +9,8 @@ parameters: # Config specific parameters, to be provided via parameter_defaults CinderEnableNetappBackend: - type: string - default: false + type: boolean + default: true CinderNetappBackendName: type: string default: 'tripleo_netapp' @@ -89,7 +89,7 @@ resources: cinder::backend::netapp::title: {get_input: NetappBackendName} cinder::backend::netapp::netapp_login: {get_input: NetappLogin} cinder::backend::netapp::netapp_password: {get_input: NetappPassword} - cinder::backend::netapp::netapp_hostname: {get_input: NetappServerHostname} + cinder::backend::netapp::netapp_server_hostname: {get_input: NetappServerHostname} cinder::backend::netapp::netapp_server_port: {get_input: NetappServerPort} cinder::backend::netapp::netapp_size_multiplier: {get_input: NetappSizeMultiplier} cinder::backend::netapp::netapp_storage_family: {get_input: NetappStorageFamily} diff --git a/puppet/hieradata/common.yaml b/puppet/hieradata/common.yaml index 7a035435..272a6688 100644 --- a/puppet/hieradata/common.yaml +++ b/puppet/hieradata/common.yaml @@ -13,6 +13,7 @@ nova::network::neutron::vif_plugging_is_fatal: false nova::network::neutron::vif_plugging_timeout: 30 nova::network::neutron::dhcp_domain: '' +neutron::allow_overlapping_ips: true neutron::plugins::ml2::type_drivers: - flat - gre diff --git a/puppet/hieradata/compute.yaml b/puppet/hieradata/compute.yaml index 63a3473d..673c7773 100644 --- a/puppet/hieradata/compute.yaml +++ b/puppet/hieradata/compute.yaml @@ -15,6 +15,10 @@ nova::compute::rbd::rbd_keyring: 'client.openstack' nova::compute::rbd::libvirt_images_rbd_pool: 'vms' nova::compute::rbd::libvirt_rbd_secret_uuid: "%{hiera('ceph::profile::params::fsid')}" +nova::config::nova_config: + cinder/catalog_info: + value: 'volumev2:cinderv2:internalURL' + ceilometer::agent::auth::auth_tenant_name: 'service' compute_classes: []
\ No newline at end of file diff --git a/puppet/hieradata/volume.yaml b/puppet/hieradata/volume.yaml index 9f3907ef..f4cd78a9 100644 --- a/puppet/hieradata/volume.yaml +++ b/puppet/hieradata/volume.yaml @@ -3,4 +3,10 @@ # cinder cinder::scheduler::scheduler_driver: cinder.scheduler.filter_scheduler.FilterScheduler +cinder::config::cinder_config: + DEFAULT/nova_catalog_info: + value: 'compute:Compute Service:internalURL' + DEFAULT/swift_catalog_info: + value: 'object-store:swift:internalURL' + volume_classes: []
\ No newline at end of file diff --git a/puppet/manifests/overcloud_cephstorage.pp b/puppet/manifests/overcloud_cephstorage.pp index 21fd5f98..cf2626ac 100644 --- a/puppet/manifests/overcloud_cephstorage.pp +++ b/puppet/manifests/overcloud_cephstorage.pp @@ -13,16 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -if !str2bool(hiera('enable_package_install', 'false')) { - case $::osfamily { - 'RedHat': { - Package { provider => 'norpm' } # provided by tripleo-puppet - } - default: { - warning('enable_package_install option not supported.') - } - } -} +include tripleo::packages create_resources(sysctl::value, hiera('sysctl_settings'), {}) diff --git a/puppet/manifests/overcloud_compute.pp b/puppet/manifests/overcloud_compute.pp index 67a73dda..d36cf0b0 100644 --- a/puppet/manifests/overcloud_compute.pp +++ b/puppet/manifests/overcloud_compute.pp @@ -13,16 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -if !str2bool(hiera('enable_package_install', 'false')) { - case $::osfamily { - 'RedHat': { - Package { provider => 'norpm' } # provided by tripleo-puppet - } - default: { - warning('enable_package_install option not supported.') - } - } -} +include tripleo::packages create_resources(sysctl::value, hiera('sysctl_settings'), {}) @@ -44,6 +35,7 @@ exec { 'libvirt-default-net-destroy': } include ::nova +include ::nova::config include ::nova::compute nova_config { diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp index f17dc831..03f47eca 100644 --- a/puppet/manifests/overcloud_controller.pp +++ b/puppet/manifests/overcloud_controller.pp @@ -13,16 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -if !str2bool(hiera('enable_package_install', 'false')) { - case $::osfamily { - 'RedHat': { - Package { provider => 'norpm' } # provided by tripleo-puppet - } - default: { - warning('enable_package_install option not supported.') - } - } -} +include tripleo::packages if hiera('step') >= 1 { @@ -253,7 +244,9 @@ if hiera('step') >= 3 { include ::glance::registry include join(['::glance::backend::', $glance_backend]) - include ::nova + class { '::nova' : + memcached_servers => suffix(hiera('memcache_node_ips'), ':11211'), + } include ::nova::api include ::nova::cert include ::nova::conductor @@ -343,12 +336,31 @@ if hiera('step') >= 3 { "${cinder_netapp_backend}/host": value => 'hostgroup'; } - if hiera('cinder_netapp_nfs_shares', undef) { - $cinder_netapp_nfs_shares = split(hiera('cinder_netapp_nfs_shares', undef), ',') + if hiera('cinder::backend::netapp::nfs_shares', undef) { + $cinder_netapp_nfs_shares = split(hiera('cinder::backend::netapp::nfs_shares', undef), ',') } cinder::backend::netapp { $cinder_netapp_backend : - nfs_shares => $cinder_netapp_nfs_shares, + netapp_login => hiera('cinder::backend::netapp::netapp_login', undef), + netapp_password => hiera('cinder::backend::netapp::netapp_password', undef), + netapp_server_hostname => hiera('cinder::backend::netapp::netapp_server_hostname', undef), + netapp_server_port => hiera('cinder::backend::netapp::netapp_server_port', undef), + netapp_size_multiplier => hiera('cinder::backend::netapp::netapp_size_multiplier', undef), + netapp_storage_family => hiera('cinder::backend::netapp::netapp_storage_family', undef), + netapp_storage_protocol => hiera('cinder::backend::netapp::netapp_storage_protocol', undef), + netapp_transport_type => hiera('cinder::backend::netapp::netapp_transport_type', undef), + netapp_vfiler => hiera('cinder::backend::netapp::netapp_vfiler', undef), + netapp_volume_list => hiera('cinder::backend::netapp::netapp_volume_list', undef), + netapp_vserver => hiera('cinder::backend::netapp::netapp_vserver', undef), + netapp_partner_backend_name => hiera('cinder::backend::netapp::netapp_partner_backend_name', undef), + nfs_shares => $cinder_netapp_nfs_shares, + nfs_shares_config => hiera('cinder::backend::netapp::nfs_shares_config', undef), + netapp_copyoffload_tool_path => hiera('cinder::backend::netapp::netapp_copyoffload_tool_path', undef), + netapp_controller_ips => hiera('cinder::backend::netapp::netapp_controller_ips', undef), + netapp_sa_password => hiera('cinder::backend::netapp::netapp_sa_password', undef), + netapp_storage_pools => hiera('cinder::backend::netapp::netapp_storage_pools', undef), + netapp_eseries_host_type => hiera('cinder::backend::netapp::netapp_eseries_host_type', undef), + netapp_webservice_path => hiera('cinder::backend::netapp::netapp_webservice_path', undef), } } diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp index 83d0d158..8f6d4c60 100644 --- a/puppet/manifests/overcloud_controller_pacemaker.pp +++ b/puppet/manifests/overcloud_controller_pacemaker.pp @@ -18,16 +18,7 @@ Pcmk_resource <| |> { try_sleep => 3, } -if !str2bool(hiera('enable_package_install', 'false')) { - case $::osfamily { - 'RedHat': { - Package { provider => 'norpm' } # provided by tripleo-puppet - } - default: { - warning('enable_package_install option not supported.') - } - } -} +include tripleo::packages if $::hostname == downcase(hiera('bootstrap_nodeid')) { $pacemaker_master = true @@ -83,6 +74,13 @@ if hiera('step') >= 1 { Class['tripleo::fencing'] -> Class['pacemaker::stonith'] } + # FIXME(gfidente): sets 90secs as default start timeout op + # param; until we can use pcmk global defaults we'll still + # need to add it to every resource which redefines op params + Pacemaker::Resource::Service { + op_params => 'start timeout=90s', + } + # Only configure RabbitMQ in this step, don't start it yet to # avoid races where non-master nodes attempt to start without # config (eg. binding on 0.0.0.0) @@ -565,7 +563,9 @@ if hiera('step') >= 3 { } include join(['::glance::backend::', $glance_backend]) - include ::nova + class { '::nova' : + memcached_servers => suffix(hiera('memcache_node_ips'), ':11211'), + } class { '::nova::api' : sync_db => $sync_db, @@ -625,7 +625,7 @@ if hiera('step') >= 3 { tenant_network_types => [hiera('neutron_tenant_network_type')], } class { 'neutron::agents::ml2::ovs': - # manage_service => false # not implemented + manage_service => false, enabled => false, bridge_mappings => split(hiera('neutron_bridge_mappings'), ','), tunnel_types => split(hiera('neutron_tunnel_types'), ','), @@ -694,12 +694,31 @@ if hiera('step') >= 3 { "${cinder_netapp_backend}/host": value => 'hostgroup'; } - if hiera('cinder_netapp_nfs_shares', undef) { - $cinder_netapp_nfs_shares = split(hiera('cinder_netapp_nfs_shares', undef), ',') + if hiera('cinder::backend::netapp::nfs_shares', undef) { + $cinder_netapp_nfs_shares = split(hiera('cinder::backend::netapp::nfs_shares', undef), ',') } cinder::backend::netapp { $cinder_netapp_backend : - nfs_shares => $cinder_netapp_nfs_shares, + netapp_login => hiera('cinder::backend::netapp::netapp_login', undef), + netapp_password => hiera('cinder::backend::netapp::netapp_password', undef), + netapp_server_hostname => hiera('cinder::backend::netapp::netapp_server_hostname', undef), + netapp_server_port => hiera('cinder::backend::netapp::netapp_server_port', undef), + netapp_size_multiplier => hiera('cinder::backend::netapp::netapp_size_multiplier', undef), + netapp_storage_family => hiera('cinder::backend::netapp::netapp_storage_family', undef), + netapp_storage_protocol => hiera('cinder::backend::netapp::netapp_storage_protocol', undef), + netapp_transport_type => hiera('cinder::backend::netapp::netapp_transport_type', undef), + netapp_vfiler => hiera('cinder::backend::netapp::netapp_vfiler', undef), + netapp_volume_list => hiera('cinder::backend::netapp::netapp_volume_list', undef), + netapp_vserver => hiera('cinder::backend::netapp::netapp_vserver', undef), + netapp_partner_backend_name => hiera('cinder::backend::netapp::netapp_partner_backend_name', undef), + nfs_shares => $cinder_netapp_nfs_shares, + nfs_shares_config => hiera('cinder::backend::netapp::nfs_shares_config', undef), + netapp_copyoffload_tool_path => hiera('cinder::backend::netapp::netapp_copyoffload_tool_path', undef), + netapp_controller_ips => hiera('cinder::backend::netapp::netapp_controller_ips', undef), + netapp_sa_password => hiera('cinder::backend::netapp::netapp_sa_password', undef), + netapp_storage_pools => hiera('cinder::backend::netapp::netapp_storage_pools', undef), + netapp_eseries_host_type => hiera('cinder::backend::netapp::netapp_eseries_host_type', undef), + netapp_webservice_path => hiera('cinder::backend::netapp::netapp_webservice_path', undef), } } @@ -1077,24 +1096,24 @@ if hiera('step') >= 4 { # Nova pacemaker::resource::service { $::nova::params::api_service_name : clone_params => "interleave=true", - op_params => "monitor start-delay=10s", + op_params => "start timeout=90s monitor start-delay=10s", } pacemaker::resource::service { $::nova::params::conductor_service_name : clone_params => "interleave=true", - op_params => "monitor start-delay=10s", + op_params => "start timeout=90s monitor start-delay=10s", } pacemaker::resource::service { $::nova::params::consoleauth_service_name : clone_params => "interleave=true", - op_params => "monitor start-delay=10s", + op_params => "start timeout=90s monitor start-delay=10s", require => Pacemaker::Resource::Service[$::keystone::params::service_name], } pacemaker::resource::service { $::nova::params::vncproxy_service_name : clone_params => "interleave=true", - op_params => "monitor start-delay=10s", + op_params => "start timeout=90s monitor start-delay=10s", } pacemaker::resource::service { $::nova::params::scheduler_service_name : clone_params => "interleave=true", - op_params => "monitor start-delay=10s", + op_params => "start timeout=90s monitor start-delay=10s", } pacemaker::constraint::base { 'keystone-then-nova-consoleauth-constraint': diff --git a/puppet/manifests/overcloud_object.pp b/puppet/manifests/overcloud_object.pp index ed2ca7c0..59db696e 100644 --- a/puppet/manifests/overcloud_object.pp +++ b/puppet/manifests/overcloud_object.pp @@ -13,16 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -if !str2bool(hiera('enable_package_install', 'false')) { - case $::osfamily { - 'RedHat': { - Package { provider => 'norpm' } # provided by tripleo-puppet - } - default: { - warning('enable_package_install option not supported.') - } - } -} +include tripleo::packages create_resources(sysctl::value, hiera('sysctl_settings'), {}) diff --git a/puppet/manifests/overcloud_volume.pp b/puppet/manifests/overcloud_volume.pp index 2ef0884b..d1f6d6a5 100644 --- a/puppet/manifests/overcloud_volume.pp +++ b/puppet/manifests/overcloud_volume.pp @@ -13,16 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -if str2bool(hiera('disable_package_install', 'false')) { - case $::osfamily { - 'RedHat': { - Package { provider => 'norpm' } # provided by tripleo-puppet - } - default: { - warning('disable_package_install option not supported.') - } - } -} +include tripleo::packages create_resources(sysctl::value, hiera('sysctl_settings'), {}) @@ -31,6 +22,7 @@ if count(hiera('ntp::servers')) > 0 { } include ::cinder +include ::cinder::config include ::cinder::glance include ::cinder::volume include ::cinder::setup_test_volume diff --git a/puppet/manifests/ringbuilder.pp b/puppet/manifests/ringbuilder.pp index 531706d2..14fbafdd 100644 --- a/puppet/manifests/ringbuilder.pp +++ b/puppet/manifests/ringbuilder.pp @@ -13,16 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -if str2bool(hiera('disable_package_install', 'false')) { - case $::osfamily { - 'RedHat': { - Package { provider => 'norpm' } # provided by tripleo-puppet - } - default: { - warning('disable_package_install option not supported.') - } - } -} +include tripleo::packages define add_devices( $swift_zones = '1' diff --git a/puppet/swift-storage-puppet.yaml b/puppet/swift-storage-puppet.yaml index 05664053..b3579429 100644 --- a/puppet/swift-storage-puppet.yaml +++ b/puppet/swift-storage-puppet.yaml @@ -168,7 +168,7 @@ resources: tripleo::ringbuilder::build_ring: True snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name} snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password} - enable_package_install: {get_input: enable_package_install} + tripleo::packages::enable_install: {get_input: enable_package_install} SwiftStorageHieraDeploy: |