Tuesday, 2024-04-30

opendevreviewMichael Still proposed openstack/nova-specs master: Propose a new API microversion for a spice-direct console.  https://review.opendev.org/c/openstack/nova-specs/+/91519009:16
opendevreviewTakashi Kajinami proposed openstack/nova master: Remove old excludes  https://review.opendev.org/c/openstack/nova/+/91759409:21
opendevreviewribaudr proposed openstack/nova-specs master: Update and Re-propose "Allow Manila shares to be directly attached to an instance when using libvirt" for Dalmatian  https://review.opendev.org/c/openstack/nova-specs/+/91399710:06
opendevreviewTakashi Kajinami proposed openstack/placement master: Remove old excludes  https://review.opendev.org/c/openstack/placement/+/91760810:15
opendevreviewTakashi Kajinami proposed openstack/os-vif master: Remove old excludes  https://review.opendev.org/c/openstack/os-vif/+/91761110:17
opendevreviewTakashi Kajinami proposed openstack/os-traits master: Remove old excludes  https://review.opendev.org/c/openstack/os-traits/+/91761310:20
opendevreviewTakashi Kajinami proposed openstack/os-resource-classes master: Remove old excludes  https://review.opendev.org/c/openstack/os-resource-classes/+/91761410:21
opendevreviewRajesh Tailor proposed openstack/nova master: Add regression test case for bug 1978573  https://review.opendev.org/c/openstack/nova/+/91465311:30
opendevreviewMerged openstack/os-traits master: Remove old excludes  https://review.opendev.org/c/openstack/os-traits/+/91761311:53
opendevreviewTakashi Kajinami proposed openstack/os-vif master: Remove old excludes  https://review.opendev.org/c/openstack/os-vif/+/91761112:13
opendevreviewTakashi Kajinami proposed openstack/python-novaclient master: Remove old excludes  https://review.opendev.org/c/openstack/python-novaclient/+/91768512:44
opendevreviewRajesh Tailor proposed openstack/nova master: Fix KeyError on assisted snapshot call  https://review.opendev.org/c/openstack/nova/+/90078312:48
opendevreviewRajesh Tailor proposed openstack/nova master: Add regression test case for bug 1978573  https://review.opendev.org/c/openstack/nova/+/91465312:54
opendevreviewRajesh Tailor proposed openstack/nova master: Restore original AZ when unshelve fails  https://review.opendev.org/c/openstack/nova/+/91110812:54
opendevreviewTakashi Kajinami proposed openstack/os-vif master: DNM: Run requirement-check jobs  https://review.opendev.org/c/openstack/os-vif/+/91770713:52
tkajinam^^^ sean-k-mooney  I think this shows how the requirement-check job fails with the current u-c.txt file which was cleaned up.13:53
sean-k-mooneytkajinam: im not sayign we shoudl not update them13:58
sean-k-mooneyim saying that the update you propoes is not correct as it allows know broken version13:58
sean-k-mooneyso we either need to fix the requiremetn repo13:58
sean-k-mooneyor you need to increase the min version above the blocked version13:59
tkajinamI can bump the min version but I doubt the current list excludes all of known bad versions really13:59
sean-k-mooneysure but allowing know broken version i would consider to be a medium severity bug14:00
sean-k-mooneyit would be a high severity bug if pip tied to install a previously blocked version and it cuase dissues14:01
tkajinamI understand that14:01
tkajinammy expectation is that pip would install the "latest" good version so it may not attempt to install such ancient versions14:01
sean-k-mooneysure and my epecation is project do not allow pip to install know bad versions14:02
tkajinamso this is more like a policy decision. I'll leave it for a while in case someone else chime in with a different thought14:02
sean-k-mooneyby default it wont but it should not be possibel even if you pass a constratigs file14:02
tkajinamyeah14:03
tkajinambut will update it to bump min unless I get additional feedback14:03
tkajinamStephen merged patches in a few other nova repos so I can push min bumps as follow-up if we agree with the direction14:04
sean-k-mooneyor we revert them14:04
tkajinamwe can't revert because requiremet-check job fails on reverts14:04
tkajinamunless we "fix" the upper-constraint file14:05
sean-k-mooneyok well lets fix them quickly then14:05
sean-k-mooneyand let not merge any more14:05
sean-k-mooneyi think os-traits is the only one where it merged14:09
opendevreviewTakashi Kajinami proposed openstack/os-vif master: Remove old excludes  https://review.opendev.org/c/openstack/os-vif/+/91761114:10
opendevreviewTakashi Kajinami proposed openstack/os-traits master: Bump min versions to exclude known bad versions  https://review.opendev.org/c/openstack/os-traits/+/91771314:12
tkajinam^^^ this is the only nova repo which gets that change merged14:13
tkajinamI'll update the other open ones14:13
tkajinammaybe I can bring the topic to the meeting today before I update all14:14
sean-k-mooneysure but it likely should also be disucssed with the requirements project14:29
sean-k-mooneyim +2 on both  by the way14:29
tkajinamlet's see how others think. but I hope we can move on with project decisions now and follow up with the global policy discussion, because the job failure may block any change which updates requirements14:37
opendevreviewOpenStack Release Bot proposed openstack/nova master: reno: Update master for unmaintained/zed  https://review.opendev.org/c/openstack/nova/+/91774115:00
opendevreviewOpenStack Release Bot proposed openstack/os-vif master: reno: Update master for unmaintained/zed  https://review.opendev.org/c/openstack/os-vif/+/91774315:01
opendevreviewOpenStack Release Bot proposed openstack/osc-placement master: reno: Update master for unmaintained/zed  https://review.opendev.org/c/openstack/osc-placement/+/91774515:01
opendevreviewOpenStack Release Bot proposed openstack/placement master: reno: Update master for unmaintained/zed  https://review.opendev.org/c/openstack/placement/+/91774715:02
opendevreviewOpenStack Release Bot proposed openstack/python-novaclient master: reno: Update master for unmaintained/zed  https://review.opendev.org/c/openstack/python-novaclient/+/91774915:02
elodillesif any nova core wants easy-win patch reviews then these bot-proposed, generated patches need to merge ASAP ^^^ o:)15:27
gibion it15:37
gibiI think I hit all of them15:39
elodillesthx o/15:40
gibithanks for eoling zed :)15:40
gibiI know onlu unmaintained it, but for me that is eol :D15:41
elodilles:D yeah, i remember :)15:43
bauzascool thanks15:47
bauzassorry guys, I was working hard on a devstack issue, eventually I'm all done \o/15:48
bauzasfwiw, centos9 has some iptables rule that doesn't accept to forward any IP address :)15:48
bauzasfolks, nova meeting now in 12 mins15:48
elodillesno worries, gibi +2+W'd everything ;)15:49
opendevreviewMerged openstack/os-vif master: reno: Update master for unmaintained/zed  https://review.opendev.org/c/openstack/os-vif/+/91774315:49
opendevreviewMerged openstack/python-novaclient master: reno: Update master for unmaintained/zed  https://review.opendev.org/c/openstack/python-novaclient/+/91774915:50
bauzas#startmeeting nova16:00
opendevmeetMeeting started Tue Apr 30 16:00:12 2024 UTC and is due to finish in 60 minutes.  The chair is bauzas. Information about MeetBot at http://wiki.debian.org/MeetBot.16:00
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.16:00
opendevmeetThe meeting name has been set to 'nova'16:00
bauzashey folks16:00
bauzas#link https://wiki.openstack.org/wiki/Meetings/Nova#Agenda_for_next_meeting16:00
Uggla_o/16:00
tkajinamo/16:00
gibio/16:00
auniyal o/16:00
elodilleso/16:00
fwiesel\o16:00
bauzascool, let's start16:00
bauzas#topic Bugs (stuck/critical) 16:01
bauzas#info No Critical bug16:01
bauzas#info Add yourself in the team bug roster if you want to help https://etherpad.opendev.org/p/nova-bug-triage-roster16:01
bauzasany bug to report ?16:01
bauzaslooks not16:01
bauzasmoving on?16:01
bauzas#topic Gate status 16:02
bauzas#link https://bugs.launchpad.net/nova/+bugs?field.tag=gate-failure Nova gate bugs 16:02
bauzas#link https://etherpad.opendev.org/p/nova-ci-failures-minimal16:02
opendevreviewMerged openstack/nova master: reno: Update master for unmaintained/zed  https://review.opendev.org/c/openstack/nova/+/91774116:02
bauzas#link https://zuul.openstack.org/builds?project=openstack%2Fnova&project=openstack%2Fplacement&pipeline=periodic-weekly Nova&Placement periodic jobs status16:02
opendevreviewMerged openstack/placement master: reno: Update master for unmaintained/zed  https://review.opendev.org/c/openstack/placement/+/91774716:02
bauzasall greens16:02
bauzas#info Please look at the gate failures and file a bug report with the gate-failure tag.16:02
bauzas#info Please try to provide meaningful comment when you recheck16:03
bauzasanything about some gate failure you just found ?16:03
tkajinamI noticed that requirements-check job is broken now but I'll talk about that later when we talk about review priorities16:03
bauzasack16:03
bauzas#topic Release Planning 16:04
bauzas#link https://releases.openstack.org/dalmatian/schedule.html16:04
bauzas#info Dalmatian-1 in 2 weeks16:04
bauzas#action bauzas to add the nova deadlines in the Dalmatian schedule page16:04
bauzasI'll do this tomorrow (as I'm done with my devstack problems :) )16:04
bauzas#topic Review priorities 16:04
bauzas#link https://etherpad.opendev.org/p/nova-dalmatian-status16:04
bauzastkajinam: shoot16:05
opendevreviewRajesh Tailor proposed openstack/nova master: Fix KeyError on assisted snapshot call  https://review.opendev.org/c/openstack/nova/+/90078316:05
tkajinamI've added summary to L5216:05
bauzasI see you added it indeed16:05
tkajinamrequirements-check job is currently broken because old excludes were cleaned up in global requirements file16:05
tkajinambecause these excludes are no longer maintained in the global requirements repo, I think it makes sense to remove these from individual repo16:06
sean-k-mooneyyep it sound like we are missing somethign on the requirement repo to have caught that breakage16:06
bauzascorrect16:06
bauzasand I'm afraid to bump our minimums just because of that16:07
sean-k-mooneyso i think its a bug if we do nto bump16:07
bauzaswe don't have jobs testing our minimums, right?16:07
bauzaswe had that before but we removed it AFAICR16:08
sean-k-mooneyim not really happy about removing know broken verison and not bumping to a version above them as our minium16:08
sean-k-mooneycorrect16:08
sean-k-mooneywe dont test our miniums16:08
sean-k-mooneyso i would like to rasied them above any version that was listed as know to have issues16:08
bauzasso there is no clear guarantee about the minimums16:08
sean-k-mooneywe will still use latest in the jobs16:08
bauzasthe problem is simple : we are on a non-SLURP release16:09
sean-k-mooneycorrect they may be older then we actully require16:09
sean-k-mooneywhy would htat matter16:09
sean-k-mooneywe are allowed to raise minium in non slurps16:09
bauzasoh maybe I was wrong16:09
tkajinam+1 to sean, otherwise we can't implement anything which rely on new os-traits thing during this cycle16:10
opendevreviewMerged openstack/osc-placement master: reno: Update master for unmaintained/zed  https://review.opendev.org/c/openstack/osc-placement/+/91774516:10
sean-k-mooneyor new release of oslo libs ectra16:10
tkajinamyeah16:10
bauzasif operators skip this release, they still need to upgrade their requirements in the next slurp16:10
tkajinamso... stepping back to help people with following the discussion there are a few options we have16:10
sean-k-mooneyright but that needed anyway16:10
tkajinam 1. just remove old excludes16:11
sean-k-mooneyi.e. what ever release theyre upgrading too then need ot install its deps16:11
tkajinam 2. remove old excludes and bump minimum to effectively excludes these bad versions16:11
tkajinam 3. ask requirements to revert the change16:11
tkajinam 4. loose the validation to ignore mismatch in excludes16:11
bauzaslooks like we went to a corner now we no longer have min reqs16:12
sean-k-mooneyi asked tkajinam to do 2 16:12
bauzasthe problem is that we only test on gate our latest releases in pip16:12
sean-k-mooneybauzas: we still have min requirement in our repo we just dont test them16:12
sean-k-mooneyso i think min version testing is out of scope for right now16:13
gibithe fact that we are not testing the minimum is true even without the bump, we just don't know that the current minimums are better than the new ones16:13
sean-k-mooneyand we should folcus on the 4 optiosn tkajinam has presented16:13
bauzasthat's the point, we have minimums for flexibility to make sure that operators don't need to update every dependency to latest everytime, right?16:13
sean-k-mooneykind of16:13
bauzasour support envelope is really "latest"16:13
elodilleswe have this comment in the req.txt: https://opendev.org/openstack/nova/src/branch/master/requirements.txt#L1-L316:14
bauzaswhich can change during a release cycle16:14
sean-k-mooneyits mainly to document to packagers what we thing shoudl work16:14
gibiare there any major bumps in the list? minor bumps should be compatible16:14
bauzasthere are16:14
bauzasif we go with bumping16:14
sean-k-mooneygibi: we were already crossing major bondaries16:14
bauzashttps://review.opendev.org/c/openstack/nova/+/917594/1/requirements.txt#b5416:14
tkajinamyeah there are16:15
tkajinambauzas, yes, but note that the versions removed from excludes are all 2+ years old16:15
bauzaswe would be changing our cinderclient min to 4.x 16:15
bauzassure16:15
bauzasbut I don't want zigo to kill me at milestone-3 :)16:15
gibiso the only thing that I can foresee if we bump our minor from major to major+1 but our latest we test with is major+216:15
sean-k-mooneyright we are currently testign with cinder client 9.5.016:15
gibitell zigo at m-116:15
gibi:)16:16
sean-k-mooneyso bumping to 4.x is prablly better then saying it actully works with 3.3.016:16
sean-k-mooneyit might but we have not tested that in years16:16
bauzashe's highlighted now :D16:16
sean-k-mooneywell for cinder client we test major +6 now16:16
zigoEven buster has 1:4.0.1-2 ... :P16:16
bauzashonestly, I don't know how much of that matters16:16
bauzasit's more a distro thing16:17
zigobauzas: Are you sure we wont break Folsom ? :P16:17
* zigo reads the backlog, what are we talking about exactly ? requirements ?16:17
bauzaszigo: now you're here (glad you continue to listen to us :) ), are you okay with nova bumping their minimums straighly ?16:17
sean-k-mooneydoes anyone object ot bumping to the first release after the last knnow bad relsese ?16:17
bauzasafter all that discussion, I have to admit I have no objection now16:18
gibibased on the current discussion we are affraid to bump the mins, but we are also not doing anything to be less affraid. In the other hand project arond us are moving forward. Either we need to be less affraid or start doing things that makes us less affraid16:18
bauzasdistro owners seem to be smart folks who actually don't really use our requirements for shipping their own packages16:18
sean-k-mooneyi personally am not that concerned with bumping the mins on master16:19
sean-k-mooneyas long as we dont just require latest16:19
gibiI have no objection to bump to the next 16:19
zigobauzas: I don't mind, and I don't really care the SLURP thingy, because it's 1/ not alligned with Debian in terms of dates 2/ still a 1 year thingy instead of 2.16:19
sean-k-mooneywe obviously cant do that on stable16:19
tkajinamIf I hear no immediate objections here then I'll update all patches based on that strategy16:19
bauzasand given our minimums are quite (very) old, I think I'm OK with bumpinig16:19
tkajinamif you find any concern with specific bumps then we can discuss that in detail16:19
zigoOnce we switch to a 1 year release and SLURP, effectively supporting debian stable -> stable +1 upgrades, then I'll start to care.16:19
sean-k-mooney+216:19
bauzastkajinam: you know what ? do it, and we'll see if people yell16:19
tkajinammost of my patches are based on option 1 (without bump) so have to be updated for option 2.16:20
tkajinambauzas, yup :-)  that's why I created these changes, actually16:20
zigoMostly in distros: we don't need to care about excludes, we just need to *not* package them. :P16:21
bauzas#agreed it seems our requirement minimums are actually very old so we all accept to raise the versions of the packages that were having excluded versions to the N+1 release16:21
zigo(which only very rarely happen)16:21
bauzaszigo: it only happens when the latest version has to be excluded: )16:21
bauzas:)16:21
zigoYeah, we're talking about buster to trixie (ie: debian 9 to 13) here ... :P16:21
fwieselStupid question: are there really people out there that mix and match releases of individual packages in the same python environment? Is that even allowed?16:21
bauzaswhen we talk of 5-yo excluded versions, I think nobody cares16:22
zigofwiesel: It depends what service, for some it's possible.16:22
bauzasthat's why we have global requirements16:22
zigofwiesel: For example, if you're doing multi-region with a single keystone, it's important that older Keystone is supported by newer rest-of-openstack.16:22
zigoKeystone is probably a special case...16:22
fwieselSure, but that is kind of guaranteed by the microversions.16:23
tkajinamI'll update these patches so it'd be nice these can be review with priority. as I said requirements-check job is broken and we need these to merge any changes which update reqs now16:23
fwieselAt least we upgrade keystone and other services independently. and use the uppser-constraints of the respective releases of the service.16:23
bauzasbumping our minimums puts some stress to some other projects that may also need to upgrade their own minimums, but here we're talking of very old versions16:23
bauzastkajinam: noted, I'll pay my duty16:23
tkajinamI've also left the other bug there and that's also nice-to-have thing to unblock our testing glance run by httpd+mod_wsgi in puppet jobs16:23
tkajinambut that's not as much urgent now16:23
bauzasI was frankly off upstream those weeks but I'm now back16:24
bauzasmoving on I guess16:24
tkajinamthat's all from my side16:24
tkajinamyup16:24
bauzastkajinam: thanks for having reported it and worked on it16:24
bauzas#topic Stable Branches 16:25
bauzaselodilles: you're next !16:25
elodilleso716:25
elodilles#info no recent merges, but stable/202*.* branches' gates should be OK16:25
elodilles#info final release for stable zed is out (26.3.0)16:25
bauzasshhhh16:25
elodilles#info stable/zed transitioned to Unmaintained16:25
bauzascool16:25
elodilles#info open stable/zed patches were abandoned, cherry pick them to unmaintained/zed if needed16:25
bauzas++16:26
elodillesnote:  as with the previous newly opened unmaintained branches, unmaintained/zed gate might need some fixes before we can merge anything there16:26
elodilleslast but not least:16:26
elodilles#info stable branch status / gate failures tracking etherpad: https://etherpad.opendev.org/p/nova-stable-branch-ci16:26
bauzaswhich means that now all our supported releases follow the SLURP cadence, huzzah16:26
opendevreviewTakashi Kajinami proposed openstack/placement master: Remove old excludes  https://review.opendev.org/c/openstack/placement/+/91760816:26
sean-k-mooneyare we expecting the default brances for grenade to be updated on stable/antelope centrally16:26
zigozed is what's in bookworm ... :/16:26
elodillesbauzas: yepp16:27
* zigo goes in the corner and cries ...16:27
* bauzas gives tissues to zigo16:27
opendevreviewTakashi Kajinami proposed openstack/placement master: Remove old excludes  https://review.opendev.org/c/openstack/placement/+/91760816:27
bauzasthanks elodilles16:27
bauzasanything else on the stable side ?16:27
elodillessean-k-mooney: we had some patches, but i don't know whether that is among them :X16:27
elodillesbauzas: np, nothing else from me16:28
sean-k-mooneyack so that will cause grenade to fail then since the base barnch wont exist16:28
sean-k-mooneybut its also a simple enough change once all the branch movign is done16:28
elodilles++16:28
bauzasI think grenade has some homework anytime we delete a branch16:28
bauzasbut let's move on16:29
bauzas#topic vmwareapi 3rd-party CI efforts Highlights 16:29
bauzasfwiesel: wanting to say something ?16:29
fwieselNot really.16:29
fwieselhttps://review.opendev.org/c/openstack/nova/+/909474 has been reviewed, so that's great. Thanks to everyone.16:30
fwieselAny questions?16:30
sean-k-mooneyam i saw the chagnes that dan asked for16:30
bauzascool, I'll see if I can look at it 16:30
bauzasbut dan and sean already did their work16:30
sean-k-mooneyi have not had time to re review but ill try and get to it today16:30
sean-k-mooneyafter the meeting16:30
fwieselThanks16:30
bauzascool so16:30
fwiesel#info Nothing to report.16:30
bauzascool16:30
bauzaslast topic then16:30
bauzaslet's be short16:30
sean-k-mooneyasuming that merges can you add the next one to the list for review16:31
bauzas#topic Open discussion 16:31
bauzasI have one thing to raise16:31
gibiI have one too16:31
fwieselsean-k-mooney: Of course, I'll add that one16:31
bauzas(bauzas) I won't be able to run the next nova meeting16:31
opendevreviewTakashi Kajinami proposed openstack/nova master: Remove old excludes  https://review.opendev.org/c/openstack/nova/+/91759416:31
bauzas(I'll take a few days off starting Wed, but I'll need to travel on Tues by 5pm my time)16:32
bauzasso, who can run the meeting in my absence ?16:32
dansmithor just cancel?16:32
bauzasif nobody volunteers, I can cancel16:32
bauzasyeah that16:32
gibiI can run it if needed16:32
bauzasthanks gibi16:33
gibino problemo16:33
bauzas#action gibi to run next nova meeting16:33
bauzasgibi: shoot your own point16:33
gibijust a heads up16:33
gibiwe started a small standup with Uggla_ about his manial series 30 mins twice a week. So far it is Uggla_ and me but eventually  we need a second code for the series16:34
bauzascount me on it16:34
gibiand such core could benefit joining to these meetings16:34
gibibauzas: thanks, I will make sure you will have the invite16:34
bauzasI already reviewed the series so I'd be happy to continue to shepherd it16:34
bauzasgibi: cool, timezones will then match hopefully :)16:35
bauzas(it was a joke)16:35
gibiit will :)16:35
gibithat is all16:35
bauzascool16:35
bauzasand then that's all for me too16:35
bauzasthanks all 16:35
opendevreviewTakashi Kajinami proposed openstack/python-novaclient master: Remove old excludes  https://review.opendev.org/c/openstack/python-novaclient/+/91768516:35
bauzaswas a productive meeting16:35
bauzassee you :)16:35
bauzas#endmeeting16:35
opendevmeetMeeting ended Tue Apr 30 16:35:52 2024 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)16:35
opendevmeetMinutes:        https://meetings.opendev.org/meetings/nova/2024/nova.2024-04-30-16.00.html16:35
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/nova/2024/nova.2024-04-30-16.00.txt16:35
opendevmeetLog:            https://meetings.opendev.org/meetings/nova/2024/nova.2024-04-30-16.00.log.html16:35
Uggla_bauzas, I will send you the invites16:35
bauzasnp16:36
elodillesthanks o/16:36
tkajinamthank you :-D16:36
sean-k-mooneyjust a note f you want ot send a message to the list to invite other to join if they want to dont send the ical16:36
sean-k-mooneyif you send the ical to the list is will effectivly invite the list :) 16:36
gibiI think this will not go to the list :)16:37
gibiwe want t keep it focused16:37
opendevreviewTakashi Kajinami proposed openstack/os-resource-classes master: Remove old excludes  https://review.opendev.org/c/openstack/os-resource-classes/+/91761416:37
fwieselthanks16:37
sean-k-mooneywhich is fine. i likely wont join those meeting but if you want me to attend as a one off for a specific patch or topic ping16:37
gibisure, thanks16:39
gibibtw if we already discussing this series I'm wondering if we are OK to have a sqlite specific db migration codepath https://review.opendev.org/c/openstack/nova/+/912518/1/nova/db/main/migrations/versions/d60bddf7a903_add_constraint_instance_share_avoid_.py16:40
dansmithwow, really?16:40
gibiour migraton testing fail without it16:41
gibiso we either skip testing this migration or have an sqlite specific path16:41
dansmithand it's a table drop/recreate? that seems incredibly unfortunate to me16:41
gibiit is for sqlite16:41
dansmithwhat is the actual problem?16:42
gibisqlite does not support altering constarint on a table without recreate16:42
sean-k-mooneywe should not need that16:42
sean-k-mooneyalthough i know ironic does some sqlite specific tweaks16:42
dansmiththe create_table includes mysql-specific stuff too16:42
sean-k-mooneygibi: as in adding a foringkey16:42
dansmithis this because we merged the migration before the implementation and then decided that we needed something different?16:43
sean-k-mooney so this is the share mapping table16:43
sean-k-mooneywhich does not exist right16:43
sean-k-mooneyso why do we need this drop table and recreate16:44
sean-k-mooneydid that merge last cycle?16:44
gibidansmith: we needed an exta constraint to prevent creating two sharemapping with the same share id and instance id16:44
gibisean-k-mooney: we merged the db code16:44
dansmithugh, that's very unfortunate16:44
sean-k-mooney... ok this partly why i didint want to do that16:44
dansmithyeah seriously16:44
dansmithbut, if it's not used currently, can we just drop and recreate it for all backends? should be very non-impactful for an empty mysql table I think16:45
sean-k-mooneyya i think i prefer ^16:45
gibidansmith: correct, the api code is not landed, so the table is empty16:45
dansmithyeah, I'd prefer that, but.. also prefer not landing db code before implementation is ready for exactly this reason :(16:46
gibiOK16:46
sean-k-mooneywe dont alwasy do this but my prerfered ordering is "driver -> object -> rpc ->db -> api -> docs"16:46
gibijust a side note that in the other hand people are not happy with 30 patches in a series. 16:47
gibidriver uses object code I think16:47
gibiobject used db backing16:47
sean-k-mooneyit didnt need too but lets not rehash that16:48
gibianyhow thanks for the feedback, then this migration will be a drop / recreate for all backends16:48
gibiUggla_: ^^16:48
opendevreviewRajesh Tailor proposed openstack/nova master: Fix KeyError on assisted snapshot call  https://review.opendev.org/c/openstack/nova/+/90078316:48
gibiI need to drop now. see you on thrusday16:49
sean-k-mooneyenjoy o/16:49
Uggla_gibi, seen16:49
Uggla_I will update to drop / recreate the table16:49
frct1Hello, could anybody from nova team review change to nova-api ? https://review.opendev.org/c/openstack/nova/+/917276 this fix #cloud-config provide over vendor_data2.json which is broken for now.17:20
sean-k-mooneyfrct1: so any change shoudl really have test coverage to validate it17:25
sean-k-mooneyalso this seams like a new feature17:26
sean-k-mooneyadding cloud init supprot to dymic veder data17:26
frct1Not a new feature, since its support declared by cloud-init (https://cloudinit.readthedocs.io/en/latest/reference/datasources/openstack.html#vendor-data), there is proposal to fix https://blueprints.launchpad.net/nova/+spec/dynamicjson-vendordata-cloud-config17:27
sean-k-mooneyin json format17:27
frct1Current DynamicJSON implementation strongly limit developers to return JSON encoded response from provider17:28
sean-k-mooneyright17:28
sean-k-mooneywe dont supprot any other format17:28
sean-k-mooneyonly json17:28
sean-k-mooneyso that is the new feature your addign17:28
frct1I have to implement another vendor data provider ?17:28
sean-k-mooneyallowign the raw respocne to be passed17:28
sean-k-mooneywhich also changes the returnd formate form a dict to a string17:29
sean-k-mooneyso the vendor data feature only supprot talking to rest api that return a json responce17:29
bauzasfolks, I'll be off tomorrow, see you on Thur17:30
frct1What are ways to solve it ? New vendor data provider ? It is possible is over-engineering to implement new one because cloud-init is only thing that expects cloud-init key in vendor_data2.json17:31
sean-k-mooneyfrct1: the first step woudl really be to create a repoducer test case for the issue17:44
sean-k-mooneydo you have an example fo a valid respocne that has a cloud-init key?17:45
frct1yep: https://paste.openstack.org/show/bNmVjYg2Fmq3wpxtny9y/17:52
sean-k-mooneyok well that not a valid respocne the content of the data return by the service has to be a valid json object17:53
frct1Yes, but in this case cloud-init will ignore cloud-config if it is presented in nested json even if cloud-init key present. There is discrepancy between cloud-init and nova implementation, because cloud-init support to run cloud-config provided in vendor data (https://cloudinit.readthedocs.io/en/latest/reference/datasources/openstack.html#vendor-data)17:54
sean-k-mooneyit should be something like this https://paste.openstack.org/show/bua9OEI0FpYb24kTIjHj/17:54
sean-k-mooneyfrct1: right and nova does not supprot that so adding supprot would be a new feature17:55
frct1I've found that there is some issues reported to cloud-init, (https://github.com/canonical/cloud-init/issues/3433 and https://github.com/canonical/cloud-init/pull/777) that has been ignored17:55
sean-k-mooneysure the cloud init doc you linked is incorrect17:56
sean-k-mooneythat is not supproted17:56
frct1I've tried to modify nova-api code to return plain response if service_name equals to "cloud-init" and it actually works17:56
sean-k-mooneyok but that is not valid17:57
sean-k-mooneywe could enable that 17:58
sean-k-mooneybut its not somethign that was orgianlly uspported when we added this feature17:58
frct1Exactly. That;s why i started to investigate on how to solve it. If it is will be implemented as new feature, should it have it's own configuration ?17:58
sean-k-mooneyis the comment in the respocne 17:59
sean-k-mooneyhttps://paste.openstack.org/show/bNmVjYg2Fmq3wpxtny9y/17:59
frct1No, there is no any comments in response, it was added as note18:00
sean-k-mooneyhttps://paste.openstack.org/show/bb6tjYB8z4Zc2xrcVBXy/18:00
sean-k-mooneyok this ^ would be valid json but the other poast is not18:00
sean-k-mooneyso the expecation is that content would be put into a file called somethign like openstack/2016-10-06/vendor_data2.json18:02
frct1Yes, Or openstack/latest/vendor_data2.json, not sure what path cloud-init looks for, but it checks that `cloud-init` key is presented and is string type and then process it18:03
sean-k-mooneyok but it should be presented like that today18:03
frct1If there is cloud-config provided in vendor_data2.json and user-data is provided then cloud-init will merge both of them (user-data will override config options presented in vendor_data cloud-config)18:04
frct1How do you think what is more preferred way to implement it ? Adding cloud-init as whitelisted is easiest workaround but probably violates idea of DynamicJSON provider18:05
sean-k-mooneypersonally i dont want to see use special case at all18:06
sean-k-mooneyim trying to reconsile what cloud-init expect with what openstack supprots18:07
frct1Since DynamicJSON combine responses from all providers. May be we can use some sort of suffix to vendor data provider name like "testing@10.10.10.10:1337,cloud-init:string@10.10.13.37:8000" to make it more declarative to let provider know that response should be string.18:12
sean-k-mooneyfrct1: so our functional tests assert that each backend is a nested resouce contianing a dict repsponce18:12
sean-k-mooneyhttps://github.com/openstack/nova/blob/fa678870b24d450df6d5abce57db2e6eb83703c5/nova/tests/functional/test_metadata.py#L97-L11918:12
sean-k-mooneyso based on that this is a bug in cloud init18:13
sean-k-mooneyit shouldl be loopting over the keys and looking for a backend with a nested "cloud-init" key18:13
sean-k-mooneyfrct1: have you condierd filing a bug with cloud-init for this18:14
frct1I did it couple days ago: https://github.com/canonical/cloud-init/issues/522118:14
frct1What if multiple vendor data provider responses will have cloud-iniit key ? It is big question on how to solve it18:16
sean-k-mooneywe explcitly say that that is not supproted in our docs18:16
sean-k-mooneyat lest in our olde rdocs18:17
sean-k-mooneycloud init woudl be free to merge the section si guess if that was the case18:17
frct1¯\_(ツ)_/¯ Re-implementing at cloud-init side would require from operators building brand new images with new cloud-init version that contain fixes that could take months to propagate over repos.18:21
frct1When it is fixed on nova side it could be easily update and all "relatively" recent images will work as expected with new feature 18:22
sean-k-mooneybut its not broke on the nova side18:23
sean-k-mooneyto do what you want would actully have sideffect18:23
sean-k-mooneythe first sideefect is obvioulsy that cloud-init18:23
sean-k-mooneyis currenlty a valid backend name18:23
sean-k-mooneyi.e vendordata_dynamic_targets=['cloud-init@http://127.0.0.1:123']18:24
sean-k-mooneyis currently valid18:24
sean-k-mooneysecond this is a breaking change to the format provided by openstack18:24
frct1What do you think on implementing new vendor data provider that operator will be able to configure how response type should look ? For example vendordata_dynamic_targets="cloud-init:striing@http://127.0.0.1:123,testing:json@http://127.0.0.1:124" ?18:25
sean-k-mooneymeaning this could only be done in a new version and we woudl have to kept it for all the old version18:25
sean-k-mooneyfrct1: thats more palitable but we likely need to have a nova-spec for that18:26
sean-k-mooneyto ensure there are no upgrade impacts to this18:26
frct1So old DynamicJSON provider will continue to work as before, but if operator would like to provide some sort of "common" cloud-config he can enable new implementation that covers old DynamicJSON and new one that allows response type explicitly defined 18:26
sean-k-mooneywe would likely need a new version18:26
sean-k-mooneyand only include the string providers in the latest version18:26
sean-k-mooneyright now clinet of the vendor data file should expect the  fiile to be {<provider>:<data>} string to dict18:28
sean-k-mooneybut in the new format they would have to support parsing string to (dict or string)18:28
frct1So yeah, this is really not a bad option to explicitly define response type. Is there any other options for types to be supported like number or string ? Is it really needed ?18:30
sean-k-mooneywe only supprot json today as you saw18:30
sean-k-mooneyso each provider is expected to provide a json dict18:30
sean-k-mooneybut the content of that dict can technially be any valid json so the nest dict can have strings more dicts number ectra18:31
frct1I'm talking not about current implementation, but new one provider with options to explicitly define provider response type (json or string)18:35
frct1I will able to describe proposal for new provider as well as new vendor data provider code covered with tests18:36
sean-k-mooneyi dont think this would be a new provider18:39
sean-k-mooneywell it depend on what you mean by provider18:40
sean-k-mooneyit would not be a new VendorDataDriver but an enhacment to the existing VendorDataDriver18:40
frct1Now i'm not sure how it should look like... Do you have possible example for configuring it ?18:41
sean-k-mooneymaybe somethign like this vendordata_dynamic_targets=['cloud-init:string@http://127.0.0.1:123'] which is what you were suggesting18:43
sean-k-mooneycan you try somethign else first18:43
sean-k-mooneytechnially https://paste.openstack.org/show/bYyFYXCJ5GCPrW45iYEC/ is valid json18:43
sean-k-mooneyif you neamed the provider "vendordata_dynamic_targets=['cloud-init@http://127.0.0.1:123']" today18:44
sean-k-mooneyand it provide jus the quoted string as the respocne18:44
sean-k-mooneyi think it would work18:44
frct1Nope, just tried one more time. https://paste.openstack.org/show/bRonCys8hzLUKA6FyQr0/18:47
frct1https://opendev.org/openstack/nova/src/branch/master/nova/api/metadata/vendordata_dynamic.py#L98 this line raise exception 18:47
sean-k-mooneythis should be jsonutils.loads('"#cloud-config\nhostname: ocdvworks"')18:48
frct1Nope https://paste.openstack.org/show/bQYbqkIHPTeoDaJtuXge/18:49
sean-k-mooneyits not happy with the \n18:49
frct1Uhm, with double slashes it works 18:50
frct1>>> jsonutils.loads('"#cloud-config\\nhostname: ocdvworks"') '#cloud-config\nhostname: ocdvworks'18:50
sean-k-mooneyok ya you need to secape it so that it actlly \n in the data18:50
sean-k-mooneybut thats because of how you are typing it18:51
sean-k-mooneyi have commented here https://github.com/canonical/cloud-init/issues/5221#issuecomment-208656028118:51
frct1So response would be like https://paste.openstack.org/show/byDvpUrAI61jMVAUMRfY/ ?18:53
frct1nah, ""#cloud-config\\nhostname: ocdvworks"" not works at all, raise exception, somehow it have to be escaped18:54
sean-k-mooneyi do not think it will render as that but rther the file will contain https://paste.openstack.org/show/bXFAMO5uOlegBy4KJmbP/18:54
frct1If provider will return "#cloud-config\nhostname: ocdvworks" it will raise the same JSON exception, i would not dig in it if it would work18:56
sean-k-mooneyfrom where18:58
sean-k-mooneyhttps://paste.openstack.org/show/bcayBBbJaZjiagsjcVdu/18:58
sean-k-mooneyim using a raw sting in that version to avoid any escaping18:58
sean-k-mooneyi guess you mean when this is used by nova18:59
frct1So somehow provider have to return escaped string, it is ?19:01
sean-k-mooneythe provider need to return a vaild json sring containing something that can be parsed by the client19:01
sean-k-mooneycloud init is documeitnign that it shoudl have a srting with newlines excaped as \n19:02
sean-k-mooneyhttps://cloudinit.readthedocs.io/en/latest/reference/datasources/openstack.html#vendor-data19:02
sean-k-mooneyso the server litrally need to return "#cloud-config\npackage_upgrade: True\npackages:\n - htop" 19:03
sean-k-mooneyincluding the "19:03
sean-k-mooneymy guess is internaly cloud-init is reading the content of that string directly adn parsing it in text mode19:04
sean-k-mooneythat or writign it to a file first and then reading it back19:06
sean-k-mooneyi think its doign this here ? https://github.com/canonical/cloud-init/blob/main/cloudinit/sources/DataSourceOpenStack.py#L193-L19519:07
sean-k-mooneyso we are going to take this path https://github.com/canonical/cloud-init/blob/main/cloudinit/sources/__init__.py#L115419:08
sean-k-mooneyim not familar with this code but i think tis hten used here https://github.com/canonical/cloud-init/blob/7eb5a1df0769fb88bbe3fc357ab44a378770043b/cloudinit/stages.py#L562-L56419:10
sean-k-mooneywhich calls json_dumps on the string contaiing the cloud config 19:11
sean-k-mooneyhttps://github.com/canonical/cloud-init/blob/7eb5a1df0769fb88bbe3fc357ab44a378770043b/cloudinit/stages.py#L604-L60519:11
sean-k-mooneyand it finaly write it to a file19:11
sean-k-mooneyhttps://github.com/canonical/cloud-init/blob/7eb5a1df0769fb88bbe3fc357ab44a378770043b/cloudinit/stages.py#L590-L59419:11
sean-k-mooneywhich has mode wb https://github.com/canonical/cloud-init/blob/7eb5a1df0769fb88bbe3fc357ab44a378770043b/cloudinit/util.py#L224919:12
sean-k-mooneyso its doign a binary write of the raw data to a file19:12
sean-k-mooneyfrct1: so the respocne form the backend woudl have to be a raw binary sring19:13
sean-k-mooneycontiing the cloud-init file content19:13
frct1Yep, i'm trying to implement it somehow19:14
frct1The main thing is to make vendor data provider return escaped data19:14
frct1Uhm, it works, lol https://paste.openstack.org/show/bShqKlZLG9hjmix2wCmc/19:28
frct1https://paste.openstack.org/show/bV1JTGhzjKuRdsHGGS5B/, i will try to launch cloud-init shortly19:29
sean-k-mooneyso two thing. one your obviously in unsupproted terrirotry using implemenation specific knowldage19:33
sean-k-mooneytwo if you get it work ing we have  a few optiosn19:33
sean-k-mooneyfirst we could docuemnt and add test coverage for this hack19:33
sean-k-mooneysecond we could still consider the new feature to do this properly19:34
frct1Actually i'm really inclined to add support for DynamicJSON provider's response typings like mentioned earlier "cloud-init:string@10.10.13.37:123,testing@10.10.13.37:124", so cloud-init key will be explicitly encoded as string, but testing will be presented as json19:37
frct1I will specs to provide details about observed hack to docs19:37
frct1I will add*19:37
frct1Wrapping everything up to update vendor data provider used with Consul and then move to compose docs update19:41
frct1What we have to add to test coverage for this case ? Something like check that string is probably valid escaped JSON string, i cant find any RFC that covers that19:42
melwittgmann: dunno if you may get a moment to take a look at this small API controllers tracking change https://review.opendev.org/c/openstack/nova/+/915732 I don't really understand it but I'm sure you will :)20:39
sean-k-mooney[m]escaping is not really the correct way to thikn about it cloud-init treats the string as a binary sting20:46
sean-k-mooney[m]python3 and json by defualt is generally parsed as utf820:47
sean-k-mooney[m]what would likely be better then have cloud-init:string  is perhaps cloud-init:base64 and then render the decoded content in20:48
sean-k-mooney[m]the vendor data20:48
frct1You mean base64 for any service or especially for cloud-init ? What if other provider will return json encoded in base64 ? In what type we should decode it before response ?20:52

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!