From f0963c1f0b0e9bd1ee587897eccd1d8c4ce4930b Mon Sep 17 00:00:00 2001 From: Gregoire Mahe Date: Wed, 9 Oct 2019 08:32:25 +0200 Subject: [PATCH] Allow user to create default record on port creation from shared network Related-Bug: #1843218 Change-Id: Id393b62ddfd3f9f010c7d7898a564a211b3405a4 --- ...d-on-port-creation-from-shared-network.rst | 77 +++++++++++++++++++ specs/ussuri/placeholder.rst | 31 -------- 2 files changed, 77 insertions(+), 31 deletions(-) create mode 100644 specs/ussuri/allow-user-to-create-default-record-on-port-creation-from-shared-network.rst delete mode 100644 specs/ussuri/placeholder.rst diff --git a/specs/ussuri/allow-user-to-create-default-record-on-port-creation-from-shared-network.rst b/specs/ussuri/allow-user-to-create-default-record-on-port-creation-from-shared-network.rst new file mode 100644 index 000000000..c66c8d249 --- /dev/null +++ b/specs/ussuri/allow-user-to-create-default-record-on-port-creation-from-shared-network.rst @@ -0,0 +1,77 @@ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + + http://creativecommons.org/licenses/by/3.0/legalcode + +Allow user to create default record on port creation from shared network +======================================================================== + +https://bugs.launchpad.net/neutron/+bug/1843218 + +As discussed in the bug thread above, we could add the feature to allow a user +to have default zone configured on a shared network. + +Problem Description +------------------- + +On Neutron, when the DNS ML2 plugin is enabled, each user can manage their own network, and +configure a dns_domain (i.e. example.com) for that network. The dns_domain (called zone) can +be hosted in one and only one tenant. To create a record in a zone, the record's tenant must be +the same as the zone's tenant. If a user creates a port in that network, it has to be the same +tenant as zone to get the record created. + +Network (A project) <~~> Port (B project) <==> Zone (B project) <==> Record (B project) + +So we need to have all these resources hosted on the same project (port, zone and record) to +get this feature working. + +As ports are able to be created from several different projects in the case of a shared +network, this feature doesn't work for that case. + + +Proposed Change +--------------- + +As described in the RFE, the idea is to let the network's admin user configure keywords in +the default dns_domain on their network to allow zone to be different per user or per project. + +Here are the accepted keywords : + +- +- +- +- + +For instance, configuring ..example.com. as dns_domain on any +network will allow users to have one default zone per user and per project, and then be able +to create records. + +:: + + $ source openrc_admin + $ openstack network set --dns-domain "..example.com." shared + $ source openrc_demo + $ openstack zone create --email dnsmaster@defaultzone.com UserName.HisProjectId.example.com. + $ openstack port create --dns-name myport port + +Further changes included: + +* Documentation: api-ref. +* neutron-lib adaptation +* neutron dns_integration ML2 driver adaptation +* dns_integration unit tests +* dns_integration integration tests + +Planned Impact +~~~~~~~~~~~~~~ + +- No impact expected on upgrades. +- No impact expected on configuration. +- No breaking changes + +References +---------- + +* RFE bug report of this spec: https://bugs.launchpad.net/neutron/+bug/1843218 +* Neutron Drivers Meeting discussion about the feature validation : http://eavesdrop.openstack.org/meetings/neutron_drivers/2019/neutron_drivers.2019-10-04-14.00.log.html#l-171 diff --git a/specs/ussuri/placeholder.rst b/specs/ussuri/placeholder.rst deleted file mode 100644 index 682bc1a42..000000000 --- a/specs/ussuri/placeholder.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. - This work is licensed under a Creative Commons Attribution 3.0 Unported - License. - - http://creativecommons.org/licenses/by/3.0/legalcode - -================== -(Placeholder Spec) -================== - -This file is just a placeholder for the specs directory. -It will be removed soon after some spec is merged. - -The latest spec template is found at ``specs/template.rst`` -in the ``neutron-specs`` repository. - -Problem Description -=================== - -Sphinx toctree complains if no file exists in a directory -specified in toctree glob. - -Proposed Change -=============== - -Add this file. - -References -========== - -None.