Browse Source

Remove support for Midonet plugin

The plugin isn't well maintained and we have zero feedback on how it is
working, therefore we are removing it from the tree; and a composable
service can be added out of tree later if needed.

Change-Id: Ibbcf0316aebd6c1ca87f510f5aa4c4b44941ed88
changes/28/670828/4
Emilien Macchi 2 years ago
parent
commit
91d2875393
  1. 5
      capabilities-map.yaml
  2. 41
      deployment/neutron/neutron-compute-plugin-midonet.yaml
  3. 74
      deployment/neutron/neutron-midonet-baremetal-puppet.yaml
  4. 66
      environments/networking/neutron-midonet.yaml
  5. 28
      environments/neutron-midonet.yaml
  6. 1
      overcloud-resource-registry-puppet.j2.yaml
  7. 1
      overcloud.j2.yaml
  8. 105
      puppet/extraconfig/all_nodes/neutron-midonet-all-nodes.yaml
  9. 5
      releasenotes/notes/midonet_removal-9b91c6bb610b139e.yaml
  10. 32
      sample-env-generator/networking.yaml

5
capabilities-map.yaml

@ -234,11 +234,6 @@ topics:
description:
requires:
- overcloud-resource-registry-puppet.yaml
- file: environments/networking/neutron-midonet.yaml
title: Neutron MidoNet Services
description:
requires:
- overcloud-resource-registry-puppet.yaml
- file: environments/neutron-nuage-config.yaml
title: Neutron Nuage backend
description: Enables Neutron Nuage backend on the controller

41
deployment/neutron/neutron-compute-plugin-midonet.yaml

@ -1,41 +0,0 @@
heat_template_version: rocky
description: >
OpenStack Neutron Compute Midonet plugin
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. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
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: Role data for the Neutron Compute Plumgrid plugin
value:
service_name: neutron_compute_plugin_midonet
config_settings:
step_config: |
include ::tripleo::profile::base::neutron::agents::midonet

74
deployment/neutron/neutron-midonet-baremetal-puppet.yaml

@ -1,74 +0,0 @@
heat_template_version: rocky
description: >
OpenStack Neutron Midonet plugin and 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. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
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
NeutronPassword:
description: The password for the neutron service and db account, used by neutron agents.
type: string
hidden: true
AdminPassword:
description: The password for the keystone admin account, used for monitoring, querying neutron etc.
type: string
hidden: true
AdminToken:
description: The keystone auth secret and db password.
type: string
hidden: true
EnableZookeeperOnController:
label: Enable Zookeeper On Controller
description: 'Whether enable Zookeeper cluster on Controller'
type: boolean
default: false
EnableCassandraOnController:
label: Enable Cassandra On Controller
description: 'Whether enable Cassandra cluster on Controller'
type: boolean
default: false
MonitoringSubscriptionNeutronMidonet:
default: 'overcloud-neutron-midonet'
type: string
outputs:
role_data:
description: Role data for the Neutron Midonet plugin and services
value:
service_name: neutron_midonet
monitoring_subscription: {get_param: MonitoringSubscriptionNeutronMidonet}
config_settings:
tripleo::profile::base::neutron::midonet::admin_password: {get_param: AdminPassword}
tripleo::profile::base::neutron::midonet::keystone_admin_token: {get_param: AdminToken}
tripleo::profile::base::neutron::midonet::neutron_auth_password: {get_param: NeutronPassword}
tripleo::profile::base::neutron::midonet::zk_on_controller: {get_param: EnableZookeeperOnController}
tripleo::profile::base::neutron::midonet::neutron_auth_tenant: 'service'
enable_cassandra_on_controller: {get_param: EnableCassandraOnController}
neutron::service_plugins: []
step_config: |
include tripleo::profile::base::neutron::plugins::midonet

66
environments/networking/neutron-midonet.yaml

