ovn_dbs_virtual_ip created even though ovn is disabled in the environment which takes up an ip address unnecessarily

Bug #1869900 reported by Flavio Fernandes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Undecided
Flavio Fernandes

Bug Description

Use case: Deploying SRIOV with RHOSP 16

While deploying SRIOV it is has been specifically mentioned that ovn should be disabled and the ML2 plugin in use should be ovs. Details at [1];

In my deployment command, I've included: services/neutron-ovs.yaml

which ends up disabling all the ovn services:

(overcloud) [stack@undercloud16 ~]$ cat ~/templates/openstack-tripleo-heat-templates/environments/services/neutron-ovs.yaml
# A Heat environment file that enables DVR in the overcloud. Used with Compute
# DVR role. Note that the network configuration is consistent with the default
# tripleo network templates so some customization is likely required for
# production deployments.
resource_registry:
  # Default Neutron ML2 puppet plugin to use when NeutronCorePlugin is set to ML2
  # FIXME(bogdando): can not be switched yet due to puppet-base issues
  # see https://review.opendev.org/#/c/563443
  OS::TripleO::Docker::NeutronMl2PluginBase: ../../deployment/neutron/neutron-plugin-ml2.yaml

  OS::TripleO::Services::NeutronServer: ../../deployment/neutron/neutron-api-container-puppet.yaml
  OS::TripleO::Services::NeutronApi: ../../deployment/neutron/neutron-api-container-puppet.yaml
  OS::TripleO::Services::NeutronCorePlugin: ../../deployment/neutron/neutron-plugin-ml2-container-puppet.yaml
  OS::TripleO::Services::NeutronMetadataAgent: ../../deployment/neutron/neutron-metadata-container-puppet.yaml
  OS::TripleO::Services::NeutronOvsAgent: ../../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
  OS::TripleO::Services::NeutronDhcpAgent: ../../deployment/neutron/neutron-dhcp-container-puppet.yaml
  OS::TripleO::Services::ComputeNeutronOvsAgent: ../../deployment/neutron/neutron-ovs-agent-container-puppet.yaml
  OS::TripleO::Services::NeutronL3Agent: ../../deployment/neutron/neutron-l3-container-puppet.yaml

  # Disable OVN services
  OS::TripleO::Services::OVNController: OS::Heat::None
  OS::TripleO::Services::OVNDBs: OS::Heat::None
  OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None

parameter_defaults:

  NeutronMechanismDrivers: ['openvswitch']
  NeutronPluginExtensions: "qos,port_security"

  NeutronTypeDrivers: 'vxlan,vlan,flat,gre'
  NeutronNetworkType: 'vxlan'
  NeutronServicePlugins: 'router,qos,segments,trunk,port_forwarding'
  NeutronVniRanges: ['1:65536', ]
  KernelIpNonLocalBind: 0

  NeutronEnableDVR: false

  NeutronL3AgentExtensions: "port_forwarding"

yet when running; neutron port-list on the undercloud; we will see that the virtual ip for ovn dbs has been created:

(undercloud) [stack@undercloud16 ~]$ neutron port-list
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
+--------------------------------------+---------------------+----------------------------------+-------------------+-------------------------------------------------------------------------------------+
| id | name | tenant_id | mac_address | fixed_ips |
+--------------------------------------+---------------------+----------------------------------+-------------------+-------------------------------------------------------------------------------------+
| 2ce67251-f7c7-4719-80ea-092f07506afb | | 85385455d83a4f808f3e937625876fc7 | fa:16:3e:db:b1:7b | {"subnet_id": "ce9f81e0-8288-4003-8bcf-5d333c4c8142", "ip_address": "10.74.167.70"} |
| 2fdb766a-7a29-44ee-98c2-d22d2ba07c03 | ComputeSriov-port-0 | 85385455d83a4f808f3e937625876fc7 | 24:6e:96:d0:3b:71 | {"subnet_id": "ce9f81e0-8288-4003-8bcf-5d333c4c8142", "ip_address": "10.74.167.71"} |
| 7452e6d5-ec04-4435-94b5-a011c062c240 | redis_virtual_ip | 85385455d83a4f808f3e937625876fc7 | fa:16:3e:e2:f9:50 | {"subnet_id": "ce9f81e0-8288-4003-8bcf-5d333c4c8142", "ip_address": "10.74.167.72"} |
| b8103cf2-f399-452a-a709-ca44d9e3a3ce | ovn_dbs_virtual_ip | 85385455d83a4f808f3e937625876fc7 | fa:16:3e:51:01:1a | {"subnet_id": "ce9f81e0-8288-4003-8bcf-5d333c4c8142", "ip_address": "10.74.167.74"} |
| dfa341e6-805f-4f00-ad3a-1cc3387b2c99 | control_virtual_ip | 85385455d83a4f808f3e937625876fc7 | fa:16:3e:e7:68:c9 | {"subnet_id": "ce9f81e0-8288-4003-8bcf-5d333c4c8142", "ip_address": "10.74.167.75"} |
| e1c819f3-7b96-48b2-95b7-efeda70bdc8b | Controller-port-0 | 85385455d83a4f808f3e937625876fc7 | 52:54:00:8f:cb:a0 | {"subnet_id": "ce9f81e0-8288-4003-8bcf-5d333c4c8142", "ip_address": "10.74.167.73"} |
+--------------------------------------+---------------------+----------------------------------+-------------------+-------------------------------------------------------------------------------------+

