Adapt metadata and params to Fuel 7.0
Added python-neutron-plugin-midonet to Ubuntu repository Also deleted the same package for CentOS, since it's not supported for Fuel 7.0 Install Kilo instead of Juno Edited several manifest to adapt it to Fuel 7.0 Added new tasks and roles files for Fuel 7.0 These files were not available for previous Fuel versions Minor changes in environment_config and tasks files Change-Id: Ib99c4b955fb709c1e05d395a6085d8435f8a36da
This commit is contained in:
parent
b1b8e68431
commit
4a57eb3af5
|
@ -2,6 +2,6 @@ start on runlevel [123456]
|
||||||
stop on shutdown
|
stop on shutdown
|
||||||
|
|
||||||
script
|
script
|
||||||
puppet apply --modulepath=/etc/fuel/plugins/midonet-fuel-plugin-2.2/puppet/modules:/etc/puppet/modules /etc/fuel/plugins/midonet-fuel-plugin-2.2/puppet/manifests/midonet-gateway-bgp.pp
|
puppet apply --modulepath=/etc/fuel/plugins/midonet-fuel-plugin-3.0/puppet/modules:/etc/puppet/modules /etc/fuel/plugins/midonet-fuel-plugin-3.0/puppet/manifests/midonet-gateway-bgp.pp
|
||||||
end script
|
end script
|
||||||
|
|
||||||
|
|
|
@ -34,9 +34,9 @@ if $mem {
|
||||||
midonet_repo => "http://${mem_user}:${mem_password}@yum.midokura.com/repo/${mem_version}/stable/RHEL",
|
midonet_repo => "http://${mem_user}:${mem_password}@yum.midokura.com/repo/${mem_version}/stable/RHEL",
|
||||||
manage_distro_repo => false,
|
manage_distro_repo => false,
|
||||||
midonet_key_url => "http://${mem_user}:${mem_password}@yum.midokura.com/repo/RPM-GPG-KEY-midokura",
|
midonet_key_url => "http://${mem_user}:${mem_password}@yum.midokura.com/repo/RPM-GPG-KEY-midokura",
|
||||||
midonet_openstack_repo => "http://${mem_user}:${mem_password}@yum.midokura.com/repo/openstack-juno/stable/RHEL",
|
midonet_openstack_repo => "http://${mem_user}:${mem_password}@yum.midokura.com/repo/openstack-kilo/stable/RHEL",
|
||||||
midonet_stage => '',
|
midonet_stage => '',
|
||||||
openstack_release => 'juno'
|
openstack_release => 'kilo'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'Ubuntu': {
|
'Ubuntu': {
|
||||||
|
@ -47,9 +47,9 @@ if $mem {
|
||||||
class { '::midonet::repository':
|
class { '::midonet::repository':
|
||||||
midonet_repo => "http://${mem_user}:${mem_password}@apt.midokura.com/midonet/${mem_version}/stable",
|
midonet_repo => "http://${mem_user}:${mem_password}@apt.midokura.com/midonet/${mem_version}/stable",
|
||||||
manage_distro_repo => false,
|
manage_distro_repo => false,
|
||||||
midonet_openstack_repo => "http://${mem_user}:${mem_password}@apt.midokura.com/openstack/juno/stable",
|
midonet_openstack_repo => "http://${mem_user}:${mem_password}@apt.midokura.com/openstack/kilo/stable",
|
||||||
midonet_stage => 'trusty',
|
midonet_stage => 'trusty',
|
||||||
openstack_release => 'juno'
|
openstack_release => 'kilo'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,15 +59,16 @@ if $mem {
|
||||||
class { '::midonet::repository':
|
class { '::midonet::repository':
|
||||||
midonet_repo => "http://repo.midonet.org/midonet/${oss_version}/RHEL",
|
midonet_repo => "http://repo.midonet.org/midonet/${oss_version}/RHEL",
|
||||||
manage_distro_repo => false,
|
manage_distro_repo => false,
|
||||||
openstack_release => 'juno'
|
openstack_release => 'kilo'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
'Ubuntu': {
|
'Ubuntu': {
|
||||||
class { '::midonet::repository':
|
class { '::midonet::repository':
|
||||||
midonet_repo => "http://repo.midonet.org/midonet/${oss_version}",
|
midonet_repo => "http://repo.midonet.org/midonet/${oss_version}",
|
||||||
manage_distro_repo => false,
|
manage_distro_repo => false,
|
||||||
openstack_release => 'juno'
|
openstack_release => 'kilo'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,3 +25,4 @@ exec {'sleep 3':
|
||||||
exec {'service midolman start':
|
exec {'service midolman start':
|
||||||
path => $service_path
|
path => $service_path
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
$nodes_hash = hiera('nodes', {})
|
# Extract hiera data
|
||||||
$roles = node_roles($nodes_hash, hiera('uid'))
|
$network_metadata = hiera_hash('network_metadata')
|
||||||
|
$roles = $network_metadata['nodes']["$::hostname"]['node_roles']
|
||||||
|
|
||||||
$ovs_agent_name = $operatingsystem ? {
|
$ovs_agent_name = $operatingsystem ? {
|
||||||
'CentOS' => 'neutron-openvswitch-agent',
|
'CentOS' => 'neutron-openvswitch-agent',
|
||||||
|
|
|
@ -1,18 +1,19 @@
|
||||||
$fuel_settings = parseyaml($astute_settings_yaml)
|
|
||||||
$management_address = hiera('management_vip')
|
$management_address = hiera('management_vip')
|
||||||
$username = $fuel_settings['access']['user']
|
$access_data = hiera_hash('access')
|
||||||
$password = $fuel_settings['access']['password']
|
$username = $access_data['user']
|
||||||
$tenant_name = $fuel_settings['access']['tenant']
|
$password = $access_data['password']
|
||||||
$midonet_settings = $fuel_settings['midonet-fuel-plugin']
|
$tenant_name = $access_data['tenant']
|
||||||
$gateway_nodes = filter_nodes($fuel_settings['nodes'], 'role', 'midonet-gw')
|
|
||||||
$gateways_hash_ips = nodes_to_hash($gateway_nodes, 'name', 'public_address')
|
$midonet_settings = hiera_hash('midonet-fuel-plugin')
|
||||||
$gw_ip = $gateways_hash_ips[$::hostname]
|
|
||||||
$gateways_hash_mask = nodes_to_hash($gateway_nodes, 'name', 'public_netmask')
|
|
||||||
$gw_mask = $gateways_hash_mask[$::hostname]
|
|
||||||
$net_hash = public_network_hash($gw_ip, $gw_mask)
|
|
||||||
$f_net_cidr = split($midonet_settings['floating_cidr'], '/')
|
$f_net_cidr = split($midonet_settings['floating_cidr'], '/')
|
||||||
$remote_peers = generate_remote_peers($midonet_settings)
|
$remote_peers = generate_remote_peers($midonet_settings)
|
||||||
|
|
||||||
|
$nodes_hash = hiera('nodes')
|
||||||
|
$node = filter_nodes($nodes_hash, 'fqdn', $::fqdn)
|
||||||
|
$gw_ip = $node[0]['public_address']
|
||||||
|
$gw_mask = $node[0]['public_netmask']
|
||||||
|
$net_hash = public_network_hash($gw_ip, $gw_mask)
|
||||||
|
|
||||||
notify {"peers":
|
notify {"peers":
|
||||||
message => "floating neeet si $remote_peers"
|
message => "floating neeet si $remote_peers"
|
||||||
}
|
}
|
||||||
|
@ -61,7 +62,7 @@ exec {"set up external bridge":
|
||||||
|
|
||||||
file {"/etc/init/midonet-network.conf":
|
file {"/etc/init/midonet-network.conf":
|
||||||
ensure => present,
|
ensure => present,
|
||||||
source => "/etc/fuel/plugins/midonet-fuel-plugin-2.2/puppet/files/startup.conf"
|
source => "/etc/fuel/plugins/midonet-fuel-plugin-3.0/puppet/files/startup.conf"
|
||||||
} ->
|
} ->
|
||||||
|
|
||||||
midonet_gateway { $::fqdn:
|
midonet_gateway { $::fqdn:
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
$fuel_settings = parseyaml($astute_settings_yaml)
|
# Extract data from hiera
|
||||||
$api_ip = $::fuel_settings['management_vip']
|
$api_ip = hiera('management_vip')
|
||||||
|
$access_data = hiera_hash('access')
|
||||||
|
$username = $access_data['user']
|
||||||
|
$password = $access_data['password']
|
||||||
|
$tenant_name = $access_data['tenant']
|
||||||
|
|
||||||
$tz_type = $::fuel_settings['midonet-fuel-plugin']['tunnel_type']
|
# Plugin settings data
|
||||||
$username = $fuel_settings['access']['user']
|
$midonet_settings = hiera_hash('midonet-fuel-plugin')
|
||||||
$password = $fuel_settings['access']['password']
|
$tz_type = $midonet_settings['tunnel_type']
|
||||||
$tenant_name = $fuel_settings['access']['tenant']
|
|
||||||
|
|
||||||
$service_path = $operatingsystem ? {
|
$service_path = $operatingsystem ? {
|
||||||
'CentOS' => '/sbin',
|
'CentOS' => '/sbin',
|
||||||
|
|
|
@ -1,13 +1,16 @@
|
||||||
$fuel_settings = parseyaml($astute_settings_yaml)
|
# Extract data from hiera
|
||||||
$all_nodes = $fuel_settings['nodes']
|
$network_metadata = hiera_hash('network_metadata')
|
||||||
$nsdb_nodes = filter_nodes($all_nodes, 'role', 'nsdb')
|
$neutron_config = hiera_hash('neutron_config')
|
||||||
$zoo_ips = generate_api_zookeeper_ips($nsdb_nodes)
|
$segmentation_type = $neutron_config['L2']['segmentation_type']
|
||||||
$cass_hash = nodes_to_hash($nsdb_nodes, 'name', 'internal_address')
|
$nsdb_hash = get_nodes_hash_by_roles($network_metadata, ['nsdb'])
|
||||||
$api_ip = $::fuel_settings['management_vip']
|
$nsdb_mgmt_ips = get_node_to_ipaddr_map_by_network_role($nsdb_hash, 'management')
|
||||||
|
$zoo_ips_hash = generate_api_zookeeper_ips(values($nsdb_mgmt_ips))
|
||||||
$username = $fuel_settings['access']['user']
|
$cass_ips = values($nsdb_mgmt_ips)
|
||||||
$password = $fuel_settings['access']['password']
|
$api_ip = hiera('management_vip')
|
||||||
$tenant_name = $fuel_settings['access']['tenant']
|
$access_data = hiera_hash('access')
|
||||||
|
$username = $access_data['user']
|
||||||
|
$password = $access_data['password']
|
||||||
|
$tenant_name = $access_data['tenant']
|
||||||
|
|
||||||
$ovsdb_service_name = $operatingsystem ? {
|
$ovsdb_service_name = $operatingsystem ? {
|
||||||
'CentOS' => 'openvswitch',
|
'CentOS' => 'openvswitch',
|
||||||
|
@ -38,8 +41,8 @@ package {$openvswitch_package:
|
||||||
} ->
|
} ->
|
||||||
|
|
||||||
class {'::midonet::midonet_agent':
|
class {'::midonet::midonet_agent':
|
||||||
zk_servers => $zoo_ips,
|
zk_servers => $zoo_ips_hash,
|
||||||
cassandra_seeds => values($cass_hash),
|
cassandra_seeds => $cass_ips
|
||||||
} ->
|
} ->
|
||||||
|
|
||||||
class {'::midonet::midonet_cli':
|
class {'::midonet::midonet_cli':
|
||||||
|
@ -48,3 +51,15 @@ class {'::midonet::midonet_cli':
|
||||||
password => $password,
|
password => $password,
|
||||||
tenant_name => $tenant_name,
|
tenant_name => $tenant_name,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Firewall rule to allow the udp port used for vxlan tunnelling of overlay
|
||||||
|
# traffic from midolman hosts to other midolman hosts.
|
||||||
|
|
||||||
|
if $segmentation_type =='tun' {
|
||||||
|
firewall {'6677 vxlan port':
|
||||||
|
port => '6677',
|
||||||
|
proto => 'udp',
|
||||||
|
action => 'accept',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,24 @@
|
||||||
$fuel_settings = parseyaml($astute_settings_yaml)
|
# Extract data from hiera
|
||||||
$all_nodes = $fuel_settings['nodes']
|
$network_metadata = hiera_hash('network_metadata')
|
||||||
$nsdb_nodes = filter_nodes($all_nodes, 'role', 'nsdb')
|
$controllers_map = get_nodes_hash_by_roles($network_metadata, ['controller', 'primary-controller'])
|
||||||
$zoo_ips = generate_api_zookeeper_ips($nsdb_nodes)
|
$controllers_mgmt_ips = get_node_to_ipaddr_map_by_network_role($controllers_map, 'management')
|
||||||
$primary_controller_nodes = filter_nodes($all_nodes, 'role', 'primary-controller')
|
$nsdb_hash = get_nodes_hash_by_roles($network_metadata, ['nsdb'])
|
||||||
$controllers = concat($primary_controller_nodes, filter_nodes($all_nodes, 'role', 'controller'))
|
$nsdb_mgmt_ips = get_node_to_ipaddr_map_by_network_role($nsdb_hash, 'management')
|
||||||
|
$zoo_ips_hash = generate_api_zookeeper_ips(values($nsdb_mgmt_ips))
|
||||||
|
$management_vip = hiera('management_vip')
|
||||||
|
$public_vip = hiera('public_vip')
|
||||||
|
$keystone_data = hiera_hash('keystone')
|
||||||
|
$access_data = hiera_hash('access')
|
||||||
|
$public_ssl_hash = hiera('public_ssl')
|
||||||
|
|
||||||
class {'::midonet::midonet_api':
|
class {'::midonet::midonet_api':
|
||||||
zk_servers => $zoo_ips,
|
zk_servers => $zoo_ips_hash,
|
||||||
keystone_auth => true,
|
keystone_auth => true,
|
||||||
keystone_host => $::fuel_settings['management_vip'],
|
keystone_host => $management_vip,
|
||||||
keystone_admin_token => $::fuel_settings['keystone']['admin_token'],
|
keystone_admin_token => $keystone_data['admin_token'],
|
||||||
keystone_tenant_name => $::fuel_settings['access']['tenant'],
|
keystone_tenant_name => $access_data['tenant'],
|
||||||
bind_address => $::ipaddress_br_mgmt,
|
bind_address => $::ipaddress_br_mgmt,
|
||||||
api_ip => $::fuel_settings['public_vip'],
|
api_ip => $public_vip,
|
||||||
api_port => '8081',
|
api_port => '8081',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,10 +27,10 @@ Haproxy::Service { use_include => true }
|
||||||
Haproxy::Balancermember { use_include => true }
|
Haproxy::Balancermember { use_include => true }
|
||||||
|
|
||||||
Openstack::Ha::Haproxy_service {
|
Openstack::Ha::Haproxy_service {
|
||||||
server_names => filter_hash($controllers, 'name'),
|
server_names => keys($controllers_mgmt_ips),
|
||||||
ipaddresses => filter_hash($controllers, 'internal_address'),
|
ipaddresses => values($controllers_mgmt_ips),
|
||||||
public_virtual_ip => $::fuel_settings['public_vip'],
|
public_virtual_ip => $public_vip,
|
||||||
internal_virtual_ip => $::fuel_settings['management_vip'],
|
internal_virtual_ip => $management_vip
|
||||||
}
|
}
|
||||||
|
|
||||||
openstack::ha::haproxy_service { 'midonetapi':
|
openstack::ha::haproxy_service { 'midonetapi':
|
||||||
|
|
|
@ -12,11 +12,12 @@
|
||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
$fuel_settings = parseyaml($astute_settings_yaml)
|
# Extract data from hiera
|
||||||
$all_nodes = $fuel_settings['nodes']
|
$fuel_settings = parseyaml($astute_settings_yaml)
|
||||||
$nsdb_nodes = filter_nodes($all_nodes, 'role', 'nsdb')
|
$network_metadata = hiera_hash('network_metadata')
|
||||||
$zoo_hash = generate_zookeeper_hash($nsdb_nodes)
|
$nsdb_map = get_nodes_hash_by_roles($network_metadata, ['nsdb'])
|
||||||
$cass_hash = nodes_to_hash($nsdb_nodes, 'name', 'internal_address')
|
$zoo_hash = generate_zookeeper_hash($nsdb_map)
|
||||||
|
$nsdb_mgmt_map = get_node_to_ipaddr_map_by_network_role($nsdb_map, 'management')
|
||||||
|
|
||||||
class {'::zookeeper':
|
class {'::zookeeper':
|
||||||
servers => values($zoo_hash),
|
servers => values($zoo_hash),
|
||||||
|
@ -25,8 +26,8 @@ class {'::zookeeper':
|
||||||
}
|
}
|
||||||
|
|
||||||
class {'::cassandra':
|
class {'::cassandra':
|
||||||
seeds => values($cass_hash),
|
seeds => values($nsdb_mgmt_map),
|
||||||
seed_address => $cass_hash["${::hostname}"],
|
seed_address => $nsdb_mgmt_map["${::hostname}"]
|
||||||
}
|
}
|
||||||
|
|
||||||
firewall {'500 zookeeper ports':
|
firewall {'500 zookeeper ports':
|
||||||
|
|
|
@ -1,63 +1,16 @@
|
||||||
$fuel_settings = parseyaml($astute_settings_yaml)
|
# Neutron data
|
||||||
$address = hiera('management_vip')
|
$amqp_port = '5673'
|
||||||
# amqp settings
|
$rabbit_hash = hiera('rabbit_hash', {})
|
||||||
$controllers = hiera('controllers')
|
$service_endpoint = hiera('management_vip')
|
||||||
$controller_internal_addresses = nodes_to_hash($controllers,'name','internal_address')
|
|
||||||
$controller_nodes = ipsort(values($controller_internal_addresses))
|
|
||||||
$internal_address = hiera('internal_address')
|
|
||||||
if $internal_address in $controller_nodes {
|
|
||||||
# prefer local MQ broker if it exists on this node
|
|
||||||
$amqp_nodes = concat(['127.0.0.1'], fqdn_rotate(delete($controller_nodes, $internal_address)))
|
|
||||||
} else {
|
|
||||||
$amqp_nodes = fqdn_rotate($controller_nodes)
|
|
||||||
}
|
|
||||||
|
|
||||||
$amqp_port = '5673'
|
|
||||||
$amqp_hosts = inline_template("<%= @amqp_nodes.map {|x| x + ':' + @amqp_port}.join ',' %>")
|
|
||||||
$rabbit_hash = hiera('rabbit_hash', {})
|
|
||||||
$service_endpoint = hiera('management_vip')
|
|
||||||
$neutron_config = hiera('quantum_settings')
|
$neutron_config = hiera('quantum_settings')
|
||||||
$neutron_db_password = $neutron_config['database']['passwd']
|
$neutron_db_password = $neutron_config['database']['passwd']
|
||||||
$neutron_user_password = $neutron_config['keystone']['admin_password']
|
$neutron_user_password = $neutron_config['keystone']['admin_password']
|
||||||
|
|
||||||
ensure_resource('file', '/etc/neutron/plugins/midonet', {
|
# Neutron plugin data
|
||||||
ensure => directory,
|
$access_data = hiera_hash('access')
|
||||||
owner => 'root',
|
$username = $access_data['user']
|
||||||
group => 'neutron',
|
$password = $access_data['password']
|
||||||
mode => '0640'}
|
$tenant_name = $access_data['tenant']
|
||||||
)
|
|
||||||
|
|
||||||
neutron_plugin_midonet {
|
|
||||||
'MIDONET/midonet_uri': value => "http://${address}:8081/midonet-api";
|
|
||||||
'MIDONET/username': value => $fuel_settings['access']['user'];
|
|
||||||
'MIDONET/password': value => $fuel_settings['access']['password'];
|
|
||||||
'MIDONET/project_id': value => $fuel_settings['access']['tenant'];
|
|
||||||
} ->
|
|
||||||
|
|
||||||
package {'python-neutron-plugin-midonet':
|
|
||||||
ensure => present
|
|
||||||
}
|
|
||||||
|
|
||||||
if $::osfamily == 'Debian' {
|
|
||||||
file_line { '/etc/default/neutron-server:NEUTRON_PLUGIN_CONFIG':
|
|
||||||
path => '/etc/default/neutron-server',
|
|
||||||
match => '^NEUTRON_PLUGIN_CONFIG=(.*)$',
|
|
||||||
line => "NEUTRON_PLUGIN_CONFIG=/etc/neutron/plugins/midonet/midonet.ini",
|
|
||||||
notify => Service['neutron-server'],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# In RH, this link is used to start Neutron process but in Debian, it's used only
|
|
||||||
# to manage database synchronization.
|
|
||||||
if defined(File['/etc/neutron/plugin.ini']) {
|
|
||||||
File <| path == '/etc/neutron/plugin.ini' |> { target => '/etc/neutron/plugins/midonet/midonet.ini' }
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
file {'/etc/neutron/plugin.ini':
|
|
||||||
ensure => link,
|
|
||||||
target => '/etc/neutron/plugins/midonet/midonet.ini'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class {'::neutron':
|
class {'::neutron':
|
||||||
verbose => false,
|
verbose => false,
|
||||||
|
@ -65,7 +18,7 @@ class {'::neutron':
|
||||||
use_syslog => false,
|
use_syslog => false,
|
||||||
log_facility => 'LOG_USER',
|
log_facility => 'LOG_USER',
|
||||||
base_mac => 'fa:16:3e:00:00:00',
|
base_mac => 'fa:16:3e:00:00:00',
|
||||||
core_plugin => 'midonet.neutron.plugin.MidonetPluginV2',
|
core_plugin => 'neutron.plugins.midonet.plugin.MidonetPluginV2',
|
||||||
service_plugins => [],
|
service_plugins => [],
|
||||||
allow_overlapping_ips => true,
|
allow_overlapping_ips => true,
|
||||||
mac_generation_retries => 32,
|
mac_generation_retries => 32,
|
||||||
|
@ -74,13 +27,21 @@ class {'::neutron':
|
||||||
report_interval => 5,
|
report_interval => 5,
|
||||||
rabbit_user => $rabbit_hash['user'],
|
rabbit_user => $rabbit_hash['user'],
|
||||||
rabbit_host => ['localhost'],
|
rabbit_host => ['localhost'],
|
||||||
rabbit_hosts => [$amqp_hosts],
|
rabbit_hosts => split(hiera('amqp_hosts', ''), ','),
|
||||||
rabbit_port => '5672',
|
rabbit_port => '5672',
|
||||||
rabbit_password => $rabbit_hash['password'],
|
rabbit_password => $rabbit_hash['password'],
|
||||||
kombu_reconnect_delay => '5.0',
|
kombu_reconnect_delay => '5.0',
|
||||||
network_device_mtu => undef,
|
network_device_mtu => undef,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class {'::neutron::plugins::midonet':
|
||||||
|
midonet_api_ip => $service_endpoint,
|
||||||
|
midonet_api_port => '8081',
|
||||||
|
keystone_username => $username,
|
||||||
|
keystone_password => $password,
|
||||||
|
keystone_tenant => $tenant_name
|
||||||
|
}
|
||||||
|
|
||||||
class { '::neutron::server':
|
class { '::neutron::server':
|
||||||
sync_db => $primary_controller ? {true => 'primary', default => 'slave'},
|
sync_db => $primary_controller ? {true => 'primary', default => 'slave'},
|
||||||
auth_host => $service_endpoint,
|
auth_host => $service_endpoint,
|
||||||
|
|
|
@ -1,17 +1,19 @@
|
||||||
$fuel_settings = parseyaml($astute_settings_yaml)
|
# Extract data from hiera
|
||||||
$access_hash = hiera('access', {})
|
$access_data = hiera_hash('access')
|
||||||
$keystone_admin_tenant = $access_hash[tenant]
|
$keystone_admin_tenant = $access_data['tenant']
|
||||||
$neutron_settings = hiera('quantum_settings')
|
$network_metadata = hiera_hash('network_metadata')
|
||||||
$nets = $neutron_settings['predefined_networks']
|
$node_roles = $network_metadata['nodes'][$::hostname]['node_roles']
|
||||||
|
$neutron_settings = hiera('quantum_settings')
|
||||||
|
$nets = $neutron_settings['predefined_networks']
|
||||||
|
$segment_id = $nets['net04']['L2']['segment_id']
|
||||||
|
$vm_net_l3 = $nets['net04']['L3']
|
||||||
|
|
||||||
$nodes_hash = hiera('nodes', {})
|
# Plugin settings data
|
||||||
$roles = node_roles($nodes_hash, hiera('uid'))
|
$midonet_settings = hiera_hash('midonet-fuel-plugin')
|
||||||
|
$tz_type = $midonet_settings['tunnel_type']
|
||||||
|
$range_start = $midonet_settings['floating_ip_range_start']
|
||||||
|
$range_end = $midonet_settings['floating_ip_range_end']
|
||||||
|
|
||||||
$segment_id = $nets['net04']['L2']['segment_id']
|
|
||||||
$vm_net_l3 = $nets['net04']['L3']
|
|
||||||
|
|
||||||
$midonet_settings = $::fuel_settings['midonet-fuel-plugin']
|
|
||||||
$tz_type = $midonet_settings['tunnel_type']
|
|
||||||
$vm_net = { shared => false,
|
$vm_net = { shared => false,
|
||||||
"L2" => { network_type => $tz_type,
|
"L2" => { network_type => $tz_type,
|
||||||
router_ext => false,
|
router_ext => false,
|
||||||
|
@ -22,15 +24,13 @@ $vm_net = { shared => false,
|
||||||
tenant => 'admin'
|
tenant => 'admin'
|
||||||
}
|
}
|
||||||
|
|
||||||
$range_start = $midonet_settings['floating_ip_range_start']
|
|
||||||
$range_end = $midonet_settings['floating_ip_range_end']
|
|
||||||
$allocation_pools = "start=$range_start,end=$range_end"
|
$allocation_pools = "start=$range_start,end=$range_end"
|
||||||
|
|
||||||
service { 'neutron-server':
|
service { 'neutron-server':
|
||||||
ensure => running,
|
ensure => running,
|
||||||
}
|
}
|
||||||
|
|
||||||
if member($roles, 'primary-controller') {
|
if member($node_roles, 'primary-controller') {
|
||||||
exec {'refresh-dhcp-agent':
|
exec {'refresh-dhcp-agent':
|
||||||
command => 'crm resource start p_neutron-dhcp-agent',
|
command => 'crm resource start p_neutron-dhcp-agent',
|
||||||
path => '/usr/bin:/usr/sbin',
|
path => '/usr/bin:/usr/sbin',
|
||||||
|
|
|
@ -20,7 +20,7 @@ module Puppet::Parser::Functions
|
||||||
result = []
|
result = []
|
||||||
nodes_hash = argv[0]
|
nodes_hash = argv[0]
|
||||||
nodes_hash.each do |zk_ip|
|
nodes_hash.each do |zk_ip|
|
||||||
result.push({'ip' => zk_ip['internal_address']})
|
result.push({'ip' => zk_ip})
|
||||||
end
|
end
|
||||||
return result
|
return result
|
||||||
end
|
end
|
||||||
|
|
|
@ -19,12 +19,10 @@ module Puppet::Parser::Functions
|
||||||
) do |argv|
|
) do |argv|
|
||||||
nodes_hash = argv[0]
|
nodes_hash = argv[0]
|
||||||
result = {}
|
result = {}
|
||||||
sorted_ctrls = nodes_hash
|
nodes_hash.each do |ctrl|
|
||||||
sorted_ctrls.sort! {|a,b| a['uid'].to_i <=> b['uid'].to_i}
|
result[ctrl[1]['fqdn']] = { 'host' => ctrl[1]['network_roles']['management'],
|
||||||
sorted_ctrls.each do |ctrl|
|
'id' => (nodes_hash.keys().index(ctrl).to_i + 1).to_s
|
||||||
result[ctrl['fqdn']] = { 'host' => ctrl['internal_address'],
|
}
|
||||||
'id' => (sorted_ctrls.index(ctrl)+1).to_s
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
return result
|
return result
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
- id: mido-nsdb
|
||||||
|
type: group
|
||||||
|
role: [nsdb]
|
||||||
|
requires: []
|
||||||
|
required_for: [pre_deployment_end]
|
||||||
|
parameters:
|
||||||
|
strategy:
|
||||||
|
type: parallel
|
||||||
|
|
||||||
|
- id: midonet-gw
|
||||||
|
type: group
|
||||||
|
role: [midonet-gw]
|
||||||
|
requires: [deploy_start]
|
||||||
|
required_for: [deploy_end]
|
||||||
|
parameters:
|
||||||
|
strategy:
|
||||||
|
type: parallel
|
|
@ -1,7 +1,7 @@
|
||||||
attributes:
|
attributes:
|
||||||
metadata:
|
metadata:
|
||||||
restrictions:
|
restrictions:
|
||||||
- condition: cluster:net_provider != 'neutron' or networking_parameters:segmentation_type != 'gre'
|
- condition: cluster:net_provider != 'neutron'
|
||||||
action: hide
|
action: hide
|
||||||
mem:
|
mem:
|
||||||
value: false
|
value: false
|
||||||
|
|
|
@ -1,23 +1,23 @@
|
||||||
name: midonet-fuel-plugin
|
name: midonet-fuel-plugin
|
||||||
title: Neutron Midonet plugin
|
title: Neutron Midonet plugin
|
||||||
version: 2.2.0
|
version: 3.0.0
|
||||||
description: Enable to use plugin Midonet for Neutron
|
description: Enable to use plugin Midonet for Neutron
|
||||||
fuel_version: ['6.1']
|
fuel_version: ['7.0']
|
||||||
releases:
|
releases:
|
||||||
- os: ubuntu
|
- os: ubuntu
|
||||||
version: 2014.2.2-6.1
|
version: 2015.1.0-7.0
|
||||||
mode: ['ha', 'multinode']
|
mode: ['ha', 'multinode']
|
||||||
deployment_scripts_path: deployment_scripts/
|
deployment_scripts_path: deployment_scripts/
|
||||||
repository_path: repositories/ubuntu
|
repository_path: repositories/ubuntu
|
||||||
- os: centos
|
- os: centos
|
||||||
version: 2014.2.2-6.1
|
version: 2015.1.0-7.0
|
||||||
mode: ['ha', 'multinode']
|
mode: ['ha', 'multinode']
|
||||||
deployment_scripts_path: deployment_scripts/
|
deployment_scripts_path: deployment_scripts/
|
||||||
repository_path: repositories/centos
|
repository_path: repositories/centos
|
||||||
package_version: '2.0.0'
|
package_version: '3.0.0'
|
||||||
licenses: ['Apache 2.0']
|
licenses: ['Apache 2.0']
|
||||||
authors: ['Lucas Eznarriaga <lucas@midokura.com>, Midokura',
|
authors: ['Lucas Eznarriaga <lucas@midokura.com>, Midokura',
|
||||||
'Jaume Devesa <jaume@midokura.com>, Midokura',
|
'Jaume Devesa <jaume@midokura.com>, Midokura',
|
||||||
'Carmela Rubinos <carmela@midokura.com>, Midokura']
|
'Carmela Rubinos <carmela@midokura.com>, Midokura']
|
||||||
homepage: https://github.com/stackforge/fuel-plugin-midonet
|
homepage: 'https://github.com/stackforge/fuel-plugin-midonet'
|
||||||
groups: ['network']
|
groups: ['network']
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
mido-nsdb:
|
||||||
|
name: 'mido-nsdb'
|
||||||
|
description: "Network State Database for MidoNet"
|
||||||
|
has_primary: false
|
||||||
|
public_ip_required: false
|
||||||
|
weight: 100
|
||||||
|
volumes_roles_mapping:
|
||||||
|
- allocate_size: min
|
||||||
|
id: os
|
||||||
|
|
||||||
|
midonet-gw:
|
||||||
|
name: 'midonet-gw'
|
||||||
|
description: "MidoNet HA Gateway"
|
||||||
|
has_primary: true
|
||||||
|
public_ip_required: true
|
||||||
|
weight: 101
|
||||||
|
volumes_roles_mapping:
|
||||||
|
- allocate_size: min
|
||||||
|
id: os
|
Binary file not shown.
Binary file not shown.
|
@ -152,7 +152,7 @@
|
||||||
timeout: 720
|
timeout: 720
|
||||||
|
|
||||||
# Clean and run Neutron database. That may help if someday we need a MidoNet
|
# Clean and run Neutron database. That may help if someday we need a MidoNet
|
||||||
# specific database table (like in v2.0 we will need, the `tasks` one)
|
# specific database table
|
||||||
- id: midonet_recreate_neutron_db
|
- id: midonet_recreate_neutron_db
|
||||||
role: [primary-controller]
|
role: [primary-controller]
|
||||||
stage: post_deployment/6435
|
stage: post_deployment/6435
|
||||||
|
|
Loading…
Reference in New Issue