Comment 5 for bug 1843218

Revision history for this message
Gregoire Mahe (gregoiremahe) wrote :

Hi Miguel,

What you said is globally right :

1) That's right

2) Right again

3) That part is almost right : "Every time a VM is created with a port in the public shared network, you are going to create a records in a zone named <tenantid>.<defaultzone>.com"
Not every time, but only when the user doesn't specify his own custom zone

About the second part of your point, I think it depends on how we will implement the feature. (see below)

About your questions :

1) The left part of the DNS record should be the servername by default, and can be choosen by the user by using --dns-name while creating port. It's actually the current behavior. We just need to variabilize <tenantid> inside the zone name. If the user uses --dns-domain on port creation, his own zone will be used instead of default zone (<tenantid>.<defaultzone>.com)

2) I have an idea of the way to implement it, but I am open to discuss about that and change the way to do it if necessary.

Here is the definition of DNS label from neutron's code point of vue :
A DNS Label is a set of characters from 1 to 63 long (defined in the RFC), with alpha-numerical characters plus hyphen (it's actually all ascii characters in the RFC, but anyway)
The labels are validated with a regular expression on neutron-lib.

What I propose is to change this regex, to keep the condition above, but allow label equal to <tenantid>. Then, on DNS integration, just replace this label by the tenantid (the data is accessible from almost all functions in dns-integration)

I Actually already did the feature, waiting to be added to OVH organization on launchpad to push the code.

What do you think about the way I propose ?

Grégoire -