There are no ovn resources noticed on the controller or the compute node and from neutron agent-list we can see that the environment is using ML2 ovs only:

(overcloud) [stack@undercloud16 ~]$ neutron agent-list
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
+--------------------------------------+--------------------+--------------------------------------+-------------------+-------+----------------+---------------------------+
| id | agent_type | host | availability_zone | alive | admin_state_up | binary |
+--------------------------------------+--------------------+--------------------------------------+-------------------+-------+----------------+---------------------------+
| 2dcda45c-f4dd-47f7-a505-c997b4e16b84 | L3 agent | overcloud-controller-0.localdomain | nova | :-) | True | neutron-l3-agent |
| 30da619a-b4e9-4885-961a-724d42b4d641 | Open vSwitch agent | overcloud-computesriov-0.localdomain | | :-) | True | neutron-openvswitch-agent |
| 36612095-b753-4cf3-ab99-3efbcc994551 | NIC Switch agent | overcloud-computesriov-0.localdomain | | :-) | True | neutron-sriov-nic-agent |
| b40e81bf-9a8f-4af3-9dad-846c0b1e8ba6 | Metadata agent | overcloud-controller-0.localdomain | | :-) | True | neutron-metadata-agent |
| c0da935b-e40f-4778-802a-c4bca505c10b | DHCP agent | overcloud-controller-0.localdomain | nova | :-) | True | neutron-dhcp-agent |
| c5c5c5b4-8de5-4eb5-874e-6aa406c0e9d7 | Open vSwitch agent | overcloud-controller-0.localdomain | | :-) | True | neutron-openvswitch-agent |
+--------------------------------------+--------------------+--------------------------------------+-------------------+-------+----------------+------------------------

[1]: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.0/html-single/network_functions_virtualization_planning_and_configuration_guide/index#sect-supported-conf

Changed in tripleo:
assignee: nobody → Flavio Fernandes (ffernand)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

Fix proposed to branch: master
Review: https://review.opendev.org/716352

Changed in tripleo:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/train)

Fix proposed to branch: stable/train
Review: https://review.opendev.org/716729

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.opendev.org/716352
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=9fa134b23bde08828824b03cd1ce5a5170dd52b4
Submitter: Zuul
Branch: master

commit 9fa134b23bde08828824b03cd1ce5a5170dd52b4
Author: Flavio Fernandes <email address hidden>
Date: Tue Mar 31 11:56:38 2020 -0400

    ovn_dbs_virtual_ip created even though ovn is disabled

    When ML2/OVS is used instead of OVN, also neuter
    OS::TripleO::Network::Ports::OVNDBsVipPort to avoid wasting
    an IP address.

    Closes-Bug: #1869900
    Change-Id: Ib87b9b2951c70cb3301014a8015929fabcdeefb6

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/train)

Reviewed: https://review.opendev.org/716729
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=c759bb68cccd226cd309ba06caa12b9b58f6d9db
Submitter: Zuul
Branch: stable/train

commit c759bb68cccd226cd309ba06caa12b9b58f6d9db
Author: Flavio Fernandes <email address hidden>
Date: Tue Mar 31 11:56:38 2020 -0400

    ovn_dbs_virtual_ip created even though ovn is disabled

    When ML2/OVS is used instead of OVN, also neuter
    OS::TripleO::Network::Ports::OVNDBsVipPort to avoid wasting
    an IP address.

    Closes-Bug: #1869900
    Change-Id: Ib87b9b2951c70cb3301014a8015929fabcdeefb6

tags: added: in-stable-train
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 12.2.0

This issue was fixed in the openstack/tripleo-heat-templates 12.2.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 11.4.0

This issue was fixed in the openstack/tripleo-heat-templates 11.4.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.