Friday, 2023-02-24

JayFbasically, took a cloud image, used it as the base for a full qemu image, booted it, got a user password inside with virt-customize00:00
JayFdnf/yum-anything fails with a no repos message; what's inside /etc/yum.repos.d/ is a comments-only redhat.repo telling you to run subscription manager if you have entitlements and want to get packages installed00:00
JayFI'm getting offline for now; I hope I see tomorrow I did something wrong versus this being the current state of centos00:01
kubajjMorning Ironic 11:17
kubajjJayF: I was just writing something about the API in my dissertation and I found out that you did not include the comment about node sharing in API/controllers/v1/versions.py on line 122. I don't know if it's needed, but I just thought I could point it out11:18
JayFkubajj: if you wanna put up a quick follow up correcting it, I can land it. Otherwise I'll take a look later this afternoon.16:28
kubajjJayF: I can have a look at it16:29
opendevreviewJakub Jelinek proposed openstack/ironic master: Add a comment about node sharding to API versions  https://review.opendev.org/c/openstack/ironic/+/87522416:40
TheJuliakubajj: approved18:24
JayFthank you kubajj 18:41
jlvillalHi all :)  I was trying bifrost stable/zed on AlmaLinux 9.1.  It got to the part of trying to start `ironic-inspector` and got an error: ERROR oslo.service.wsgi [-] Could not bind to :::5050: OSError: [Errno 97] Address family not supported by protocol19:19
jlvillalJust curious if anyone knows a simple fix for this or if I will need to do a deep dive to try to figure it out... :)19:20
jlvillalMore details if useful: https://paste.opendev.org/show/bYITNQTbfRsRCunUKn0x/19:21
TheJuliajlvillal: o/19:23
jlvillalo/ :)19:23
TheJuliajlvillal: insmod ipv6 or set up addresses to bind to with v419:24
TheJulia:: is the default for v619:24
jlvillalTheJulia, Thanks. For sure I want to use ipv4.19:25
TheJulia:: with v6 is also ipv4+ipv6 so it will still work with v419:25
TheJuliajust, fyi19:25
jlvillalSo I see in /etc/ironic/ironic/conf it has endpoint_override = http://10.76.108.18:5050  which I'm guessing where 5050 comes from.19:26
TheJuliawell, inspector19:26
TheJuliaso ironic-insepctor.conf19:26
jlvillalAh okay. I guess I will try the `insmod` first. :)19:26
TheJuliaheh, okay19:27
* TheJulia goes and recalibrates 3d printer19:27
jlvillalGood luck! I guess our default of `ipv6.disabled=1` on the command line is breaking things.19:28
jlvillalkernel command line that is.19:28
TheJuliajlvillal: yeah, likely19:29
TheJulialisten_address in ironic_inspector.conf19:30
TheJuliaset it to an ip :)19:30
jjyHi. I asked a question yesterday -- where does the authentication take place between ironic and an external HTTP image server 19:30
jlvillalThanks. Will do. Reading the docs now! :)19:30
opendevreviewJay Faulkner proposed openstack/ironic master: DNM: API-Ref rendering science  https://review.opendev.org/c/openstack/ironic/+/87525319:38
JayFjjy: okay, I'm going to give this 15 minutes undivided, we'll figure it out19:38
JayFjjy: AFAICT, from reading in https://github.com/openstack/ironic/blob/a48af6b5f13598ef83fff6dfd5a01480ed23743d/ironic/drivers/modules/image_utils.py, the conductor caches the image, then serves it up for IPA API19:41
JayFjjy: if, at that point, you want some kind of authentication on that image download, I believe you'd have to bring some of that yourself (e.g. client certificate validating https proxy + configuring ironic_python_agent_tls) ... there may be some pieces to automate this19:42
JayFdtantsur: when we did the auto-tls stuff for IPA; did any of that include making sure image downloads from conductor->IPA were secured?19:42
JayFjjy: there is support for using swift to store images too; if you were using that, we create a swift temporary url and hand it off to IPA to download directly19:44
JayFI think that's the only case where IPA is reaching directly out to a remote server to get an image (and not the conductor) but it's extremely possible I'm wrong19:45
JayFdtantsur: also, in case you missed it: https://review.opendev.org/c/openstack/openstackdocstheme/+/874957 appears to be the fix for the api-ref issue you identified; ty for sparking that20:13
jjyThanks! It concludes that the authentication is between ironic and the external HTTP server. Currently I did not bake any certificate in the IPA ramdisk OS, thus there will be no authentication betwen IPA and ironic. Also I did not use swift to store images.20:15
JayFSo lets be clear20:19
JayFthere are different /kinds/ of communication20:19
JayFIPA communicates with the Ironic API in order to get commands to run and to send node information (e.g. inspection results) back to the API.20:19
JayFThese connections can be trivially configured to be TLS secured, and use a methodology we refer to as "agent token" to identify and authenticate IPA connections into the Ironic API20:20
opendevreviewMerged openstack/ironic master: Add a comment about node sharding to API versions  https://review.opendev.org/c/openstack/ironic/+/87522420:20
JayFDuring deployment; IPA downloads an image to put onto the disk when using the `direct` deployment method (default). These should be TLS secured if you have TLS configured properly on the conductor and the external_url; but we currently do not perform authentication on these requests.20:21
JayFThat's the state of things as I understand it now. 20:21
JayFIf you're using TLS; there is extremely minimal risk in the image download portion. In fact, if you have "secrets" you need, instead of putting them in the image (and needing to worry about putting the image behind authorization), you can use user data communicated into the node via configdrive (and usually parsed/read by cloud-init) to inject secrets in a more secure way20:22
JayFjjy: ^20:22
* JayF hopes that context is helpful20:22
JayFeverything after 'during deployment' changes if you're using a different deployment driver; such as ramdisk (which just boots a ramdisk image of your choice on the node) or kickstart (which configures and launches an automated kickstart install of rhel{-like} OSes)20:23
jjyThanks!!20:34
JayFIs there a reason, generally, why Ironic doesn't participate in the OpenStack VMT? Is there something historical there? 20:54
JayFI'm reviewing vanou's proposed doc on vulnerability reporting, and it seems like the best "fix" would just be to put in with the OpenStack-wide process20:55

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