From 38e5f4cce2389ffe5933109c31543289c1aee5f4 Mon Sep 17 00:00:00 2001 From: Thomas Goirand Date: Fri, 8 Mar 2024 09:12:00 +0100 Subject: [PATCH] networking-bagpipe: define package name & service Add the package name and service name for Debian for the Bagpipe plugin. These were previously undefined. Also do the unit testing under Debian. Change-Id: Ia4baa6a351b44b4a501a57f3a9c8d11364e2ccb0 --- manifests/agents/bagpipe.pp | 4 ++-- manifests/params.pp | 6 ++++-- .../bagpipe-agent-debian-support-0e6eb3c42f7809a2.yaml | 7 +++++++ spec/classes/neutron_agents_bagpipe_spec.rb | 5 +++-- 4 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 releasenotes/notes/bagpipe-agent-debian-support-0e6eb3c42f7809a2.yaml diff --git a/manifests/agents/bagpipe.pp b/manifests/agents/bagpipe.pp index 3dff9b2ff..eba901d77 100644 --- a/manifests/agents/bagpipe.pp +++ b/manifests/agents/bagpipe.pp @@ -98,8 +98,8 @@ class neutron::agents::bagpipe ( include neutron::deps include neutron::params - if $facts['os']['family'] != 'RedHat' { - fail('BaGPipe agent is currently supported in RedHat OS family') + if ! $::neutron::params::bagpipe_bgp_package { + fail('BaGPipe agent is currently unsupported in this operating system.') } resources { 'neutron_bgpvpn_bagpipe_config': diff --git a/manifests/params.pp b/manifests/params.pp index 98b7234e7..5c0a4d2de 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -80,6 +80,8 @@ class neutron::params { $api_service_name = 'neutron-api' $rpc_package_name = 'neutron-rpc-server' $rpc_service_name = 'neutron-rpc-server' + $bagpipe_bgp_package = 'networking-bagpipe-bgp-agent' + $bagpipe_bgp_service = 'networking-bagpipe-bgp-agent' } else { $ml2_server_package = 'neutron-plugin-ml2' $server_service = 'neutron-server' @@ -88,11 +90,11 @@ class neutron::params { $api_service_name = undef $rpc_package_name = undef $rpc_service_name = undef + $bagpipe_bgp_package = undef + $bagpipe_bgp_service = undef } $dynamic_routing_package = 'python3-neutron-dynamic-routing' $bgp_dragent_package = 'neutron-bgp-dragent' - $bagpipe_bgp_package = undef - $bagpipe_bgp_service = undef $bgpvpn_bagpipe_package = 'python3-networking-bagpipe' $ovs_agent_package = 'neutron-openvswitch-agent' $ovs_cleanup_service = undef diff --git a/releasenotes/notes/bagpipe-agent-debian-support-0e6eb3c42f7809a2.yaml b/releasenotes/notes/bagpipe-agent-debian-support-0e6eb3c42f7809a2.yaml new file mode 100644 index 000000000..fd4a10044 --- /dev/null +++ b/releasenotes/notes/bagpipe-agent-debian-support-0e6eb3c42f7809a2.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + Added support for networking-bagpie agent under Debian. Previously, only + Red Hat OS familly was supported, as Debian was not providing an agent + package. Note that Ubuntu still does not provide a bagpipe agent package + or service, and therefore, is still unsuported. diff --git a/spec/classes/neutron_agents_bagpipe_spec.rb b/spec/classes/neutron_agents_bagpipe_spec.rb index 42f3597cd..3b26b478e 100644 --- a/spec/classes/neutron_agents_bagpipe_spec.rb +++ b/spec/classes/neutron_agents_bagpipe_spec.rb @@ -118,11 +118,12 @@ describe 'neutron::agents::bagpipe' do { :bagpipe_bgp_package => 'openstack-bagpipe-bgp', :bagpipe_bgp_service => 'bagpipe-bgp' } when 'Debian' - {} + { :bagpipe_bgp_package => 'networking-bagpipe-bgp-agent', + :bagpipe_bgp_service => 'networking-bagpipe-bgp-agent' } end end - if facts[:os]['family'] == 'RedHat' + if facts[:os]['family'] == 'RedHat' or facts[:os]['name'] == 'Debian' it_behaves_like 'neutron bgpvpn bagpipe agent' end end