Monday, 2021-10-25

*** pmannidi is now known as pmannidi|brb02:03
*** pmannidi|brb is now known as pmannidi04:12
dtantsurgood.. *looks outside* night?06:03
dtantsurrpioso: the firmware update RFE makes sense to me (modulo some implementation details, which should be polished on the patch anyway)06:06
arne_wiebalckGood morning, Ironic!06:31
iurygregorygood morning dtantsur arne_wiebalck and Ironic o/06:55
arne_wiebalckhey iurygregory dtantsur, good morning o/07:07
dtantsuro/07:19
*** MikeCTZA_ is now known as MikeCTZA07:23
MikeCTZAI'm starting to think I will never get ironic working, what seems so simple is just not happening for me ... 07:27
dtantsuris it DNS still?07:27
MikeCTZAyup I still cant find any reference to how / where to set that07:28
rpittaugood morning ironic! o/07:28
dtantsurMikeCTZA: that's with neutron, right? I suspect you need to set nameservers on the subnet07:29
MikeCTZAyeah I've done that but let me double check I've even had some other network changes made today that I though could be related but guess not07:30
iurygregorymorning rpittau o/07:30
rpittauhey iurygregory :)07:30
iurygregoryit's always DNS =)07:30
MikeCTZAso I PXE off VLANID505 (in our case)... that works, then when it is in IPA - thats when it talks to neutron right? which is the network that i've added in openstack?07:31
dtantsurMikeCTZA: I assume the OS of the ramdisk will get DNS servers from your DHCP07:31
dtantsurwhich duing deployment comes from neutron07:31
dtantsuryou can always hack your ramdisk to populate resolve.conf and see if you can progress further07:32
MikeCTZAand the DNS it gets from that would be an internal DNS which you set with --dns-nameserver  on the openstack subnet create line correct?07:32
dtantsurI *think* so07:32
dtantsuras an aside, I'm surprised eventlet requires working DNS.. it's not needed for IPA itself07:33
dtantsurhttps://github.com/eventlet/eventlet/issues/46207:37
iurygregory<facepalm>07:37
dtantsurMikeCTZA: so it seems that another workaround for you (assuming you don't need DNS on IPA), is it add "EVENTLET_NO_GREENDNS=yes" to environment variables in the ironic-python-agent systemd service07:38
dtantsurand yes, facepalm07:38
MikeCTZAwhich means I'd need to build a fresh IPA right?07:39
dtantsurno necessarily07:39
dtantsurMikeCTZA: https://docs.openstack.org/ironic/latest/admin/troubleshooting.html#patching-the-deploy-ramdisk07:39
dtantsurwhatever is easier for you07:39
MikeCTZAthanks, let me give that a read07:40
rpittaugosh that was reported 3 years ago07:40
dtantsurit would still be useful to understand why you don't get nameservers07:40
MikeCTZAI feel I'm so close but just not quite there in getting this working07:40
dtantsurbecause it will affect your instances most likely07:40
MikeCTZAit could be our setup, which is not the simplest I must admit07:41
dtantsurproduction setups are really simple, aren't they? :)07:41
rpittauthe nightmares07:42
MikeCTZAright ... done the ramdisk patch without DNS / env variable so let me see if I got that right and what happens now07:52
MikeCTZAcould be that i did that wrong or is something else as its the same, I added Environment=EVENTLET_NO_GREENDNS=yes to the [Service] section in the ironic-python-agent.service file once I unpacked then repacked it07:57
rpittauMikeCTZA: that should be correct08:00
janders_good morning Ironic o/08:30
*** janders_ is now known as janders08:30
rpittauhey janders :)08:30
iurygregoryjanders, o/09:05
opendevreviewBernd Mueller proposed openstack/ironic master: changed code for memory burin vm-bytes, 75 to 75%  https://review.opendev.org/c/openstack/ironic/+/81526409:47
opendevreviewMerged openstack/bifrost master: Bump up Ansible to 4.x  https://review.opendev.org/c/openstack/bifrost/+/81485809:57
opendevreviewMerged openstack/ironic master: changed code for memory burin vm-bytes, 75 to 75%  https://review.opendev.org/c/openstack/ironic/+/81526410:27
*** dviroel|rover|afk is now known as dviroel|rover11:10
TheJuliaGood morning eeryone12:31
rpittaugood morning TheJulia :)12:33
opendevreviewRiccardo Pittau proposed openstack/bifrost master: Bump ansible lint to latest version  https://review.opendev.org/c/openstack/bifrost/+/81529312:35
dtantsurmorning TheJulia 12:36
iurygregorygood morning TheJulia =)12:39
* TheJulia is going to run and get some breakfast... no fresh milk or cream in the firdge12:40
TheJuliafridge12:40
iurygregorythings that normally happens you travel =) 12:41
iurygregorywhen*12:41
rpittauiurygregory: about arm, I was already doing a research on tinycore on arm64 (connected to my involvement with arm64 downstream) and we do have nodesets with arm64, like ubuntu-focal-arm64 and centos-8-stream-arm6412:51
iurygregoryrpittau, I was planning in talk with you :D, oh that's nice!12:52
dtantsurrpittau: do you know how many of them we have?12:53
dtantsurlike, can we start building tinyIPA on them?12:53
rpittauI don't have the numbers, but just for the builds we could probably give that a try12:54
rpittauhonestly I tried only once building tinyipa on rpi but it didn't go well :)12:54
rpittauthere are not many jobs on arm64 AFAICS12:56
opendevreviewDmitry Tantsur proposed openstack/sushy master: [WIP] Migrate common constants to enums  https://review.opendev.org/c/openstack/sushy/+/81510712:56
dtantsurthis becomes a pretty nightmarish patch ^^12:56
rpittauwow12:57
dtantsuron the other hand, I now have a script to generate enums from XMLs12:57
dtantsurhttps://review.opendev.org/c/openstack/sushy/+/815107/3/tools/generate-enum.py12:58
dtantsureventually, I hope, we can autogenerate large parts of sushy12:58
rpittauI don't see issues in the change, lets' see what the CI says13:02
TheJuliaom nom13:23
opendevreviewNisha Agarwal proposed openstack/ironic master: Add nvme as interface_type for RAID input  https://review.opendev.org/c/openstack/ironic/+/81511013:41
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic-specs master: [WIP] Yoga Themes  https://review.opendev.org/c/openstack/ironic-specs/+/81530813:48
opendevreviewDmitry Tantsur proposed openstack/sushy master: Prepare the ground to use enums instead of strings  https://review.opendev.org/c/openstack/sushy/+/81510314:18
opendevreviewDmitry Tantsur proposed openstack/sushy master: Prepare the ground to use enums instead of strings  https://review.opendev.org/c/openstack/sushy/+/81510314:27
tzumainnhi! just a note - I think there may be an issue with the default allocation policies right now, as it seems like unrestricted allocation creation is open to everyone, and some of the subsequent logic may be incorrect14:37
tzumainnthere are notes and an explanation in https://review.opendev.org/c/openstack/ironic/+/812007 if anyone wants to take a look!14:37
iurygregorytzumainn, hey! thanks for patch I will add to the priorities for the week for review14:41
tzumainniurygregory, thanks!14:42
TheJuliatzumainn: I seem to think that what your describing, at least without looking at the patch, is the intended behavior14:58
tzumainnTheJulia, it's a bit confusing to me though, because it seems as if there are less permissions around baremetal:allocation:create than baremetal:allocation:create_restricted14:59
TheJuliaThat still feels like the intent, but I'll need to wrap my brain around it compeltely15:00
rpittau#startmeeting ironic15:00
opendevmeetMeeting started Mon Oct 25 15:00:22 2021 UTC and is due to finish in 60 minutes.  The chair is rpittau. Information about MeetBot at http://wiki.debian.org/MeetBot.15:00
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.15:00
opendevmeetThe meeting name has been set to 'ironic'15:00
iurygregoryo/15:00
TheJuliao/15:00
erbarro/15:00
stendulkero/15:00
bfournieo/15:00
ajyao/15:00
arne_wiebalcko/15:00
rpittauHello everyone! Welcome our weekly meeting!15:00
rlooo/15:00
rpittauOur agenda can be found on the wiki.15:00
rpittau#link https://wiki.openstack.org/wiki/Meetings/Ironic#Agenda_for_next_meeting15:00
ameya49o/15:00
Marinao/15:00
dtantsuro/15:01
rpittau#topic Announcements / Reminders15:01
rpittauthe Yoga PTG was last week15:01
rpittau#link https://etherpad.opendev.org/p/ironic-yoga-ptg15:02
rpittauit looks like it was quite successfull :)15:02
* iurygregory is writing a summary to post on ironicbaremetal.org and send to the ML15:03
rpittaugreat!15:03
rpiosoo/15:03
TheJuliaiurygregory: thanks!15:03
iurygregorynp =)15:04
opendevreviewDmitry Tantsur proposed openstack/sushy master: Prepare the ground to use enums instead of strings  https://review.opendev.org/c/openstack/sushy/+/81510315:04
rpittauthis is the only announcement for today, does anyone have anything else to announce/remind us of ?15:04
TheJuliaNothing on my end15:05
rpittaualright, moving on!15:05
rpittau#topic Review action items from previous meeting15:05
rpittauwe didn't have any action items from last time15:06
rpittau#topic Review subteam status reports15:06
rpittau#link https://etherpad.opendev.org/p/IronicWhiteBoard15:06
iurygregoryI think we can skip ? ^ /me wondering since we need to update for the ones from Yoga15:07
rpittauaround L6215:07
TheJuliaI suspect much doesn't make sense on the subteam status report until we've reached forward consensus15:07
iurygregoryyeah =)15:07
TheJuliafor cycle priorities15:07
rpittauyep15:07
rpittaualright, let's move forward then15:07
rpittau#topic Deciding on priorities for the coming week15:07
rpittau#link https://review.opendev.org/q/status:open+hashtag:ironic-week-prio15:08
rpittauI see the yoga themes is there already :)15:08
iurygregoryyeah I added already :D15:08
iurygregorywe will talk a bit more about it in open discussion =)15:09
rpittauthat's probably the highest priority for the week, but I guess we have some space for something more15:09
dtantsurhttps://review.opendev.org/c/openstack/sushy/+/815103 could use some eyes15:09
dtantsurunfortunately, I'm still not finished with common constants, but should be soon15:09
rpittauadded15:10
rpittauany other patches to add to the priorities for this week ?15:11
dtantsurhttps://review.opendev.org/c/openstack/ironic-python-agent/+/814771 if possible15:11
rpittausure, added15:11
rpittauanything else ?15:13
rpittauok, let's move on15:13
rpittau#topic Discussion15:13
rpittauiurygregory: do we want to talk now about the Yoga Themes or you want to keep that for the end?15:14
iurygregoryrpittau, both are ok I would say?15:14
iurygregoryI added to open discussion because people will need to review the patch =)15:14
*** dviroel|rover is now known as dviroel|rover|lunch15:15
rpittauok, I guess we'll need time to have a look there15:15
rloodo you want us to review that patch now?15:15
iurygregoryrloo, nope it will be more a request for review so people can provide feeedback during the next days15:16
rloook, thx for clarification. (Does it need WIP or does that mean it isn't ready for review?)15:16
iurygregoryWIP is because we only have a few topics, I will remove after getting some feedback and add more information15:17
iurygregorylike after we figure out who is interested in which topic etc15:17
TheJuliaI guess my only concern is storage cleaning enhancement. I don't really remember discussing it during hte ptg and it basically made no progress on consensus building over the past six months15:17
rloo'topics' == 'themes' in the PR?15:17
rlooseems like a lot of themes to me :D15:17
TheJuliayeah, it is a lot of themes and some of it could be a little more generalized15:18
iurygregoryTheJulia, it was during the time you were in the TC call =)15:18
rlooi think we forgot to get votes on these during the ptg. 15:18
iurygregoryok, seems like we are talking now :D let's continue15:18
TheJuliaWe kind of realized a long time ago general work themes were better than specific items since sometimes areas shift/change15:18
iurygregoryI got the list from the https://etherpad.opendev.org/p/ironic-yoga-ptg L655 basically 15:19
iurygregorythe idea is that contributors should vote on topics, provide feedback (we can merge this two topics etc,) (I want to help in this effort)15:20
TheJuliaYeah, and often in the past, I've worked to generalize it a little more as defining the areas15:20
iurygregoryso I can update accordingly to what people said =)15:20
iurygregoryTheJulia, got it =)15:20
rloofwiw, i'm good with generalized or non-generalized themes, as long as 'we' know what is going on ;)15:22
rloothe description of the theme will provide more info. and we can change things during the cycle (as we've done)15:22
iurygregoryyeah we can have the section with details like we had in xena15:23
TheJuliarloo: ++15:23
* rloo wonders if what might be more important is the primary contacts/who will do the work...15:23
iurygregorywell, they will provide the updates about the status and will be working on the theme15:25
iurygregoryif is something simple it doesn't have to be a theme or can just be merged with something more generic I would say15:25
iurygregoryso, as action item for people that are interested please review the Yoga Themes https://review.opendev.org/c/openstack/ironic-specs/+/815308 and provide your feedback :D15:27
rpittauwe will probably discuss more during the week, after the first reviews :)15:28
TheJuliarpittau: ++15:28
iurygregoryagree =)15:28
rpittauwe can move forward for now15:29
rpittau#topic Baremetal SIG15:29
rpittau#link https://etherpad.opendev.org/p/bare-metal-sig15:29
rpittaunot sure if we have any news, arne_wiebalck ?15:29
arne_wiebalckWe have meetings since about a year now. I guess it is time to check if we continue, stop, change ...?15:29
TheJuliaYeah, and I *think* the consensus was to start a mailing list thread as a retrospective15:30
iurygregoryI know we had a topic to talk about the SIG in the PTG on Friday but after TheJulia left everybody left the meeting also :D15:30
arne_wiebalckheh15:30
arne_wiebalckI can send a mail ofc, but since it costs nothing for anyone except for the speakers, I expect noone may care.15:31
rpiosoarne_wiebalck: I feel we're starting to hit our stride. The turn outs for the past 2 meetings were encouraging.15:31
arne_wiebalckrpioso: true15:31
rpittauwe have the opportunity now15:32
rpittaupersonally I think we should continue, participation was encouraging 15:32
TheJuliarpioso: good point!15:32
arne_wiebalckwell, we can continue as long as we have volunteers to present (which was not a problem so far, thanks to all of you!)15:32
rpiosoarne_wiebalck: Would be a shame to lose that as we hopefully come out of the pandemic.15:32
TheJuliaI think the difference is we did some active advertising for the last two15:32
arne_wiebalckTheJulia: yeah, we were a little more "aggressive" :)15:32
rloo'marketing' arne, 'marketing' :D15:33
* TheJulia imagines an advertising agency for bare metal bears and owls and whatnot :)15:33
arne_wiebalckagain, the main work is for the speakers and for steve who does the editing15:33
iurygregorywe didn't have as much operators as we expected, but this is something we can work on I would say =)15:33
arne_wiebalckrloo: :-D15:33
rpittauowl-bears ? https://en.wikipedia.org/wiki/Owlbear15:33
dtantsur:D15:34
TheJuliaWe only tended to get maybe 30% of those who responded or expressed interest… which is statistically pretty good for a community meeting during the work day15:34
arne_wiebalckgetting more operators to come along to anything is a long standing hard issue, it seems15:34
arne_wiebalckthe videos have between 100 and 500 views15:34
rpiosoAny Metal3 operator prospects?15:34
arne_wiebalckmost popular videos say "Introduction" in it 15:34
iurygregoryyeah, wondering if the large scale sig has meeting with operators also =)15:35
rpittauI was going to say if we should maybe extend the invitation to metal3 operators or devs, maybe during the metal3 meeting ?15:35
rpittaunot sure it was ever mentioned there15:35
arne_wiebalckI don't think so.15:35
arne_wiebalcka metal3 intro/overview would also be nice :-D15:36
arne_wiebalckwe still have quite some topics on the list15:36
arne_wiebalckbut I don't want to bother speakers if they think it is not the best use of their time15:36
rpiosoThe Scientific SIG may be a source of operators, too. Is there a Telecom SIG?15:36
TheJuliathere is definitely overlap there, but I don't think much beyond verticals exists outside of the scientific folks15:37
TheJuliaand they largely self-organized in order to address a whole set of issues they had15:37
arne_wiebalckI guess the main aspect is commitment from all of you to continue to contribute/prepare presentations.15:39
iurygregoryarne_wiebalck++15:39
arne_wiebalckSo, what is the feeling, we try to continue?15:41
rpittauin theory next session should be november 9th15:41
iurygregoryI think so =)15:41
rpioso++...+15:41
arne_wiebalckrpittau: yes15:41
iurygregoryI think we can move to the next topic rpittau =)15:43
rpittauwe should definitely continue, let's see if we can find a topic/presenter for the next session (not necessarily now)15:43
rpittauyep15:43
arne_wiebalckok15:43
rpittau#topic RFE review15:43
rpittaurpioso: you have a request for an RFE ?15:44
rpiosorpittau: Yes, we're proposing [RFE] Enhance Redfish firmware update user experience, https://storyboard.openstack.org/#!/story/2008723.15:44
TheJuliaI'm a bit concerned by a duality re-use of [redfish]use_swift. If memeory serves we added a new config option in the deploy interfaces for download of assets to the conductor15:45
rpiosoWe added more details, so folks can better understand what's going to change and how. 15:45
TheJuliaWe've also had operators explicitly say they need conductors, or they need to be able to define/use their own external endpoint outside of openstack entirely.15:46
TheJuliaor that the bmc's can't reach anything but the locally attached network, so implication of behavior seems... problematic and possibly complicating for those operators15:47
dtantsurI guess the idea is similar though?15:47
dtantsurI either can use Swift to send things to the BMC or I can not15:47
TheJuliaor supply the url to the bmc to download15:48
rpiosoTheJulia: If I understand the operators need described above, the solution we've proposed should address that, no?15:48
dtantsuryeah, so we get to *_download_source again :)15:49
TheJuliadtantsur: exactly15:49
TheJuliarpioso: no, it actually potentially breaks a case by forcing a download and different location of access15:49
TheJuliaAt least, that is how I'm parsing it15:50
dtantsurwhat does ilo do?15:50
dtantsurand irmc?15:50
TheJuliaI *think* ilo posts the file15:50
dtantsurmy biggest worry would be creating more inconsistencies15:50
TheJulialike contents to the bmc15:50
dtantsurahhh15:50
TheJuliabut I'd have to check15:50
dtantsurwell15:50
TheJuliabrain is at EIUNSUFFCOFFEEEEEEE15:51
iurygregorycan we update X FW at the same time? Does the BMC have support to do this? 15:51
TheJuliaiurygregory: depends on the bmc15:51
iurygregoryso iDRAC has support to update multiple FW at once? (I think this would be the case right?)15:51
rpiosoiurygregory: Yes, it can update multiple FW during 1 reboot (at once, sort of).15:52
iurygregoryrpioso, got it =)15:52
dtantsurit seems like iLO downloads the file locally, yeah15:52
dtantsurI guess it may be an argument for re-serving the firmware from the conductor15:53
sonali_borkaryes ilo download it locally 15:53
rpiosohttps://opendev.org/openstack/ironic/src/commit/5be9edecd3a7e6de905a1eff6621f0227f26b855/ironic/drivers/modules/ilo/management.py#L56915:56
TheJuliathe feedback generally seems to be that operators don't want the bmc's to be able to talk to anything if they can avoid it15:57
rpiosoTheJulia: Where do operators prefer the firmware packages be served from?15:58
TheJuliaI don't remember https://opendev.org/openstack/ironic/src/commit/5be9edecd3a7e6de905a1eff6621f0227f26b855/ironic/drivers/modules/ilo/firmware_processor.py#L162 being this complex15:58
rpittauwe're almost at the top of the hour, let's wrap up the meeting and we can keep discussing it afterwards?15:58
TheJuliarpioso: locally attached https servers on the same network if outbound connections are required15:58
iurygregoryrpittau,++15:59
rpittauwe discussed the Yoga Topics already, so we can skip that15:59
TheJuliarpioso: naturally, not every operator. Some are willing to allow some specific endpoint access such as the conductor's webserver or swift, but it really varries15:59
rpittaulast but not least15:59
rpittau#topic Who is going to run the next meeting?15:59
iurygregoryI can run15:59
rpittauthanks iurygregory :)15:59
rpittauthat's all folks!16:00
dtantsurTheJulia: if they use virtual media, they already need to allow the conductor16:00
rpittau#endmeeting16:00
opendevmeetMeeting ended Mon Oct 25 16:00:05 2021 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)16:00
opendevmeetMinutes:        https://meetings.opendev.org/meetings/ironic/2021/ironic.2021-10-25-15.00.html16:00
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/ironic/2021/ironic.2021-10-25-15.00.txt16:00
opendevmeetLog:            https://meetings.opendev.org/meetings/ironic/2021/ironic.2021-10-25-15.00.log.html16:00
TheJuliarpioso: uniform point of agreement seems to be an absolute no for just go to the internet.16:00
rpiosoTheJulia: The locally attached web server seems like yet another way. Could that be a follow-on to Redfish firmware update, Redfish vmedia, and ilo firmware update? Seems like that ask applies to at least those 3.16:04
tzumainnTheJulia, I didn't want to interrupt the meeting, but just letting you know that one of my comments on the restricted allocation patch explains why I think it's a bug - I could definitely be wrong though16:07
arne_wiebalckbye everyone, see you tomorrow o/16:08
rpittaugood night everyone! o/16:08
rpiosoiurygregory: Is the RFC approved. Does the community support the enhancement request to improve the Redfish firmware update UX?16:08
dtantsurrpioso: I personally like the RFE, just two things: 1) I'd prefer to exclude handling of archives (no zip bombs on the conductor :), 2) I'd include an optional parameter download_source similar to image_download_source16:11
TheJuliatzumainn: I'm walking through it noww ith verbose comments16:11
iurygregoryrpioso, I don't think we reached full consensus to say is approved, based on what I saw from the discussion, I do like the idea of the RFE =)16:11
*** dviroel|rover|lunch is now known as dviroel|rover16:11
rpiosodtantsur: Which section should contain download_source?16:12
dtantsurrpioso: I think it may actually become a clean step parameter next to each URL16:13
rpiosodtantsur: And, if true, then utilize [redfish] use_swift, etc. settings?16:14
dtantsuryeah, I'm okay with everything else16:14
iurygregoryI think if you change the points dtantsur mentioned we can consider rfe-approved =)16:14
rpiosodtantsur: We'll add that optional parameter. I propose its default value be true, since that's what the other features have been doing forever-ish.16:15
dtantsurrpioso: it's not boolean, it's a string with several options (check image_download_source in ironic.conf)16:15
dtantsur(which is probably an implementation detail at this point)16:16
rpiosodtantsur: Got it! (I hadn't pulled it up :-(16:17
rpiosodtantsur: Are you willing to accept archive handling? I feel it's very, very handy for operators. One archive per server model, ...16:18
rpiosoiurygregory: We'll make the change dtantsur and TheJulia suggested. Thank you!16:18
dtantsurrpioso: I feel like it's a weird precedent, especially in the view of potential archive-based issues (like zim or tar bombs)..16:18
dtantsurI need to think about it for some while.. what if we land the first version without it?16:19
rpiosodtantsur: Hasn't the ilo been doing this?16:19
dtantsura good question, needs checking16:19
dtantsurrpioso: on a very-very brief look, they seem to have one file per update16:21
dtantsurthey do seem to handle RPM files (per docs), but probably it happens somewhere in proliantutils16:22
dtantsurI guess we can come to this question from another direction:16:22
dtantsurrpioso: what's the standard form updates are distributed?16:23
dtantsurdo vendors (Dell, for example), actually distribute archives that consumers are supposed to extract?16:23
rpiosodtantsur: Yeah, the ilo RPM file contains a .scexe. I don't know if that's compressed.16:31
rpiosodtantsur: For PowerEdge servers, I see .EXE files on dell.com. Supporting an archive is meant to make it easier for operators, because a server model/configuration may need to have up to ~10 packages updated.16:34
TheJuliatzumainn: https://review.opendev.org/c/openstack/ironic/+/812007/2/ironic/api/controllers/v1/allocation.py <-- line 309, which one is actually failing?16:34
dtantsurrpioso: if an archive is not something the operators receive, I doubt it will be something they'll want to upload16:35
dtantsurkeep in mind, this all will likely be scripted in some way16:35
dtantsurI'd start with a smaller version and grow it if we can requests16:35
dtantsurs/can/get/16:35
dtantsur(which is to say, my position is not "NO, NEVER", rather "let's wait with fancy features")16:36
dtantsursee you tomorrow folks16:51
dtantsuro/16:51
TheJuliatzumainn: okay, comments posted16:52
tzumainnTheJulia, so I think I started hitting this issue when I was using metalsmith as a non-admin, and was getting errors because the allocations were being created with no owner16:52
tzumainnTheJulia, I'll reply on the patch, thanks!16:52
TheJuliatzumainn: so, they *should* be getting an owner added along the way16:52
TheJuliatzumainn: worst comes to worst16:52
tzumainnTheJulia, yep, and the reason they're not is because they're passing the baremetal:allocation:create check16:53
TheJuliatzumainn: system admin scoped ?16:53
tzumainnTheJulia, nope, just normal members of a project that has lessee access to a node16:53
TheJuliaahh16:53
TheJuliaI see16:53
TheJuliatzumainn: is enforce_new_defaults enabled?16:54
TheJuliatzumainn: ahh, I see16:55
TheJuliaso you changed create, took away role:member, changed to system member which would send it down the path of auto-reconciling it16:55
TheJuliabut that is not actually right16:55
TheJuliaso we need to16:55
TheJulialine 335 of allocation.py16:56
TheJulianot make it conditional on enforce_new_defaults16:56
TheJuliaerr16:56
TheJuliano16:56
TheJuliayeah, we need to explicitly handle the other case there *as well*16:56
TheJuliain addition to outside of it16:57
TheJuliathere being the overall method16:57
TheJulialine 339 needs to move over 4 spaces to the left out of the except handling16:59
tzumainnTheJulia, ahhh, I see what you're saying - yeah, I think there's a problem in the code, but I also misunderstood what the new policy was doing16:59
TheJuliaand if not allocation.get('owner') around it16:59
TheJuliayeah, agree there definitely is16:59
TheJuliaerr, that should be "if project and allocation.get('owner') is None" then set an owner override17:01
tzumainnTheJulia, I misunderstood the system scope, but looking at the defaults - isn't it true that if a user passes allocation:create_restricted, they're guaranteed to pass allocation:create as well?17:01
TheJuliatzumainn: it is not17:01
TheJuliacreate_restrcited is restricted to system scoped accounts only17:01
tzumainnbecause create_restricted is set to SYSTEM_MEMBER, while allocation:create is ALLOCATION_CREATOR, which is SYSTEM_MEMBER or SYSTEM_ADMIN?17:01
TheJuliabecasue it basically allows creation of records outside of the rbac model17:02
tzumainnor am I misunderstanding how those default policies work?17:03
TheJuliahttps://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L360-L36117:04
TheJuliaso, it *only* records it if set to true17:05
TheJuliathat seems like the bug17:05
TheJuliatzumainn: possibly, it certinly is not ocmplex, and allocations was the painful edge case17:05
tzumainnTheJulia, okay, so just to confirm my understanding17:06
tzumainnthe default for create_restricted is here: https://github.com/openstack/ironic/blob/master/ironic/common/policy.py#L160717:07
tzumainnand the default for create should be more restricted, and is here: https://github.com/openstack/ironic/blob/master/ironic/common/policy.py#L159917:07
tzumainnbut that resolves to https://github.com/openstack/ironic/blob/master/ironic/common/policy.py#L13617:08
tzumainnand that actually seems *less* restrictive to me?17:08
TheJuliatzumainn: no, create is literally any authorized user17:17
TheJuliabecause they *can* ask for baremetal, there is no guarentee they *will* get it though17:18
TheJuliacreate_restricted is restricted intentionally to system scoped users, i.e. system admins17:18
tzumainnTheJulia, I think that's reversed from the original intent, isn't it?17:19
TheJuliano, restricted was always intended to be more restricted17:19
tzumainnokay, yeah, that's my understanding17:19
tzumainnso: https://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L30417:20
tzumainnat a high level: check if allowed to create, if not check if allowed to create restricted17:20
tzumainnbut if I'm reading the default policies correctly, if a user is allowed to create restricted then they will always be allowed to create, right?17:21
TheJuliatzumainn: is enforce_new_defaults set to true or false?17:21
tzumainnI tested with both, but currently it's set to false17:22
TheJuliatzumainn: that is why this is happeneing then17:22
TheJuliahttps://github.com/openstack/ironic/blob/master/ironic/api/controllers/v1/allocation.py#L360-L38417:22
tzumainnTheJulia, the issue I saw happens before we even get there17:23
tzumainnon https://github.com/openstack/ironic/blob/master/ironic/api/controllers/v1/allocation.py#L34617:23
opendevreviewNisha Agarwal proposed openstack/ironic master: Add nvme as interface_type for RAID input  https://review.opendev.org/c/openstack/ironic/+/81511017:23
TheJuliaokay17:23
TheJuliaso... hmm17:23
TheJuliahttps://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L316 is getting called right?17:24
TheJuliatzumainn: do these users pass this policy check https://github.com/openstack/ironic/blob/master/ironic/common/policy.py#L1642 ?17:26
tzumainnTheJulia, ahh, so that's what should be caught if we're not using secure rbac - okay, that's something I could check17:28
tzumainnTheJulia, but - if someone is using secure rbac, and has default policies17:28
TheJuliaokay, so yeah, if they are traditional pre SRBAC effort admins, yes, they get away with not submitting a owner, for compatability reasons17:29
TheJuliathen later on it should be caught and added in a mandatory fashion17:29
tzumainnsorry for trailing off, I have a better understanding of what's going on now but still processing17:31
TheJuliano worries17:31
TheJuliaThis is super convoluted because of the compatability17:31
tzumainnTheJulia, okay, so in the secure rbac world, is it expected that someone with permission to create a restricted allocation never gets to https://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L324-L331 ?17:34
TheJuliaso https://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L330-L332 would be remedying the situation, if https://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L316 is raising an exception17:35
TheJuliatzumainn: that is correct17:35
tzumainnTheJulia, oh, weird17:36
tzumainnokay, I think I get it now - https://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L346 is handling the logic if not using secure rbac17:37
TheJuliatzumainn: any chance I can get the policy dictionary data logged by the api for one of these requests17:37
tzumainnand https://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L360-L381 is handling the logic if using secure rbac?17:38
tzumainnTheJulia, yeah, let me undo some of my changes though so it's fresh17:38
TheJuliatzumainn: okay17:38
TheJuliaand yes, and yes17:39
tzumainnTheJulia, okay, so I think most of my changes in the patch are unnecessary, except for the one involving this line:17:45
tzumainnhttps://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L32617:45
tzumainnthis is the non-secure rbac case where we are creating a restricted allocation17:45
tzumainnand we want this code to set the allocation owner for us, or at least guarantee that the allocation has the owner equal to the user's project17:45
tzumainnso instead of "if project and..." it should be "if allocation.get('owner') and...", right?17:46
tzumainnbecause if no allocation owner is set, then we're happy and just set it ourselves on line 332?17:46
TheJuliatzumainn: are we 100% sure we're hitting an exception there, I ask becasue what youre describing seems like we don't17:47
tzumainnfair enough, let me revert the change and verify!17:47
TheJuliaBut, if we just magically add the allocation owner there, if not populated, it may likely just be okay17:48
TheJuliajust the issue is the create_pre_rbac rule can allow pre-rbac users to still do the exact same thing if they are in the barmetal_admin group or a member in the admin project17:49
TheJuliayay for confusion!17:49
tzumainnTheJulia, okay! just tested non secure RBAC, unpatched code; creating an allocation fails18:04
tzumainnit passes if I change:18:04
tzumainnhttps://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L32618:04
tzumainnand18:04
tzumainnhttps://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L32818:04
tzumainnso that instead of "if project..." it's "if allocation.get('owner')..."18:04
tzumainnwhich makes sense to me, as project is simply the project passed in as part of the request, and what we really want is to check if the user is trying to set a not-themselves-project for the allocation18:05
TheJuliatzumainn: so the purpose behind if project, is to ignore system scoped cases18:05
tzumainnTheJulia, yep, but you said that this logic was only being used for non-secure RBAC, right?18:06
TheJuliamostly yes, and I guess it is me being defensive18:06
TheJuliacode wise18:07
tzumainnit is an extremely complicated logic chain that you had to work through to support both secure RBAC and the former use case!18:08
TheJuliaindeed18:08
TheJuliavery :(18:08
TheJuliaso, I'm actually better with removing the if project portion, but I feel like the project should still be populated18:08
TheJuliait just seems *weird*18:08
tzumainndoesn't https://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L332 populate the project?18:09
tzumainnI might not understand what you mean by populate the project18:09
tzumainnmy understanding of that code segment is that it's literally just making sure that a restricted user isn't setting someone else as the owner18:09
TheJuliayes, and in system scope it would end up being none18:10
tzumainnoh, I see what you're saying - whereas in non-secure RBAC it's always going to be populated with the user's project18:11
tzumainnin that case would it make sense for it to be:18:11
tzumainnif project and allocation.get('owner') and project != allocation.get('owner'):18:12
tzumainn?18:12
tzumainnand for https://github.com/openstack/ironic/blob/2ff7f553c08ab74c4b09763110e43168b44d638c/ironic/api/controllers/v1/allocation.py#L328 it'd just be 18:12
tzumainn"if allocation.get('owner') and not CONF.oslo_policy.enforce_new_defaults:" since that's explicitly the non-secure RBAC case?18:13
TheJuliaI *think*, maybe18:13
TheJuliaprime concern, do the tests all pass ;)18:14
tzumainnhahaha, yep18:14
tzumainnI'll try it, and make sure there's a test to cover this use case as well18:14
tzumainnand I'll remove all the secure RBAC thrashing I did18:14
TheJuliaokay18:14
TheJuliasorry for the pain18:14
TheJuliawhere oh where did I put my brain18:15
tzumainnoh, not at all, this is all extremely hard and everything else works amazingly18:16
TheJulia\o/18:16
TheJuliaI need to write more tests... I think.... on this whole thing this cycle18:16
TheJuliasomehow I'll make/find/invent time18:16
TheJuliaBut I suspect it will largely be the "this should never work" cases18:16
opendevreviewMerged openstack/ironic stable/wallaby: Do not use any parts of image URL in temporary file names  https://review.opendev.org/c/openstack/ironic/+/81437818:53
opendevreviewTzu-Mainn Chen proposed openstack/ironic master: Fix restricted allocation creation for old policy defaults  https://review.opendev.org/c/openstack/ironic/+/81200719:13
TheJuliatzumainn: release note :)20:30
TheJuliatzumainn: I *think* that does it, if I properly understand the exact case your hitting20:30
tzumainnTheJulia, ah, okay! yep, I'll add a release note20:30
*** dviroel|rover is now known as dviroel|rover|out20:56
opendevreviewTzu-Mainn Chen proposed openstack/ironic master: Fix restricted allocation creation for old policy defaults  https://review.opendev.org/c/openstack/ironic/+/81200721:19
opendevreviewSteve Baker proposed openstack/ironic master: Add platform:rpm shim, grub packages to bindep  https://review.opendev.org/c/openstack/ironic/+/81538621:53
opendevreviewSteve Baker proposed openstack/ironic master: WIP Capture [pxe]loader_file_paths for distros  https://review.opendev.org/c/openstack/ironic/+/81539223:54
stevebaker[m]zigo: hey, I'd be interested to know what you think of https://review.opendev.org/c/openstack/ironic/+/81539223:55

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