Bug 2013060

Summary: `openstack extension list --network` shows dhcp_agent_scheduler in spite of OVN environment.
Product: Red Hat OpenStack Reporter: Ryo Hayakawa <rhayakaw>
Component: python-openstackclientAssignee: OSP Team <rhos-maint>
Status: CLOSED NOTABUG QA Contact: nlevinki <nlevinki>
Severity: low Docs Contact:
Priority: unspecified    
Version: 16.1 (Train)CC: apevec, bshephar, jpichon, lhh, sbaker
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-12 19:36:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ryo Hayakawa 2021-10-12 01:50:24 UTC
Description of problem:

If my understanding is correct, DHCP agent is not used in OVN environment.
However, `openstack extension list --network` shows dhcp_agent_scheduler in OSP16.1 with OVN environment as follows:

~~~
$ openstack network agent list -c 'Agent Type' -f value
OVN Controller Gateway agent
OVN Controller Gateway agent
OVN Controller agent
OVN Metadata agent
OVN Controller Gateway agent
OVN Controller agent
OVN Metadata agent

$ openstack extension list --network -c Alias -f value | grep dhcp_agent
dhcp_agent_scheduler
~~~

On the other hand, the document "OPENSTACK INTEGRATION TEST SUITE GUIDE"[1] mentions that run `openstack extension list` to identify the extensions in api_extensions in tempest.conf as follows:

~~~
If the extensions that are available in your deployment do not correspond to the list of extensions in the api_extensions attribute of the tempest.conf file, the component fails tempest tests. To prevent this failure, you must identify the extensions that are available in your deployment and include them in the api_extensions parameter. To get a list of Network, Compute, Volume, or Identity extensions in your deployment, run the following command:

Procedure

To retrieve a list of Network, Compute, Volume, or Identity extensions in your deployment, enter the following command:

$ openstack extension list [--network] [--compute] [--volume] [--identity]
~~~

Since the command shows dhcp_agent_scheduler, a customer may list it into api_extensions parameter in their tempest.conf even if their OSP environment uses OVN.  As a result, I think the test cases related to DHCP agent will be failed and they will be confused.

Thus, I think that the command should not show dhcp_agent_scheduler in OVN environment.

I found the same opinion in launchpad[2].

[1] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/openstack_integration_test_suite_guide/index#configuring_the_integration_test_suite_extension_lists_manually

[2] https://bugs.launchpad.net/networking-ovn/+bug/1863432.

Version-Release number of selected component (if applicable):

python3-openstackclient-4.0.1-1.20201114012609.bff556c.el8ost.noarch
(as far as I checked)

How reproducible:

always

Steps to Reproduce:
1. run `openstack extension list --network`

Actual results:

dhcp_agent_scheduler is included in the output of `openstack extension list --network` in spite of OVN environment.

Expected results:

dhcp_agent_scheduler should not be included in the output of `openstack extension list --network` in OVN environment.

Comment 1 Brendan Shephard 2021-10-12 03:40:12 UTC
DHCP Agent is still required for Baremetal provisioning in OVN environments. See the note in this section:
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.2/html-single/bare_metal_provisioning/index#deploying-an-ipv4-overcloud-with-the-bare-metal-provisioning-service

I don't think this should be removed. But we'll check with dfg:hardprov to confirm.

Comment 2 Steve Baker 2021-10-12 19:36:10 UTC
DFG:HardProv agrees with Brendan, closing for now