Browse Source

Remove support for networking-bigswitch

The networking-bigswitch plugin is no longer maintained. The repository
has not been updated for 2 years and no release has been made since
stable/train.

Ideally we should deprecate the functionality first. However current
TripleO follows its own independent release cycle and this makes it
difficult to implement deprecation consistent with the  underlying
puppet-neutron. (We are deprecating support for the plugin during Yoga
and will remove it completely in Zed). Because of this situation and
the assumption that it's not likely any user will use the plugin with
recent versions of OpenStack, this change directly removes support
for the plugin from TripleO.

Change-Id: Idea125fa97c39e1f5e97d76f8d33b61fab695625
Closes-Bug: #1962579
changes/79/831379/1
Takashi Kajinami 6 months ago
parent
commit
67969af3d9
  1. 37
      deployment/neutron/neutron-bigswitch-agent-baremetal-puppet.yaml
  2. 31
      environments/neutron-ml2-bigswitch.yaml
  3. 3
      overcloud.j2.yaml
  4. 52
      puppet/extraconfig/pre_deploy/compute/neutron-ml2-bigswitch.yaml
  5. 84
      puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml
  6. 5
      releasenotes/notes/remove-networking-bigswitch-9ae5c280990284a2.yaml

37
deployment/neutron/neutron-bigswitch-agent-baremetal-puppet.yaml

@ -1,37 +0,0 @@
heat_template_version: wallaby
description: >
Installs bigswitch agent and enables the services
parameters:
ServiceData:
default: {}
description: Dictionary packing service data
type: json
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. Use
parameter_merge_strategies to merge it with the defaults.
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
outputs:
role_data:
description: Configure the bigswitch agent services
value:
service_name: neutron_bigswitch_agent
step_config: |
include tripleo::profile::base::neutron::agents::bigswitch

31
environments/neutron-ml2-bigswitch.yaml

@ -1,31 +0,0 @@
# A Heat environment file which can be used to enable Big Switch
# extensions, configured via puppet
resource_registry:
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml
OS::TripleO::ComputeExtraConfigPre: ../puppet/extraconfig/pre_deploy/compute/neutron-ml2-bigswitch.yaml
OS::TripleO::NeutronBigswitchAgent: ../deployment/neutron/neutron-bigswitch-agent-baremetal-puppet.yaml
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
parameter_defaults:
# Required to fill in:
NeutronBigswitchRestproxyServers:
NeutronBigswitchRestproxyServerAuth:
NeutronMechanismDrivers: openvswitch,bsn_ml2
NeutronServicePlugins: bsn_l3,bsn_service_plugin
# Optional:
# NeutronBigswitchRestproxyAutoSyncOnFailure:
# NeutronBigswitchRestproxyConsistencyInterval:
# NeutronBigswitchRestproxyNeutronId:
# NeutronBigswitchRestproxyServerSsl:
# NeutronBigswitchRestproxySslCertDirectory:
# NeutronBigswitchAgentEnabled:
# NeutronBigswitchLLDPEnabled:
ControllerExtraConfig:
neutron::agents::l3::enabled: false
neutron::agents::dhcp::enable_force_metadata: true
neutron::agents::dhcp::enable_isolated_metadata: true
neutron::agents::dhcp::enable_metadata_network: false
neutron::server::l3_ha: false

3
overcloud.j2.yaml

@ -688,9 +688,6 @@ resources:
- net_ip_map
- ovn_chassis_mac_map # provided by tripleo_hieradata
- '%{::osfamily}'
# The following are required for compatibility with the Controller role
# where some vendor integrations added hieradata via ExtraConfigPre
- neutron_bigswitch_data # Optionally provided by Controller/ComputeExtraConfigPre
# Special variable for upgrade
- upgrade

52
puppet/extraconfig/pre_deploy/compute/neutron-ml2-bigswitch.yaml

@ -1,52 +0,0 @@
heat_template_version: wallaby
description: Configure hieradata for Big Switch agents on compute node
parameters:
server:
description: ID of the controller node to apply this config to
type: string
NeutronBigswitchAgentEnabled:
description: The state of the neutron-bsn-agent service.
type: boolean
default: false
NeutronBigswitchLLDPEnabled:
description: The state of the neutron-bsn-lldp service.
type: boolean
default: true
resources:
NeutronBigswitchConfig:
type: OS::Heat::StructuredConfig
properties:
group: hiera
config:
datafiles:
neutron_bigswitch_data:
neutron::agents::bigswitch::agent_enabled: {get_input: neutron_enable_bigswitch_agent}
neutron::agents::bigswitch::lldp_enabled: {get_input: neutron_enable_bigswitch_lldp}
# NOTE(aschultz): required for the puppet module but we don't
# actually want them defined on the compute nodes so we're
# relying on the puppet module's handling of <SERVICE DEFAULT>
# to just not set these but still accept that they were defined.
# This will should be fixed in puppet-neutron and removed here,
# but for backportability, we need to define something.
neutron::plugins::ml2::bigswitch::restproxy::servers: '<SERVICE DEFAULT>'
neutron::plugins::ml2::bigswitch::restproxy::server_auth: '<SERVICE DEFAULT>'
NeutronBigswitchDeployment:
type: OS::Heat::StructuredDeployment
properties:
name: NeutronBigswitchDeployment
config: {get_resource: NeutronBigswitchConfig}
server: {get_param: server}
input_values:
neutron_enable_bigswitch_agent: {get_param: NeutronBigswitchAgentEnabled}
neutron_enable_bigswitch_lldp: {get_param: NeutronBigswitchLLDPEnabled}
outputs:
deploy_stdout:
description: Deployment reference, used to trigger puppet apply on changes
value: {get_attr: [NeutronBigswitchDeployment, deploy_stdout]}