@ -1,66 +0,0 @@
# *******************************************************************
# This file was created automatically by the sample environment
# generator. Developers should use `tox -e genconfig` to update it.
# Users are recommended to make changes to a copy of the file instead
# of the original, if any customizations are needed.
# *******************************************************************
# title: Enable the Neutron MidoNet Services
# description: |
# A Heat environment that can be used to deploy MidoNet Services
parameter_defaults:
# Native Transport Port
# Type: string
CassandraClientPort: 9042
# The port for the Thrift RPC service, which is used for client connections
# Type: string
CassandraClientPortThrift: 9160
# The SSL port for encrypted communication. Unused unless enabled in encryption_options
# Type: string
CassandraSslStoragePort: 7001
# The Cassandra port for inter-node communication
# Type: string
CassandraStoragePort: 7000
# Name of the tunnel zone used to tunnel packages
# Type: string
TunnelZoneName: tunnelzone_tripleo
# Type of the tunnels on the overlay. Choose between `gre` and `vxlan`
# Type: string
TunnelZoneType: vxlan
# ******************************************************
# Static parameters - these are values that must be
# included in the environment but should not be changed.
# ******************************************************
# Whether enable Cassandra cluster on Controller
# Type: boolean
EnableCassandraOnController: True
# Whether enable Zookeeper cluster on Controller
# Type: boolean
EnableZookeeperOnController: True
# The core plugin for Neutron. The value should be the entrypoint to be loaded
# from neutron.core_plugins namespace.
# Type: string
NeutronCorePlugin: midonet.neutron.plugin_v1.MidonetPluginV2
# If True, DHCP provide metadata route to VM.
# Type: boolean
NeutronEnableIsolatedMetadata: True
# *********************
# End static parameters
# *********************
resource_registry:
OS::TripleO::AllNodesExtraConfig: ../../puppet/extraconfig/all_nodes/neutron-midonet-all-nodes.yaml
OS::TripleO::Controller::Net::SoftwareConfig: ../../net-config-linux-bridge.yaml
OS::TripleO::Services::ComputeNeutronCorePlugin: ../../deployment/neutron/neutron-compute-plugin-midonet.yaml
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginMidonet
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None

28
environments/neutron-midonet.yaml

@ -1,28 +0,0 @@
# ******************************************************************************
# DEPRECATED: Use tripleo-heat-templates/environments/networking/neutron-midonet
# instead.
# ******************************************************************************
# A Heat environment that can be used to deploy MidoNet Services
resource_registry:
OS::TripleO::AllNodesExtraConfig: ../puppet/extraconfig/all_nodes/neutron-midonet-all-nodes.yaml
OS::TripleO::Controller::Net::SoftwareConfig: ../net-config-linux-bridge.yaml # We have to avoid any ovs bridge. MidoNet is incompatible with its datapath
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
# Override the NeutronCorePlugin to use Nuage
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginMidonet
OS::TripleO::Services::ComputeNeutronCorePlugin: ../deployment/neutron/neutron-compute-plugin-midonet.yaml
parameter_defaults:
EnableZookeeperOnController: true
EnableCassandraOnController: true
NeutronCorePlugin: 'midonet.neutron.plugin_v1.MidonetPluginV2' # Overriding default core_plugin in Neutron. Don't touch it
NeutronEnableIsolatedMetadata: true # MidoNet 1.9 needs this one to work. Don't change it
# Other available options for MidoNet Services
# TunnelZoneName: 'tunnelname'
# TunnelZoneType: 'gre'
# CassandraStoragePort: 7000
# CassandraSslStoragePort: 7009
# CassandraClientPort: 9042
# CassandraClientPortThrift: 9160

1
overcloud-resource-registry-puppet.j2.yaml

@ -160,7 +160,6 @@ resource_registry:
OS::TripleO::Services::OVNController: deployment/ovn/ovn-controller-container-puppet.yaml
OS::TripleO::Services::NeutronCorePluginMLNXSDN: deployment/neutron/neutron-plugin-ml2-mlnx-sdn-assist-container-puppet.yaml
OS::TripleO::Services::NeutronCorePluginMidonet: deployment/neutron/neutron-midonet-baremetal-puppet.yaml
OS::TripleO::Services::NeutronCorePluginVTS: deployment/neutron/neutron-plugin-ml2-cisco-vts-container-puppet.yaml
OS::TripleO::Services::NeutronCorePluginML2Ansible: deployment/neutron/neutron-plugin-ml2-ansible-container-puppet.yaml
OS::TripleO::Services::NeutronNuageVrs: deployment/neutron/neutron-controller-plugin-nuage.yaml

1
overcloud.j2.yaml

@ -962,7 +962,6 @@ resources:
# where some vendor integrations added hieradata via ExtraConfigPre
- neutron_bigswitch_data # Optionally provided by Controller/ComputeExtraConfigPre
- cisco_n1kv_data # Optionally provided by Controller/ComputeExtraConfigPre
- midonet_data #Optionally provided by AllNodesExtraConfig
# Special variable for upgrade
- upgrade
{%- endfor %}

105
puppet/extraconfig/all_nodes/neutron-midonet-all-nodes.yaml

