Fix rebase

Change-Id: Ib857acc206b4fb0799d591b816ec6277fe032aa5
This commit is contained in:
Artem Savinov 2015-09-30 19:17:40 +03:00
parent 733daf12f9
commit 33ba430aab
10 changed files with 3 additions and 318 deletions

View File

@ -1,7 +0,0 @@
#!/bin/bash
override_file='/etc/hiera/override/plugins_nsxv.yaml'
symlink_file='/etc/hiera/override/plugins.yaml'
if [ -L "$symlink_file" -a "$(readlink -f $symlink_file)" == "$override_file" ]; then
rm -f "$symlink_file" "$override_file"
fi

View File

@ -1,3 +0,0 @@
notice('fuel-plugin-nsxv: disable-nova-network.pp')
class { '::nsxv::disable_nova_network': }

View File

@ -1,5 +1,6 @@
notice('fuel-plugin-nsxv: hiera-override.pp')
# Values are changed by pre_build_hook
class { '::nsxv::hiera_override':
plugin_name => "NAME",
}

View File

@ -1,3 +0,0 @@
notice('fuel-plugin-nsxv: neutron-install.pp')
class { 'nsxv::neutron_install': }

View File

@ -1,3 +0,0 @@
notice('fuel-plugin-nsxv: nova-config.pp')
class { 'nsxv::nova_config': }

View File

@ -1,7 +1,7 @@
notice('MODULAR: openstack-network-controller.pp(fuel-plugin-nsxv patch)')
$core_plugin = 'vmware_nsx.neutron.plugins.vmware.plugin.NsxVPlugin'
$policy_file = '/etc/neutron/policy.json'
$policy_file = '/etc/neutron/policy.d/nsxv.json'
$neutron_config = hiera_hash('quantum_settings')
$rabbit_hash = hiera_hash('rabbit_hash', {})

View File

@ -1,50 +0,0 @@
class nsxv::disable_nova_network (
$nova_network_service_name = 'p_vcenter_nova_network',
$nova_network_config_ha = '/etc/nova/nova-network.d/nova-network-ha.conf',
) {
include ::nova::params
$access_hash = hiera_hash('access',{})
$controller_node = hiera('service_endpoint')
$os_username = $access_hash['user']
$os_password = $access_hash['password']
$os_auth_url = "http://${controller_node}:5000/v2.0/"
cs_resource { "${nova_network_service_name}":
ensure => absent,
notify => Exec["workaround_delete_${nova_network_service_name}"]
}
exec { "workaround_delete_${nova_network_service_name}":
path => '/usr/bin:/usr/sbin:/bin',
command => "pcs resource delete ${nova_network_service_name}",
refreshonly => true,
tries => 3,
try_sleep => 10,
}
package { 'nova-network':
name => $::nova::params::network_package_name,
ensure => purged,
require => Cs_resource["${nova_network_service_name}"],
}
file { "${nova_network_config_ha}":
ensure => absent,
}
exec { 'delete-nova-network':
path => '/usr/bin:/usr/sbin:/bin',
command => 'nova service-list --binary nova-network|awk \'/nova-network/ {print $2}\'|while read id; do nova service-delete $id; done',
onlyif => 'nova service-list --binary nova-network|grep \'nova-network\' 1>/dev/null',
provider => shell,
environment => [
'OS_TENANT_NAME=services',
"OS_USERNAME=${os_username}",
"OS_PASSWORD=${os_password}",
"OS_AUTH_URL=${os_auth_url}",
'OS_ENDPOINT_TYPE=internalURL'
],
tries => 3,
try_sleep => 10,
require => Cs_resource["${nova_network_service_name}"],
}
}

View File

