Add networking-baremetal ml2 plug-in
Change-Id: Iddbda9741456d66c664bebfb675cd453c6e66b65
This commit is contained in:
@@ -41,42 +41,43 @@ class neutron::params {
|
|||||||
$group = 'neutron'
|
$group = 'neutron'
|
||||||
|
|
||||||
if($::osfamily == 'Redhat') {
|
if($::osfamily == 'Redhat') {
|
||||||
$nobody_user_group = 'nobody'
|
$nobody_user_group = 'nobody'
|
||||||
$package_name = 'openstack-neutron'
|
$package_name = 'openstack-neutron'
|
||||||
$server_package = false
|
$server_package = false
|
||||||
$ml2_server_package = 'openstack-neutron-ml2'
|
$ml2_server_package = 'openstack-neutron-ml2'
|
||||||
$ovs_agent_package = false
|
$ovs_agent_package = false
|
||||||
$ovs_server_package = 'openstack-neutron-openvswitch'
|
$ovs_server_package = 'openstack-neutron-openvswitch'
|
||||||
$ovs_cleanup_service = 'neutron-ovs-cleanup'
|
$ovs_cleanup_service = 'neutron-ovs-cleanup'
|
||||||
$libnl_package = 'libnl'
|
$libnl_package = 'libnl'
|
||||||
$package_provider = 'rpm'
|
$package_provider = 'rpm'
|
||||||
$linuxbridge_agent_package = false
|
$linuxbridge_agent_package = false
|
||||||
$linuxbridge_server_package = 'openstack-neutron-linuxbridge'
|
$linuxbridge_server_package = 'openstack-neutron-linuxbridge'
|
||||||
$sriov_nic_agent_service = 'neutron-sriov-nic-agent'
|
$sriov_nic_agent_service = 'neutron-sriov-nic-agent'
|
||||||
$sriov_nic_agent_package = 'openstack-neutron-sriov-nic-agent'
|
$sriov_nic_agent_package = 'openstack-neutron-sriov-nic-agent'
|
||||||
$bigswitch_lldp_package = 'openstack-neutron-bigswitch-lldp'
|
$bigswitch_lldp_package = 'openstack-neutron-bigswitch-lldp'
|
||||||
$bigswitch_agent_package = 'openstack-neutron-bigswitch-agent'
|
$bigswitch_agent_package = 'openstack-neutron-bigswitch-agent'
|
||||||
$bigswitch_lldp_service = 'neutron-bsn-lldp'
|
$bigswitch_lldp_service = 'neutron-bsn-lldp'
|
||||||
$bigswitch_agent_service = 'neutron-bsn-agent'
|
$bigswitch_agent_service = 'neutron-bsn-agent'
|
||||||
$cisco_server_package = 'openstack-neutron-cisco'
|
$cisco_server_package = 'openstack-neutron-cisco'
|
||||||
$nvp_server_package = 'openstack-neutron-nicira'
|
$nvp_server_package = 'openstack-neutron-nicira'
|
||||||
$dhcp_agent_package = false
|
$dhcp_agent_package = false
|
||||||
$lbaasv2_agent_package = 'openstack-neutron-lbaas'
|
$lbaasv2_agent_package = 'openstack-neutron-lbaas'
|
||||||
$metering_agent_package = 'openstack-neutron-metering-agent'
|
$metering_agent_package = 'openstack-neutron-metering-agent'
|
||||||
$vpnaas_agent_package = 'openstack-neutron-vpnaas'
|
$vpnaas_agent_package = 'openstack-neutron-vpnaas'
|
||||||
$l2gw_agent_package = 'openstack-neutron-l2gw-agent'
|
$l2gw_agent_package = 'openstack-neutron-l2gw-agent'
|
||||||
$l2gw_package = 'python2-networking-l2gw'
|
$l2gw_package = 'python2-networking-l2gw'
|
||||||
$ovn_metadata_agent_package = 'networking-ovn-metadata-agent'
|
$ovn_metadata_agent_package = 'networking-ovn-metadata-agent'
|
||||||
if $::operatingsystemrelease =~ /^7.*/ or $::operatingsystem == 'Fedora' {
|
if $::operatingsystemrelease =~ /^7.*/ or $::operatingsystem == 'Fedora' {
|
||||||
$openswan_package = 'libreswan'
|
$openswan_package = 'libreswan'
|
||||||
} else {
|
} else {
|
||||||
$openswan_package = 'openswan'
|
$openswan_package = 'openswan'
|
||||||
}
|
}
|
||||||
$libreswan_package = 'libreswan'
|
$libreswan_package = 'libreswan'
|
||||||
$l3_agent_package = false
|
$l3_agent_package = false
|
||||||
$fwaas_package = 'openstack-neutron-fwaas'
|
$fwaas_package = 'openstack-neutron-fwaas'
|
||||||
$neutron_wsgi_script_path = '/var/www/cgi-bin/neutron'
|
$neutron_wsgi_script_path = '/var/www/cgi-bin/neutron'
|
||||||
$neutron_wsgi_script_source = '/usr/bin/neutron-api'
|
$neutron_wsgi_script_source = '/usr/bin/neutron-api'
|
||||||
|
$networking_baremetal_package = 'python2-networking-baremetal'
|
||||||
} elsif($::osfamily == 'Debian') {
|
} elsif($::osfamily == 'Debian') {
|
||||||
$nobody_user_group = 'nogroup'
|
$nobody_user_group = 'nogroup'
|
||||||
$package_name = 'neutron-common'
|
$package_name = 'neutron-common'
|
||||||
|
31
manifests/plugins/ml2/networking_baremetal.pp
Normal file
31
manifests/plugins/ml2/networking_baremetal.pp
Normal file
@@ -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
|
Reference in New Issue
Block a user