84
puppet/extraconfig/pre_deploy/controller/neutron-ml2-bigswitch.yaml

@ -1,84 +0,0 @@
heat_template_version: wallaby
description: Configure hieradata for Neutron Big Switch configuration
parameters:
server:
description: ID of the controller node to apply this config to
type: string
NeutronBigswitchAgentEnabled:
description: The state of the neutron-bsn-agent service.
type: boolean
default: true
NeutronBigswitchLLDPEnabled:
description: The state of the neutron-bsn-lldp service.
type: boolean
default: false
NeutronBigswitchRestproxyServers:
description: 'Big Switch controllers ("IP:port,IP:port")'
type: string
NeutronBigswitchRestproxyServerAuth:
description: 'Big Switch controller credentials ("username:password")'
type: string
NeutronBigswitchRestproxyAutoSyncOnFailure:
description: Resynchronize with the new master server on Big Switch failover.
type: boolean
default: true
NeutronBigswitchRestproxyConsistencyInterval:
description: Keepalive message interval (from Neutron to Big Switch controller).
type: number
default: 60
NeutronBigswitchRestproxyNeutronId:
description: Unique identifier of the Neutron instance for the Big Switch controller.
type: string
default: 'neutron'
NeutronBigswitchRestproxyServerSsl:
description: Whether Neutron should use SSL to talk to the Big Switch controllers.
type: boolean
default: true
NeutronBigswitchRestproxySslCertDirectory:
description: Directory where Big Switch controller certificate will be stored.
type: string
default: '/var/lib/neutron'
resources:
NeutronBigswitchConfig:
type: OS::Heat::StructuredConfig
properties:
group: hiera
config:
datafiles:
neutron_bigswitch_data:
neutron::agents::bigswitch::agent_enabled: {get_input: neutron_enable_bigswitch_agent}
neutron::agents::bigswitch::lldp_enabled: {get_input: neutron_enable_bigswitch_lldp}
neutron::plugins::ml2::bigswitch::restproxy::servers: {get_input: restproxy_servers}
neutron::plugins::ml2::bigswitch::restproxy::server_auth: {get_input: restproxy_server_auth}
neutron::plugins::ml2::bigswitch::restproxy::auto_sync_on_failure: {get_input: restproxy_auto_sync_on_failure}
neutron::plugins::ml2::bigswitch::restproxy::consistency_interval: {get_input: restproxy_consistency_interval}
neutron::plugins::ml2::bigswitch::restproxy::neutron_id: {get_input: restproxy_neutron_id}
neutron::plugins::ml2::bigswitch::restproxy::server_ssl: {get_input: restproxy_server_ssl}
neutron::plugins::ml2::bigswitch::restproxy::ssl_cert_directory: {get_input: restproxy_ssl_cert_directory}
neutron::plugins::ml2::bigswitch::restproxy::auth_tenant: service
NeutronBigswitchDeployment:
type: OS::Heat::StructuredDeployment
properties:
name: NeutronBigswitchDeployment
config: {get_resource: NeutronBigswitchConfig}
server: {get_param: server}
input_values:
neutron_enable_bigswitch_agent: {get_param: NeutronBigswitchAgentEnabled}
neutron_enable_bigswitch_lldp: {get_param: NeutronBigswitchLLDPEnabled}
restproxy_servers: {get_param: NeutronBigswitchRestproxyServers}
restproxy_server_auth: {get_param: NeutronBigswitchRestproxyServerAuth }
restproxy_auto_sync_on_failure: {get_param: NeutronBigswitchRestproxyAutoSyncOnFailure}
restproxy_consistency_interval: {get_param: NeutronBigswitchRestproxyConsistencyInterval}
restproxy_neutron_id: {get_param: NeutronBigswitchRestproxyNeutronId}
restproxy_server_ssl: {get_param: NeutronBigswitchRestproxyServerSsl}
restproxy_ssl_cert_directory: {get_param: NeutronBigswitchRestproxySslCertDirectory}
outputs:
deploy_stdout:
description: Deployment reference, used to trigger puppet apply on changes
value: {get_attr: [NeutronBigswitchDeployment, deploy_stdout]}

5
releasenotes/notes/remove-networking-bigswitch-9ae5c280990284a2.yaml

@ -0,0 +1,5 @@
---
upgrade:
- |
Support for networking-bigswitch has been removed, because the plugin is
no longer maineined.
Loading…
Cancel
Save