Apply plugin best practices
* shared variables moved in class nsxv :: params * from the module nsxv removed classes that do not use templates or external files(from directory "files" module) * hiera calls from classes replaced to parameterized classes * fix keystone auth url and neutron url for compute-vmware role * more "cosmetic" fixes Change-Id: I24da204d8f433439cc6f60501d479c84cd3c21c3
This commit is contained in:
parent
2e90bf82f2
commit
b92706a012
|
@ -1,3 +1,40 @@
|
|||
notice('fuel-plugin-nsxv: compute_vmware_nova_config.pp')
|
||||
|
||||
class { '::nsxv::compute_vmware_nova_config': }
|
||||
include ::nova::params
|
||||
include ::nsxv::params
|
||||
|
||||
$neutron_config = hiera_hash('neutron_config')
|
||||
$neutron_metadata_proxy_secret = $neutron_config['metadata']['metadata_proxy_shared_secret']
|
||||
$nova_parameters = {
|
||||
'neutron/service_metadata_proxy' => { value => 'True' },
|
||||
'neutron/metadata_proxy_shared_secret' => { value => $neutron_metadata_proxy_secret }
|
||||
}
|
||||
|
||||
$management_vip = hiera('management_vip')
|
||||
$service_endpoint = hiera('service_endpoint', $management_vip)
|
||||
$ssl_hash = hiera_hash('use_ssl', {})
|
||||
$neutron_username = pick($neutron_config['keystone']['admin_user'], 'neutron')
|
||||
$neutron_password = $neutron_config['keystone']['admin_password']
|
||||
$neutron_tenant_name = pick($neutron_config['keystone']['admin_tenant'], 'services')
|
||||
$region = hiera('region', 'RegionOne')
|
||||
$admin_identity_protocol = get_ssl_property($ssl_hash, {}, 'keystone', 'admin', 'protocol', 'http')
|
||||
$admin_identity_address = get_ssl_property($ssl_hash, {}, 'keystone', 'admin', 'hostname', [$service_endpoint, $management_vip])
|
||||
$neutron_internal_protocol = get_ssl_property($ssl_hash, {}, 'neutron', 'internal', 'protocol', 'http')
|
||||
$neutron_endpoint = get_ssl_property($ssl_hash, {}, 'neutron', 'internal', 'hostname', [hiera('neutron_endpoint', ''), $management_vip])
|
||||
$auth_api_version = 'v3'
|
||||
$admin_identity_uri = "${admin_identity_protocol}://${admin_identity_address}:35357"
|
||||
$neutron_auth_url = "${admin_identity_uri}/${auth_api_version}"
|
||||
$neutron_url = "${neutron_internal_protocol}://${neutron_endpoint}:9696"
|
||||
|
||||
class {'nova::network::neutron':
|
||||
neutron_password => $neutron_password,
|
||||
neutron_project_name => $neutron_tenant_name,
|
||||
neutron_region_name => $region,
|
||||
neutron_username => $neutron_username,
|
||||
neutron_auth_url => $neutron_auth_url,
|
||||
neutron_url => $neutron_url,
|
||||
neutron_ovs_bridge => '',
|
||||
neutron_url_timeout => $::nsxv::params::neutron_url_timeout,
|
||||
}
|
||||
|
||||
create_resources(nova_config, $nova_parameters)
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
notice('fuel-plugin-nsxv: haproxy-neutron-config.pp')
|
||||
|
||||
include openstack::ha::haproxy_restart
|
||||
|
||||
class { '::nsxv::haproxy_neutron_config':
|
||||
notify => Exec['haproxy-restart'],
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
notice('fuel-plugin-nsxv: haproxy-nova-metadata-config.pp')
|
||||
|
||||
include openstack::ha::haproxy_restart
|
||||
include ::openstack::ha::haproxy_restart
|
||||
include ::nsxv::params
|
||||
|
||||
$plugin_name = 'NAME'
|
||||
$settings = hiera($plugin_name)
|
||||
$settings = hiera($::nsxv::params::plugin_name)
|
||||
|
||||
if $settings['nsxv_metadata_listen_mgmt'] {
|
||||
$metadata_listen_ip = hiera('management_vip')
|
||||
|
@ -12,6 +12,6 @@ if $settings['nsxv_metadata_listen_mgmt'] {
|
|||
}
|
||||
|
||||
class { 'nsxv::haproxy_nova_metadata_config':
|
||||
metadata_listen_ip => $metadata_listen_ip,
|
||||
notify => Exec['haproxy-restart'],
|
||||
metadata_listen => "${metadata_listen_ip}:${::nsxv::params::nova_metadata_port}",
|
||||
notify => Exec['haproxy-restart'],
|
||||
}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
notice('fuel-plugin-nsxv: hiera-override.pp')
|
||||
|
||||
include ::nsxv::params
|
||||
|
||||
class { '::nsxv::hiera_override':
|
||||
plugin_name => 'NAME',
|
||||
plugin_name => $::nsxv::params::plugin_name,
|
||||
}
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
notice('fuel-plugin-nsxv: neutron-haproxy-config.pp')
|
||||
|
||||
include openstack::ha::haproxy_restart
|
||||
|
||||
class { '::nsxv::neutron_haproxy_config':
|
||||
notify => Exec['haproxy-restart'],
|
||||
}
|
|
@ -1,14 +1,13 @@
|
|||
notice('fuel-plugin-nsxv: neutron-network-create.pp')
|
||||
|
||||
$plugin_name = 'NAME'
|
||||
include ::nsxv::params
|
||||
|
||||
$access_hash = hiera_hash('access',{})
|
||||
$controller_node = hiera('service_endpoint')
|
||||
$neutron_config = hiera_hash('neutron_config')
|
||||
$floating_net = try_get_value($neutron_config, 'default_floating_net', 'net04_ext')
|
||||
$internal_net = try_get_value($neutron_config, 'default_private_net', 'net04')
|
||||
$os_tenant_name = $access_hash['tenant']
|
||||
$settings = hiera($plugin_name)
|
||||
$os_tenant_name = try_get_value($access_hash, 'tenant', 'admin')
|
||||
$settings = hiera($::nsxv::params::plugin_name)
|
||||
|
||||
if !empty($settings['nsxv_floating_ip_range']) and !empty($settings['nsxv_floating_net_cidr']) {
|
||||
$floating_ip_range = split($settings['nsxv_floating_ip_range'], '-')
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
notice('fuel-plugin-nsxv: nsxv-config.pp')
|
||||
|
||||
$plugin_name = 'NAME'
|
||||
$settings = hiera($plugin_name)
|
||||
include ::nsxv::params
|
||||
|
||||
$settings = hiera($::nsxv::params::plugin_name)
|
||||
$neutron_config = hiera_hash('neutron_config')
|
||||
$metadata_shared_secret = $neutron_config['metadata']['metadata_proxy_shared_secret']
|
||||
|
||||
|
@ -25,6 +26,8 @@ if $settings['nsxv_mgt_reserve_ip'] {
|
|||
|
||||
class { '::nsxv':
|
||||
metadata_shared_secret => $metadata_shared_secret,
|
||||
nova_metadata_port => $::nsxv::params::nova_metadata_port,
|
||||
neutron_url_timeout => $::nsxv::params::neutron_url_timeout,
|
||||
settings => $settings,
|
||||
nova_metadata_ips => $nova_metadata_ips,
|
||||
mgt_ip => $mgt_ip,
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
#!/bin/bash
|
||||
metadata_listen_ip="$1"
|
||||
metadata_listen_port='8775'
|
||||
metadata_listen="$metadata_listen_ip:$metadata_listen_port"
|
||||
novaHaproxyConf="$(find /etc/haproxy/conf.d -name '*nova-metadata-api*')"
|
||||
tempFile="$(mktemp)"
|
||||
|
||||
awk -v metadata_listen="$metadata_listen" '
|
||||
awk -v metadata_listen="$1" '
|
||||
BEGIN {
|
||||
ipListen=0
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
class nsxv::compute_vmware_nova_config (
|
||||
$neutron_url_timeout = '600',
|
||||
) {
|
||||
include ::nova::params
|
||||
|
||||
$neutron_config = hiera_hash('neutron_config')
|
||||
$neutron_metadata_proxy_secret = $neutron_config['metadata']['metadata_proxy_shared_secret']
|
||||
$nova_parameters = {
|
||||
'neutron/service_metadata_proxy' => { value => 'True' },
|
||||
'neutron/metadata_proxy_shared_secret' => { value => $neutron_metadata_proxy_secret }
|
||||
}
|
||||
|
||||
$management_vip = hiera('management_vip')
|
||||
$service_endpoint = hiera('service_endpoint')
|
||||
$neutron_endpoint = hiera('neutron_endpoint', $management_vip)
|
||||
$neutron_admin_username = pick($neutron_config['keystone']['admin_user'], 'neutron')
|
||||
$neutron_admin_password = $neutron_config['keystone']['admin_password']
|
||||
$neutron_admin_tenant_name = pick($neutron_config['keystone']['admin_tenant'], 'services')
|
||||
$neutron_admin_auth_url = "http://${service_endpoint}:35357/v2.0"
|
||||
$neutron_url = "http://${neutron_endpoint}:9696"
|
||||
$region = hiera('region', 'RegionOne')
|
||||
|
||||
class {'nova::network::neutron':
|
||||
neutron_password => $neutron_admin_password,
|
||||
neutron_project_name => $neutron_admin_tenant_name,
|
||||
neutron_region_name => $region,
|
||||
neutron_username => $neutron_admin_username,
|
||||
neutron_auth_url => $neutron_admin_auth_url,
|
||||
neutron_url => $neutron_url,
|
||||
neutron_ovs_bridge => '',
|
||||
neutron_url_timeout => $neutron_url_timeout,
|
||||
}
|
||||
|
||||
create_resources(nova_config, $nova_parameters)
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
class nsxv::haproxy_neutron_config {
|
||||
file { '/tmp/haproxy-neutron-config.sh':
|
||||
ensure => file,
|
||||
mode => '0755',
|
||||
source => "puppet:///modules/${module_name}/haproxy-neutron-config.sh",
|
||||
replace => true,
|
||||
}
|
||||
exec { 'neutron active/backup mode':
|
||||
command => '/tmp/haproxy-neutron-config.sh',
|
||||
logoutput => on_failure,
|
||||
provider => 'shell',
|
||||
require => File['/tmp/haproxy-neutron-config.sh'],
|
||||
}
|
||||
}
|
|
@ -1,16 +1,16 @@
|
|||
class nsxv::haproxy_nova_metadata_config (
|
||||
$metadata_listen_ip,
|
||||
$metadata_listen,
|
||||
) {
|
||||
file { '/tmp/nova-haproxy-config.sh':
|
||||
file { '/tmp/haproxy-nova-metadata-config.sh':
|
||||
ensure => file,
|
||||
mode => '0755',
|
||||
source => "puppet:///modules/${module_name}/nova-haproxy-config.sh",
|
||||
source => "puppet:///modules/${module_name}/haproxy-nova-metadata-config.sh",
|
||||
replace => true,
|
||||
}
|
||||
exec { 'set nova metadata listen ip':
|
||||
command => "/tmp/nova-haproxy-config.sh ${metadata_listen_ip}",
|
||||
command => "/tmp/haproxy-nova-metadata-config.sh ${metadata_listen}",
|
||||
logoutput => on_failure,
|
||||
provider => 'shell',
|
||||
require => File['/tmp/nova-haproxy-config.sh'],
|
||||
require => File['/tmp/haproxy-nova-metadata-config.sh'],
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,13 +5,14 @@ class nsxv (
|
|||
$nsx_plugin_name = 'python-vmware-nsx',
|
||||
$lbaas_plugin_name = 'python-neutron-lbaas',
|
||||
$neutron_url_timeout = '600',
|
||||
$nova_metadata_port = '8775',
|
||||
$metadata_shared_secret,
|
||||
$settings,
|
||||
$nova_metadata_ips,
|
||||
$nova_metadata_port,
|
||||
$mgt_ip,
|
||||
$mgt_netmask,
|
||||
$mgt_gateway,
|
||||
$neutron_url_timeout,
|
||||
) {
|
||||
|
||||
$cluster_moid = get_vcenter_cluster_id($settings['nsxv_datacenter_moid'])
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
class nsxv::neutron_haproxy_config {
|
||||
file { '/tmp/neutron-haproxy-config.sh':
|
||||
ensure => file,
|
||||
mode => '0755',
|
||||
source => "puppet:///modules/${module_name}/neutron-haproxy-config.sh",
|
||||
replace => true,
|
||||
}
|
||||
exec { 'neutron active/backup mode':
|
||||
command => '/tmp/neutron-haproxy-config.sh',
|
||||
logoutput => on_failure,
|
||||
provider => 'shell',
|
||||
require => File['/tmp/neutron-haproxy-config.sh'],
|
||||
}
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
class nsxv::params {
|
||||
# timout in seconds
|
||||
$neutron_url_timeout = '600'
|
||||
$plugin_name = 'nsxv'
|
||||
$nova_metadata_port = '8775'
|
||||
}
|
|
@ -29,7 +29,7 @@
|
|||
puppet_manifest: puppet/manifests/compute-vmware-nova-config.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 300
|
||||
- id: openstack-haproxy-nova-metadata
|
||||
- id: openstack-haproxy-nova-nsxv
|
||||
version: 2.0.0
|
||||
type: puppet
|
||||
groups: [primary-controller,controller]
|
||||
|
@ -39,6 +39,16 @@
|
|||
puppet_manifest: puppet/manifests/haproxy-nova-metadata-config.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 120
|
||||
- id: openstack-haproxy-neutron-nsxv
|
||||
version: 2.0.0
|
||||
type: puppet
|
||||
groups: [primary-controller, controller]
|
||||
required_for: [openstack-haproxy]
|
||||
requires: [openstack-haproxy-neutron]
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/haproxy-neutron-config.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 120
|
||||
- id: nsxv-install
|
||||
version: 2.0.0
|
||||
type: puppet
|
||||
|
@ -49,16 +59,62 @@
|
|||
puppet_manifest: puppet/manifests/nsxv-config.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 300
|
||||
- id: openstack-haproxy-neutron-nsxv
|
||||
- id: openstack-network-neutron-policy
|
||||
version: 2.0.0
|
||||
type: puppet
|
||||
groups: [primary-controller, controller]
|
||||
required_for: [openstack-haproxy]
|
||||
requires: [openstack-haproxy-neutron]
|
||||
groups: [primary-controller,controller]
|
||||
required_for: [openstack-network-neutron-start,primary-openstack-network-neutron-start]
|
||||
requires: [openstack-network-server-config]
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/neutron-haproxy-config.pp
|
||||
puppet_manifest: puppet/manifests/neutron-server-policy.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 300
|
||||
- id: openstack-network-neutron-start
|
||||
version: 2.0.0
|
||||
refresh_on: [neutron_config]
|
||||
type: puppet
|
||||
groups: [controller]
|
||||
required_for: [openstack-network-end]
|
||||
requires: [openstack-network-neutron-policy,nsxv-install]
|
||||
cross-depends:
|
||||
- name: primary-openstack-network-neutron-start
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/neutron-server-start.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 1800
|
||||
- id: primary-openstack-network-neutron-start
|
||||
version: 2.0.0
|
||||
refresh_on: [neutron_config]
|
||||
type: puppet
|
||||
groups: [primary-controller]
|
||||
required_for: [openstack-network-networks-nsxv]
|
||||
requires: [openstack-network-neutron-policy,nsxv-install]
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/neutron-server-start.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 1800
|
||||
- id: openstack-network-networks-nsxv
|
||||
version: 2.0.0
|
||||
type: puppet
|
||||
groups: [primary-controller]
|
||||
required_for: [openstack-network-routers]
|
||||
requires: [primary-openstack-network-neutron-start]
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/neutron-network-create.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 600
|
||||
- id: horizon-enable-lbaas
|
||||
version: 2.0.0
|
||||
type: puppet
|
||||
groups: [primary-controller,controller]
|
||||
required_for: [deploy_end]
|
||||
requires: [horizon]
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/horizon-enable-lbaas.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 120
|
||||
|
||||
# skipped tasks
|
||||
- id: primary-openstack-network-plugins-l2
|
||||
version: 2.0.0
|
||||
type: skipped
|
||||
|
@ -86,60 +142,6 @@
|
|||
- id: openstack-network-agents-metadata
|
||||
version: 2.0.0
|
||||
type: skipped
|
||||
- id: openstack-network-neutron-policy
|
||||
version: 2.0.0
|
||||
type: puppet
|
||||
groups: [primary-controller,controller]
|
||||
required_for: [openstack-network-neutron-start,primary-openstack-network-neutron-start]
|
||||
requires: [openstack-network-server-config]
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/neutron-server-policy.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 300
|
||||
- id: openstack-network-neutron-start
|
||||
version: 2.0.0
|
||||
refresh_on: [neutron_config]
|
||||
type: puppet
|
||||
groups: [controller]
|
||||
required_for: [openstack-network-end]
|
||||
requires: [openstack-network-neutron-policy]
|
||||
cross-depends:
|
||||
- name: primary-openstack-network-neutron-start
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/neutron-server-start.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 1800
|
||||
- id: primary-openstack-network-neutron-start
|
||||
version: 2.0.0
|
||||
refresh_on: [neutron_config]
|
||||
type: puppet
|
||||
groups: [primary-controller]
|
||||
required_for: [openstack-network-networks-nsxv]
|
||||
requires: [openstack-network-neutron-policy]
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/neutron-server-start.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 1800
|
||||
- id: openstack-network-networks-nsxv
|
||||
version: 2.0.0
|
||||
type: puppet
|
||||
groups: [primary-controller]
|
||||
required_for: [openstack-network-end,openstack-network-routers]
|
||||
requires: [primary-openstack-network-neutron-start]
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/neutron-network-create.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 600
|
||||
- id: horizon-enable-lbaas
|
||||
version: 2.0.0
|
||||
type: puppet
|
||||
groups: [primary-controller,controller]
|
||||
required_for: [deploy_end]
|
||||
requires: [horizon]
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/horizon-enable-lbaas.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 120
|
||||
|
||||
# post deployment tasks
|
||||
- id: add-public-key-to-controller
|
||||
|
|
|
@ -11,7 +11,6 @@ PLUGIN_MOD_DIR="$ROOT/deployment_scripts/puppet/modules/upstream"
|
|||
version=$(sed -rn 's/^version:\s*([0-9.])/\1/p' $ROOT/metadata.yaml)
|
||||
name=$(sed -rn 's/^name:\s*(.*)/\1/p' $ROOT/metadata.yaml)
|
||||
|
||||
sed -i "s/'NAME'/'$name'/" $ROOT/deployment_scripts/puppet/manifests/*.pp
|
||||
sed -i "s/'NAME'/'$name'/" $ROOT/deployment_scripts/puppet/modules/nsxv/files/reconf_neutron_with_new_compute.sh
|
||||
|
||||
## Download upstream puppet modules that are not in fuel-library/
|
||||
|
|
Loading…
Reference in New Issue