diff options
-rw-r--r-- | compute.yaml | 30 | ||||
-rw-r--r-- | controller.yaml | 37 | ||||
-rw-r--r-- | environments/mongodb-nojournal.yaml | 5 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 17 | ||||
-rw-r--r-- | puppet/compute-puppet.yaml | 30 | ||||
-rw-r--r-- | puppet/controller-puppet.yaml | 43 | ||||
-rw-r--r-- | puppet/hieradata/common.yaml | 6 | ||||
-rw-r--r-- | puppet/hieradata/controller.yaml | 1 | ||||
-rw-r--r-- | puppet/manifests/overcloud_controller_pacemaker.pp | 31 |
9 files changed, 167 insertions, 33 deletions
diff --git a/compute.yaml b/compute.yaml index 4a9a92b9..d51aa358 100644 --- a/compute.yaml +++ b/compute.yaml @@ -152,6 +152,18 @@ parameters: The tunnel types for the Neutron tenant network. To specify multiple values, use a comma separated string, like so: 'gre,vxlan' default: 'gre' + NeutronTunnelIdRanges: + description: | + Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges + of GRE tunnel IDs that are available for tenant network allocation + default: ["1:1000", ] + type: comma_delimited_list + NeutronVniRanges: + description: | + Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges + of VXLAN VNI IDs that are available for tenant network allocation + default: ["1:1000", ] + type: comma_delimited_list NeutronPublicInterfaceRawDevice: default: '' type: string @@ -355,6 +367,8 @@ resources: 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} + tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges} + vni_ranges: {get_input: neutron_vni_ranges} bridge_mappings: {get_input: neutron_bridge_mappings} enable_tunneling: {get_input: neutron_enable_tunneling} physical_bridge: {get_input: neutron_physical_bridge} @@ -397,6 +411,22 @@ resources: neutron_local_ip: {get_attr: [NovaCompute, networks, ctlplane, 0]} neutron_tenant_network_type: {get_param: NeutronNetworkType} neutron_tunnel_types: {get_param: NeutronTunnelTypes} + neutron_tunnel_id_ranges: + str_replace: + template: "['RANGES']" + params: + RANGES: + list_join: + - "','" + - {get_param: NeutronTunnelIdRanges} + neutron_vni_ranges: + str_replace: + template: "['RANGES']" + params: + RANGES: + list_join: + - "','" + - {get_param: NeutronVniRanges} neutron_network_vlan_ranges: {get_param: NeutronNetworkVLANRanges} neutron_bridge_mappings: {get_param: NeutronBridgeMappings} neutron_enable_tunneling: {get_param: NeutronEnableTunnelling} diff --git a/controller.yaml b/controller.yaml index 1bd1f590..5983a41e 100644 --- a/controller.yaml +++ b/controller.yaml @@ -364,11 +364,27 @@ parameters: The tunnel types for the Neutron tenant network. To specify multiple values, use a comma separated string, like so: 'gre,vxlan' type: string + NeutronTunnelIdRanges: + description: | + Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges + of GRE tunnel IDs that are available for tenant network allocation + default: ["1:1000", ] + type: comma_delimited_list + NeutronVniRanges: + description: | + Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges + of VXLAN VNI IDs that are available for tenant network allocation + default: ["1:1000", ] + type: comma_delimited_list NovaPassword: default: unset description: The password for the nova service and db account, used by nova-api. type: string hidden: true + MongoDbNoJournal: + default: false + description: Should MongoDb journaling be disabled + type: boolean NtpServer: type: string default: '' @@ -657,6 +673,8 @@ resources: physical_bridge: br-ex tenant_network_type: {get_input: neutron_tenant_network_type} tunnel_types: {get_input: neutron_tunnel_types} + tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges} + vni_ranges: {get_input: neutron_vni_ranges} ovs_db: {get_input: neutron_dsn} service-password: {get_input: neutron_password} dnsmasq-options: {get_input: neutron_dnsmasq_options} @@ -677,6 +695,8 @@ resources: host: {get_input: controller_virtual_ip} metadata-proxy: true service-password: {get_input: nova_password} + mongodb: + nojournal: {get_input: mongodb_no_journal} rabbit: host: {get_input: controller_virtual_ip} username: {get_input: rabbit_username} @@ -872,6 +892,7 @@ resources: - '@' - {get_param: VirtualIP} - '/keystone' + mongodb_no_journal: {get_param: MongoDbNoJournal} mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize} mysql_root_password: {get_param: MysqlRootPassword} mysql_cluster_name: @@ -895,6 +916,22 @@ resources: neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag} neutron_tenant_network_type: {get_param: NeutronNetworkType} neutron_tunnel_types: {get_param: NeutronTunnelTypes} + neutron_tunnel_id_ranges: + str_replace: + template: "['RANGES']" + params: + RANGES: + list_join: + - "','" + - {get_param: NeutronTunnelIdRanges} + neutron_vni_ranges: + str_replace: + template: "['RANGES']" + params: + RANGES: + list_join: + - "','" + - {get_param: NeutronVniRanges} neutron_password: {get_param: NeutronPassword} neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions} neutron_dsn: diff --git a/environments/mongodb-nojournal.yaml b/environments/mongodb-nojournal.yaml new file mode 100644 index 00000000..1e13e452 --- /dev/null +++ b/environments/mongodb-nojournal.yaml @@ -0,0 +1,5 @@ +# A Heat environment file which can be used to disable journal in MongoDb. +# Since, when journaling is enabled, MongoDb will create big journal file +# it can take time. In a CI environment for example journaling is not necessary. +parameters: + MongoDbNoJournal: true diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index e1f2405b..19c65a4e 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -148,6 +148,18 @@ parameters: The tunnel types for the Neutron tenant network. To specify multiple values, use a comma separated string, like so: 'gre,vxlan' type: string + NeutronTunnelIdRanges: + description: | + Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges + of GRE tunnel IDs that are available for tenant network allocation + default: ["1:1000", ] + type: comma_delimited_list + NeutronVniRanges: + description: | + Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges + of VXLAN VNI IDs that are available for tenant network allocation + default: ["1:1000", ] + type: comma_delimited_list NeutronMechanismDrivers: default: 'openvswitch' description: | @@ -174,6 +186,10 @@ parameters: NtpServer: type: string default: '' + MongoDbNoJournal: + default: false + description: Should MongoDb journaling be disabled + type: boolean PublicVirtualFixedIPs: default: [] description: > @@ -762,6 +778,7 @@ resources: NeutronTunnelTypes: {get_param: NeutronTunnelTypes} NovaPassword: {get_param: NovaPassword} NtpServer: {get_param: NtpServer} + MongoDbNoJournal: {get_param: MongoDbNoJournal} PcsdPassword: {get_resource: PcsdPassword} PublicVirtualInterface: {get_param: PublicVirtualInterface} RabbitPassword: {get_param: RabbitPassword} diff --git a/puppet/compute-puppet.yaml b/puppet/compute-puppet.yaml index 357a097d..02756925 100644 --- a/puppet/compute-puppet.yaml +++ b/puppet/compute-puppet.yaml @@ -152,6 +152,18 @@ parameters: The tunnel types for the Neutron tenant network. To specify multiple values, use a comma separated string, like so: 'gre,vxlan' default: 'gre' + NeutronTunnelIdRanges: + description: | + Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges + of GRE tunnel IDs that are available for tenant network allocation + default: ["1:1000", ] + type: comma_delimited_list + NeutronVniRanges: + description: | + Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges + of VXLAN VNI IDs that are available for tenant network allocation + default: ["1:1000", ] + type: comma_delimited_list NeutronPublicInterfaceRawDevice: default: '' type: string @@ -378,6 +390,8 @@ resources: neutron_tenant_network_type: {get_input: neutron_tenant_network_type} neutron_tunnel_types: {get_input: neutron_tunnel_types} neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges} + neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges} + neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_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} @@ -433,6 +447,22 @@ resources: neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]} neutron_tenant_network_type: {get_param: NeutronNetworkType} neutron_tunnel_types: {get_param: NeutronTunnelTypes} + neutron_tunnel_id_ranges: + str_replace: + template: "['RANGES']" + params: + RANGES: + list_join: + - "','" + - {get_param: NeutronTunnelIdRanges} + neutron_vni_ranges: + str_replace: + template: "['RANGES']" + params: + RANGES: + list_join: + - "','" + - {get_param: NeutronVniRanges} neutron_network_vlan_ranges: str_replace: template: "['RANGES']" diff --git a/puppet/controller-puppet.yaml b/puppet/controller-puppet.yaml index 3f01b094..ad4eff10 100644 --- a/puppet/controller-puppet.yaml +++ b/puppet/controller-puppet.yaml @@ -373,11 +373,27 @@ parameters: The tunnel types for the Neutron tenant network. To specify multiple values, use a comma separated string, like so: 'gre,vxlan' type: string + NeutronTunnelIdRanges: + description: | + Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges + of GRE tunnel IDs that are available for tenant network allocation + default: ["1:1000", ] + type: comma_delimited_list + NeutronVniRanges: + description: | + Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges + of VXLAN VNI IDs that are available for tenant network allocation + default: ["1:1000", ] + type: comma_delimited_list NovaPassword: default: unset description: The password for the nova service and db account, used by nova-api. type: string hidden: true + MongoDbNoJournal: + default: false + description: Should MongoDb journaling be disabled + type: boolean NtpServer: type: string default: '' @@ -682,6 +698,12 @@ resources: - - 'http://' - {get_param: KeystonePublicApiVirtualIP} - ':5000/v2.0/' + keystone_ec2_uri: + list_join: + - '' + - - 'http://' + - {get_param: KeystonePublicApiVirtualIP} + - ':5000/v2.0/ec2tokens' enable_fencing: {get_param: EnableFencing} enable_galera: {get_param: EnableGalera} enable_ceph_storage: {get_param: EnableCephStorage} @@ -718,6 +740,22 @@ resources: neutron_public_interface_tag: {get_param: NeutronPublicInterfaceTag} neutron_tenant_network_type: {get_param: NeutronNetworkType} neutron_tunnel_types: {get_param: NeutronTunnelTypes} + neutron_tunnel_id_ranges: + str_replace: + template: "['RANGES']" + params: + RANGES: + list_join: + - "','" + - {get_param: NeutronTunnelIdRanges} + neutron_vni_ranges: + str_replace: + template: "['RANGES']" + params: + RANGES: + list_join: + - "','" + - {get_param: NeutronVniRanges} neutron_password: {get_param: NeutronPassword} neutron_dnsmasq_options: {get_param: NeutronDnsmasqOptions} neutron_dsn: @@ -773,6 +811,7 @@ resources: rabbit_cookie: {get_param: RabbitCookie} rabbit_client_use_ssl: {get_param: RabbitClientUseSSL} rabbit_client_port: {get_param: RabbitClientPort} + mongodb_no_journal: {get_param: MongoDbNoJournal} ntp_servers: str_replace: template: '["server"]' @@ -930,6 +969,7 @@ resources: heat::rabbit_use_ssl: {get_input: rabbit_client_use_ssl} heat::rabbit_port: {get_input: rabbit_client_port} heat::auth_uri: {get_input: keystone_auth_uri} + heat::keystone_ec2_uri: {get_input: keystone_ec2_uri} heat::identity_uri: {get_input: keystone_identity_uri} heat::keystone_password: {get_input: heat_password} heat::api::bind_host: {get_input: heat_api_network} @@ -952,6 +992,7 @@ resources: keystone::debug: {get_input: debug} # MongoDB mongodb::server::bind_ip: {get_input: mongo_db_network} + mongodb::server::nojournal: {get_input: mongodb_no_journal} # MySQL admin_password: {get_input: admin_password} enable_galera: {get_input: enable_galera} @@ -986,6 +1027,8 @@ resources: neutron::server::l3_ha: {get_input: neutron_l3_ha} neutron::dhcp_agents_per_network: {get_input: neutron_dhcp_agents_per_network} neutron::plugins::ml2::network_vlan_ranges: {get_input: neutron_network_vlan_ranges} + neutron::plugins::ml2::tunnel_id_ranges: {get_input: neutron_tunnel_id_ranges} + neutron::plugins::ml2::vni_ranges: {get_input: neutron_vni_ranges} neutron_bridge_mappings: {get_input: neutron_bridge_mappings} neutron_public_interface: {get_input: neutron_public_interface} neutron_public_interface_raw_device: {get_input: neutron_public_interface_raw_device} diff --git a/puppet/hieradata/common.yaml b/puppet/hieradata/common.yaml index 40c44aef..7a035435 100644 --- a/puppet/hieradata/common.yaml +++ b/puppet/hieradata/common.yaml @@ -13,10 +13,6 @@ nova::network::neutron::vif_plugging_is_fatal: false nova::network::neutron::vif_plugging_timeout: 30 nova::network::neutron::dhcp_domain: '' -neutron::plugins::ml2::tunnel_id_ranges: - - '1:1000' -neutron::plugins::ml2::vni_ranges: - - '1:1000' neutron::plugins::ml2::type_drivers: - flat - gre @@ -29,4 +25,4 @@ sysctl_settings: net.ipv4.tcp_keepalive_probes: value: 5 net.ipv4.tcp_keepalive_time: - value: 5
\ No newline at end of file + value: 5 diff --git a/puppet/hieradata/controller.yaml b/puppet/hieradata/controller.yaml index 72c10c26..3cc64971 100644 --- a/puppet/hieradata/controller.yaml +++ b/puppet/hieradata/controller.yaml @@ -22,6 +22,7 @@ rabbitmq_config_variables: cluster_partition_handling: 'pause_minority' mongodb::server::replset: tripleo +mongodb::server::journal: false redis::port: 6379 redis::sentinel::master_name: "%{hiera('bootstrap_nodeid')}" diff --git a/puppet/manifests/overcloud_controller_pacemaker.pp b/puppet/manifests/overcloud_controller_pacemaker.pp index 5dabd4cb..e739ca03 100644 --- a/puppet/manifests/overcloud_controller_pacemaker.pp +++ b/puppet/manifests/overcloud_controller_pacemaker.pp @@ -948,12 +948,7 @@ if hiera('step') >= 4 { # as soon as neutron-server is started; to avoid races we want to make this # happen only on one node, before normal Pacemaker initialization # https://bugzilla.redhat.com/show_bug.cgi?id=1233061 - exec { 'neutron-server-start-wait-stop' : - command => "systemctl start neutron-server && \ - sleep 5s && \ - systemctl stop neutron-server", - path => ["/usr/bin", "/usr/sbin"], - } -> + exec { '/usr/bin/systemctl start neutron-server && /usr/bin/sleep 5' : } -> pacemaker::resource::service { $::neutron::params::server_service: op_params => "start timeout=90", clone_params => "interleave=true", @@ -979,10 +974,6 @@ if hiera('step') >= 4 { ocf_agent_name => "neutron:NetnsCleanup", clone_params => "interleave=true", } - pacemaker::resource::ocf { 'neutron-scale': - ocf_agent_name => "neutron:NeutronScale", - clone_params => "globally-unique=true clone-max=3 interleave=true", - } pacemaker::constraint::base { 'keystone-to-neutron-server-constraint': constraint_type => "order", first_resource => "${::keystone::params::service_name}-clone", @@ -992,29 +983,13 @@ if hiera('step') >= 4 { require => [Pacemaker::Resource::Service[$::keystone::params::service_name], Pacemaker::Resource::Service[$::neutron::params::server_service]], } - pacemaker::constraint::base { 'neutron-server-to-neutron-scale-constraint': + pacemaker::constraint::base { 'neutron-server-to-neutron-ovs-cleanup-constraint': constraint_type => "order", first_resource => "${::neutron::params::server_service}-clone", - second_resource => "neutron-scale-clone", - first_action => "start", - second_action => "start", - require => [Pacemaker::Resource::Service[$::neutron::params::server_service], - Pacemaker::Resource::Ocf['neutron-scale']], - } - pacemaker::constraint::base { 'neutron-scale-to-ovs-cleanup-constraint': - constraint_type => "order", - first_resource => "neutron-scale-clone", second_resource => "${::neutron::params::ovs_cleanup_service}-clone", first_action => "start", second_action => "start", - require => [Pacemaker::Resource::Ocf['neutron-scale'], - Pacemaker::Resource::Ocf["${::neutron::params::ovs_cleanup_service}"]], - } - pacemaker::constraint::colocation { 'neutron-scale-to-ovs-cleanup-colocation': - source => "${::neutron::params::ovs_cleanup_service}-clone", - target => "neutron-scale-clone", - score => "INFINITY", - require => [Pacemaker::Resource::Ocf['neutron-scale'], + require => [Pacemaker::Resource::Service[$::neutron::params::server_service], Pacemaker::Resource::Ocf["${::neutron::params::ovs_cleanup_service}"]], } pacemaker::constraint::base { 'neutron-ovs-cleanup-to-netns-cleanup-constraint': |