@ -1,132 +0,0 @@
class nsxv::neutron_install(
$core_plugin = 'vmware_nsx.neutron.plugins.vmware.plugin.NsxVPlugin',
$policy_file = '/etc/neutron/policy.json',
) {
$neutron_config = hiera_hash('quantum_settings')
$rabbit_hash = hiera_hash('rabbit_hash', {})
$ceilometer_hash = hiera('ceilometer',{})
$nova_hash = hiera_hash('nova', {})
$network_scheme = hiera('network_scheme', {})
prepare_network_config($network_scheme)
# Neutron DB settings
$neutron_db_password = $neutron_config['database']['passwd']
$neutron_db_user = pick($neutron_config['database']['user'], 'neutron')
$neutron_db_name = pick($neutron_config['database']['name'], 'neutron')
$neutron_db_host = pick($neutron_config['database']['host'], hiera('database_vip'))
$neutron_db_uri = "mysql://${neutron_db_user}:${neutron_db_password}@${neutron_db_host}/${neutron_db_name}?&read_timeout=60"
# Neutron Keystone settings
$neutron_user_password = $neutron_config['keystone']['admin_password']
$keystone_user = pick($neutron_config['keystone']['admin_user'], 'neutron')
$keystone_tenant = pick($neutron_config['keystone']['admin_tenant'], 'services')
# base
$neutron_local_address_for_bind = get_network_role_property('neutron/api', 'ipaddr') # prepare_network_config need
$region = hiera('region', 'RegionOne')
$service_workers = min(max($::processorcount, 2), 16)
$management_vip = hiera('management_vip')
# endpoints
$service_endpoint = hiera('service_endpoint')
$nova_endpoint = hiera('nova_endpoint', $management_vip)
$neutron_endpoint = hiera('neutron_endpoint', $management_vip)
# logs
$debug = hiera('debug', true)
$use_syslog = hiera('use_syslog', true)
$use_stderr = hiera('use_stderr', false)
$syslog_log_facility_neutron = hiera('syslog_log_facility_neutron', 'LOG_LOCAL4')
# Queue settings
$queue_provider = hiera('queue_provider', 'rabbitmq')
$amqp_hosts = split(hiera('amqp_hosts', ''), ',')
class { 'openstack::network':
network_provider => 'neutron',
agents => [],
ha_agents => false,
verbose => true,
debug => $debug,
use_syslog => $use_syslog,
use_stderr => $use_stderr,
syslog_log_facility => $syslog_log_facility_neutron,
neutron_server => true,
neutron_server_enable => true,
neutron_db_uri => $neutron_db_uri,
nova_neutron => true,
base_mac => undef,
core_plugin => $core_plugin,
service_plugins => [],
net_mtu => undef,
network_device_mtu => undef,
bind_host => $neutron_local_address_for_bind,
dvr => false,
l2_population => false,
service_workers => $service_workers,
#ovs
mechanism_drivers => undef,
local_ip => undef,
bridge_mappings => undef,
network_vlan_ranges => undef,
enable_tunneling => undef,
tunnel_id_ranges => undef,
vni_ranges => undef,
tunnel_types => undef,
tenant_network_types => undef,
floating_bridge => undef,
#Queue settings
queue_provider => $queue_provider,
amqp_hosts => $amqp_hosts,
amqp_user => $rabbit_hash['user'],
amqp_password => $rabbit_hash['password'],
# keystone
admin_password => $neutron_user_password,
auth_url => "http://${service_endpoint}:35357/v2.0",
identity_uri => "http://${service_endpoint}:35357",
neutron_url => "http://${neutron_endpoint}:9696",
admin_tenant_name => $keystone_tenant,
admin_username => $keystone_user,
region => $region,
# Ceilometer notifications
ceilometer => $ceilometer_hash['enabled'],
#metadata
shared_secret => undef,
metadata_ip => undef,
isolated_metadata => undef,
#nova settings
private_interface => undef,
public_interface => undef,
fixed_range => undef,
floating_range => undef,
network_manager => undef,
network_config => undef,
create_networks => undef,
num_networks => undef,
network_size => undef,
nameservers => undef,
enable_nova_net => undef,
nova_admin_username => $nova_hash['user'],
nova_admin_tenant_name => $nova_hash['tenant'],
nova_admin_password => $nova_hash['user_password'],
nova_url => "http://${nova_endpoint}:8774/v2",
}
file { "${policy_file}":
ensure => file,
source => "puppet:///modules/${module_name}/policy.json",
mode => 644,
require => Class['openstack::network'],
replace => true,
}
}

