Public bug reported: ### Scenario ### Deploy Devstack without enabling DNS extension, using the attached localrc file. Create network, subnet, Dns Zone and try to update the network with “dns_domain”:
stack@seal08:~/devstack$ openstack (openstack) zone create example.com. --email [email protected] (openstack) zone list --all (openstack) network create net1 (openstack) subnet create subnet1 --network net1 --subnet-range 192.0.2.0/24 (openstack) network list (openstack) network set --dns-domain example.com. f9b1ff63-6ad4-4569-8d6c-6d17ed34014b ### Expected result ### Set "dns_domain" command should fail, as no DNS is enabled. ### Actual Result ### "network set" command is PASS, but in fact it's passively failing as no "dns_domain" is set and it's None (openstack) network show f9b1ff63-6ad4-4569-8d6c-6d17ed34014b +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2021-08-12T11:04:29Z | | description | | | dns_domain | None | | id | f9b1ff63-6ad4-4569-8d6c-6d17ed34014b | | ipv4_address_scope | None | | ipv6_address_scope | None | | is_default | None | | is_vlan_transparent | None | | mtu | 1442 | | name | net1 | | port_security_enabled | True | | project_id | 1318c4bf4aeb4f9892502f25875ae293 | | provider:network_type | geneve | | provider:physical_network | None | | provider:segmentation_id | 44396 | | qos_policy_id | None | | revision_number | 3 | | router:external | Internal | | segments | None | | shared | False | | status | ACTIVE | | subnets | afe01181-c299-44a3-ba94-328e0ebaed11 | | tags | | | updated_at | 2021-08-12T11:05:46Z | +---------------------------+--------------------------------------+ Here are some details with (-vvv verbosity): stack@seal08:~/devstack$ stack@seal08:~/devstack$ openstack network set --dns-domain example.com. 1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 -vvv START with options: network set --dns-domain example.com. 1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 -vvv options: Namespace(access_key='', access_secret='***', access_token='***', access_token_endpoint='', access_token_type='', application_credential_id='', application_credential_name='', application_credential_secret='***', auth_methods='', auth_type='', auth_url='http://10.35.64.8/identity', cacert=None, cert='', client_id='', client_secret='***', cloud='', code='', consumer_key='', consumer_secret='***', debug=False, default_domain='default', default_domain_id='', default_domain_name='', deferred_help=False, discovery_endpoint='', domain_id='', domain_name='', endpoint='', identity_provider='', identity_provider_url='', insecure=None, interface='public', key='', log_file=None, openid_scope='', os_beta_command=False, os_compute_api_version='', os_dns_api_version='2', os_identity_api_version='3', os_image_api_version='', os_key_manager_api_version='1', os_network_api_version='', os_object_api_version='', os_placement_api_version='1', os_project_id=None, os_project_name=None, os_volume_api_version='', passcode='', password='***', profile='', project_domain_id='default', project_domain_name='', project_id='', project_name='admin', protocol='', redirect_uri='', region_name='RegionOne', remote_project_domain_id='', remote_project_domain_name='', remote_project_id='', remote_project_name='', service_provider='', service_provider_endpoint='', service_provider_entity_id='', system_scope='', timing=False, token='***', trust_id='', user_domain_id='default', user_domain_name='', user_id='', username='admin', verbose_level=4, verify=None) Auth plugin password selected auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_id': 'default', 'project_domain_id': 'default', 'project_name': 'admin'}, 'verbose_level': 4, 'deferred_help': False, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://10.35.64.8/identity', 'username': 'admin', 'password': '***', 'beta_command': False, 'identity_api_version': '3', 'placement_api_version': '1', 'dns_api_version': '2', 'key_manager_api_version': '1', 'auth_type': 'password', 'networks': []} defaults: {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'auth_type': 'password', 'baremetal_status_code_retries': 5, 'baremetal_introspection_status_code_retries': 5, 'image_status_code_retries': 5, 'disable_vendor_agent': {}, 'interface': None, 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active'} cloud cfg: {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_id': 'default', 'project_domain_id': 'default', 'project_name': 'admin'}, 'verbose_level': 4, 'deferred_help': False, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://10.35.64.8/identity', 'username': 'admin', 'password': '***', 'beta_command': False, 'identity_api_version': '3', 'placement_api_version': '1', 'dns_api_version': '2', 'key_manager_api_version': '1', 'auth_type': 'password', 'networks': []} compute API version 2.1, cmd group openstack.compute.v2 identity API version 3, cmd group openstack.identity.v3 image API version 2, cmd group openstack.image.v2 network API version 2, cmd group openstack.network.v2 object_store API version 1, cmd group openstack.object_store.v1 volume API version 3, cmd group openstack.volume.v3 neutronclient API version 2, cmd group openstack.neutronclient.v2 placement API version 1, cmd group openstack.placement.v1 dns API version 2, cmd group openstack.dns.v2 /usr/local/lib/python3.8/dist-packages/barbicanclient/__init__.py:57: UserWarning: The secrets module is moved to barbicanclient/v1 directory, direct import of barbicanclient.secrets will be deprecated. Please import barbicanclient.v1.secrets instead. warnings.warn("The %s module is moved to barbicanclient/v1 " key_manager API version 1, cmd group openstack.key_manager.v1 command: network set -> openstackclient.network.v2.network.SetNetwork (auth=True) Auth plugin password selected auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_id': 'default', 'project_domain_id': 'default', 'project_name': 'admin'}, 'additional_user_agent': [('osc-lib', '2.4.1')], 'verbose_level': 4, 'deferred_help': False, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://10.35.64.8/identity', 'username': 'admin', 'password': '***', 'beta_command': False, 'identity_api_version': '3', 'placement_api_version': '1', 'dns_api_version': '2', 'key_manager_api_version': '1', 'auth_type': 'password', 'networks': []} Using auth plugin: password Using parameters {'auth_url': 'http://10.35.64.8/identity', 'project_name': 'admin', 'project_domain_id': 'default', 'username': 'admin', 'user_domain_id': 'default', 'password': '***'} Get auth_ref REQ: curl -g -i -X GET http://10.35.64.8/identity -H "Accept: application/json" -H "User-Agent: openstacksdk/0.58.0 keystoneauth1/4.3.1 python-requests/2.26.0 CPython/3.8.10" Starting new HTTP connection (1): 10.35.64.8:80 http://10.35.64.8:80 "GET /identity HTTP/1.1" 300 269 RESP: [300] Connection: close Content-Length: 269 Content-Type: application/json Date: Thu, 12 Aug 2021 10:23:54 GMT Location: http://10.35.64.8/identity/v3/ Server: Apache/2.4.41 (Ubuntu) Vary: X-Auth-Token x-openstack-request-id: req-7f5231d9-db05-4569-97cd-f1f8d8e538e7 RESP BODY: {"versions": {"values": [{"id": "v3.14", "status": "stable", "updated": "2020-04-07T00:00:00Z", "links": [{"rel": "self", "href": "http://10.35.64.8/identity/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}]}} GET call to http://10.35.64.8/identity used request id req-7f5231d9-db05-4569-97cd-f1f8d8e538e7 Making authentication request to http://10.35.64.8/identity/v3/auth/tokens Resetting dropped connection: 10.35.64.8 http://10.35.64.8:80 "POST /identity/v3/auth/tokens HTTP/1.1" 201 2601 {"token": {"methods": ["password"], "user": {"domain": {"id": "default", "name": "Default"}, "id": "e512007d3ceb4ca6ba7d929d854d6e73", "name": "admin", "password_expires_at": null}, "audit_ids": ["xvquFzqWSTSSGJ-IVT-aEQ"], "expires_at": "2021-08-12T11:23:55.000000Z", "issued_at": "2021-08-12T10:23:55.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "89351aba4a0245f7ae35743cf9293731", "name": "admin"}, "is_domain": false, "roles": [{"id": "878281a829e947b5a733672330eb4bc6", "name": "admin"}, {"id": "4ba277b9720742f0822560b9d8b51c0d", "name": "reader"}, {"id": "e9efcd9d81fc4b8f81939272ecd465f7", "name": "member"}], "catalog": [{"endpoints": [{"id": "b70cd1cdcb8a4734b84f0b45292e41e3", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/compute/v2.1", "region": "RegionOne"}], "id": "214ae70e9abe4687af52df9688acaa72", "type": "compute", "name": "nova"}, {"endpoints": [{"id": "0af5f7c3f0f04c5da0d474753542420a", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/identity", "region": "RegionOne"}, {"id": "b03dc09329cf41bcad253eced66509ef", "interface": "admin", "region_id": "RegionOne", "url": "http://10.35.64.8/identity", "region": "RegionOne"}], "id": "4a704259550d43c782a6312c4e244886", "type": "identity", "name": "keystone"}, {"endpoints": [{"id": "0d1069290dee4f60bfefae84d5475810", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/placement", "region": "RegionOne"}], "id": "4ca525e0606b4de29d20b43272abda14", "type": "placement", "name": "placement"}, {"endpoints": [{"id": "a58b6ba134fa4593953ff77ba3aa8756", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8:9696/", "region": "RegionOne"}], "id": "56c08179db6c443ea1281d25c8dcd8d3", "type": "network", "name": "neutron"}, {"endpoints": [{"id": "e31a0ba6ef0148f29566267113213694", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/dns", "region": "RegionOne"}], "id": "89bb49f9a5a846a7a00405817d4d3282", "type": "dns", "name": "designate"}, {"endpoints": [{"id": "1fb48753c2154aecbe586d6167d1c6a7", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/image", "region": "RegionOne"}], "id": "a84cfeb4d9754245ae57d2f6bef5dcea", "type": "image", "name": "glance"}, {"endpoints": [{"id": "cb79cfc1b5fc4cef9461f503346cb6bf", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/compute/v2/89351aba4a0245f7ae35743cf9293731", "region": "RegionOne"}], "id": "ea9257ee5e2b4c7f90e7cc133c6c71e3", "type": "compute_legacy", "name": "nova_legacy"}]}} run(Namespace(default=False, description=None, disable=False, disable_port_security=False, dns_domain='example.com.', enable=None, enable_port_security=False, external=False, internal=False, mtu=None, name=None, network='1749f7dd-e4b9-478b-bd28-a3dd7c539bd3', no_default=False, no_qos_policy=False, no_share=False, no_tag=False, physical_network=None, provider_network_type=None, qos_policy=None, segmentation_id=None, share=None, tags=None)) Network client initialized using OpenStack SDK: <openstack.network.v2._proxy.Proxy object at 0x7f7e41ffa0a0> REQ: curl -g -i -X GET http://10.35.64.8:9696/v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 -H "User-Agent: openstacksdk/0.58.0 keystoneauth1/4.3.1 python-requests/2.26.0 CPython/3.8.10" -H "X-Auth-Token: {SHA256}0b366d0d7824a66262cce8503d03539f1652189c3c34726454ca00ae14112422" Starting new HTTP connection (1): 10.35.64.8:9696 http://10.35.64.8:9696 "GET /v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 HTTP/1.1" 200 659 RESP: [200] Connection: keep-alive Content-Length: 659 Content-Type: application/json Date: Thu, 12 Aug 2021 10:23:55 GMT X-Openstack-Request-Id: req-827a2e49-8435-4c90-8316-2f84da9982b6 RESP BODY: {"network":{"id":"1749f7dd-e4b9-478b-bd28-a3dd7c539bd3","name":"net1","tenant_id":"89351aba4a0245f7ae35743cf9293731","admin_state_up":true,"mtu":1442,"status":"ACTIVE","subnets":["b7870888-7216-4f17-8aec-e1ecf29a6f8e"],"shared":false,"availability_zone_hints":[],"availability_zones":[],"ipv4_address_scope":null,"ipv6_address_scope":null,"router:external":false,"description":"","port_security_enabled":true,"tags":[],"created_at":"2021-08-11T09:55:47Z","updated_at":"2021-08-11T09:56:16Z","revision_number":2,"project_id":"89351aba4a0245f7ae35743cf9293731","provider:network_type":"geneve","provider:physical_network":null,"provider:segmentation_id":39538}} GET call to network for http://10.35.64.8:9696/v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 used request id req-827a2e49-8435-4c90-8316-2f84da9982b6 REQ: curl -g -i -X PUT http://10.35.64.8:9696/v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 -H "Content-Type: application/json" -H "User-Agent: openstacksdk/0.58.0 keystoneauth1/4.3.1 python-requests/2.26.0 CPython/3.8.10" -H "X-Auth-Token: {SHA256}0b366d0d7824a66262cce8503d03539f1652189c3c34726454ca00ae14112422" -d '{"network": {"dns_domain": "example.com."}}' http://10.35.64.8:9696 "PUT /v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 HTTP/1.1" 200 659 RESP: [200] Connection: keep-alive Content-Length: 659 Content-Type: application/json Date: Thu, 12 Aug 2021 10:23:55 GMT X-Openstack-Request-Id: req-20be4550-489e-4f8a-8efd-11fe0a4ea604 RESP BODY: {"network":{"id":"1749f7dd-e4b9-478b-bd28-a3dd7c539bd3","name":"net1","tenant_id":"89351aba4a0245f7ae35743cf9293731","admin_state_up":true,"mtu":1442,"status":"ACTIVE","subnets":["b7870888-7216-4f17-8aec-e1ecf29a6f8e"],"shared":false,"availability_zone_hints":[],"availability_zones":[],"ipv4_address_scope":null,"ipv6_address_scope":null,"router:external":false,"description":"","port_security_enabled":true,"tags":[],"created_at":"2021-08-11T09:55:47Z","updated_at":"2021-08-11T09:56:16Z","revision_number":2,"project_id":"89351aba4a0245f7ae35743cf9293731","provider:network_type":"geneve","provider:physical_network":null,"provider:segmentation_id":39538}} PUT call to network for http://10.35.64.8:9696/v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 used request id req-20be4550-489e-4f8a-8efd-11fe0a4ea604 clean_up SetNetwork: END return value: 0 Note: After redeploying Devstack with DNS enabled, it means enabling "q-dns" in localrc: # Neutron ENABLED_SERVICES+=,q-svc,neutron,q-dns everything works as expected and "dns_domain" is properly set: stack@seal08:~/devstack$ openstack zone list --all +--------------------------------------+----------------------------------+--------------+---------+------------+--------+--------+ | id | project_id | name | type | serial | status | action | +--------------------------------------+----------------------------------+--------------+---------+------------+--------+--------+ | f6922edf-611f-4ba2-9bd8-e40eb7cade7d | 89351aba4a0245f7ae35743cf9293731 | example.com. | PRIMARY | 1628670413 | ACTIVE | NONE | +--------------------------------------+----------------------------------+--------------+---------+------------+--------+--------+ stack@seal08:~/devstack$ stack@seal08:~/devstack$ stack@seal08:~/devstack$ openstack network list +--------------------------------------+----------------------------------+----------------------------------------------------------------------------+ | ID | Name | Subnets | +--------------------------------------+----------------------------------+----------------------------------------------------------------------------+ | 65dd5e84-33c6-4b70-aad9-64c6f2f72d6d | private | 03bb2ab9-1bff-4fea-ae6b-04506cab5122, c65d6919-6c3f-4c7a-a888-1a60d7366f12 | | 8f7ec778-a6f2-4358-abb3-2d3b880870fa | tempest-test-network--1234138305 | fd6e1a7c-eefb-49d8-8f0f-9e22ac070608 | | bf2e9b00-a52f-44a3-8369-9cf132276ebd | public | 4a253538-673d-41cc-b3e6-928cdb19c762, 7a5e6ccd-f46a-4551-a3e9-b8df36428ce4 | | d38e2fed-f784-47e8-b0f1-dddb56e27905 | shared | d02072b0-b3bc-47d9-b82a-e305ee1c3e92 | +--------------------------------------+----------------------------------+----------------------------------------------------------------------------+ stack@seal08:~/devstack$ stack@seal08:~/devstack$ openstack network set --dns-domain example.com. 8f7ec778-a6f2-4358-abb3-2d3b880870fa -v START with options: network set --dns-domain example.com. 8f7ec778-a6f2-4358-abb3-2d3b880870fa -v /usr/local/lib/python3.8/dist-packages/barbicanclient/__init__.py:57: UserWarning: The secrets module is moved to barbicanclient/v1 directory, direct import of barbicanclient.secrets will be deprecated. Please import barbicanclient.v1.secrets instead. warnings.warn("The %s module is moved to barbicanclient/v1 " command: network set -> openstackclient.network.v2.network.SetNetwork (auth=True) Using auth plugin: password END return value: 0 stack@seal08:~/devstack$ stack@seal08:~/devstack$ stack@seal08:~/devstack$ openstack network show 8f7ec778-a6f2-4358-abb3-2d3b880870fa +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2021-08-11T09:37:06Z | | description | | | dns_domain | None | | id | 8f7ec778-a6f2-4358-abb3-2d3b880870fa | | ipv4_address_scope | None | | ipv6_address_scope | None | | is_default | None | | is_vlan_transparent | None | | mtu | 1442 | | name | tempest-test-network--1234138305 | | port_security_enabled | True | | project_id | f4cd701eb82a46c28918886ad1594b7c | | provider:network_type | geneve | | provider:physical_network | None | | provider:segmentation_id | 19626 | | qos_policy_id | None | | revision_number | 2 | | router:external | Internal | | segments | None | | shared | False | | status | ACTIVE | | subnets | fd6e1a7c-eefb-49d8-8f0f-9e22ac070608 | | tags | | | updated_at | 2021-08-11T09:37:07Z | +---------------------------+--------------------------------------+ ** Affects: neutron Importance: Undecided Status: New ** Attachment added: "localrc.txt" https://bugs.launchpad.net/bugs/1939680/+attachment/5517509/+files/localrc.txt ** Project changed: designate => neutron -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1939680 Title: Neutron - set "dns_domain" for existing network is passively failing when Designate DNS extension is not enabled for Neutron Status in neutron: New Bug description: ### Scenario ### Deploy Devstack without enabling DNS extension, using the attached localrc file. Create network, subnet, Dns Zone and try to update the network with “dns_domain”: stack@seal08:~/devstack$ openstack (openstack) zone create example.com. --email [email protected] (openstack) zone list --all (openstack) network create net1 (openstack) subnet create subnet1 --network net1 --subnet-range 192.0.2.0/24 (openstack) network list (openstack) network set --dns-domain example.com. f9b1ff63-6ad4-4569-8d6c-6d17ed34014b ### Expected result ### Set "dns_domain" command should fail, as no DNS is enabled. ### Actual Result ### "network set" command is PASS, but in fact it's passively failing as no "dns_domain" is set and it's None (openstack) network show f9b1ff63-6ad4-4569-8d6c-6d17ed34014b +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2021-08-12T11:04:29Z | | description | | | dns_domain | None | | id | f9b1ff63-6ad4-4569-8d6c-6d17ed34014b | | ipv4_address_scope | None | | ipv6_address_scope | None | | is_default | None | | is_vlan_transparent | None | | mtu | 1442 | | name | net1 | | port_security_enabled | True | | project_id | 1318c4bf4aeb4f9892502f25875ae293 | | provider:network_type | geneve | | provider:physical_network | None | | provider:segmentation_id | 44396 | | qos_policy_id | None | | revision_number | 3 | | router:external | Internal | | segments | None | | shared | False | | status | ACTIVE | | subnets | afe01181-c299-44a3-ba94-328e0ebaed11 | | tags | | | updated_at | 2021-08-12T11:05:46Z | +---------------------------+--------------------------------------+ Here are some details with (-vvv verbosity): stack@seal08:~/devstack$ stack@seal08:~/devstack$ openstack network set --dns-domain example.com. 1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 -vvv START with options: network set --dns-domain example.com. 1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 -vvv options: Namespace(access_key='', access_secret='***', access_token='***', access_token_endpoint='', access_token_type='', application_credential_id='', application_credential_name='', application_credential_secret='***', auth_methods='', auth_type='', auth_url='http://10.35.64.8/identity', cacert=None, cert='', client_id='', client_secret='***', cloud='', code='', consumer_key='', consumer_secret='***', debug=False, default_domain='default', default_domain_id='', default_domain_name='', deferred_help=False, discovery_endpoint='', domain_id='', domain_name='', endpoint='', identity_provider='', identity_provider_url='', insecure=None, interface='public', key='', log_file=None, openid_scope='', os_beta_command=False, os_compute_api_version='', os_dns_api_version='2', os_identity_api_version='3', os_image_api_version='', os_key_manager_api_version='1', os_network_api_version='', os_object_api_version='', os_placement_api_version='1', os_project_id=None, os_project_name=None, os_volume_api_version='', passcode='', password='***', profile='', project_domain_id='default', project_domain_name='', project_id='', project_name='admin', protocol='', redirect_uri='', region_name='RegionOne', remote_project_domain_id='', remote_project_domain_name='', remote_project_id='', remote_project_name='', service_provider='', service_provider_endpoint='', service_provider_entity_id='', system_scope='', timing=False, token='***', trust_id='', user_domain_id='default', user_domain_name='', user_id='', username='admin', verbose_level=4, verify=None) Auth plugin password selected auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_id': 'default', 'project_domain_id': 'default', 'project_name': 'admin'}, 'verbose_level': 4, 'deferred_help': False, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://10.35.64.8/identity', 'username': 'admin', 'password': '***', 'beta_command': False, 'identity_api_version': '3', 'placement_api_version': '1', 'dns_api_version': '2', 'key_manager_api_version': '1', 'auth_type': 'password', 'networks': []} defaults: {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'auth_type': 'password', 'baremetal_status_code_retries': 5, 'baremetal_introspection_status_code_retries': 5, 'image_status_code_retries': 5, 'disable_vendor_agent': {}, 'interface': None, 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active'} cloud cfg: {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_id': 'default', 'project_domain_id': 'default', 'project_name': 'admin'}, 'verbose_level': 4, 'deferred_help': False, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://10.35.64.8/identity', 'username': 'admin', 'password': '***', 'beta_command': False, 'identity_api_version': '3', 'placement_api_version': '1', 'dns_api_version': '2', 'key_manager_api_version': '1', 'auth_type': 'password', 'networks': []} compute API version 2.1, cmd group openstack.compute.v2 identity API version 3, cmd group openstack.identity.v3 image API version 2, cmd group openstack.image.v2 network API version 2, cmd group openstack.network.v2 object_store API version 1, cmd group openstack.object_store.v1 volume API version 3, cmd group openstack.volume.v3 neutronclient API version 2, cmd group openstack.neutronclient.v2 placement API version 1, cmd group openstack.placement.v1 dns API version 2, cmd group openstack.dns.v2 /usr/local/lib/python3.8/dist-packages/barbicanclient/__init__.py:57: UserWarning: The secrets module is moved to barbicanclient/v1 directory, direct import of barbicanclient.secrets will be deprecated. Please import barbicanclient.v1.secrets instead. warnings.warn("The %s module is moved to barbicanclient/v1 " key_manager API version 1, cmd group openstack.key_manager.v1 command: network set -> openstackclient.network.v2.network.SetNetwork (auth=True) Auth plugin password selected auth_config_hook(): {'api_timeout': None, 'verify': True, 'cacert': None, 'cert': None, 'key': None, 'baremetal_status_code_retries': '5', 'baremetal_introspection_status_code_retries': '5', 'image_status_code_retries': '5', 'disable_vendor_agent': {}, 'interface': 'public', 'floating_ip_source': 'neutron', 'image_api_use_tasks': False, 'image_format': 'qcow2', 'message': '', 'network_api_version': '2', 'object_store_api_version': '1', 'secgroup_source': 'neutron', 'status': 'active', 'auth': {'user_domain_id': 'default', 'project_domain_id': 'default', 'project_name': 'admin'}, 'additional_user_agent': [('osc-lib', '2.4.1')], 'verbose_level': 4, 'deferred_help': False, 'region_name': 'RegionOne', 'default_domain': 'default', 'timing': False, 'auth_url': 'http://10.35.64.8/identity', 'username': 'admin', 'password': '***', 'beta_command': False, 'identity_api_version': '3', 'placement_api_version': '1', 'dns_api_version': '2', 'key_manager_api_version': '1', 'auth_type': 'password', 'networks': []} Using auth plugin: password Using parameters {'auth_url': 'http://10.35.64.8/identity', 'project_name': 'admin', 'project_domain_id': 'default', 'username': 'admin', 'user_domain_id': 'default', 'password': '***'} Get auth_ref REQ: curl -g -i -X GET http://10.35.64.8/identity -H "Accept: application/json" -H "User-Agent: openstacksdk/0.58.0 keystoneauth1/4.3.1 python-requests/2.26.0 CPython/3.8.10" Starting new HTTP connection (1): 10.35.64.8:80 http://10.35.64.8:80 "GET /identity HTTP/1.1" 300 269 RESP: [300] Connection: close Content-Length: 269 Content-Type: application/json Date: Thu, 12 Aug 2021 10:23:54 GMT Location: http://10.35.64.8/identity/v3/ Server: Apache/2.4.41 (Ubuntu) Vary: X-Auth-Token x-openstack-request-id: req-7f5231d9-db05-4569-97cd-f1f8d8e538e7 RESP BODY: {"versions": {"values": [{"id": "v3.14", "status": "stable", "updated": "2020-04-07T00:00:00Z", "links": [{"rel": "self", "href": "http://10.35.64.8/identity/v3/"}], "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}]}]}} GET call to http://10.35.64.8/identity used request id req-7f5231d9-db05-4569-97cd-f1f8d8e538e7 Making authentication request to http://10.35.64.8/identity/v3/auth/tokens Resetting dropped connection: 10.35.64.8 http://10.35.64.8:80 "POST /identity/v3/auth/tokens HTTP/1.1" 201 2601 {"token": {"methods": ["password"], "user": {"domain": {"id": "default", "name": "Default"}, "id": "e512007d3ceb4ca6ba7d929d854d6e73", "name": "admin", "password_expires_at": null}, "audit_ids": ["xvquFzqWSTSSGJ-IVT-aEQ"], "expires_at": "2021-08-12T11:23:55.000000Z", "issued_at": "2021-08-12T10:23:55.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "89351aba4a0245f7ae35743cf9293731", "name": "admin"}, "is_domain": false, "roles": [{"id": "878281a829e947b5a733672330eb4bc6", "name": "admin"}, {"id": "4ba277b9720742f0822560b9d8b51c0d", "name": "reader"}, {"id": "e9efcd9d81fc4b8f81939272ecd465f7", "name": "member"}], "catalog": [{"endpoints": [{"id": "b70cd1cdcb8a4734b84f0b45292e41e3", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/compute/v2.1", "region": "RegionOne"}], "id": "214ae70e9abe4687af52df9688acaa72", "type": "compute", "name": "nova"}, {"endpoints": [{"id": "0af5f7c3f0f04c5da0d474753542420a", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/identity", "region": "RegionOne"}, {"id": "b03dc09329cf41bcad253eced66509ef", "interface": "admin", "region_id": "RegionOne", "url": "http://10.35.64.8/identity", "region": "RegionOne"}], "id": "4a704259550d43c782a6312c4e244886", "type": "identity", "name": "keystone"}, {"endpoints": [{"id": "0d1069290dee4f60bfefae84d5475810", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/placement", "region": "RegionOne"}], "id": "4ca525e0606b4de29d20b43272abda14", "type": "placement", "name": "placement"}, {"endpoints": [{"id": "a58b6ba134fa4593953ff77ba3aa8756", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8:9696/", "region": "RegionOne"}], "id": "56c08179db6c443ea1281d25c8dcd8d3", "type": "network", "name": "neutron"}, {"endpoints": [{"id": "e31a0ba6ef0148f29566267113213694", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/dns", "region": "RegionOne"}], "id": "89bb49f9a5a846a7a00405817d4d3282", "type": "dns", "name": "designate"}, {"endpoints": [{"id": "1fb48753c2154aecbe586d6167d1c6a7", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/image", "region": "RegionOne"}], "id": "a84cfeb4d9754245ae57d2f6bef5dcea", "type": "image", "name": "glance"}, {"endpoints": [{"id": "cb79cfc1b5fc4cef9461f503346cb6bf", "interface": "public", "region_id": "RegionOne", "url": "http://10.35.64.8/compute/v2/89351aba4a0245f7ae35743cf9293731", "region": "RegionOne"}], "id": "ea9257ee5e2b4c7f90e7cc133c6c71e3", "type": "compute_legacy", "name": "nova_legacy"}]}} run(Namespace(default=False, description=None, disable=False, disable_port_security=False, dns_domain='example.com.', enable=None, enable_port_security=False, external=False, internal=False, mtu=None, name=None, network='1749f7dd-e4b9-478b-bd28-a3dd7c539bd3', no_default=False, no_qos_policy=False, no_share=False, no_tag=False, physical_network=None, provider_network_type=None, qos_policy=None, segmentation_id=None, share=None, tags=None)) Network client initialized using OpenStack SDK: <openstack.network.v2._proxy.Proxy object at 0x7f7e41ffa0a0> REQ: curl -g -i -X GET http://10.35.64.8:9696/v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 -H "User-Agent: openstacksdk/0.58.0 keystoneauth1/4.3.1 python-requests/2.26.0 CPython/3.8.10" -H "X-Auth-Token: {SHA256}0b366d0d7824a66262cce8503d03539f1652189c3c34726454ca00ae14112422" Starting new HTTP connection (1): 10.35.64.8:9696 http://10.35.64.8:9696 "GET /v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 HTTP/1.1" 200 659 RESP: [200] Connection: keep-alive Content-Length: 659 Content-Type: application/json Date: Thu, 12 Aug 2021 10:23:55 GMT X-Openstack-Request-Id: req-827a2e49-8435-4c90-8316-2f84da9982b6 RESP BODY: {"network":{"id":"1749f7dd-e4b9-478b-bd28-a3dd7c539bd3","name":"net1","tenant_id":"89351aba4a0245f7ae35743cf9293731","admin_state_up":true,"mtu":1442,"status":"ACTIVE","subnets":["b7870888-7216-4f17-8aec-e1ecf29a6f8e"],"shared":false,"availability_zone_hints":[],"availability_zones":[],"ipv4_address_scope":null,"ipv6_address_scope":null,"router:external":false,"description":"","port_security_enabled":true,"tags":[],"created_at":"2021-08-11T09:55:47Z","updated_at":"2021-08-11T09:56:16Z","revision_number":2,"project_id":"89351aba4a0245f7ae35743cf9293731","provider:network_type":"geneve","provider:physical_network":null,"provider:segmentation_id":39538}} GET call to network for http://10.35.64.8:9696/v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 used request id req-827a2e49-8435-4c90-8316-2f84da9982b6 REQ: curl -g -i -X PUT http://10.35.64.8:9696/v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 -H "Content-Type: application/json" -H "User-Agent: openstacksdk/0.58.0 keystoneauth1/4.3.1 python-requests/2.26.0 CPython/3.8.10" -H "X-Auth-Token: {SHA256}0b366d0d7824a66262cce8503d03539f1652189c3c34726454ca00ae14112422" -d '{"network": {"dns_domain": "example.com."}}' http://10.35.64.8:9696 "PUT /v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 HTTP/1.1" 200 659 RESP: [200] Connection: keep-alive Content-Length: 659 Content-Type: application/json Date: Thu, 12 Aug 2021 10:23:55 GMT X-Openstack-Request-Id: req-20be4550-489e-4f8a-8efd-11fe0a4ea604 RESP BODY: {"network":{"id":"1749f7dd-e4b9-478b-bd28-a3dd7c539bd3","name":"net1","tenant_id":"89351aba4a0245f7ae35743cf9293731","admin_state_up":true,"mtu":1442,"status":"ACTIVE","subnets":["b7870888-7216-4f17-8aec-e1ecf29a6f8e"],"shared":false,"availability_zone_hints":[],"availability_zones":[],"ipv4_address_scope":null,"ipv6_address_scope":null,"router:external":false,"description":"","port_security_enabled":true,"tags":[],"created_at":"2021-08-11T09:55:47Z","updated_at":"2021-08-11T09:56:16Z","revision_number":2,"project_id":"89351aba4a0245f7ae35743cf9293731","provider:network_type":"geneve","provider:physical_network":null,"provider:segmentation_id":39538}} PUT call to network for http://10.35.64.8:9696/v2.0/networks/1749f7dd-e4b9-478b-bd28-a3dd7c539bd3 used request id req-20be4550-489e-4f8a-8efd-11fe0a4ea604 clean_up SetNetwork: END return value: 0 Note: After redeploying Devstack with DNS enabled, it means enabling "q-dns" in localrc: # Neutron ENABLED_SERVICES+=,q-svc,neutron,q-dns everything works as expected and "dns_domain" is properly set: stack@seal08:~/devstack$ openstack zone list --all +--------------------------------------+----------------------------------+--------------+---------+------------+--------+--------+ | id | project_id | name | type | serial | status | action | +--------------------------------------+----------------------------------+--------------+---------+------------+--------+--------+ | f6922edf-611f-4ba2-9bd8-e40eb7cade7d | 89351aba4a0245f7ae35743cf9293731 | example.com. | PRIMARY | 1628670413 | ACTIVE | NONE | +--------------------------------------+----------------------------------+--------------+---------+------------+--------+--------+ stack@seal08:~/devstack$ stack@seal08:~/devstack$ stack@seal08:~/devstack$ openstack network list +--------------------------------------+----------------------------------+----------------------------------------------------------------------------+ | ID | Name | Subnets | +--------------------------------------+----------------------------------+----------------------------------------------------------------------------+ | 65dd5e84-33c6-4b70-aad9-64c6f2f72d6d | private | 03bb2ab9-1bff-4fea-ae6b-04506cab5122, c65d6919-6c3f-4c7a-a888-1a60d7366f12 | | 8f7ec778-a6f2-4358-abb3-2d3b880870fa | tempest-test-network--1234138305 | fd6e1a7c-eefb-49d8-8f0f-9e22ac070608 | | bf2e9b00-a52f-44a3-8369-9cf132276ebd | public | 4a253538-673d-41cc-b3e6-928cdb19c762, 7a5e6ccd-f46a-4551-a3e9-b8df36428ce4 | | d38e2fed-f784-47e8-b0f1-dddb56e27905 | shared | d02072b0-b3bc-47d9-b82a-e305ee1c3e92 | +--------------------------------------+----------------------------------+----------------------------------------------------------------------------+ stack@seal08:~/devstack$ stack@seal08:~/devstack$ openstack network set --dns-domain example.com. 8f7ec778-a6f2-4358-abb3-2d3b880870fa -v START with options: network set --dns-domain example.com. 8f7ec778-a6f2-4358-abb3-2d3b880870fa -v /usr/local/lib/python3.8/dist-packages/barbicanclient/__init__.py:57: UserWarning: The secrets module is moved to barbicanclient/v1 directory, direct import of barbicanclient.secrets will be deprecated. Please import barbicanclient.v1.secrets instead. warnings.warn("The %s module is moved to barbicanclient/v1 " command: network set -> openstackclient.network.v2.network.SetNetwork (auth=True) Using auth plugin: password END return value: 0 stack@seal08:~/devstack$ stack@seal08:~/devstack$ stack@seal08:~/devstack$ openstack network show 8f7ec778-a6f2-4358-abb3-2d3b880870fa +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2021-08-11T09:37:06Z | | description | | | dns_domain | None | | id | 8f7ec778-a6f2-4358-abb3-2d3b880870fa | | ipv4_address_scope | None | | ipv6_address_scope | None | | is_default | None | | is_vlan_transparent | None | | mtu | 1442 | | name | tempest-test-network--1234138305 | | port_security_enabled | True | | project_id | f4cd701eb82a46c28918886ad1594b7c | | provider:network_type | geneve | | provider:physical_network | None | | provider:segmentation_id | 19626 | | qos_policy_id | None | | revision_number | 2 | | router:external | Internal | | segments | None | | shared | False | | status | ACTIVE | | subnets | fd6e1a7c-eefb-49d8-8f0f-9e22ac070608 | | tags | | | updated_at | 2021-08-11T09:37:07Z | +---------------------------+--------------------------------------+ To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1939680/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

