Bug 1397491 - [RFE] Designate: Move domain for nova/floating ips from config file to tenant definition
Summary: [RFE] Designate: Move domain for nova/floating ips from config file to tenant...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-designate
Version: 10.0 (Newton)
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Miguel Lavalle
QA Contact: Ofer Blaut
URL:
Whiteboard:
Depends On:
Blocks: 1381612
TreeView+ depends on / blocked
 
Reported: 2016-11-22 16:05 UTC by Edu Alcaniz
Modified: 2022-03-03 23:05 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-03-03 23:05:28 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-2833 0 None Waiting on Customer [rfe] [VzW Lab] Please identify the minimum i40e driver version to use with RHOSP16.1 and RHEL8.2 for SR-IOV on the XXV7... 2022-05-25 02:55:52 UTC

Description Edu Alcaniz 2016-11-22 16:05:01 UTC
Description of problem:
Domain used by designate to create automatic entries for nova instances or floating ips is located in the designate.conf file, and it is unique for all the OSP installation. All tenants use the same domain, and customer wants to specify a domain for each tenant.


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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:
When 2 different customers create 2 different instances with the same name, the DNS entry is the same in both cases, so it creates a conflict in the DNS System

Expected results:


Additional info:

Comment 6 Miguel Lavalle 2022-03-03 23:04:24 UTC
As pointed out in a previous comment , this RFE is satisfied by the different options of Neutron - Designate integration documented here https://docs.openstack.org/neutron/latest/admin/config-dns-int-ext-serv.html and here https://docs.openstack.org/neutron/latest/contributor/internals/external_dns_integration.html#pre-configured-domains-for-projects-and-users. 

In the original RFE description it is stated that " customer wants to specify a domain for each tenant". So here's an example of how that can be achieved with the 'dns_domain_keywords' extension enabled in Neutron:

1) There is a network, 'external', whose dns_domain attribute is set to '<project_id>.midominio.org.', indicating that VMs using this network will have a record created in Designate under a domain with a name composed of the tenant / project id and '.midominio.org'

$ openstack network show external --max-width 200
+---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field                     | Value                                                                                                                                                                    |
+---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| admin_state_up            | UP                                                                                                                                                                       |
| availability_zone_hints   |                                                                                                                                                                          |
| availability_zones        | nova                                                                                                                                                                     |
| created_at                | 2022-03-03T18:58:21Z                                                                                                                                                     |
| description               |                                                                                                                                                                          |
| dns_domain                | <project_id>.midominio.org.                                                                                                                                              |
| id                        | 64d9e57b-b25e-4369-822f-86c6fd87678a                                                                                                                                     |
| ipv4_address_scope        | None                                                                                                                                                                     |
| ipv6_address_scope        | None                                                                                                                                                                     |
| is_default                | None                                                                                                                                                                     |
| is_vlan_transparent       | None                                                                                                                                                                     |
| location                  | Munch({'cloud': '', 'region_name': 'RegionOne', 'zone': None, 'project': Munch({'id': 'b15394ff6eb2438e956d51f3910eae39', 'name': None, 'domain_id': None,               |
|                           | 'domain_name': None})})                                                                                                                                                  |
| mtu                       | 1450                                                                                                                                                                     |
| name                      | external                                                                                                                                                                 |
| port_security_enabled     | True                                                                                                                                                                     |
| project_id                | b15394ff6eb2438e956d51f3910eae39                                                                                                                                         |
| provider:network_type     | None                                                                                                                                                                     |
| provider:physical_network | None                                                                                                                                                                     |
| provider:segmentation_id  | None                                                                                                                                                                     |
| qos_policy_id             | None                                                                                                                                                                     |
| revision_number           | 2                                                                                                                                                                        |
| router:external           | Internal                                                                                                                                                                 |
| segments                  | None                                                                                                                                                                     |
| shared                    | True                                                                                                                                                                     |
| status                    | ACTIVE                                                                                                                                                                   |
| subnets                   | c84b7d4a-7ad5-4352-89d5-e049cfe6a5aa                                                                                                                                     |
| tags                      |                                                                                                                                                                          |
| updated_at                | 2022-03-03T21:31:30Z                                                                                                                                                     |
+---------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+


2) Project 'demo' will be used to create a test VM:

$ openstack project list
+----------------------------------+--------------------+
| ID                               | Name               |
+----------------------------------+--------------------+
| 60a3cbaf7f4f4030b9b21b36385a83d3 | demo               |
| b15394ff6eb2438e956d51f3910eae39 | admin              |
| cd47b9ecd6134d4789a9cf082eb5bfdf | service            |
| d2eb04e46f38465c865427503958287b | alt_demo           |
| e688b3d61ae14e21b3936e46b3bcd7cf | invisible_to_admin |
+----------------------------------+--------------------+


