cenne | G. Morning ironic | 05:55 |
---|---|---|
janders | hey cenne | 05:55 |
cenne | hey janders o/ | 06:01 |
iurygregory | good morning cenne janders and Ironic o/ | 06:28 |
janders | hey iurygregory o/ | 06:28 |
arne_wiebalck | Good morning iurygregory cenne janders and Ironic! | 06:32 |
janders | hey arne_wiebalck o/ | 06:32 |
iurygregory | morning arne_wiebalck o/ | 06:35 |
cenne | Heya | 06:46 |
opendevreview | Aija Jauntēva proposed x/sushy-oem-idrac stable/victoria: Add get PXE port MACs for BIOS mode https://review.opendev.org/c/x/sushy-oem-idrac/+/796665 | 07:18 |
*** rpittau|afk is now known as rpittau | 07:22 | |
rpittau | good morning ironic! o/ | 07:22 |
iurygregory | morning rpittau o/ | 07:22 |
rpittau | hey iurygregory :) | 07:23 |
arne_wiebalck | TheJulia: stevebaker: I built an IPA image with https://review.opendev.org/c/openstack/ironic-python-agent/+/796068 and successfully installed a c8 image on top of a UEFI s/w RAID node ... so the patch does not seem to hurt :) Anything specific you would like me to check in the deploy logs? | 07:38 |
iurygregory | arne_wiebalck, you should try with centos scream :D | 07:39 |
iurygregory | ops typo :D | 07:39 |
arne_wiebalck | iurygregory: heh | 07:39 |
arne_wiebalck | iurygregory: on it ... but it seems our cs8 images are robust enough to even boot the node despite the grub2 issue in recent scream versions | 07:40 |
arne_wiebalck | oops typo :-D | 07:40 |
iurygregory | wow really? | 07:41 |
iurygregory | I was expecting the problems to show up in cs8 ... | 07:41 |
arne_wiebalck | yes: it complains about secure boot as expected, but the node boots none the less | 07:41 |
iurygregory | I see | 07:41 |
arne_wiebalck | these are our own cs8 images, not upstream, not built with dib | 07:42 |
iurygregory | oh ok =) | 07:43 |
arne_wiebalck | tbh, I am a little surprised the node boots since it essentially means calling grub is not required | 07:51 |
arne_wiebalck | iurygregory: cs8 boots as well | 08:16 |
iurygregory | woot :O | 08:23 |
opendevreview | Merged openstack/ironic master: Add documentation for anaconda deploy interface https://review.opendev.org/c/openstack/ironic/+/796110 | 08:29 |
dtantsur | morning folks | 08:36 |
arne_wiebalck | good morning dtantsur o/ | 08:36 |
* dtantsur has +28 in the work room already | 08:36 | |
iurygregory | morning dtantsur o/ | 08:36 |
iurygregory | for me +28 is outside :D | 08:37 |
arne_wiebalck | dtantsur: so you need no warm-up today :) | 08:37 |
dtantsur | definitely not :) | 08:37 |
arne_wiebalck | dtantsur: this may be of interest to you: https://storyboard.openstack.org/#!/story/2008983 | 08:37 |
* iurygregory not looking forward for the weekend 32... | 08:37 | |
dtantsur | we have 35 today, but should be slightly better on the weekend | 08:38 |
iurygregory | I wish we could skip summer... | 08:38 |
dtantsur | heh, right | 08:41 |
dtantsur | I like Spring and Autumn, but Summer and Winter (except for holidays) are not my things | 08:41 |
cenne | Morning dtantsur | 08:41 |
iurygregory | I like summer, but not the one here hehehehe | 08:42 |
dtantsur | hi cenne | 08:43 |
arne_wiebalck | dtantsur: and I checked your "Do not retry locking when heartbeating" patch is in Victoria, so it should be included already | 08:48 |
* dtantsur will check messages a bit later, sorry | 08:48 | |
arne_wiebalck | dtantsur: ty | 08:49 |
opendevreview | kamlesh chauvhan proposed openstack/ironic master: Upgrade oslo-db version https://review.opendev.org/c/openstack/ironic/+/796811 | 09:54 |
opendevreview | kamlesh chauvhan proposed openstack/ironic master: Upgrade oslo-db version https://review.opendev.org/c/openstack/ironic/+/796811 | 10:01 |
dtantsur | arne_wiebalck: there is still a possibility of racing if the next heartbeat comes exactly when the previous one is released | 10:33 |
dtantsur | however, you bug doesn't mention the exact error, so hard to tell | 10:33 |
arne_wiebalck | dtantsur: ok | 10:39 |
arne_wiebalck | dtantsur: the IPA sends heartbeats in a very quick succession | 10:39 |
arne_wiebalck | dtantsur: since we do force_heartbeat at the end of all async commands | 10:39 |
arne_wiebalck | dtantsur: I can match the commands with the heartbeats arriving, in fact | 10:40 |
arne_wiebalck | dtantsur: http://paste.openstack.org/show/806723/ shows an example | 10:41 |
arne_wiebalck | dtantsur: the IPA sends heartbeats within a few microseconds, this may expose the race you mention | 10:42 |
dtantsur | arne_wiebalck: hmm, this is a good point. maybe we should delay a heartbeat if the previous one was sent very recently. | 10:42 |
arne_wiebalck | dtantsur: yes, I think so, too | 10:42 |
dtantsur | maybe forcing heartbeat should work by just reducing the delay until the next heartbeat significantly | 10:43 |
arne_wiebalck | dtantsur: why do we force the heartbeat at the end of async commands? | 10:43 |
dtantsur | arne_wiebalck: to avoid waiting the whole minute before a normal heartbeat happens | 10:43 |
arne_wiebalck | dtantsur: oh, I see | 10:44 |
dtantsur | next_heartbeat = min(next_heartbeat, 10) or so | 10:44 |
arne_wiebalck | what about reducing the heartbeat interval to 10secs and remove the forced ones? | 10:46 |
arne_wiebalck | (I guess this was discussed at the time :)) | 10:46 |
arne_wiebalck | I guess remembering the last send time is better. | 10:47 |
dtantsur | I don't know what side effects may reducing the heartbeat interval have | 10:51 |
arne_wiebalck | right | 10:52 |
arne_wiebalck | so, how about we remember the last send time and do not send one if the last one was less than 10 secs ago? | 10:52 |
arne_wiebalck | force_heartbeat will be a noop in this case | 10:53 |
dtantsur | arne_wiebalck: not really, we should still send a heartbeat earlier than in +- a minute | 10:56 |
arne_wiebalck | dtantsur: we could also "collect" forced_heartbeats and have one at max every 10 secs (like a flush) | 11:00 |
dtantsur | arne_wiebalck: yep, I'm thinking of the same thing | 11:01 |
janders | see you tomorrow Ironic o/ | 12:39 |
rpittau | bye janders :) | 12:41 |
opendevreview | Merged x/sushy-oem-idrac stable/victoria: Add get PXE port MACs for BIOS mode https://review.opendev.org/c/x/sushy-oem-idrac/+/796665 | 12:54 |
TheJulia | good morning | 13:14 |
dtantsur | morning TheJulia | 13:29 |
rpittau | good morning TheJulia :) | 13:37 |
opendevreview | kamlesh chauvhan proposed openstack/ironic master: Upgrade oslo.db version https://review.opendev.org/c/openstack/ironic/+/796811 | 13:42 |
arne_wiebalck | dtantsur: would sth like this work? http://paste.openstack.org/show/806732/ | 15:07 |
JayF | arne_wiebalck: we have a force heartbeat method in IPA... I'm missing context but wanted you to know there is a template you can follow | 15:11 |
arne_wiebalck | JayF: this is the force_heartbeat function :) | 15:13 |
arne_wiebalck | JayF: I am trying to prevent heartbeats from being sent within a few microseconds | 15:14 |
JayF | oooh | 15:14 |
JayF | oh, so like if one is forced | 15:14 |
JayF | you should restart the timer | 15:14 |
JayF | or are you having multiples forced at the same time? | 15:14 |
arne_wiebalck | JayF: yes, within a few microseconds | 15:14 |
JayF | yeah my refactor of this in U (I think?) made sure the timer gets reset | 15:15 |
JayF | OK, ty for context, reading your code again | 15:15 |
JayF | It is 100% a bad idea to use threading.[] methods inside eventlet-using apps | 15:15 |
arne_wiebalck | JayF: the idea is to collect "close-by" calls and send only one | 15:15 |
JayF | that will likely have negative side effects for ya | 15:15 |
JayF | arne_wiebalck: maybe something as simple as a `self.last_forced_heartbeat` that gets set to a timestamp, and ignoring forced hb requests that happen within [configurable seconds] of the last forced hb? | 15:16 |
arne_wiebalck | JayF: yeah, we discussed this as well | 15:16 |
arne_wiebalck | JayF: but this may mean we wait until the next timer | 15:16 |
arne_wiebalck | JayF: which may be very long | 15:17 |
JayF | I'll be honest, this is part of why I was worried about fixing ironic agent client to be OK with multiple commands | 15:17 |
JayF | IPA structure was not really designed as parallel as the API is :| | 15:17 |
JayF | but that cat has been outta the bag for years | 15:17 |
JayF | arne_wiebalck: I wonder if we could do something like make it possible to override the interval... probably not though | 15:18 |
arne_wiebalck | JayF: like shorten the interval on a forced_timeout? | 15:19 |
JayF | if a heartbeat is forced, and it cannot be executed because it's too close to the other one, shorten the interval | 15:19 |
arne_wiebalck | JayF: for the full context, this is to avoid a race we seem to run into when the heartbeats hit the server: https://storyboard.openstack.org/#!/story/2008983 | 15:20 |
JayF | but I suspect at that point we're already in the cycle of waiting interval seconds | 15:20 |
JayF | and you can't get outta that | 15:20 |
arne_wiebalck | right | 15:20 |
JayF | yeah I saw some of the IRC chatter | 15:20 |
arne_wiebalck | oh, ok | 15:20 |
arne_wiebalck | it does not seem to break anything | 15:20 |
JayF | yeah, apparently I introduced threading.event | 15:20 |
arne_wiebalck | but as an operator I prefer logs with ERROR | 15:20 |
JayF | make sure you test with TLS | 15:20 |
JayF | eventlet-type issues in IPA are exposed with TLS | 15:21 |
arne_wiebalck | s/with/without ofc | 15:21 |
JayF | and that image streaming code | 15:21 |
JayF | if both of those things work it should mostly [knock on wood] be safe | 15:21 |
arne_wiebalck | "does not break anything" is for the initial issue (not the proposed code) | 15:22 |
arne_wiebalck | so, the initial problem is not fatal, deployment works | 15:22 |
JayF | oh crap, this could totally be happening with scheduled heartbeats too | 15:22 |
JayF | because when force_hearbeat() calls do_hearbeat() it updates the interval but run is alredy waiting on the old interval | 15:22 |
JayF | so we have to fix this generically, not just for the forced heartbeat | 15:23 |
arne_wiebalck | right, but probability for scheduled heartbeats should be much lower, no? | 15:26 |
dtantsur | rather than using locks and stuff, cannot we just adjust the next heartbeat time? | 15:26 |
* dtantsur doesn't remember the code well | 15:27 | |
JayF | dtantsur: that's exactly what we've been talking about if you read the scrollback :| | 15:27 |
opendevreview | Dmitry Tantsur proposed openstack/ironic master: Clean up vendor prefixes for iRMC boot https://review.opendev.org/c/openstack/ironic/+/796879 | 15:27 |
JayF | that doesn't work, and looking at that I confirmed the bug can happen with scheduled heartbeats (one race) or with forced heartbeats (another race) | 15:27 |
JayF | probability for scheduled heartbeats varies based on heartbeat_timeout configuration, and when the forced heartbeats are happening | 15:28 |
JayF | I don't see a compelling reason why we wouldn't fix all cases instead of just one | 15:28 |
arne_wiebalck | there is no compelling reason, it is just the one at hand I can already reproduce on almost every deploy | 15:29 |
arne_wiebalck | as there seem to be two async commands in quick succession | 15:29 |
dtantsur | we could do it so that we wake up every second and check the interval rather than sleeping the whole interval | 15:29 |
JayF | dtantsur: I think any approach that works is good. I know this code is more fragile than it seems because you can easily break eventlet with too much of that kinda stuff :| | 15:30 |
* JayF is still scarred from the week he spent chasing the eventlet tls/heartbeat problems | 15:30 | |
dtantsur | http://paste.openstack.org/show/806732/ adds time.sleep into force_heartbeast. I'm not sure that will work. | 15:30 |
dtantsur | i.e. I'm not sure the callers of this method expect it to get stuck for 10 seconds. | 15:31 |
* TheJulia reads some and starts to get very worried | 15:31 | |
arne_wiebalck | this is why I was asking :) | 15:31 |
arne_wiebalck | it seems to be ok on a first test, though | 15:31 |
* arne_wiebalck will run another test to see if the received heartbeats go down from 4 to 3 | 15:32 | |
JayF | I think your idea is maybe solid, but perhaps it should move into do_heartbeat() instead? | 15:32 |
JayF | e.g. if we just had a heartbeat (of any kind) delay the forced/scheduled heartbeat N seconds | 15:32 |
JayF | this honestly is kinda screaming for a queue of heartbeat requests | 15:32 |
JayF | but not sure multiprocessing.Queue is going to make our lives easier in this code :P | 15:32 |
arne_wiebalck | JayF: the counter is my queue :-D | 15:33 |
JayF | .o(or maybe it will? Then we just only have to add heartbeat events to the queue on a timer) | 15:33 |
JayF | and we could separate the heartbeat scheduling from the heartbeat-doing | 15:33 |
JayF | and most of the multiprocessing.Queue bugs are around not evacuating the queue before shutdown and getting a deadlock, but since we power off the machine it's not a big deal :P | 15:33 |
dtantsur | I have no clue how multiprocessing plays with eventlet though | 15:34 |
JayF | we might just need a regular, not threaded queue, I've only dealt with the threaded one though | 15:35 |
lmcgann | Why is it that you can only specify manual clean steps from power, management, deploy, bios, and raid drivers and not of other driver types. What is it about these driver types that makes them different? | 15:35 |
dtantsur | lmcgann: mm, we just decided these are the drivers that will most likely provide steps | 15:36 |
dtantsur | if we have a use case for expanding the list, I'm all for it | 15:36 |
JayF | `eventlet.queue` exists, and likely has a queue we could use | 15:36 |
JayF | https://eventlet.net/doc/modules/queue.html#eventlet.queue.Queue | 15:36 |
dtantsur | I'm not sure how a queue will help us to avoid heartbeats too often | 15:36 |
JayF | because then we'll be doing heartbeats off a queue consumer | 15:37 |
dtantsur | right, but still several at the same time? | 15:37 |
JayF | and can delay sequential heartbeats based on a minimum interval | 15:37 |
dtantsur | or does it have any de-dup? | 15:37 |
dtantsur | then we need to store the last heartbeat time | 15:37 |
dtantsur | then we don't really need a queue any more | 15:37 |
JayF | pull from queue -> check if last_heartbeat_time is set, if so, make sure it's been less than "N" seconds or wait those N secondss -> do a heartbeat -> set last_heartbeat_time -> repeat | 15:38 |
dtantsur | s/pull from queue/check the flag/ | 15:38 |
JayF | dtantsur: I'm trying to get out of the > while not self.stop_event.wait(self.interval): | 15:38 |
JayF | line of code | 15:38 |
dtantsur | this is necessary to be able to stop IPA, no? | 15:39 |
dtantsur | or do you suggest also storing a stop sign in the queue? | 15:39 |
JayF | I'd say that kinda code would populate the queue | 15:39 |
JayF | and the actual-do-heartbeat code would be separate | 15:39 |
JayF | right now we have force a hearbeat, heartbeat timer, and the actual "doing" of a heartbeat all in the same place | 15:39 |
dtantsur | I honestly see it as an advantage | 15:39 |
JayF | I am not tied to any one way of doing stuff, tbh, I just want us to handle both of the cases, and I know that this code is fragile | 15:40 |
JayF | and I'm trying to think of ways to make it less fragile | 15:40 |
JayF | my brainstorm might be more of a drizzle though :P | 15:41 |
arne_wiebalck | logs from a first test (slightly different version): http://paste.openstack.org/show/806735/ | 15:41 |
dtantsur | I think it's easier to show on the code what I mean | 15:41 |
lmcgann | dtantsur: so other drivers dont get used during clean and deploy generally? | 15:46 |
opendevreview | Dmitry Tantsur proposed openstack/ironic-python-agent master: [PoC] heartbeat de-dup https://review.opendev.org/c/openstack/ironic-python-agent/+/796882 | 15:46 |
dtantsur | JayF, arne_wiebalck, that's what I mean ^^ | 15:46 |
dtantsur | lmcgann: you mean, interfaces? Boot interface does, I don't remember why it wasn't included. | 15:47 |
dtantsur | probably because booting is a bit orthogonal to the deploy process, even though it's used by it | 15:47 |
JayF | dtantsur: you did what I was thinking, except in 10 less simple lines with less complexity :D | 15:47 |
dtantsur | I did suspect that we were talking about the same thing :) | 15:47 |
JayF | Yeah, I sometimes only know the scenic route to a solution :D | 15:47 |
JayF | you took the highway | 15:48 |
arne_wiebalck | dtantsur: uh, nice | 15:48 |
dtantsur | :D | 15:48 |
dtantsur | arne_wiebalck: feel free to take it over and finish if you like this approach | 15:48 |
JayF | dtantsur: why is self.interval in there still, for the while not line? | 15:49 |
dtantsur | JayF: I haven't put much thought in it. can we have interval < 5? | 15:49 |
dtantsur | at the very least, we start with interval == 0 | 15:49 |
JayF | hmm. I guess so | 15:50 |
lmcgann | dtantsur do the other interfaces invoke boot interface methods as part of their steps? | 15:55 |
arne_wiebalck | dtantsur: JayF: thanks for all your input, I give that patch a try (and finish it if it works ok) | 15:55 |
opendevreview | Dmitry Tantsur proposed openstack/ironic master: CI: change ilo_deploy_iso to deploy_iso https://review.opendev.org/c/openstack/ironic/+/796886 | 15:55 |
dtantsur | lmcgann: yes, mostly deploy and inspect interfaces | 15:55 |
opendevreview | Julia Kreger proposed openstack/ironic master: Fix node detail instance_uuid request handling https://review.opendev.org/c/openstack/ironic/+/796720 | 15:55 |
dtantsur | arne_wiebalck: cool! note that I haven't even run unit tests on it, so there may be stupid typos | 15:55 |
arne_wiebalck | dtantsur: I will find them if there any :) | 15:56 |
arne_wiebalck | TheJulia: in case you missed it, I tried the efi preservation patch, and it worked for me | 15:56 |
TheJulia | arne_wiebalck: I saw, thanks. | 15:56 |
arne_wiebalck | TheJulia: but, as mentioned, it seems our images are somewhat robust | 15:56 |
TheJulia | indeed | 15:57 |
arne_wiebalck | TheJulia: ah, ok | 15:57 |
TheJulia | Can I get a review on https://review.opendev.org/c/openstack/ironic-inspector/+/796535 so we can have working unit tests on inspector again? | 15:59 |
rpittau | good night! o/ | 16:09 |
*** rpittau is now known as rpittau|afk | 16:09 | |
*** sshnaidm is now known as sshnaidm|afk | 16:16 | |
dtantsur | wdyt folks? https://storyboard.openstack.org/#!/story/2008987 | 16:35 |
opendevreview | Verification of a change to openstack/ironic-inspector failed: Fix SqlAlchemy >1.3.19 support https://review.opendev.org/c/openstack/ironic-inspector/+/796535 | 16:51 |
opendevreview | Dmitry Tantsur proposed openstack/ironic master: Don't run the inspector job on changes to inspector tests https://review.opendev.org/c/openstack/ironic/+/796898 | 16:56 |
opendevreview | Dmitry Tantsur proposed openstack/ironic-inspector master: [DNM] Test excluding files https://review.opendev.org/c/openstack/ironic-inspector/+/796900 | 16:57 |
opendevreview | Dmitry Tantsur proposed openstack/ironic master: Don't run the inspector job on changes to inspector tests https://review.opendev.org/c/openstack/ironic/+/796898 | 17:01 |
opendevreview | Dmitry Tantsur proposed openstack/ironic-inspector master: [DNM] Test excluding files https://review.opendev.org/c/openstack/ironic-inspector/+/796900 | 17:03 |
opendevreview | Dmitry Tantsur proposed openstack/bifrost master: Skip running jobs on ironic and inspector unit tests https://review.opendev.org/c/openstack/bifrost/+/796914 | 17:07 |
opendevreview | Dmitry Tantsur proposed openstack/ironic-inspector master: [DNM] Test excluding files https://review.opendev.org/c/openstack/ironic-inspector/+/796900 | 17:08 |
NobodyCam | Good Morning OpenStack Folks | 17:11 |
NobodyCam | any good docs on supporting ARM? IPA Image building gotcha's, etc.. | 17:12 |
dtantsur | morning NobodyCam. I know people have done it, I don't think we have docs though. | 17:13 |
NobodyCam | :) Morning dtantsur :) | 17:13 |
dtantsur | iPXE used to be a problem, not sure about now | 17:13 |
NobodyCam | ack, I'll take a look see | 17:13 |
NobodyCam | may be able to treat it like we do our snmp controlled hardware: https://github.com/ipxe/pipxe | 17:15 |
dtantsur | heh, nice | 17:17 |
dtantsur | well, iPXE is the only big problem I'm aware of. If you can build it for your hardware, everything else should be a matter of figuring out the right configuration. | 17:18 |
dtantsur | okay folks, I'll be out tomorrow and on Monday, so see you on Tuesday | 17:19 |
dtantsur | o/ | 17:20 |
JayF | o/ | 17:20 |
NobodyCam | have a good night dtantsur | 17:22 |
arne_wiebalck | dtantsur: JayF: I added some logging to Dmitry's patch to confirm it does what we would like it to do, logs seem to confirm it's working fine: http://paste.openstack.org/show/806741/ | 17:27 |
arne_wiebalck | I'll take over and submit the patch tomorrow. | 17:28 |
JayF | nice work :D | 17:31 |
arne_wiebalck | Oh, and it fixes the issue on the coductor side :) | 17:32 |
arne_wiebalck | Thanks again dtantsur JayF ! | 17:32 |
arne_wiebalck | And TheJulia who looked into this yesterday already as well :) | 17:33 |
arne_wiebalck | bye everyone, see you tmrw o/ | 17:54 |
TheJulia | rats... dtantsur is gone :( | 17:59 |
TheJulia | c'est la vie | 17:59 |
TheJulia | NobodyCam: iPXE but you can use PXE + Grub. You *CAN* build an ipxe arm image though. | 18:00 |
NobodyCam | :) | 18:00 |
TheJulia | NobodyCam: We've had a couple bug reports for if like you try and build wheels of ipa | 18:01 |
NobodyCam | have request access to some ARM hardware to attempt building | 18:01 |
TheJulia | and... some arm hardware has super unhappy ipmi interfaces | 18:01 |
NobodyCam | +++ | 18:01 |
TheJulia | that could be nasty but with an understanding of what to look for it would be super easy to patch | 18:01 |
TheJulia | we just have a "ipmitool freezes" report | 18:02 |
TheJulia | and we don't have any other info really | 18:02 |
NobodyCam | +++ I'll try and take notes from the build process and see if I can do a how to writeup for others | 18:02 |
TheJulia | awesome | 18:03 |
TheJulia | I'd happilly merge a patch in to ipa for the ipmitool freeze thing, but need to understand more first :( | 18:03 |
NobodyCam | be a few days before I get the HW I'm sure | 18:03 |
NobodyCam | +++ | 18:03 |
opendevreview | Merged openstack/ironic-inspector master: Fix SqlAlchemy >1.3.19 support https://review.opendev.org/c/openstack/ironic-inspector/+/796535 | 18:32 |
TheJulia | so! What if! When we started, we checked the db status and did the needful and just relied upon online data migrations instead of just run 2 commands | 19:17 |
kkillsfirst | Hello, I have a test setup with Ironic using bifrost and have deployed nodes with a ramdisk image. Where should I start with using kexec on my testbed with Ironic? | 19:58 |
opendevreview | Julia Kreger proposed openstack/ironic master: Only return the requested fields https://review.opendev.org/c/openstack/ironic/+/792274 | 20:27 |
opendevreview | Julia Kreger proposed openstack/ironic master: Set stage for objects to handle selected field lists. https://review.opendev.org/c/openstack/ironic/+/792275 | 20:27 |
opendevreview | Julia Kreger proposed openstack/ironic master: API to pass fields to node object list https://review.opendev.org/c/openstack/ironic/+/792296 | 20:27 |
opendevreview | Julia Kreger proposed openstack/ironic master: Allow node_sanitize function to be provided overrides https://review.opendev.org/c/openstack/ironic/+/794880 | 20:27 |
TheJulia | kkillsfirst: ideally for the transition from deployment, so support would need to be in the agent, and I guess as what we call a deploy step in ironic itself | 20:57 |
janders | good morning Ironic o/ | 23:56 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!