Tuesday, 2021-07-20

opendevreviewJulia Kreger proposed openstack/ironic master: WIP: idea of cleaning up username/password for drivers  https://review.opendev.org/c/openstack/ironic/+/80140600:34
TheJuliawheee00:41
TheJuliaiurygregory: I stubbed out some days on ethercalc, since the foundation is asking for this stuff to be answered by the 21st of this month.01:03
TheJuliaonly... 3 months... (wtf)01:03
TheJuliahttps://ethercalc.openstack.org/8tum5yl1bx4301:04
opendevreviewMerged openstack/metalsmith master: Replace deprecated import of ABCs from collections  https://review.opendev.org/c/openstack/metalsmith/+/80108905:05
opendevreviewJonas Schäfer proposed openstack/ironic-python-agent master: Expose BMC MAC address in inventory data  https://review.opendev.org/c/openstack/ironic-python-agent/+/80126005:52
jssfriurygregory, done!05:52
opendevreviewJonas Schäfer proposed openstack/ironic-python-agent master: Expose BMC MAC address in inventory data  https://review.opendev.org/c/openstack/ironic-python-agent/+/80126005:55
arne_wiebalckGood morning jssfr and Ironic!06:15
jssfrGood Morning! :)06:17
iurygregoryTheJulia, ack I will take a look 06:21
iurygregorygood morning arne_wiebalck jssfr and Ironic o/06:21
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic master: Add vendor_passthru method for subscriptions  https://review.opendev.org/c/openstack/ironic/+/80106406:23
arne_wiebalckhey iurygregory o/06:23
*** rpittau|afk is now known as rpittau07:06
rpittaugood morning ironic! o/07:07
iurygregorymorning rpittau 07:08
iurygregoryo/07:08
rpittauhey iurygregory :)07:08
iurygregoryrpittau, if you have a chance can you test locally https://review.opendev.org/c/openstack/ironic/+/801064 I see some weird errors in tox -e cover and tox -e py38 .-.07:10
iurygregorythe errors in py38 are a bit different locally .-. and in a function I didn't touch hehe07:10
rpittausure07:12
rpittauas soon as I wake up :P07:12
iurygregoryyeah :D07:12
rpittaummmmm07:14
iurygregorytry running more than once the tests hehe07:15
iurygregorystendulker, hey o/ should I check if is an URL or just URI? does destination in newer versions supports something that its not URLs?07:25
iurygregoryalso, good morning/afternoon =)07:25
stendulkerjust URI should be good. URL could to tough I suppose07:26
stendulkeriurygregory good morning :)07:26
iurygregoryack =)07:26
stendulkergood morning arne_wiebalck, rpittau 07:26
rpittauhey stendulker :)07:26
iurygregoryif is an "invalid URI" the BMC will fail so it should be fine07:26
stendulkeryes07:27
arne_wiebalckGood morning stendulker o/07:27
opendevreviewArne Wiebalck proposed openstack/ironic master: Retry getting the power state of a node in fast-track mode  https://review.opendev.org/c/openstack/ironic/+/80142508:12
arne_wiebalckTheJulia: dtantsur: this ^^ fixes the weird if branch issue (which is not that mysterious after all) on our nodes.08:14
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic master: Add vendor_passthru method for subscriptions  https://review.opendev.org/c/openstack/ironic/+/80106408:18
opendevreviewMerged openstack/ironic stable/wallaby: Redfish: Skip non-RAID controllers for RAID  https://review.opendev.org/c/openstack/ironic/+/80093208:25
opendevreviewMerged openstack/ironic master: Fix handling driver_info[agent_verify_ca] == False  https://review.opendev.org/c/openstack/ironic/+/79766908:25
iurygregoryrpittau, you had any luck testing locally?08:26
rpittauiurygregory: I can reproduce the issue locally, looks like something messed up with mock08:26
iurygregorylocally to me is a bit random like 50% of the time it fails/works08:27
iurygregory=(08:27
iurygregoryfor the py38, cover doesn't fail at all (not sure why CI is blowing up)08:27
rpittauI can reproduce locally with both py36 and py3808:28
rpittauthe failing tests are random08:28
rpittaubut the fail reason is the same08:28
dtantsurmorning ironic08:29
rpittaugood morning dtantsur :)08:29
dtantsurarne_wiebalck: mmmm, I need to think about it a bit08:29
dtantsurI wonder if we should use the cached node.power_state rather than going to the BMC directly08:29
dtantsurespecially since agent_is_alive sort of duplicates the power check08:29
opendevreviewRiccardo Pittau proposed openstack/ironic master: [WIP] Test lower-constraints  https://review.opendev.org/c/openstack/ironic/+/80135008:30
iurygregorymorning dtantsur 08:35
iurygregoryrpittau, weird 36 doesn't fail for me =(08:35
arne_wiebalckdtantsur: hmm, yeah08:40
arne_wiebalckdtantsur: also unclear why an immediate retry works08:42
dtantsura network glitch?08:42
arne_wiebalckdtantsur: too reproducible08:42
arne_wiebalckdtantsur: this is not a one-off effect, it happens every time08:43
dtantsurif you're burning-in network at that point, chances are high your saturating it08:43
arne_wiebalckdtantsur: the management network is separate08:43
dtantsurhmm08:43
arne_wiebalckdtantsur: and also this is CPU burn-in08:43
arne_wiebalckdtantsur: TheJulia was also suggesting side-channeling and the BMC being somehow impacted by the CPU, but all should be completely separate hardware-wise08:45
arne_wiebalckdtantsur: I wonder why we go to the BMC in the first place ... node cache potentially outdated ?08:46
dtantsurlikely. e.g. a node has just been powered off, the agent liveness check has not been updated.08:47
dtantsur(although if it's powered off through ironic, it should be reflected on the node)08:48
arne_wiebalckdtantsur: while I agree we should not scatter retries everywhere (rather than understanding what is happening), this one may be hard to understand, it is retried once only, and only under certain circumstances (and it seems to fix the issue on real hardware) 08:52
iurygregorydtantsur, fyi I've left a comment in https://review.opendev.org/c/openstack/bifrost/+/799837 08:52
dtantsuriurygregory: a good question, but we don't include wsman implementations anywhere else08:52
* arne_wiebalck is, despite arguing, still open for suggestions :) 08:52
dtantsuriurygregory: so if we want to do it, it should be a separate patch (and given that Dell moves away from WSMAN, I'm somewhat unsure about it)08:53
* arne_wiebalck will go on holidays for 2.5 weeks, so there is time to reflect 08:53
iurygregorydtantsur, hummm gotcha because I do see 3 interfaces idrac idrac-wsman and idrac-redfish08:54
dtantsuriurygregory: yep. idrac is an alias of idrac-wsman (I think)08:54
iurygregoryVendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead.08:55
iurygregoryyeah08:55
iurygregoryI will +2 +W the bifrost patch =)08:57
iurygregorytks!08:57
dtantsurthank you!08:57
opendevreviewDmitry Tantsur proposed openstack/metalsmith stable/wallaby: Replace deprecated import of ABCs from collections  https://review.opendev.org/c/openstack/metalsmith/+/80132508:57
* iurygregory goes back to fight random unit tests failures =(08:58
opendevreviewRiccardo Pittau proposed openstack/bifrost master: [DNM] Test latest ansible  https://review.opendev.org/c/openstack/bifrost/+/80044009:05
opendevreviewRiccardo Pittau proposed openstack/bifrost master: [DNM] Test latest ansible  https://review.opendev.org/c/openstack/bifrost/+/80044009:06
iurygregoryrpittau, one thing I've noticed if I comment the unit tests test_get_event_service test_get_event_service_error I don't see any failures .-. but I don't see anything strange in the tests I've created 09:06
rpittauiurygregory: yeah, I don't think the problem is *in* the tests you added, they probably just exposed something that was wrong before09:07
iurygregory*magic*09:07
* iurygregory has no idea on how to fix =(09:08
rpittauiurygregory: I'm having another look, can't promise anything but so far it looks like the issue seems to be in the redfish_utils._get_connection mock09:19
iurygregoryhummm09:22
iurygregoryall the tests I saw failures are the ones using     @mock.patch.object(sushy, 'Sushy', autospec=True)09:23
iurygregory    @mock.patch('ironic.drivers.modules.redfish.utils.'09:23
iurygregory                'SessionCache._sessions', {})09:23
opendevreviewMerged openstack/ironic-python-agent master: Force immediate NTP time sync with chronyd at IPA startup  https://review.opendev.org/c/openstack/ironic-python-agent/+/80103209:39
opendevreviewMerged openstack/bifrost master: Allow configuring enabled vendor interfaces  https://review.opendev.org/c/openstack/bifrost/+/79983709:59
janders__I am hitting an issue while testing the verify steps / iDRAC reset patch ( https://review.opendev.org/c/openstack/ironic/+/800001 ). Logs: 10:30
janders__https://paste.opendev.org/show/807587/10:30
janders__specifically: No extensions found for "manager" under namespace "sushy.resources.manager.oems"10:31
iurygregoryprobably missing sushy-oem-idrac in your system10:31
iurygregory=)10:31
janders__iurygregory: it was missing initially but I added it and it's still giving me a hard time 10:31
iurygregorybut this should only be necessary if you need redfish...10:32
iurygregoryhummm10:32
janders__yes, I am running idrac-redfish management driver10:32
janders__let me try to stop everything and make sure Ironic stopped and restarted correctly before I start asking more questions10:32
iurygregoryyeah I'm wondering if you can try to load the manager in the venv10:33
iurygregorytrying some python code to see10:33
iurygregoryjanders__, https://opendev.org/x/sushy-oem-idrac/src/branch/master/README.md#example-use10:34
iurygregorymaybe checking if oe_manager returns a correct object in your venv10:35
dtantsurif ironic is in a venv, make sure you're installing sushy-oem-idrac in the same venv10:36
dtantsurand make sure to restart ironic-conductor10:37
janders__I will kick it once more to be sure-sure it picked it up10:37
janders__https://paste.opendev.org/show/807588/ - should be in the same venv as bifrost stuff10:38
janders__(I installed it with "pip install --user sushy-oem-idrac" while having bifrost venv active)10:39
janders__that's the correct way, right?10:39
janders__okay I'm 100% sure all Ironic services have now been restarted after installing sushy-oem-idrac, still same issue10:45
dtantsurjanders__: not exactly. --user forces installation into ~/.share/local10:47
dtantsurjust drop --user (and don't use sudo)10:47
janders__ok! that may be the problem.. thank you dtantsur!10:47
janders__trying this now10:47
janders__do we typically use any particular flavour of idrac ( idrac-redfish or idrac-wsman ) for vmedia based installs ( downstream )?10:52
janders__dtantsur: this worked, got me a step closer ("on to the next problem")10:59
janders__thanks!10:59
dtantsurjanders__: we only use the redfish flavor downstream. wsman doesn't have virtual media support.10:59
janders__dtantsur: that's good, at least I am testing the right one :)11:00
janders__https://paste.opendev.org/show/807589/11:02
janders__the next problem is : Error: Manager 3256444f-c0c7-3880-5210-00544c4c4544: The attribute Links/Oem/Dell/DelliDRACCardService is missing from the resource /redfish/v1/Managers/iDRAC.Embedded.1 execute_oem_manager_method /opt/stack/bifrost/lib64/python3.6/site-packages/ironic/drivers/modules/drac/utils.py:109#033[00m11:02
janders__Jul 20 10:58:21 u640-u04 ironic-conductor[3705175]: 2021-07-20 10:58:21.601 3705175 ERROR ironic.drivers.modules.drac.utils [req-2225886c-de23-43c2-a097-8e21fdd3d5cc bifrost_user - - - -] In system 4c4c4544-0054-5210-8038-c7c04f445632 for node f8fd9093-3fe3-4444-96bc-647626112188 all managers failed: reset iDRAC. Errors: ['Manager 3256444f-c0c7-3880-5210-00544c4c4544: The attribute Links/Oem/Dell/DelliDRACCardServic11:02
janders__e is missing from the resource /redfish/v1/Managers/iDRAC.Embedded.1']11:02
janders__oops! sorry, this didn't look that long in paste :P11:02
janders__I have a sneaking suspicion I should check if there are iDRAC updates for that machine11:03
dtantsuryep11:03
dtantsurthat's not something we can fix, I suspect11:03
janders__and testing with wsman is probably not worth the time, right??11:04
janders__(even if it works, it won't implement the functionality we need)11:04
dtantsurwell.. wsman has the reset call, but not virtual media11:06
janders__if my thinking is correct, we would need to change drivers in-flight then11:06
janders__(strictly speaking, just the management interface I think)11:06
janders__BIOS on the machine is 1.6.13 and the latest is  2.11.211:07
janders__I think I need to sort this out before going any further, with a bit of luck that may be it11:07
janders__it's probably still the one it shipped with looking at the discrepancy 11:08
dtantsuryeah, start with an upgrade of both BIOS and iDRAC11:13
* dtantsur brb, groceries11:14
iurygregoryjanders__, if you need a machine with latest FW etc for vmedia let me know11:22
iurygregoryif you don't need to deploy ofc =)11:22
janders__thank you iurygregory11:22
janders__I will try to fix -u05 ( I might accidentally do bad things to it - or at least drop power few times)11:23
janders__should that fail I will let you know :)11:23
iurygregoryack o/11:23
iurygregoryhttps://review.opendev.org/c/openstack/ironic/+/801064 still this weird issues with py38 and cover (╯°□°)╯︵ ┻━┻11:28
opendevreviewDerek Higgins proposed openstack/ironic stable/wallaby: Allow reboot to hard disk following iso ramdisk deploy.  https://review.opendev.org/c/openstack/ironic/+/80134311:56
janders__dtantsur: with new BIOS/iDRAC it gets heaps further12:05
janders__thanks for your hints12:06
janders__trouble I see is it gets right to manageable before completing known_good_state - it should be in verifying state12:06
janders__I will need to track down why tomorrow12:07
janders__looks like a problem with verify steps code this time12:07
iurygregorycongrats janders__ \o/12:13
janders_thank you iurygregory12:16
janders_it was one of the messier FW upgrades actually but all good now12:17
iurygregoryawesome12:21
iurygregoryrpittau, I'm wondering if is something in the third_party_driver_mocks... https://7427588983fdfe8dc6c2-2bc8542270d98932adf49f2123132d6c.ssl.cf1.rackcdn.com/801064/10/check/openstack-tox-py38/e58904f/testr_results.html12:23
rpittauiurygregory: isn't that using sushy ?12:25
iurygregoryit does have informations for sushy and other drivers 12:25
opendevreviewDmitry Tantsur proposed openstack/bifrost master: Install sushy-oem-idrac for idrac-redfish-virtual-media  https://review.opendev.org/c/openstack/bifrost/+/80145712:38
dtantsurjanders_, iurygregory, related ^^12:38
iurygregorydtantsur, nice!12:38
dtantsurtesting welcome, I don't think it's enabled by default in the CI12:40
dtantsurokay, I've tested it locally, it works12:55
janders__dtantsur - this is great12:56
iurygregoryI would test but my mind is completely focused in trying to fix the unit tests in py38 =(12:56
dtantsursure, no worries12:57
janders__see you tomorrow Ironic o/12:58
janders__thanks for all your help today, much appreciated12:59
rpittaubye janders__ :)12:59
opendevreviewDmitry Tantsur proposed openstack/bifrost master: Support ilo5 hardware type  https://review.opendev.org/c/openstack/bifrost/+/80146513:03
TheJuliagood morning13:06
iurygregorygood morning TheJulia =)13:07
dtantsurmorning TheJulia 13:07
iurygregoryTheJulia, I'm wondering if you already answered the survey https://openinfrafoundation.formstack.com/forms/oct2021_vptg_survey  =)13:08
iurygregoryalso in the ethercalc I see 7 sessions (last PTG we had 9) so we could sync with APAC timezone13:09
TheJuliaiurygregory: I did13:13
TheJuliaiurygregory: I won't be able to cover apac time zones, that week I'll be UTC-413:13
iurygregoryI see!13:13
iurygregorysince I'm not in Brazil I also can't cover the APAC timezone13:14
iurygregorymaybe next year I can XD13:14
dtantsurwe have Jacob and Steve :) and Jay from the west coast.13:19
opendevreviewRiccardo Pittau proposed openstack/ironic master: Prepare 19.0 and clean up release notes  https://review.opendev.org/c/openstack/ironic/+/80146913:32
opendevreviewMerged openstack/ironic master: Set glance limit for baremetal friendly images  https://review.opendev.org/c/openstack/ironic/+/80136513:48
opendevreviewMerged openstack/ironic-specs master: Add attestation interface spec  https://review.opendev.org/c/openstack/ironic-specs/+/57671814:07
iurygregoryI've updated the doodle for the midcycle with more options tks arne_wiebalck =)14:18
TheJuliayou mean more than the 60?14:19
iurygregorymore 1hrs slots for EU/US timezones14:19
iurygregoryso we can choose =)14:20
iurygregoryif anyone is expert in mock and has some ideas on how I can fix the py38 failures I would appreciate :D https://review.opendev.org/c/openstack/ironic/+/80106414:20
arne_wiebalckTheJulia: it was more about adding filling some 1-hour holes and offering 2pm UTC as well (which I think is still ok for you, no?)14:22
arne_wiebalckTheJulia: to be a little more aligned with working hours :)14:23
TheJuliaYeah, 2pm UTC is doable for me14:23
TheJuliaUpdated my reply14:27
arne_wiebalckTheJulia: dtantsur: I was looking a little more into the fast-track ipmi power issue today. The return from ipmitool on the "chassis power status" command is an empty string, which Ironic translates into "error". I checked in the ipmitool code and this can happen when ipmitool is unable to get the power status. And indeed stderr reports difficulties to establish a session ... which immediately after works (as I 14:42
arne_wiebalckmentioned) ... erm, yeah. 14:42
dtantsurarne_wiebalck: we are supposed to retry establishing a session. I assume we don't?14:42
JayFSounds like there might be a fix in our ipmitool driver to ignore empty string there14:42
arne_wiebalckI will go on holidays, but one of my colleagues will keep having a look :-D14:42
JayFhmmm... version of ipmitool issue? 14:43
JayF but that shouldn't be an issue, if you have that same conductor working on other nodes14:43
arne_wiebalckJayF: I do.14:43
arne_wiebalckdtantsur: hmm, it really looks like right after the initial call, it works on the 2nd, like a wake-up call.14:44
dtantsurarne_wiebalck: it sounds like you need a more robust retry logic in the ipmitool driver tbh14:44
dtantsurthere are other places where we use driver.power.get_power_state14:44
arne_wiebalckI *think* I have seen log entries on power sync where it sometimes also fails initially, but I never paid too much attention. There, we retry.14:45
TheJuliaI've seen similar things in some logs customers have posted to us. Where the bmc *really* doesn't like returning power status reliably14:46
TheJuliawhich causes some churn in our db and lots of logging14:46
dtantsurmoar retries \o/14:47
TheJuliaProblem is, we log 2-3 lines every single time regardless14:47
arne_wiebalckI see "During sync_power_state, could not get power state for node d5e506a8-d99c-4973-bb1a-a82bdce53797, attempt 1 of 10. Error: Power driver returned ERROR state while trying to sync power state.."14:47
TheJuliaThat is the sync power state loop itself if memory serves14:48
dtantsuryep. so you hit the power sync retries. arguably, you shouldn't.14:48
arne_wiebalckI do not see this with higher number of attempts, at least not often.14:48
arne_wiebalck(quickly looking through my dashboard)14:48
TheJuliaso 3-ish attempts might keep get_power_state happy, we would just need to trace back the sources to make sure it is more than just the sync powers state loop14:49
dtantsurwe do have retries in ipmitool, the question is why they don't catch arne_wiebalck's case14:49
TheJulia++, there is some logical reason there if memory serves14:50
arne_wiebalckI guess someone else needed the power sync retries, otherwise we would not have them :)14:51
TheJuliawell14:52
arne_wiebalck(or maybe we had them before we had ipmitool retries)14:52
TheJuliathere is a whole logic pattern with ipmitool that brings forth a migraine14:52
TheJuliaand it is a huge context switch14:52
arne_wiebalckdon't do it, I am about to leave, we can pick this up once I am back in 2.5 weeks14:53
TheJuliabut basically everything should be able to get retried for ipmitool14:53
TheJuliaarne_wiebalck: ack, dd if=/dev/zero of=/path/to/ipmitool/driver/reasons14:53
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic master: Add vendor_passthru method for subscriptions  https://review.opendev.org/c/openstack/ironic/+/80106414:53
iurygregoryok this should probably fix the random failures .-.14:54
iurygregoryif fails again I will blame my computer... 20 runs 0 failures locally (╯°□°)╯︵ ┻━┻14:54
TheJuliaiurygregory: oh no... not one of those... again14:55
iurygregorywell 2 days trying to fight Mock is not funny =D14:55
TheJuliano, it is not14:56
TheJuliaI think our sqlalchemy gremlin has mostly disappeared14:57
* TheJulia votes we now rename it "sqlalchemy corgi"14:57
iurygregory++14:57
TheJulia"sqlalchemy corgi give you disbelieving side-eye for your database change"14:57
iurygregoryamazing!14:57
TheJuliaI don't remember where the last one, but I remember spending like a week on trying to get rid of it14:58
TheJuliaiurygregory: cross-linked the pads and added a few ideas14:58
iurygregoryTheJulia, ack14:58
iurygregoryfunny the tests failed again -.-'15:07
dtantsurRIP Iury's table15:07
iurygregoryI can't do anything now because I'm attending a meeting15:08
iurygregorymaybe after...15:09
iurygregoryon the bright side.. tox-cover didn't fail15:11
TheJuliaadded a few more items to the ptg etherpad15:13
iurygregorytime for more coffee to fight against Mock...15:17
arne_wiebalckTheJulia: lol15:17
iurygregory CI you must be kidding with me....Build succeeded (ARM64 pipeline) py38,py39... | but check pipeline fails with py36,py38,py39 15:20
iurygregory¯\_(ツ)_/¯15:20
TheJuliaheh15:22
iurygregorymock is Nondeterministic <315:24
arne_wiebalckbye everyone, see you in 2.5 weeks o/15:30
rpittauarne_wiebalck: have a great vacation!15:30
dtantsurarne_wiebalck: enjoy!15:30
iurygregorybye arne_wiebalck, enjoy the time off =D15:32
* iurygregory won't be able to summon arne_wiebalck in the weekly meeting 15:33
TheJuliaiurygregory: are all these tests in the same class?15:33
iurygregoryTheJulia, yeah, the thing is after I added test_get_event_service and test_get_event_service_error this random failures started to pop-up15:35
TheJuliaiurygregory: put them in another class :)15:35
iurygregorywill do that15:35
opendevreviewRiccardo Pittau proposed openstack/ironic master: [WIP] Test lower-constraints  https://review.opendev.org/c/openstack/ironic/+/80135015:36
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic master: Add vendor_passthru method for subscriptions  https://review.opendev.org/c/openstack/ironic/+/80106415:43
* iurygregory watches zuul running the tests15:46
rpittauand zuul watches you back15:47
iurygregoryit will after the job finishes...15:48
opendevreviewWill Szumski proposed openstack/bifrost master: Allow HTTP headers to be customised for IPA image download  https://review.opendev.org/c/openstack/bifrost/+/79882515:56
iurygregoryTheJulia, I moved my tests to a new class but the random tests are still failing https://6f8ef474bc864f2ec7a2-1f2089e8a25dfa4acbcd47153d041690.ssl.cf5.rackcdn.com/801064/12/check/openstack-tox-py36/f39631a/testr_results.html 15:57
iurygregory=(15:57
iurygregoryzuul successfully watches iurygregory back15:57
TheJuliaso the driver internally caches right?15:58
iurygregoryyeah16:00
iurygregoryI think there is some wrong in ironic.tests.unit.drivers.third_party_driver_mocks16:01
iurygregorybut not idea what it can be16:01
TheJuliawell16:05
TheJuliaso... the caching is, for all intents and purposes, crossing the test boundary which is why I'm saying separate parent classes to isolate it down because the runner invokes the test classes separately. Within one class, one test can stomp on the other so even while code and operating mechanics is fine, it is basically due to the order of execution in the runner's execution of the class's tests.16:06
TheJuliaCI having different performance profile likely results in different run pattern16:07
iurygregoryI will move all tests with cache to another class to see16:07
iurygregorywould it make sense?16:07
iurygregoryok I've split tests using SessionCache mock and not using 16:20
TheJuliaiurygregory: okay, you may just be shifting it around, *but* worth to see16:30
TheJuliaerr, worth it16:30
iurygregoryyou mean the order of the tests in the class?16:30
TheJuliano16:33
TheJuliathis might just be easier to explain16:33
TheJuliaiurygregory: https://meetpad.opendev.org/ironic16:35
iurygregorygoing16:35
rpittaugood night! o/16:45
*** rpittau is now known as rpittau|afk16:45
cennegn rpittau|afk 16:46
cennehey all. Can api.request.version be `None`? 16:47
cenneI am assuming it's an integer, should I be defensive and work around possible null values?16:47
opendevreviewcenne proposed openstack/ironic master: [WIP] Add api endpoint for setting boot_mode on managed node  https://review.opendev.org/c/openstack/ironic/+/80008416:49
JayFHmm. I don't know, but we can check to see if existing code guards for it16:50
cenneHmm. The existing code seems not to do that. (Atleast the ~5 instances I checked)16:53
JayFcenne: https://github.com/openstack/ironic/blob/master/ironic/api/controllers/v1/utils.py#L500 doesn't look like it handles None16:54
JayFso I think you can follow that same pattern; if we discover it's wrong we'll have to fix it everywhere anyway :)16:54
cenneBut i do get errors in test, when I am not passing the api version num. 16:55
cenneOkay, looking into that now. Thanks! 16:55
cenneOh yeah. That example doesn't handle None. Saw some of those. I seem to be getting errors though. I'll look again into what's actually happening.16:58
JayFI'd suggest testing one of those endpoints16:59
JayFand seeing how it reacts16:59
JayFwhen given that16:59
TheJuliaso... if I remember correctly if it is none, assumes 1.017:02
JayFI guess no review jam?17:03
TheJuliano :\17:04
JayFShould we even pretend it exists anymore/17:04
TheJuliaI dunno17:04
TheJuliait is killing me because I've now got conflicting meetings17:05
JayFYou gotta manage your calendar/life, but if we have an upstream meeting scheduled during NA hours that nobody, including the PTL, is gonna attend we shoudl just kill it17:06
TheJuliaYeah. I think it worked well towards end of cycle where we had a lot of stuff to churn through17:06
TheJuliabut yeah17:06
cenneTheJulia: Yup. 17:10
cenneHmm, so giving no version defaults to the lowest one. 🤷. okay..17:10
cennewasn't None. So changing my test: (be explicit with version num)17:10
JayFcenne: our API didn't always have microversions; so by definition if you don't pass a version header you're using the original 1.0 and not 1.whatever we support now17:11
cenneit's defaulting to 1.1 with me, but same diff. It's taking the min one from range. 17:11
JayFif that makes sense? microversion unaware clients get the oldest api possible17:11
cenneAhh. right. okay. Will stick to explicitly mentioning them. 17:11
cenne> if that makes sense? microversion unaware clients get the oldest api possible 17:12
cennethats so sad :(17:12
cennepoor clients.17:15
JayFlol17:16
opendevreviewcenne proposed openstack/ironic master: [WIP] Add api endpoint for setting boot_mode on managed node  https://review.opendev.org/c/openstack/ironic/+/80008417:36
dtantsurcenne: haha, you have a point17:42
dtantsurhave a good evening folks17:42
JayFo/17:44
TheJuliacenne: I have repeatedly expressed this... and it is quite sad :(17:44
* TheJulia is finally away from whatever meeting that was17:44
cenneo/ dtantsur 17:50
iurygregoryTheJulia, seems like it worked (locally at least...) I've split the tests in 3 classes so far it worked... (let's see how CI will react) https://paste.opendev.org/show/807600/19:07
TheJuliaiurygregory: well, i hope :)19:07
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic master: Add vendor_passthru method for subscriptions  https://review.opendev.org/c/openstack/ironic/+/80106419:08
iurygregoryfingers crossed19:08
* iurygregory watches zuul19:09
iurygregoryopenstack-tox-py36 is running...19:10
iurygregoryopenstack-tox-py38 running...19:15
TheJuliapy36 passed19:17
iurygregoryyeah19:17
iurygregorynow looking at poy38..19:17
TheJuliait is still in db setup19:18
iurygregoryyup I'm watching the console XD19:18
iurygregoryTheJulia, I owe you a beer =)19:23
TheJulia\o/19:23
iurygregory2 days trying to figure out this omg D:19:23
TheJuliaLook at it this way, next time you see it, you'll know what is happening and what to do19:28
iurygregoryexactly! :D19:30
iurygregorywe are always learning =)19:30
iurygregorynow I don't need to stay awake till midnight trying to solve unit tests problems \o/19:32
iurygregorytime to watch some anime \o/19:33
cenne:)20:01
opendevreviewcenne proposed openstack/ironic master: [WIP] Add api endpoint for setting boot_mode on managed node  https://review.opendev.org/c/openstack/ironic/+/80008420:36
eanderssonDoes anyone happen to have an CLI example of setting BIOS setting during the clean step?20:48
eanderssonAs an example how would this translate to a CLI command https://docs.openstack.org/ironic/latest/admin/drivers/idrac.html#example ?20:50
eanderssonIs it just something like this?20:53
eandersson> openstack baremetal node clean --clean-steps '[{"interface": "bios", "step": "apply_configuration", "args": {"settings": [{"name": "ProcVirtualization", "value": "Enabled"}]}}]' <node>20:53
JayFthat would run manual cleaning with those arguments20:55
JayFgetting it to run with those arguments via automated cleaning; IDK how to do that if it's not documented, sorry :(20:56
eanderssonYea - I was just wondering. I see --target-raid-config, but I don't see a way to do it for BIOS.20:57
JayFyeah; honestly I don't even know if it's possilbe20:57
JayFbut the command you did it specifically for manual cleaning20:57
eanderssonYea - I kinda feel like there should be an equilvement to --target-raid-config, --target-bios-config20:58
eanderssonfor BIOS settings20:58
iurygregoryyay zuul +1 \o/20:58
JayFit's also not impossible it exists in api but not yet in cli20:58
JayFI'm really unfamiliar with the bios interface so most of this is informed guessing, outside of `baremetal node clean` being a trigger for manual cleaning20:58
iurygregorythere is an API to set BIOS settings20:58
iurygregoryI don't think we have CLI support cc bfournie 20:59
eanderssonProbably not. I don't see it in the code at first glance at least.20:59
iurygregoryoh seems like is only to get the values21:01
iurygregoryhttps://docs.openstack.org/api-ref/baremetal/21:02
bfournieiurygregory: you can set bios settings through clean steps21:02
JayFbfournie: so him running manual cleaning with those steps will persist those settings in automated cleaning?21:02
iurygregoryI knew there was a way to set hehe :D21:03
JayFbfournie: I think eandersson figured out how to do it in manual clean; I was trying to help him figure out how to do it in automated cleanign21:03
bfournieJayF: so you want to do it in automated cleaning instead?21:04
iurygregoryJayF, according to our docs "The desired BIOS settings are applied during manual cleaning."21:04
JayFI think eandersson does :) I don't know for sure, I'm just proxying for him b/c I was trying to help ^^^^21:04
iurygregoryyeah, I don't think it's possible (not sure if we tested the scenario) 21:05
iurygregoryhttps://docs.openstack.org/ironic/latest/admin/bios.html21:05
bfournieiurygregory: yeah that's the doc, I've always done it with manual cleaning21:05
TheJuliaIt was always intended to just be manual and not automatic21:08
JayFeandersson: ^ there's your answer. Manual cleaning only :)21:08
TheJuliain part, because some vendors need additional reboots when rolling out settings21:26
TheJuliafwiw, I don't think there is an objection to supporting it in automatic mode21:26
eanderssonAwesome. Thanks!22:16
rpiosoeandersson: FWIW, the manual cleaning approach to configuring BIOS settings is supported by the idrac driver -- https://docs.openstack.org/ironic/latest/admin/drivers/idrac.html#bios-interface. Both WS-Man and Redfish BIOS hardware interface implementations are available, idrac-wsman and idrac-redfish, respectively.22:42
opendevreviewMerged openstack/metalsmith stable/wallaby: Replace deprecated import of ABCs from collections  https://review.opendev.org/c/openstack/metalsmith/+/80132523:18
eanderssonThanks rpioso23:31

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