freemanboss[m] | queensly: Ayo: Amarachi Ordor: and all please have you ever used below 4 CPU to run ironic and it work well? Below 8gb ram also? | 03:22 |
---|---|---|
AmarachiOrdor[m] | Oh no I don't think I have | 03:23 |
jssfr | is the instance_uuid field used for anything by ironic? | 06:23 |
jssfr | if you don't hook it up to nova, that is. | 06:23 |
jssfr | reason I'm asking: We're using ironic to deploy nodes for two (potentially more) different bare-metal clusters. It would be good to have something in `openstack baremetal node list` which easily lets you see to which cluster a node belongs. | 06:24 |
jssfr | I was thinking of using the instance UUID for that. | 06:24 |
queensly[m] | <freemanboss[m]> "queensly: Ayo: Amarachi Ordor..." <- No I haven't. | 07:19 |
zigo | ironicclient is broken with cliff 4.9.1: https://bugs.launchpad.net/python-ironicclient/+bug/2105973 | 07:24 |
zigo | How come ironicclient isn't testing with the global upper-constraints.txt ? | 07:26 |
dtantsur | it is https://opendev.org/openstack/python-ironicclient/src/branch/master/tox.ini#L14 | 07:27 |
zigo | dtantsur: Right, so it should have catch the bug, no? | 07:55 |
dtantsur | zigo: tests pass locally for me. are you sure you have all the latest patches? | 07:58 |
zigo | dtantsur: I'm using whatever is released as latest for Epoxy. | 07:59 |
zigo | Same issue with ironic-inspector-client, so I filled-up: https://bugs.launchpad.net/python-ironic-inspector-client/+bug/2105978 | 07:59 |
zigo | I'm using: | 08:00 |
zigo | python-ironic-inspector-client_5.3.0-4 | 08:00 |
zigo | and | 08:00 |
zigo | python-ironic-inspector-client_5.3.0 | 08:00 |
* zigo looks at master branch history | 08:00 | |
zigo | Ah ... https://github.com/openstack/python-ironicclient/commit/b969cc865ab7b59214fe3fa86115d88decfe2823 | 08:01 |
zigo | IMO that's not a good patch, it should be ordering things in the test with sorted(). | 08:01 |
opendevreview | Queensly Kyerewaa Acheampongmaa proposed openstack/bifrost master: Improve howto.rst with updated instructions https://review.opendev.org/c/openstack/bifrost/+/946116 | 08:06 |
rpittau | good morning ironic! o/ | 08:13 |
rpittau | zigo: ironicclient 5.10.0 is 4 months old, cliff in UC was updated 2 months ago :/ | 08:40 |
rpittau | I will propose a new release, latest works with cliff 4.9.1 | 08:40 |
kulsooms | Hi everyone, i'm struggling at the enrollment step, having the same error "wait for the node to finish cleaning". I was following yesterday's discussion to resolve this issue but i'm not able to turn on the power state of any of the nodes? | 09:09 |
kulsooms | currently it says None and I used the command "baremetal node power on testvm1" | 09:10 |
AmarachiOrdor[m] | kulsooms: what does it say when you used it | 09:10 |
kulsooms | Amarchi: currently it says nothing. if you can see this image: https://imgur.com/a/hYnlMPc | 09:14 |
Ayo[m] | kulsooms: Have you tried to deploy at any point? | 09:16 |
kulsooms | Amarchi: I tried the deployment command which is in the docs but it also gave the same ""wait for the node to finish cleaning" output | 09:18 |
kulsooms | Ayo*: | 09:21 |
Ayo[m] | If you want to power on use the uuid of the server you want to target | 09:23 |
Ayo[m] | Kindly open the inventory.json file and you should get the uuid for the server you want to power on | 09:24 |
Ayo[m] | I think you’re restarting the process since you re enrolled | 09:24 |
Ayo[m] | Probably cleaning the os image on the previous step you made | 09:24 |
Ayo[m] | Hmmm | 09:27 |
queensly[m] | Ayo[m]: with the command baremetal node show testvm1 will show you the uuid. | 09:27 |
queensly[m] | * the command 'baremetal node, * show testvm1' will | 09:28 |
Ayo[m] | queensly[m]: Ok, thanks | 09:29 |
queensly[m] | <kulsooms> "Amarchi: I tried the deployment..." <- Any update? | 09:33 |
kulsooms | Ayo, queensly: thank you, let me try | 09:36 |
freemanboss[m] | <rpittau> "good morning ironic! o/" <- Good morning rpittau: | 09:47 |
freemanboss[m] | rpittau: I noticed the 2025.1 release has been updated can we use it now? | 09:48 |
rpittau | freemanboss[m]: it should work now, give it a try :) | 09:50 |
freemanboss[m] | rpittau: Alright thanks | 09:52 |
cid | rpittau, I marked 2105973 and https://bugs.launchpad.net/python-ironic-inspector-client/+bug/2105978 as fix released. Is that correct! | 11:00 |
kulsooms | queensly, ayo: I tried using the uuid still its not working | 11:04 |
Ayo[m] | Can you attach a screenshot? | 11:05 |
freemanboss[m] | kulsooms: you're in enrollment? | 11:05 |
freemanboss[m] | The show directive is just to show details it doesn't alter anything | 11:06 |
rpittau | TheJulia: I saw you updated the schedule in the flamingo ptg etherpad, thanks! Will we have a neutron cross-team session? | 11:07 |
kulsooms | Ayo: https://imgur.com/a/MMzLmQW | 11:08 |
freemanboss[m] | kulsooms: try... (full message at <https://matrix.org/oftc/media/v1/media/download/AcTfNwfO778uuvV3FRZD0AkGFU6nXHJvXY-YELL3qKyeYtHDROmZR7zWgaKV7MVJdfvasH2YVRO9kVBNFwRCIm9CeWPkqAiAAG1hdHJpeC5vcmcvY09LZVpETnlBTmhiWG5SWWJLcWVsYk9y>) | 11:09 |
kulsooms | freemanboss: yess | 11:10 |
kulsooms | freemanboss: | 11:10 |
kulsooms | ok thank you let me try | 11:10 |
freemanboss[m] | If there's any error in any step please let's see | 11:10 |
kulsooms | freemanboss: yess there is, if you can see this: https://imgur.com/a/TpBfr80 | 11:14 |
freemanboss[m] | Run the node list again | 11:17 |
freemanboss[m] | Let's see the status it'll change to after verifying | 11:18 |
Ayo[m] | What did the verifying change to kulsooms | 11:20 |
kulsooms | freemanboss, Ayo: it says "enroll" : https://imgur.com/a/XvL6El4 | 11:21 |
freemanboss[m] | Good | 11:21 |
freemanboss[m] | Try again | 11:22 |
freemanboss[m] | Those step but if it's still enroll it enters | 11:23 |
freemanboss[m] | baremetal node abort testvm1 and testvm2 before running the manage and provide step again | 11:23 |
freemanboss[m] | kulsooms: | 11:23 |
kulsooms | freemanboss: https://imgur.com/a/ZOtK7Ra | 11:26 |
freemanboss[m] | Have you redo the manage and provide? kulsooms: | 11:27 |
kulsooms | yess | 11:28 |
freemanboss[m] | Ohhh try ./bifrost-cli enroll baremetal-inventory.json | 11:29 |
Ayo[m] | Freeman Boss: can’t he just delete the nodes and re enroll them? | 11:29 |
freemanboss[m] | kulsooms: ohhh you're not in the bifrost directory? | 11:29 |
freemanboss[m] | Ayo[m]: I don't see the need for that yet | 11:30 |
Ayo[m] | There might be something off during his initial enrollment | 11:30 |
freemanboss[m] | After verifying it should actually transit to manageable according to the docs but I don't understand | 11:31 |
freemanboss[m] | Ayo[m]: Yeah I guess so | 11:32 |
freemanboss[m] | kulsooms: have you been using bifrost-cli?? | 11:32 |
freemanboss[m] | Ohhh now I understand testvm1 or testvm2 doesn't exist!!! | 11:32 |
Ayo[m] | I think the logic is inspection is suppose to check for the state of the node and provide feedback | 11:33 |
freemanboss[m] | Use the node id kulsooms: to manage and provide | 11:33 |
freemanboss[m] | But you've not been using bifrost-cli right? Which method did you install bifrost with? | 11:33 |
kulsooms | freemanboss: yess i'm using bifrost-cli | 11:33 |
freemanboss[m] | kulsooms: Alright | 11:34 |
freemanboss[m] | * Alright | 11:35 |
freemanboss[m] | Which command are you running no | 11:35 |
freemanboss[m] | * Alright | 11:35 |
freemanboss[m] | Which command are you running now? | 11:35 |
kulsooms | i switched to bifrost diectory and running the same commands but its the same | 11:37 |
freemanboss[m] | Ayo[m]: Yeah the validate flag can help to confirm this | 11:37 |
freemanboss[m] | kulsooms: Run the ./bifrost-cli enroll baremetal-inventory.json | 11:37 |
Ayo[m] | What .json file did you use to enroll kulsooms | 11:38 |
Ayo[m] | freemanboss[m]: Yeah I suspected he might have used the other one | 11:38 |
Ayo[m] | But I thought that other file wouldn’t have brought him this far | 11:39 |
kulsooms | ayo: I used both i think | 11:39 |
Ayo[m] | Use the inventory and enroll let’s see | 11:40 |
kulsooms | ayo, freemanboss: https://imgur.com/a/N763RRt | 11:43 |
kulsooms | freemanboss: what do mean by testvm1 or testvm2 doesn't exist, can you explain? | 11:44 |
freemanboss[m] | Just let it finish | 11:44 |
freemanboss[m] | After it finishes this step should work fine... (full message at <https://matrix.org/oftc/media/v1/media/download/AdbwJtOyujiwgh5vAQQpYnQnduADSrG0k2ftIy0TfP7hlRBTpQKclQLGN6iAEtP7ojdJz2rxYPe76iLUCvKDQ3VCeWPms3jgAG1hdHJpeC5vcmcva0VpcFlMTk9uQ0ZiVVZYUlBoSGtVUmNq>) | 11:45 |
freemanboss[m] | kulsooms: Sorry it's a mistake | 11:46 |
freemanboss[m] | I later saw it in the name session | 11:46 |
queensly[m] | kulsooms: I had same error yesterday. Let it finish and follow the steps Freeman has provided. | 11:46 |
kulsooms | freebossman: ok | 11:48 |
kulsooms | queensly: yeah, I came here after following that discussion, cause i was't able to change the power state of any of the nodes. | 11:49 |
freemanboss[m] | kulsooms: has it finished? | 12:05 |
rpittau | cid: sorry I missed your message before, yes that's correct, thanks! | 12:06 |
kulsooms | freemanboss: yess and it says : https://imgur.com/a/RADwAjd :')) | 12:15 |
freemanboss[m] | <freemanboss[m]> "After it finishes this step..." <- > <@freemanboss:matrix.org> After it finishes this step should work fine... (full message at <https://matrix.org/oftc/media/v1/media/download/AeNH8jB3t0BH39P1qer6vEZUvR_85JWqMrAIeJOknQWeTD-FAFdk4uzfUb8949FtLZFR8QGdFwSA9s6dC296u1hCeWPoeUXQAG1hdHJpeC5vcmcvZEFUUHF2c1hwUWtBZmtyQ3lQWmtMYXBp>) | 12:16 |
kulsooms | queensly: please find the last screenshot attached. did you also get the same output? | 12:17 |
kulsooms | freemanboss: ok | 12:17 |
freemanboss[m] | kulsooms: Yeah I do. You still get error after following those steps I highlighted? | 12:20 |
freemanboss[m] | <kulsooms> "freemanboss: yess and it says..." <- What are the resources of your VM? Ram and CPU and hard disk allocation? | 12:21 |
freemanboss[m] | * Can you send the baremetal-inventory.json file also | 12:26 |
kulsooms | my VM has 4 processors and 100 GB of disk | 12:28 |
queensly[m] | <kulsooms> "queensly: please find the last..." <- Yes, I did. | 12:30 |
kulsooms | freemanboss: https://imgur.com/a/UWfHZOt | 12:30 |
kulsooms | queensly: ok thank you | 12:32 |
freemanboss[m] | kulsooms: what are you running now? The abort, manage and provide isn't working fine? | 12:34 |
queensly[m] | queensly[m]: So after getting the error, I then used the command "baremetal node power on testvm1" to change the power state and also the manage and provide commands to change the provision state. | 12:35 |
kulsooms | freemanboss, queensly: https://imgur.com/a/IBjLwaO | 12:39 |
freemanboss[m] | Check the status again kulsooms: | 12:42 |
kulsooms | i think I would need to delete all of this and start again | 12:43 |
kulsooms | its the same pronvisioning state "enroll" and power state as "none" | 12:44 |
queensly[m] | <kulsooms> "freemanboss, queensly: https://..." <- Alright. You keep getting the error about "the node is locked by another host" because there's an ongoing operation on the node, such as powering on or provisioning, and Ironic is preventing other actions from interfering with it until the current operation finishes. I will suggest that you wait until an action is executed before you move to the next step. You can use the | 12:46 |
queensly[m] | "baremetal node list" to check on the status. | 12:46 |
queensly[m] | <kulsooms> "i think I would need to delete..." <- Alright. Ensure you restart your laptop too, sometimes it helps. After that begin the process and share your feedback with us. | 12:49 |
kulsooms | queensly: how to know when will the operation end cause i got this error yesterday too, it should have ended by now, no? | 12:50 |
kulsooms | queensly: yeah, ok | 12:50 |
freemanboss[m] | kulsooms: by check baremetal node list | 12:51 |
freemanboss[m] | Actually I'll advise you start again too and follow the right step | 12:51 |
freemanboss[m] | ./baremetal testenv | 12:51 |
freemanboss[m] | ./baremetal install --testenv | 12:51 |
freemanboss[m] | Source the virtualenv | 12:52 |
freemanboss[m] | Export the os_cloud | 12:52 |
freemanboss[m] | And re-enroll | 12:52 |
freemanboss[m] | Or just try the manage, and provide method | 12:53 |
freemanboss[m] | s/Or/And/, s/just// | 12:53 |
kulsooms | freemanboss: i believe its ./bifrost-cli* testenv and ./bifrost-cli* install --testenv | 13:22 |
freemanboss[m] | Asterisk? | 13:23 |
Ayo[m] | Nah kulsooms | 13:24 |
Ayo[m] | Freeman Boss: when you used ansible playbook | 13:27 |
Ayo[m] | Did you run from the installation stage or you used it after running the cli installation | 13:27 |
freemanboss[m] | I used it after ./bifrost-cli testenv | 13:27 |
Ayo[m] | Ok, thanks | 13:28 |
Ayo[m] | Have you started with the actual bifrost cli? | 13:28 |
TheJulia | rpittau: Regarding a cross-team session, I'm not sure. That being said Cardoe did put the key topic into a RFE/Bug in launchpad with some background why... which would have largely been what such a session would have been for. | 13:30 |
rpittau | ack | 13:31 |
freemanboss[m] | Ayo[m]: You're referring to me? | 13:31 |
Ayo[m] | Freeman Boss: yeah | 13:32 |
freemanboss[m] | It seems the cli also uses playbooks in the background. If using playbooks I don't using cli instead | 13:33 |
cardoe | TheJulia: So my RFE around physical networks / fabrics for VXLAN? | 13:33 |
TheJulia | jssfr: if ironic is not hooked up to nova, nothing automatic uses it. We do semi-encourage its use but you really don't need to since its a indicator to someone interacting with the API that this node is getting used for a purpose as vifs get populated | 13:33 |
TheJulia | cardoe: yes | 13:33 |
cardoe | They replied back that they'll make time in the PTG for me to present it. | 13:34 |
TheJulia | cardoe: oh, excellent! | 13:34 |
TheJulia | cardoe: can we get it noted on the schedule | 13:34 |
cardoe | As soon as I find out when, I'll share it. | 13:35 |
Ayo[m] | freemanboss[m]: Ok | 13:35 |
cardoe | Do we want to do something about adding the ability to have long operations for some of those things? | 13:35 |
TheJulia | rpittau: so any thoughts on swapping Tuesday/Thursday ? | 13:36 |
TheJulia | rpittau: specifically because https://board.openinfra.org/meetings/2025-04-08 conflicts for me | 13:36 |
rpittau | TheJulia: I think it's ok | 13:37 |
TheJulia | cardoe: I think there is already a bug out there for it. That being said, I don't think that is really a thing neutron *can* solve without substantial refactoring. From an ironic project standpoint, we do also want to see another network backend become a viable option for standalone usage and I suspect some of us might be trying to devote some cycles into it this cycle. | 13:38 |
cardoe | Yep makes sense. | 13:38 |
TheJulia | rpittau: I swapped the topics around and around in order for now tuesday, since the topic I'm semi-championing, I suspect might be ~30 minutes and then we can switch gears to eventlet which I suspect JayF could likely drive that discussion. JayF if that is a problem let me know, but I have a board meeting conflict starting at 1500 UTC on Tuesday | 13:41 |
jssfr | TheJulia, so if I were to fake a UUIDv4 where I put some hex-ified version of the use case in the first segment and fill the rest with random (e.g. f1c00000-fa4c-4d6f-86fe-fad4a205bbe6 for a cluster called f1c), that is not expected to break anything? | 13:45 |
TheJulia | jssfr: no, that won't break anything | 13:46 |
jssfr | excellent :) | 13:46 |
rpittau | TheJulia: sounds good, thanks :) | 13:53 |
JayF | TheJulia: +1 | 14:00 |
opendevreview | Satoshi Shirosaka proposed openstack/ironic-python-agent master: Ironic Config Intergration for IPA https://review.opendev.org/c/openstack/ironic-python-agent/+/944951 | 14:17 |
opendevreview | Satoshi Shirosaka proposed openstack/ironic-python-agent master: Implement manual cleaning for ContainerHardwareManager https://review.opendev.org/c/openstack/ironic-python-agent/+/945862 | 14:36 |
masghar | Ayo, freemanboss, kulsooms, queensly - you may find the ironic logs useful, `sudo journalctl -u ironic` | 14:47 |
Ayo[m] | <masghar> "Ayo, freemanboss, kulsooms..." <- Ok, I’ll look into it | 14:57 |
freemanboss[m] | <masghar> "Ayo, freemanboss, kulsooms..." <- Yeah thank you | 15:02 |
*** dmellado0755393737 is now known as dmellado | 15:03 | |
mnaser | I mentinoed this in the nova channel, but adding here since i think it might be relevant -- it seems in 2024.1 + neutron-dhcp-agent + routed provider networks + bonds = no go. I dug a bit into the code and it seems the `network_info` that comes in looks like this: https://paste.openstack.org/show/b6wcQ0hWl9JvdpwHEOks/ which then returns a base_metadata of `{'links': [], 'networks': [], 'services': []}` .. | 15:14 |
mnaser | it seems to me that somehow the network_info is passed on too early or something? | 15:14 |
mnaser | (this ends up giving me a confgidrive with empty network_info) | 15:16 |
JayF | mnaser: What's in the configdrive? | 15:19 |
opendevreview | Satoshi Shirosaka proposed openstack/ironic-python-agent master: Ironic Config Intergration for IPA https://review.opendev.org/c/openstack/ironic-python-agent/+/944951 | 15:19 |
mnaser | JayF: only `{'links': [], 'networks': [], 'services': []}` eventually is what gets resolved | 15:20 |
mnaser | so no networking :( | 15:20 |
frickler | I think there was some recentish fix for that, but likely in nova or maybe neutron? probably not backported. did you try with 2025.1 yet? | 15:21 |
JayF | I see a fix in 2024.1 from mnaser 9 months ago in that area :/ | 15:22 |
JayF | I did check, 2024.1 is before the metadata refactor landed | 15:22 |
JayF | it'd be interesting to see if it's differently broken before/after this https://opendev.org/openstack/nova/commit/93b90d2b6a58df26f6fbf0ff0fe20cf37fcbf8af | 15:22 |
mnaser | JayF: yeah except this time i did some extra logs and its not the same issue, this time, its the metadata that comes _from_ nova that doesnt include any of the subnet stuff | 15:22 |
mnaser | frickler: i cant make that leap yet in this env :X so i'm stuck reading commit logs i guess :P | 15:23 |
mnaser | the thing is the network_info that gets passed to ironic driver from nova in the spawn method is what makes it way down to that function | 15:24 |
mnaser | and that's what logged with no subnets there | 15:24 |
mnaser | and im kinda wondering that "it works fine" in a metadata server scenario because eventually the metadata service will return the right info | 15:24 |
mnaser | but config drive is immutable so it gets built incorrectly and never really goes past that | 15:25 |
frickler | oh, maybe I also mixed up bonds with trunks. nevermind, then | 15:25 |
opendevreview | Satoshi Shirosaka proposed openstack/ironic-python-agent master: Implement manual cleaning for ContainerHardwareManager https://review.opendev.org/c/openstack/ironic-python-agent/+/945862 | 15:25 |
JayF | mnaser: did the above linked commit change that, I wonder | 15:25 |
mnaser | let me double check if its in the image first... | 15:25 |
JayF | it's not in 2024.1 | 15:26 |
mnaser | ah but you mean that this would resolve that issue? | 15:26 |
JayF | It's a refactor around that code | 15:26 |
JayF | but looking at it; I think we still use the same network_info source | 15:26 |
mnaser | yeah it's the same one being passed around | 15:26 |
JayF | I am not an expert in this area; but I'm happy to help review and backport patches if you find something | 15:27 |
JayF | basically my knowledge of nova stops at the virt driver interface, more or less :D | 15:28 |
* TheJulia needs stronger coffee | 15:30 | |
mnaser | yeah I think I need to go a bit higher here ;( | 15:35 |
rpittau | congrats everyone! :) | 15:42 |
rpittau | https://lists.openstack.org/archives/list/openstack-announce@lists.openstack.org/thread/ACVRVHIKT5K2TKZIPVT4P2OGAK3LZVVL/ | 15:42 |
AmarachiOrdor[m] | <masghar> "Ayo, freemanboss, kulsooms..." <- Thank you! For this | 15:44 |
JayF | So question for something on satoshi's change, curious about behavior preference | 16:07 |
JayF | https://review.opendev.org/c/openstack/ironic-python-agent/+/944951/11/ironic_python_agent/hardware_managers/container.py#65 | 16:08 |
JayF | I put it in gerrit; but basically trying to determine what we want the behavior to be if, effectively, the IPA ContainerHardwareManager has been misconfigured | 16:09 |
JayF | satoshi: ^^ asking about your change here | 16:09 |
JayF | hmmm maybe add a new class to IronicAPIError? StepError or something like that | 16:10 |
JayF | s/to/of/ | 16:10 |
* TheJulia focuses in on a different possible issue first | 16:12 | |
JayF | It's not the most urgent change, and honestly probably 500'ing is OK as a fallback if there's no opinion | 16:13 |
JayF | cardoe: did you ever document your ESXi install deal? Did we get all the patches merged for it to work? | 16:24 |
opendevreview | Merged openstack/ironic master: api: Correct types for validation decorators https://review.opendev.org/c/openstack/ironic/+/945216 | 16:44 |
Ayo[m] | Hey Freeman Boss We’re you able to deploy with ansible? | 17:04 |
freemanboss[m] | Ayo: yeah | 17:06 |
freemanboss[m] | When you do ./bifrost-cli deploy baremetal-inventory.json | 17:06 |
freemanboss[m] | If you get an error just use the ansible command that the error says it failed | 17:06 |
Ayo[m] | I’ve been trying to enroll with the playbook but it’s not working | 17:08 |
Ayo[m] | Just to confirm | 17:08 |
Ayo[m] | The export command for ansible has to point at the inventory.json file right? | 17:08 |
opendevreview | Merged openstack/ironic-python-agent-builder master: Don't install biosdevname in arm64/aarch64 arches https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/946057 | 17:09 |
freemanboss[m] | Which export? | 17:09 |
Ayo[m] | According to what I saw in the documentation | 17:10 |
* Ayo[m] uploaded an image: (22KiB) < https://matrix.org/oftc/media/v1/media/download/AeQmr0Cf1qpl14Yc2ZI3s5yOMyOOscy9Ih0wMQdRe3pCSst9Vh91mo-gbLzejYlLKroL-OMc0bsJTJXZF4X3l65CeWP5b_HgAG1hdHJpeC5vcmcvbVpsZWtKRUVxT0lHdXh0TkJ4Wm1pRVJv > | 17:13 | |
Ayo[m] | freemanboss[m]: Or is there another way? | 17:14 |
freemanboss[m] | Alright | 17:22 |
freemanboss[m] | If created yes that's it | 17:23 |
freemanboss[m] | Else check the error you'll get as I suggested earlier | 17:23 |
Ayo[m] | freemanboss[m]: I don’t get you | 17:27 |
freemanboss[m] | Just run ./bifrost-cli enroll baremetal-inventory.json | 17:28 |
freemanboss[m] | And after a short while you can just ctrl c | 17:28 |
freemanboss[m] | And check the error you get | 17:28 |
Ayo[m] | freemanboss[m]: > <@freemanboss:matrix.org> Just run ./bifrost-cli enroll baremetal-inventory.json | 17:29 |
Ayo[m] | > And after a short while you can just ctrl c | 17:29 |
Ayo[m] | I was talking about ansible playbook | 17:29 |
freemanboss[m] | Yes I understand | 17:30 |
Ayo[m] | freemanboss[m]: > <@freemanboss:matrix.org> Just run ./bifrost-cli enroll baremetal-inventory.json | 17:30 |
Ayo[m] | > And after a short while you can just ctrl c | 17:30 |
Ayo[m] | This is with the cli | 17:30 |
kulsooms | masghar: ok thank you | 17:37 |
opendevreview | Merged openstack/ironic master: Rename ironic cmd module https://review.opendev.org/c/openstack/ironic/+/945999 | 17:43 |
freemanboss[m] | Ayo: that screenshot you sent did you also follow every step there? | 17:45 |
Ayo[m] | freemanboss[m]: For the export step I used my baremetal-inventory.JSON file | 17:47 |
Ayo[m] | Maybe I should check the inventory directory | 17:48 |
Ayo[m] | This inventory file might probably not be the right file to export | 17:49 |
freemanboss[m] | Alright | 17:49 |
kulsooms | freemanboss: you wrote ./baremetal testenv and i meant that the correct command is ./bifrost-cli testenv | 17:51 |
freemanboss[m] | Yeah sorry kulsooms: | 17:52 |
kulsooms | freemanboss: also can you please tell, at what point i have to adjust the ssh keys? | 17:54 |
Ayo[m] | kulsooms: So I got to understand that the networking issue you get when you try to use the testenv and run command after you log out and source back will be resolved when you rerun the testenv (not the install testenv) | 17:59 |
Ayo[m] | It basically rework the inactive parts of the network | 17:59 |
Ayo[m] | If you source back into the cli your commands should work | 17:59 |
freemanboss[m] | I'm trying to write a quick start with bifrost. Things has been working fine though but I've to recreate some errors we do get | 18:02 |
freemanboss[m] | I hope it's helpful when I'm fully done with it and test it as much as I can. | 18:02 |
cardoe | JayF: no I didn’t write it down. I’m a baddie. But every thing is merged. | 18:23 |
JayF | can I get a drawing in crayon or something? | 18:23 |
JayF | my downstream is asking | 18:23 |
cardoe | Yes. I’m at the gym so more when I get back to my desk. But the basics are https://github.com/rackerlabs/esxi-img | 18:24 |
cardoe | I have some more improvements queued up | 18:25 |
freemanboss[m] | Ayo: in the *how to* docs the way to use Ansible is there you can just use the baremetal-inventory.jwon | 18:26 |
freemanboss[m] | Check the last headlines in the testing environment quick set up to follow the guidelines there too. | 18:27 |
freemanboss[m] | I'm sure if you're meticulous and cautious following these steps you should get these right | 18:27 |
JayF | cardoe: were all those patches backportable? or is this a "it works in Epoxy forward" thing | 18:41 |
JayF | cardoe: so take this image, feed it to kickstart and go? | 18:44 |
cardoe | I backported it all. It was all broken behavior that worked prior to Zed. | 18:44 |
JayF | I guess I'm confused at an image generation repo being the answer for how to anaconda installer it | 18:44 |
cardoe | Nope. It’s an IPA regular OS deploy. We run the installer on first boot. We ditched anaconda entirely. | 18:44 |
JayF | the image you create is the analogue to the redhat installer image? | 18:44 |
JayF | aha | 18:44 |
JayF | okay | 18:44 |
JayF | this is going to make it less interesting for my downstream I suspect, but thanks for the detail | 18:45 |
cardoe | I have it working with Anaconda as well. But that hasn’t landed | 18:45 |
JayF | is it public? | 18:45 |
cardoe | Yep. They’re all on review.opendev | 18:46 |
JayF | 🔮 I see much code review feedback in your future | 18:46 |
JayF | lol | 18:46 |
JayF | that requires a patched ipxe though, right? | 18:47 |
JayF | didn't you say something like that? how they purposefully made the headers wrong or something? | 18:47 |
cardoe | Requires a change to the template | 18:47 |
cardoe | Let’s catch up in like an hour? | 18:47 |
JayF | I'll be around on IRC. | 18:48 |
JayF | Just lmk when you have time to engage | 18:48 |
opendevreview | Satoshi Shirosaka proposed openstack/ironic-python-agent master: Ironic Config Intergration for IPA https://review.opendev.org/c/openstack/ironic-python-agent/+/944951 | 19:09 |
opendevreview | Satoshi Shirosaka proposed openstack/ironic-python-agent master: Implement manual cleaning for ContainerHardwareManager https://review.opendev.org/c/openstack/ironic-python-agent/+/945862 | 19:17 |
*** dking is now known as Guest12772 | 19:30 | |
*** Guest12772 is now known as dking | 19:36 | |
opendevreview | Satoshi Shirosaka proposed openstack/ironic-python-agent master: Ironic Config Intergration for IPA https://review.opendev.org/c/openstack/ironic-python-agent/+/944951 | 19:38 |
opendevreview | Satoshi Shirosaka proposed openstack/ironic-python-agent master: Implement manual cleaning for ContainerHardwareManager https://review.opendev.org/c/openstack/ironic-python-agent/+/945862 | 19:39 |
cardoe | JayF: I'm around | 20:36 |
JayF | cardoe: me too, now | 21:00 |
cardoe | So basically you need to change https://github.com/openstack/ironic/blob/e05dc7d41f4c68591949b4a09d45162ff326b94d/ironic/drivers/modules/ipxe_config.template under the :boot_anaconda section | 21:03 |
cardoe | Because those args are very specific to RHEL Anaconda | 21:03 |
JayF | so 1) patch ironic with your magic, 2) edit the ipxe template and replace the rh-specific options with esxi-specific options (which I'm assuming you know?) 3) ???? 4) profit? | 21:04 |
cardoe | Yep | 21:06 |
cardoe | I never had to worry about the agent heartbeat timeout cause the install was fast enough. | 21:06 |
cardoe | I'll link em for ya if you tell me what we need to do to +W https://review.opendev.org/c/openstack/ironic/+/944769 :-D | 21:07 |
JayF | I have a big review comment waiting on this information exchange | 21:08 |
cardoe | https://review.opendev.org/c/openstack/ironic/+/942590 So I needed that | 21:08 |
JayF | -1 put all this information in a doc ;) | 21:08 |
JayF | lol | 21:08 |
cardoe | https://review.opendev.org/c/openstack/ironic/+/942849 | 21:09 |
cardoe | and that | 21:09 |
cardoe | You need the glance metadata fixes as well but I backported that to everywhere it was broken. | 21:09 |
cardoe | You also need some nova fixes which I've backported everywhere it was broken as well. | 21:10 |
JayF | are those changes ready to review at all? | 21:11 |
JayF | I notice they are all V-1 unsure if that's CI being CI or a sign :) | 21:11 |
cardoe | So the first one I needed to write a test and a release note. | 21:15 |
cardoe | The 2nd one was something we were gonna talk about at PTG | 21:15 |
JayF | yah you now have two cores on 942590 just waiting for release note + commit message update + unit test | 21:16 |
JayF | I'll read the other before PTG but withhold feedback if that's a topic | 21:16 |
cardoe | Basically today Ironic creates a jinja variable that can be used inside of your kickstart template (and technically some other file too) that's a string blob that's RHEL6+ kickstart/anaconda syntax | 21:17 |
JayF | here's a tip as well: if you reply to my comment on 942590 with the specifics needed, a little birdie might write the docs portion for you :) | 21:17 |
JayF | yeah; the vibe of 942849 seems good | 21:18 |
JayF | feedback from CERN (only really known user of this driver) might be worth grabbing as well if they aren't at PTG | 21:18 |
JayF | but really making this more overall useful is a laudable goal | 21:18 |
cardoe | That blob is basically taking every file that would be on a config_drive and base64's it and then writes a bash script that does echo "$BASE64_BLOB_FILEX" | base64 -d > filex | 21:18 |
cardoe | My change instead exposes a key:value pair list where key is the filename and value is the base64 blob | 21:19 |
cardoe | Allowing you to craft your template in any syntax you need. | 21:19 |
JayF | have we validated that still works for rhel folks? | 21:19 |
JayF | (with the default config, preferably) | 21:20 |
cardoe | So my default implementation results in a byte for byte identical kickstart file | 21:20 |
JayF | good stuff | 21:20 |
cardoe | It's a breaking change for anyone supplying their own kickstart template and using the variable. | 21:20 |
JayF | would it be possible to make a CONF that's like "plz to not break my existing stuff" for a migration? | 21:21 |
cardoe | I'll find you the kickstart template that works for ESXi shortly as well. | 21:21 |
JayF | because it's pretty rough to do a backwards incompatible change with no migration path that's live | 21:21 |
JayF | like, at least for a slurp release so folks could keep the old behavior if dependant upon it | 21:21 |
JayF | just avoiding someone having a "oh crap I have to upgrade my cluster and replace all these kickstart templates" moment :) | 21:22 |
JayF | s/moment/flag day/ | 21:22 |
cardoe | Yeah so my question on that patch was "should I call the new variable _v2 and leave the old one around? or is there another preferred method?" | 21:22 |
JayF | I like that a lot | 21:23 |
JayF | with a deprecation notice of "we'll remove v1 around 2026.1 or later" | 21:23 |
JayF | and then we'll remove it 17 years later as is our normal practice /s | 21:23 |
JayF | I'm going to put a summary of this conversation as feedback on the change | 21:25 |
cardoe | The last patch that I never submitted I see now and I see why (cause it's not 100% done) renamed the anaconda deploy interface to "custom_agent" and allowed you to have another Image property that select a custom_agent ID. Instead of having to break RHEL anaconda by replacing the :boot_anaconda section in ipxe_template it instead loaded :boot_custom_agent_$ID | 21:25 |
cardoe | I intended on adding back anaconda as a deploy interface that was a subclass of "custom_agent" so that it continued to behave the same | 21:25 |
JayF | custom_agent is a namespacing faux pas fwiw | 21:26 |
JayF | we already have that | 21:26 |
JayF | agent_custom is agent deploy with no free steps | 21:26 |
JayF | custom_installer driver A+++ | 21:26 |
cardoe | How about "indirect"? /s | 21:26 |
cardoe | So the last issue with all this is that you have to host the contents of the ESXi ISO somewhere and that top-level URL becomes an argument to boot from | 21:28 |
JayF | old_school_pxe driver /s | 21:28 |
cardoe | Because the anaconda interface hard codes specific filenames that get served up by conductor | 21:28 |
JayF | I don't understand that last one | 21:29 |
cardoe | https://docs.openstack.org/ironic/latest/admin/anaconda-deploy-interface.html#configuring-the-os-image-in-glance | 21:30 |
cardoe | So the HTTP server that conductor has provides http://$ip/<node-uuid>/ right? | 21:31 |
cardoe | kernel_id -> http://$ip/<node-uuid>/kernel and then ramdisk_id -> http://$ip/<node-uuid>/initrd | 21:32 |
JayF | OH. So literally for the anaconda driver, you have to copy in the kernel/ramdisk from anaconda | 21:32 |
cardoe | Then comes stage2_id -> http://$ip/<node-uuid>/LiveOS/squash.img | 21:32 |
JayF | wait, those are in glance though? | 21:32 |
JayF | shouldn't that make magic just work with conductor? | 21:32 |
cardoe | So for ESXi we have to actually boot their version of syslinux | 21:33 |
cardoe | They then have a boot.cfg which lists out all the multi-boot modules they're going to load and the actual kernel | 21:34 |
cardoe | It's about 40 files. They're read from $prefix/$filename where prefix is set via a glance image property | 21:35 |
JayF | c'mon, you've got enough constitution to run image create 40 times /s | 21:36 |
cardoe | But Ironic won't care | 21:36 |
JayF | I'm almost worried they'll intentionally break us when this lands lol | 21:36 |
JayF | because it's clearly not something they want automated | 21:36 |
cardoe | It only reads kernel_id, ramdisk_id, stage2_id and copies those to hardcoded paths | 21:36 |
cardoe | and lastly there's ks_template (which is also an id but not suffixed by it) which gets exposed as ks.cfg | 21:36 |
JayF | how many weeks did it take your head to stop spinning once you figured this all out? | 21:37 |
cardoe | Who says it stopped. | 21:37 |
cardoe | So my last PTG proposal that was dropped as well proposes doing "file_blah.id=$UUID" and "file_blah.name=myfile.txt" as properties on the image. | 21:39 |
cardoe | And it would serve that up as http://$ip/<node-uuid>/myfile.txt | 21:39 |
JayF | yeah I think just having someone provide the http host for the iso | 21:39 |
JayF | is probably the more realistic shape | 21:39 |
cardoe | Yeah that's how we had it working. | 21:40 |
cardoe | I was able to use the same kernel_id for ESXi 7 and 8 but different ramdisk_id (because that was the boot.cfg) | 21:40 |
cardoe | I served up a 7 and an 8 ISO. I actually even shared the Dell specific one and the generic VMware one since they were identical except for their boot.cfg which on the Dell one loaded some extra files which weren't loaded in the generic one. But the files that both referenced had the same sha256sums | 21:42 |
JayF | makes sense | 21:42 |
JayF | and for many folks, they often front ironic api with a nginx or similar service | 21:42 |
JayF | you could just have it serve up the static content to agents in prov network, ezpz | 21:42 |
cardoe | Anyway, if there's interest I'll revive it | 21:42 |
JayF | I already volunteered to help write the docs :D | 21:42 |
cardoe | Right and that's why I needed the provisioning network | 21:42 |
cardoe | Well that's the brain dump for now at least. | 21:44 |
JayF | I linked this IRC log on your post | 21:44 |
JayF | so the context will live on | 21:45 |
cardoe | I'll revive the branches and send ya something working with my notes Friday if that's okay? I've gotta be out for a funeral tomorrow. | 21:45 |
JayF | Please take the time ya need for that; this isn't so urgent for me so much as I said in passing to someone the other day that this is being built, and they showed interest much, much later | 21:46 |
JayF | so finding the shape of it | 21:46 |
JayF | and given how close it is, with my upstream ironic hat on, hell yeah I want that feature | 21:46 |
JayF | who cares if you still run vmware | 21:46 |
JayF | you can still migrate to openstack :D | 21:47 |
JayF | and not even have to go ten rounds with the nova vmware driver ;) | 21:47 |
JayF | JFYI; IPA python 3.13 (non-voting) unit tests have what appears to be a recurring failure, satoshi and I will poke at it tomorrow so if you see this, don't sweat the failures for now :) | 22:01 |
opendevreview | Satoshi Shirosaka proposed openstack/ironic-python-agent master: Implement manual cleaning for ContainerHardwareManager https://review.opendev.org/c/openstack/ironic-python-agent/+/945862 | 22:15 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!