@ -1,105 +0,0 @@
heat_template_version: rocky
description: Configure hieradata for all MidoNet nodes
parameters:
# Parameters passed from the parent template
servers:
type: json
EnableZookeeperOnController:
label: Enable Zookeeper On Controller
description: 'Whether enable Zookeeper cluster on Controller'
type: boolean
default: false
EnableCassandraOnController:
label: Enable Cassandra On Controller
description: 'Whether enable Cassandra cluster on Controller'
type: boolean
default: false
CassandraStoragePort:
label: Cassandra Storage Port
description: 'The Cassandra port for inter-node communication'
type: string
default: '7000'
CassandraSslStoragePort:
label: Cassandra SSL Storage Port
description: 'The SSL port for encrypted communication. Unused unless enabled in encryption_options'
type: string
default: '7001'
CassandraClientPort:
label: Cassandra Client Port
description: 'Native Transport Port'
type: string
default: '9042'
CassandraClientPortThrift:
label: Cassandra Client Thrift Port
description: 'The port for the Thrift RPC service, which is used for client connections'
type: string
default: '9160'
TunnelZoneName:
label: Name of the Tunnelzone
description: 'Name of the tunnel zone used to tunnel packages'
type: string
default: 'tunnelzone_tripleo'
TunnelZoneType:
label: Type of the Tunnel
description: 'Type of the tunnels on the overlay. Choose between `gre` and `vxlan`'
type: string
default: 'vxlan'
resources:
NetworkMidoNetConfig:
type: OS::Heat::StructuredConfig
properties:
group: hiera
config:
datafiles:
midonet_data:
mapped_data:
enable_zookeeper_on_controller: {get_param: EnableZookeeperOnController}
enable_cassandra_on_controller: {get_param: EnableCassandraOnController}
midonet_tunnelzone_name: {get_param: TunnelZoneName}
midonet_tunnelzone_type: {get_param: TunnelZoneType}
midonet_libvirt_qemu_data: |
user = "root"
group = "root"
cgroup_device_acl = [
"/dev/null", "/dev/full", "/dev/zero",
"/dev/random", "/dev/urandom",
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
"/dev/rtc","/dev/hpet", "/dev/vfio/vfio",
"/dev/net/tun"
]
tripleo::cluster::cassandra::storage_port: {get_param: CassandraStoragePort}
tripleo::cluster::cassandra::ssl_storage_port: {get_param: CassandraSslStoragePort}
tripleo::cluster::cassandra::client_port: {get_param: CassandraClientPort}
tripleo::cluster::cassandra::client_port_thrift: {get_param: CassandraClientPortThrift}
tripleo::haproxy::midonet_api: true
# Missed Neutron Puppet data
neutron::agents::dhcp::interface_driver: 'neutron.agent.linux.interface.MidonetInterfaceDriver'
neutron::agents::dhcp::dhcp_driver: 'midonet.neutron.agent.midonet_driver.DhcpNoOpDriver'
neutron::plugins::midonet::midonet_api_port: 8081
neutron::plugins::midonet::keystone_tenant: service
neutron::params::midonet_server_package: 'python-networking-midonet'
# Make sure the l3 agent does not run
l3_agent_service: false
neutron::agents::l3::manage_service: false
neutron::agents::l3::enabled: false
NetworkMidonetDeploymentControllers:
type: OS::Heat::StructuredDeploymentGroup
properties:
name: NetworkMidonetDeploymentControllers
config: {get_resource: NetworkMidoNetConfig}
servers: {get_param: [servers, Controller]}
NetworkMidonetDeploymentComputes:
type: OS::Heat::StructuredDeploymentGroup
properties:
name: NetworkMidonetDeploymentComputes
config: {get_resource: NetworkMidoNetConfig}
servers: {get_param: [servers, Compute]}

5
releasenotes/notes/midonet_removal-9b91c6bb610b139e.yaml

@ -0,0 +1,5 @@
---
deprecations:
- |
Support for the Midonet plugin has been removed from TripleO Train.
The reason is the lack of maintainers and testing around this plugin.

32
sample-env-generator/networking.yaml

@ -1,32 +0,0 @@
environments:
-
name: networking/neutron-midonet
title: Enable the Neutron MidoNet Services
description: A Heat environment that can be used to deploy MidoNet Services
files:
puppet/extraconfig/all_nodes/neutron-midonet-all-nodes.yaml:
parameters: all
deployment/neutron/neutron-base.yaml:
parameters:
- NeutronCorePlugin
deployment/neutron/neutron-dhcp-container-puppet.yaml:
parameters:
- NeutronEnableIsolatedMetadata
sample_values:
NeutronCorePlugin: 'midonet.neutron.plugin_v1.MidonetPluginV2'
NeutronEnableIsolatedMetadata: true
EnableZookeeperOnController: true
EnableCassandraOnController: true
static:
- NeutronCorePlugin
- NeutronEnableIsolatedMetadata
- EnableZookeeperOnController
- EnableCassandraOnController
resource_registry:
OS::TripleO::AllNodesExtraConfig: ../../puppet/extraconfig/all_nodes/neutron-midonet-all-nodes.yaml
OS::TripleO::Controller::Net::SoftwareConfig: ../../net-config-linux-bridge.yaml
OS::TripleO::Services::NeutronL3Agent: OS::Heat::None
OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::ComputeNeutronOvsAgent: OS::Heat::None
OS::TripleO::Services::NeutronCorePlugin: OS::TripleO::Services::NeutronCorePluginMidonet
OS::TripleO::Services::ComputeNeutronCorePlugin: ../../deployment/neutron/neutron-compute-plugin-midonet.yaml
Loading…
Cancel
Save