3) Prior to creating the test VM, zone '60a3cbaf7f4f4030b9b21b36385a83d3.midominio.org.' is created:

$ openstack zone list
+--------------------------------------+-------------------------------------------------+---------+------------+--------+--------+
| id                                   | name                                            | type    |     serial | status | action |
+--------------------------------------+-------------------------------------------------+---------+------------+--------+--------+
| 8e440c98-e469-429c-a39b-06c6d2c405b8 | 60a3cbaf7f4f4030b9b21b36385a83d3.midominio.org. | PRIMARY | 1646344071 | ACTIVE | NONE   |
+--------------------------------------+-------------------------------------------------+---------+------------+--------+--------+


4) The test VM is created with name 'my-vm':

$ openstack server create --image 4237cb19-d453-47eb-bf26-5cd8cc83fbf3 --flavor m1.tiny --network external --max-width 200 my-vm
+-----------------------------+-----------------------------------------------------------------+
| Field                       | Value                                                           |
+-----------------------------+-----------------------------------------------------------------+
| OS-DCF:diskConfig           | MANUAL                                                          |
| OS-EXT-AZ:availability_zone |                                                                 |
| OS-EXT-STS:power_state      | NOSTATE                                                         |
| OS-EXT-STS:task_state       | scheduling                                                      |
| OS-EXT-STS:vm_state         | building                                                        |
| OS-SRV-USG:launched_at      | None                                                            |
| OS-SRV-USG:terminated_at    | None                                                            |
| accessIPv4                  |                                                                 |
| accessIPv6                  |                                                                 |
| addresses                   |                                                                 |
| adminPass                   | cvn4Lvzt96Xd                                                    |
| config_drive                |                                                                 |
| created                     | 2022-03-03T22:43:46Z                                            |
| flavor                      | m1.tiny (1)                                                     |
| hostId                      |                                                                 |
| id                          | 3c429bf7-b3e7-4b4e-97d8-0f981584f8dc                            |
| image                       | cirros-0.5.2-x86_64-disk (4237cb19-d453-47eb-bf26-5cd8cc83fbf3) |
| key_name                    | None                                                            |
| name                        | my-vm                                                           |
| progress                    | 0                                                               |
| project_id                  | 60a3cbaf7f4f4030b9b21b36385a83d3                                |
| properties                  |                                                                 |
| security_groups             | name='default'                                                  |
| status                      | BUILD                                                           |
| updated                     | 2022-03-03T22:43:46Z                                            |
| user_id                     | 2e645d8499254c5bbd172fb14b205151                                |
| volumes_attached            |                                                                 |
+-----------------------------+-----------------------------------------------------------------+


5) A record is automatically created in Designate for the VM:

$ openstack recordset list 8e440c98-e469-429c-a39b-06c6d2c405b8 --max-width 200

+--------------------------------------+---------------------------------------------------------+------+---------------------------------------------------------+--------+--------+
| id                                   | name                                                    | type | records                                                 | status | action |
+--------------------------------------+---------------------------------------------------------+------+---------------------------------------------------------+--------+--------+
| 2c19a3e2-e4a8-47d4-ba3b-9be6a3f2c881 | 60a3cbaf7f4f4030b9b21b36385a83d3.midominio.org.         | SOA  | ns1.devstack.org.                                       | ACTIVE | NONE   |
|                                      |                                                         |      | admin.60a3cbaf7f4f4030b9b21b36385a83d3.midominio.org.   |        |        |
|                                      |                                                         |      | 1646347429 3591 600 86400 3600                          |        |        |
| 92cb5205-26ad-45f4-acd6-8e2c864ab70c | 60a3cbaf7f4f4030b9b21b36385a83d3.midominio.org.         | NS   | ns1.devstack.org.                                       | ACTIVE | NONE   |
| 192afcb6-b8b2-42ed-8f2b-9a076e468fc4 | my-port.60a3cbaf7f4f4030b9b21b36385a83d3.midominio.org. | A    | 172.31.251.59                                           | ACTIVE | NONE   |
| 6da1736c-b6c5-4d7b-b920-905193805f21 | my-vm.60a3cbaf7f4f4030b9b21b36385a83d3.midominio.org.   | A    | 172.31.251.25                                           | ACTIVE | NONE   |
+--------------------------------------+---------------------------------------------------------+------+---------------------------------------------------------+--------+--------+

As a consequence, I deem this RFE as implemented and closed


Note You need to log in before you can comment on or make changes to this bug.