| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2022-07-19 | |||
| 18:44:33 | opendevreview | Balazs Gibizer proposed openstack/nova master: Reject mixed VF rc and trait config https://review.opendev.org/c/openstack/nova/+/846436 | |
| 18:44:34 | opendevreview | Balazs Gibizer proposed openstack/nova master: Reject devname based device_spec config https://review.opendev.org/c/openstack/nova/+/846466 | |
| 18:44:34 | opendevreview | Balazs Gibizer proposed openstack/nova master: Ignore PCI devs with physical_network tag https://review.opendev.org/c/openstack/nova/+/846219 | |
| 18:44:36 | opendevreview | Balazs Gibizer proposed openstack/nova master: Stop if tracking is disable after it was enabled before https://review.opendev.org/c/openstack/nova/+/847009 | |
| 18:44:36 | opendevreview | Balazs Gibizer proposed openstack/nova master: Support [pci]device_spec reconfiguration https://review.opendev.org/c/openstack/nova/+/846470 | |
| 18:44:50 | dansmith | johnsom: I think that's a broken way to think about it in a managed environment, which is why I think you should choose one port to be your primary interface and we get our domain affiliation from that | |
| 18:45:26 | sean-k-mooney | dansmith: perhaps but in general ports and neworks dont have domains | |
| 18:45:30 | sean-k-mooney | they do in the custoemrs case | |
| 18:45:36 | sean-k-mooney | they define them on the network | |
| 18:45:40 | dansmith | but I understand there's practicalities about where we are at the moment, so I'd rather just pass the hostname to the other services and let them handle what to do if it looks like an fqdn | |
| 18:45:51 | sean-k-mooney | and they are expecting the domain to propacate down to all vms on that network | |
| 18:46:16 | dansmith | sean-k-mooney: again, I'm not talking about absolutes about how neutron works today, I'm saying what I think about the way it *should* work | |
| 18:46:24 | sean-k-mooney | dansmith: to make that work both neutron and designate would need to be able to handel that | |
| 18:47:08 | dansmith | sean-k-mooney: I understand | |
| 18:47:22 | johnsom | dansmith Think about the case where the domain is cloud generated based on the project ID, etc. The in-guest name doesn't necessarily need to be resolvable from outside the guest. It can be, but it's not necessary. | |
| 18:48:17 | sean-k-mooney | johnsom: in there paticaly case it needs to be but in general it may not | |
| 18:48:27 | sean-k-mooney | https://github.com/openstack/nova/blob/93a65f06df67ce39d65827692150c78013c7f6d5/nova/network/neutron.py#L1737= | |
| 18:48:37 | sean-k-mooney | this is where we set the dns_name on the port by the way | |
| 18:48:59 | sean-k-mooney | if that just truncated the hostname neutron and designate woudl work | |
| 18:49:49 | sean-k-mooney | we are sanatising the hostname to workaround that bad request form neutron today | |
| 18:49:52 | johnsom | Yep, just split on the first label | |
| 18:52:06 | sean-k-mooney | so we could revert the normalisation we do right now when setting instance.hostname and truncate there and all uscases that work before wallaby would work again however the downstide of that is if your vm is called ubuntu-20.04 in neutron it will have ubuntu-20 set as the domain name | |
| 18:52:09 | dansmith | johnsom: I know, in the most generic cloud case it would also be something other than your own domain. It just seems like we've got all this overly-complex plumbing of networks now, so we should be able to actually manage network things via the network :) | |
| 18:52:15 | sean-k-mooney | and to make that worse it breaks multi create in that casse | |
| 18:52:35 | dansmith | sean-k-mooney: I really don't think we should be normalizing or truncating or splitting the hostname in nova | |
| 18:52:46 | dansmith | perhaps checking that it's a valid hostname (*maybe*) | |
| 18:52:52 | dansmith | but let the other services deal with it | |
| 18:53:13 | sean-k-mooney | dansmith: well we have been since before essexe | |
| 18:53:27 | sean-k-mooney | there was exsitng code that removed unicode | |
| 18:53:29 | dansmith | sean-k-mooney: and look at where we're at :) | |
| 18:53:35 | sean-k-mooney | and some other sepcial charters | |
| 18:53:49 | sean-k-mooney | so just sayign if we revert this it will still exits | |
| 18:54:03 | sean-k-mooney | dansmith: im not disagreeing that its undeisreable | |
| 18:54:07 | dansmith | again, checking for sanity is not such a big deal, but I'd think we'd want to reject the instance boot, not just sanitize-and-go | |
| 18:54:28 | sean-k-mooney | dansmith: that was also something we discuseed | |
| 18:54:40 | sean-k-mooney | psi was unhappy with that proposal | |
| 18:54:54 | sean-k-mooney | but i think that was our first responce | |
| 18:55:08 | sean-k-mooney | "this is invalide sorry neturon told us so" | |
| 18:56:37 | sean-k-mooney | i dont recall all the details but with queens and without designate vms with numeric TLDs booted | |
| 18:56:45 | sean-k-mooney | and with train and designate it did not | |
| 18:57:49 | sean-k-mooney | nova has been seeting the dns_name form instance.hostname since mitaka | |
| 18:57:58 | dansmith | we have friends that work on designate right? :) | |
| 18:58:03 | sean-k-mooney | so that was either a change in neutron or caused by adding designate | |
| 18:58:06 | johnsom | grin | |
| 18:58:10 | johnsom | You do.... | |
| 18:58:19 | sean-k-mooney | pluarl? | |
| 18:58:26 | dansmith | sean-k-mooney: johnsom is worth at least two | |
| 18:58:31 | sean-k-mooney | :) | |
| 18:58:32 | johnsom | lol | |
| 18:58:50 | dansmith | johnsom: that was a comment of your worth, not your waistline, btw ;P | |
| 18:58:53 | sean-k-mooney | i just tought designate was one of the more understaffed project | |
| 18:59:09 | sean-k-mooney | i think this vlaidation change was in neutron to be honest | |
| 18:59:22 | sean-k-mooney | between train and queens | |
| 18:59:29 | johnsom | There are two full time RH folks, and a couple more cores active. | |
| 18:59:45 | sean-k-mooney | oh ok glad that has improved | |
| 19:00:28 | johnsom | But, as dansmith said, the Designate buck stops with me at the moment, so if we need to fix something on the designate side, assign the bug to me. | |
| 19:02:22 | sean-k-mooney | https://github.com/openstack/neutron-lib/blob/f01b2e9025d33aeff3bf22ea2568bda036878819/neutron_lib/api/validators/dns.py#L59-L92= | |
| 19:02:33 | sean-k-mooney | so that apprently is what does the validation in neutron | |
| 19:03:32 | sean-k-mooney | well it starts here https://github.com/openstack/neutron-lib/blob/f01b2e9025d33aeff3bf22ea2568bda036878819/neutron_lib/api/validators/dns.py#L112= | |
| 19:03:46 | dansmith | I just had to: https://imgur.com/a/spREDAg | |
| 19:04:07 | johnsom | lol | |
| 19:04:24 | johnsom | At least it's a $100 | |
| 19:04:41 | dansmith | inflation, yo | |
| 19:05:34 | sean-k-mooney | https://github.com/openstack/neutron-lib/blob/f01b2e9025d33aeff3bf22ea2568bda036878819/neutron_lib/api/validators/dns.py#L50-L52= | |
| 19:05:44 | sean-k-mooney | that is what was rejecting the numeric tlds | |
| 19:06:32 | sean-k-mooney | and that has been in place since pike | |
| 19:06:51 | sean-k-mooney | so the psi issue was caused by turning on the dns extention | |
| 19:09:57 | sean-k-mooney | it was there in mitak too shich is when we started setting that field https://github.com/openstack/neutron/blob/4d8685da8050df79d9193f91cab572cfc6d67a47/neutron/extensions/dns.py#L130-L133= | |
| 19:10:28 | sean-k-mooney | dansmith: so we could go back to not normalising or do want we don downstream | |
| 19:10:54 | dansmith | sounds like we need to collab with the neutron buck-stop | |
| 19:11:02 | sean-k-mooney | downstream if the tld is numeric we normalise to remove . | |
| 19:11:15 | sean-k-mooney | btu otherwisse we allow the fqdn | |
| 19:11:18 | sean-k-mooney | in hostname | |
| 19:12:20 | sean-k-mooney | so downstream its targeted to just making that one edgecase pass since the change was never backported upstream | |
| 19:12:53 | sean-k-mooney | upstream form wallaby on we replace all '.' with _ or - i cant recall | |
| 19:16:22 | johnsom | The TLD rules are pretty simple, I think it is perfectly acceptable to error to the user. There are two length limitations and the basic regex neutron has. I assume the neutron raise comes to late for nova to communicate that to the user? | |
| 19:16:54 | sean-k-mooney | yes it haapens on the compute node when we are bidning the ports | |
| 19:17:34 | dansmith | not too late to communicate, just too late to reject the request | |
| 19:17:47 | dansmith | we have lots of reasons why the instance goes into error state based on lies you told us earlier | |
| 19:17:52 | sean-k-mooney | without designate this would also work | |
| 19:18:02 | sean-k-mooney | because nova wont try to set the field | |
| 19:18:07 | sean-k-mooney | since the extenion is not enabled | |
| 19:18:11 | dansmith | so if dns is enabled and you gave us something invalid, then failing to wire up would be a fine reason to error the instance | |
| 19:18:35 | johnsom | Yep | |
| 19:18:35 | sean-k-mooney | ok because that is what we used to do | |
| 19:18:45 | sean-k-mooney | before it was reported as a bug and "fixed" | |
| 19:18:53 | sean-k-mooney | in wallaby | |
| 19:19:00 | dansmith | "hacked" | |
| 19:19:15 | dansmith | "swept into the future debt dustbin to screw someone else later" | |
| 19:19:23 | dansmith | but yeah :) | |
| 19:19:48 | sean-k-mooney | well we filed an rfe to add hostname as a sperate top level paramter and did a lot of other work | |
| 19:20:03 | sean-k-mooney | but ya im not happy with the situration we are in currently | |
| 19:20:27 | sean-k-mooney | going back to that old behavior will break some users but fix others | |
| 19:20:38 | sean-k-mooney | depending on if designate is aviaable of not | |
| 19:21:00 | sean-k-mooney | which yes is tecninally detechable via the neutron api | |
| 19:21:20 | sean-k-mooney | by checking the extentions as that is one of the few that is only reported when enabled i belive | |
| 19:21:52 | sean-k-mooney | neutron has a habit of reporting all extesion even if they are not enabled makeing it imposible to determin that | |
| 19:22:07 | johnsom | So, what I am hearing is a proposal: hostname field, remove the FQDN restriction, hand it off to cloud-init single label or FQDN, no hacking on the string (i.e. no . -> -). Pass the string through to neutron. If the domain doesn't match or is rejected, ERROR the instance with "invalid hostname" in the error field. | |
| 19:22:20 | johnsom | Just trying to summarize for clarity | |
| 19:23:11 | dansmith | that's what I'm saying yeah | |