Add networking-baremetal ml2 plug-in
Change-Id: Iddbda9741456d66c664bebfb675cd453c6e66b65
This commit is contained in:
parent
c030adb8c8
commit
6988025973
|
@ -41,42 +41,43 @@ class neutron::params {
|
|||
$group = 'neutron'
|
||||
|
||||
if($::osfamily == 'Redhat') {
|
||||
$nobody_user_group = 'nobody'
|
||||
$package_name = 'openstack-neutron'
|
||||
$server_package = false
|
||||
$ml2_server_package = 'openstack-neutron-ml2'
|
||||
$ovs_agent_package = false
|
||||
$ovs_server_package = 'openstack-neutron-openvswitch'
|
||||
$ovs_cleanup_service = 'neutron-ovs-cleanup'
|
||||
$libnl_package = 'libnl'
|
||||
$package_provider = 'rpm'
|
||||
$linuxbridge_agent_package = false
|
||||
$linuxbridge_server_package = 'openstack-neutron-linuxbridge'
|
||||
$sriov_nic_agent_service = 'neutron-sriov-nic-agent'
|
||||
$sriov_nic_agent_package = 'openstack-neutron-sriov-nic-agent'
|
||||
$bigswitch_lldp_package = 'openstack-neutron-bigswitch-lldp'
|
||||
$bigswitch_agent_package = 'openstack-neutron-bigswitch-agent'
|
||||
$bigswitch_lldp_service = 'neutron-bsn-lldp'
|
||||
$bigswitch_agent_service = 'neutron-bsn-agent'
|
||||
$cisco_server_package = 'openstack-neutron-cisco'
|
||||
$nvp_server_package = 'openstack-neutron-nicira'
|
||||
$dhcp_agent_package = false
|
||||
$lbaasv2_agent_package = 'openstack-neutron-lbaas'
|
||||
$metering_agent_package = 'openstack-neutron-metering-agent'
|
||||
$vpnaas_agent_package = 'openstack-neutron-vpnaas'
|
||||
$l2gw_agent_package = 'openstack-neutron-l2gw-agent'
|
||||
$l2gw_package = 'python2-networking-l2gw'
|
||||
$ovn_metadata_agent_package = 'networking-ovn-metadata-agent'
|
||||
$nobody_user_group = 'nobody'
|
||||
$package_name = 'openstack-neutron'
|
||||
$server_package = false
|
||||
$ml2_server_package = 'openstack-neutron-ml2'
|
||||
$ovs_agent_package = false
|
||||
$ovs_server_package = 'openstack-neutron-openvswitch'
|
||||
$ovs_cleanup_service = 'neutron-ovs-cleanup'
|
||||
$libnl_package = 'libnl'
|
||||
$package_provider = 'rpm'
|
||||
$linuxbridge_agent_package = false
|
||||
$linuxbridge_server_package = 'openstack-neutron-linuxbridge'
|
||||
$sriov_nic_agent_service = 'neutron-sriov-nic-agent'
|
||||
$sriov_nic_agent_package = 'openstack-neutron-sriov-nic-agent'
|
||||
$bigswitch_lldp_package = 'openstack-neutron-bigswitch-lldp'
|
||||
$bigswitch_agent_package = 'openstack-neutron-bigswitch-agent'
|
||||
$bigswitch_lldp_service = 'neutron-bsn-lldp'
|
||||
$bigswitch_agent_service = 'neutron-bsn-agent'
|
||||
$cisco_server_package = 'openstack-neutron-cisco'
|
||||
$nvp_server_package = 'openstack-neutron-nicira'
|
||||
$dhcp_agent_package = false
|
||||
$lbaasv2_agent_package = 'openstack-neutron-lbaas'
|
||||
$metering_agent_package = 'openstack-neutron-metering-agent'
|
||||
$vpnaas_agent_package = 'openstack-neutron-vpnaas'
|
||||
$l2gw_agent_package = 'openstack-neutron-l2gw-agent'
|
||||
$l2gw_package = 'python2-networking-l2gw'
|
||||
$ovn_metadata_agent_package = 'networking-ovn-metadata-agent'
|
||||
if $::operatingsystemrelease =~ /^7.*/ or $::operatingsystem == 'Fedora' {
|
||||
$openswan_package = 'libreswan'
|
||||
} else {
|
||||
$openswan_package = 'openswan'
|
||||
}
|
||||
$libreswan_package = 'libreswan'
|
||||
$l3_agent_package = false
|
||||
$fwaas_package = 'openstack-neutron-fwaas'
|
||||
$neutron_wsgi_script_path = '/var/www/cgi-bin/neutron'
|
||||
$neutron_wsgi_script_source = '/usr/bin/neutron-api'
|
||||
$libreswan_package = 'libreswan'
|
||||
$l3_agent_package = false
|
||||
$fwaas_package = 'openstack-neutron-fwaas'
|
||||
$neutron_wsgi_script_path = '/var/www/cgi-bin/neutron'
|
||||
$neutron_wsgi_script_source = '/usr/bin/neutron-api'
|
||||
$networking_baremetal_package = 'python2-networking-baremetal'
|
||||
} elsif($::osfamily == 'Debian') {
|
||||
$nobody_user_group = 'nogroup'
|
||||
$package_name = 'neutron-common'
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
# This class installs and configures the networking-baremetal Neutron plugin
|
||||
#
|
||||
# == Class: neutron::plugins::ml2::networking_baremetal
|
||||
#
|
||||
# === Parameters
|
||||
#
|
||||
# [*package_ensure*]
|
||||
# (optional) The intended state of the python-networking-baremetal
|
||||
# package, i.e. any of the possible values of the 'ensure'
|
||||
# property for a package resource type.
|
||||
# Defaults to 'present'
|
||||
#
|
||||
class neutron::plugins::ml2::networking_baremetal(
|
||||
$package_ensure = 'present',
|
||||
) {
|
||||
|
||||
include ::neutron::deps
|
||||
include ::neutron::params
|
||||
require ::neutron::plugins::ml2
|
||||
|
||||
if($::osfamily != 'RedHat') {
|
||||
# Drivers are only packaged for RedHat at this time
|
||||
fail("Unsupported osfamily ${::osfamily}")
|
||||
} else {
|
||||
package { 'python2-networking-baremetal':
|
||||
ensure => $package_ensure,
|
||||
name => $::neutron::params::networking_baremetal_package,
|
||||
tag => ['openstack', 'neutron-package'],
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
features:
|
||||
- Additional support for baremetal. Added support for installation of
|
||||
networking-baremetal neutron ML2 mechanism driver.
|
|
@ -0,0 +1,61 @@
|
|||
require 'spec_helper'
|
||||
|
||||
describe 'neutron::plugins::ml2::networking_baremetal' do
|
||||
let :default_params do
|
||||
{ :package_ensure => 'present',
|
||||
}
|
||||
end
|
||||
|
||||
let :test_facts do
|
||||
{ :operatingsystem => 'default',
|
||||
:operatingsystemrelease => 'default'
|
||||
}
|
||||
end
|
||||
|
||||
let :params do
|
||||
{}
|
||||
end
|
||||
|
||||
shared_examples_for 'networking-baremetal ml2 plugin' do
|
||||
let :p do
|
||||
default_params.merge(params)
|
||||
end
|
||||
|
||||
it { is_expected.to contain_class('neutron::params') }
|
||||
|
||||
it 'installs networking-baremetal python2-networking-baremetal package' do
|
||||
is_expected.to contain_package('python2-networking-baremetal').with(
|
||||
:name => platform_params[:networking_baremetal_package],
|
||||
:ensure => p[:package_ensure],
|
||||
:tag => ['openstack', 'neutron-package'],
|
||||
)
|
||||
is_expected.to contain_package('python2-networking-baremetal').that_requires('Anchor[neutron::install::begin]')
|
||||
is_expected.to contain_package('python2-networking-baremetal').that_notifies('Anchor[neutron::install::end]')
|
||||
end
|
||||
end
|
||||
|
||||
on_supported_os({
|
||||
:supported_os => OSDefaults.get_supported_os
|
||||
}).each do |os,facts|
|
||||
context "on #{os}" do
|
||||
let (:facts) do
|
||||
facts.merge!(OSDefaults.get_facts())
|
||||
end
|
||||
let (:platform_params) do
|
||||
case facts[:osfamily]
|
||||
when 'RedHat'
|
||||
{ :networking_baremetal_package => 'python2-networking-baremetal'}
|
||||
end
|
||||
end
|
||||
case facts[:osfamily]
|
||||
when 'RedHat'
|
||||
it_behaves_like 'networking-baremetal ml2 plugin'
|
||||
when facts[:osfamily] != 'RedHat'
|
||||
it 'fails with unsupported osfamily' do
|
||||
is_expected.to raise_error(Puppet::Error, /Unsupported osfamily.*/)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in New Issue