View File

@ -1,118 +0,0 @@
class nsxv::nova_config (
$metadata_ha_conf = '/etc/haproxy/conf.d/060-nova-metadata-api.cfg',
$nova_conf = '/etc/nova/nova.conf',
) {
include ::nova::params
$roles = hiera('roles')
$vcenter_hash = hiera('vcenter_hash')
$vcenter_settings = $vcenter_hash['computes']
$neutron_config = hiera_hash('quantum_settings')
$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}" }
}
if 'primary-controller' in $roles or 'controller' in $roles {
include ::openstack::ha::haproxy_restart
$public_vip = hiera('public_vip')
$api_service_name = $::nova::params::api_service_name
$cert_service_name = $::nova::params::cert_service_name
$conductor_service_name = $::nova::params::conductor_service_name
$scheduler_service_name = $::nova::params::scheduler_service_name
file_line { 'metadata_public_listen':
path => $metadata_ha_conf,
after => 'listen nova-metadata-api',
line => " bind ${$public_vip}:8775",
notify => Exec['haproxy-restart'],
}
service { [$api_service_name,$cert_service_name,$conductor_service_name,$scheduler_service_name]:
ensure => 'running',
}
Nova_config<| |> ~> Service[$api_service_name,$cert_service_name,$conductor_service_name,$scheduler_service_name]
Nsxv::Delete_line<| |> ~> Service[$api_service_name,$cert_service_name,$conductor_service_name,$scheduler_service_name]
} elsif 'compute-vmware' in $roles {
$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_admin_password => $neutron_admin_password,
neutron_admin_tenant_name => $neutron_admin_tenant_name,
neutron_region_name => $region,
neutron_admin_username => $neutron_admin_username,
neutron_admin_auth_url => $neutron_admin_auth_url,
neutron_url => $neutron_url,
neutron_ovs_bridge => '',
}
Nsxv::Delete_line<| |> { require => Class['nova::network::neutron'] }
}
nsxv::delete_line { ['network_manager','public_interface','force_snat_range','flat_network_bridge','flat_injected','flat_interface']:
path => $nova_conf,
}
create_resources(nova_config, $nova_parameters)
create_resources(nsxv::define_vmware_compute, parse_vcenter_settings($vcenter_settings))
Nova_config<| |> ~> Service<| tag == 'vcenter_compute' |>
Nsxv::Delete_line<| |> ~> Service<| tag == 'vcenter_compute' |>
}
define nsxv::delete_line (
$line = $name,
$path = undef,
) {
$file_name = basename($path)
exec { "delete_${line}_from_${file_name}":
path => '/usr/bin:/usr/sbin:/bin',
command => "sed -ri '/^\s*${line}.*$/d' $path",
onlyif => "grep -E '^\s*${line}.*$' $path 1>/dev/null",
provider => shell,
tries => 3,
try_sleep => 10,
}
}
define nsxv::define_vmware_compute (
$availability_zone_name,
$vc_cluster,
$vc_host,
$vc_user,
$vc_password,
$service_name,
$target_node,
$datastore_regex = undef,
){
$uid = hiera('uid')
$current_node = "node-$uid"
$roles = hiera('roles')
if ($target_node == 'controllers' and ('primary-controller' in $roles or 'controller' in $roles)) {
service { "p_nova_compute_vmware_${availability_zone_name}-${service_name}":
ensure => running,
enable => true,
provider => 'pacemaker',
tag => 'vcenter_compute',
}
} elsif ($target_node == $current_node and 'compute-vmware' in $roles ) {
service { 'nova-compute':
ensure => running,
name => $::nova::params::compute_service_name,
enable => true,
tag => 'vcenter_compute',
}
}
}

View File

@ -2,7 +2,7 @@ attributes:
# Show only if vcenter used
metadata:
restrictions:
- condition: 'settings:common.use_vcenter.value == false'
- condition: "settings:common.use_vcenter.value == false or cluster:net_provider != 'neutron'"
action: 'hide'
nsxv_manager_host:
value: ''