Tuesday, 2022-10-25

*** dmellado_ is now known as dmellado00:55
vanougood morning ironic01:32
opendevreviewMerged openstack/ironic master: Do not disable autocommit until we fully migrate  https://review.opendev.org/c/openstack/ironic/+/86247602:21
opendevreviewVanou Ishii proposed openstack/ironic master: Align iRMC driver with Ironic's default boot_mode  https://review.opendev.org/c/openstack/ironic/+/86255205:29
opendevreviewVanou Ishii proposed openstack/ironic master: Align iRMC driver with Ironic's default boot_mode  https://review.opendev.org/c/openstack/ironic/+/86255205:46
arozmanHello Ironic!06:27
vanouHi all. Recently, Fujitsu server HW team suddenly introduces multiple incompatible behavior on BMC. 1) iRMC disables IPMI by default 2) it doesn't allow http connection to iRMC on newer version of server anymore. To deal with this I plan to make multiple patches. However my concern is that are such changes approved to backport till Wallaby? Because, maybe customer uses06:48
vanouWallaby version of Ironic. Of cource, I don't plan introduce new package dependency. If there are tips to make backport feasible, please tell me that. Thanks.06:48
kubajjGood morning Ironic!07:33
opendevreviewRadosÅ‚aw Piliszek proposed openstack/tenks master: Skip more ansible-lint style checks  https://review.opendev.org/c/openstack/tenks/+/86255708:05
opendevreviewRadosÅ‚aw Piliszek proposed openstack/tenks master: Follow ups to venv  https://review.opendev.org/c/openstack/tenks/+/85700808:05
opendevreviewVanou Ishii proposed openstack/ironic master: Align iRMC driver with Ironic's default boot_mode  https://review.opendev.org/c/openstack/ironic/+/86255208:18
dtantsurJayF: mysql is an overkill for us; file vs non-file has no difference in this conversation09:39
dtantsurJayF: these are not sqlite limitations, these are bugs in our code. not closing transactions is a bug, even if "adult" databases kinda-sorta work around it for us.09:40
dtantsurvanou: oh :( my only concern would be your driver still working for people who do not update the firmware09:41
dtantsur(and disabling IPMI may be a reason a lot of customers will refuse to update)09:42
dtantsurJayF: example: firefox is an application that is an order of magnitude larger and more complex than Ironic. and really multi-thread and multi-process. if sqlite works for them, but does not work for us.. it's not sqlite's fault.09:44
opendevreviewJakub Jelinek proposed openstack/ironic master: WIP: Implements node inventory: database  https://review.opendev.org/c/openstack/ironic/+/86256909:44
kubajjMorning dtantsur, I've created the WIP change for the database I talked about last week. If you had a minute, could we have a chat about it? (I am almost sure that this is not how we want to store it.)09:46
dtantsurlooking09:46
dtantsurJayF, TheJulia, what I do suspect is that oslo_db_api.retry_on_deadlock does not know how to retry sqlite exceptions09:47
dtantsurkubajj: I actually think this is the right direction to take. some comments inline.09:57
kubajjdtantsur: thanks, I'll have a look09:58
kubajjdtantsur: you mention that we might not need the get_..._by_id function outside of unit tests. Do you mean that we still need it for unit tests or I can remove it?10:31
dtantsurkubajj: do you need it for unit tests? if not, I'd probably remove it.10:32
kubajjOk, I'll have a look10:32
kubajjdtantsur: in the comment about object file, did you mean get_by_uuid instead of get_by_node_uuid by any chance?10:46
dtantsurkubajj: inventories don't have a UUID, I did mean the node UUID. But I don't remember if other node-related objects have that, maybe it's done on the API level.10:47
kubajjdtantsur: I was looking at the node history for inspiration and that uses node id10:48
kubajjonly deployment has get_by_node_uuid (I do not really know what it does, though)10:50
kubajjI will look into this in the afternoon when I hope to implement some tests11:00
opendevreviewJakub Jelinek proposed openstack/ironic master: WIP: Implements node inventory: database  https://review.opendev.org/c/openstack/ironic/+/86256911:06
iurygregorygood morning Ironic11:36
vanoudtantsur: thanks. driver should work with older version of server too. it may detect version of server and switch driver operation based on server version. (IPMI is disabled by default configuration but user can enable it, sorry for confusing you)12:01
TheJuliaGood morning12:39
TheJuliadtantsur: you are correct about oslo_db not retrying. I thought I indicated that yesterday. Conundrum is that however the interaction is with oslodb, the more we try to do cross thread things, the more it thrashes. I turned down our retry and it never succeeded in a heartbeat in 5 minutes. I turned it up to 15 and it succeeded 1-2 times a minute locally. Oslo_db or sqlalchemy also doesn't honor pooling for sqlite. Which 12:49
TheJuliais why I'm strongly wondering if the right path for metal3 is to just use in-memory mode because even when we close out the interactions, like add literal session.close(), it still throws that error on the heartbeat thread since it doesn't try that until after the time has passed from launch.12:49
dtantsurTheJulia: how is in-memory related? the database is still locked if we don't close transactions.12:50
TheJuliaThis is really more a case of not bugs as much as we were/are reliant upon autocommit to make file mode work since sqlalchemy has magic ot make it kind of work.12:50
dtantsurwe cannot just drop them and hope that mysql does the right thing eventually..12:50
TheJuliain memory, the constraint on file locking IO across threads shouldn't be a thing. Shouldn't being key of course.12:51
dtantsurwe don't have threads12:51
TheJuliaokay, fake threads in python12:51
dtantsuryep, which are executed sequentially12:51
TheJuliain theory, but even when we close the transaction out, it still doesn't work. It could be enginefacade is also just sqlite without autocommit incompatible12:52
dtantsurbut it's not a sqlite problem. what happens when we don't close transactions on mysql?12:52
TheJuliawell, even if we explicitly close it out on each call we do12:52
TheJuliaenginefacade has a commit or rollback logic12:52
dtantsurwell, neither clearly happen12:53
TheJuliayup12:53
dtantsurwhich probably means a rollback12:53
TheJulia*or* sqlalchemy cannot support our use model12:53
dtantsurare we fine with e.g. touch_conductor getting rolled back?12:53
TheJuliahuh?12:53
dtantsurwell, the change is never committed, right?12:53
dtantsurso the conductor is not touched, it will eventually timeout.. boom?12:53
TheJuliait can't even open the db file to run the operation12:54
TheJuliayup, I've watched it happen locally12:54
TheJuliait sometimes works with the default, fwiw12:54
TheJuliabut minutes can pass of course12:54
dtantsurthe only explanation I have it that some transaction was not closed12:54
TheJuliawe could try oslo_db getting retrys working, but I'm worried we're just going to thrash12:55
TheJuliawell, it has to close the transaction and the session with the open file, the latter seems not happen12:55
dtantsurthis transaction was changing something, and this something is not saved in reality12:55
TheJuliathe connections via open files pile up12:55
TheJuliaand eventually close out when the conductor goes "I'm not heartbeating"12:55
TheJuliaand the cycle repeats12:55
TheJuliait maybe works 10% of the time locally on my code base before I started to force close sessions12:56
dtantsurTheJulia: connection are not a problem, transactions are12:56
TheJuliamaybe 20% before then12:56
TheJuliadtantsur: I literally put session.flush(), session.commit(), and session.close() on all the calls before that were working12:57
TheJuliaand no change/improvement. Honestly it feels like it has gotten worse.12:58
dtantsurso something is escaping. otherwise autocommit wouldn't fix the issue12:58
TheJuliathe next step is to dig into the oslo_db code base12:58
dtantsurto double-check my assumption, I literally tried opening several cursors to the same file from different python processes. all worked fine.12:58
TheJulia*or* oslo_db's enginefacade is breaking us12:58
dtantsurso I cannot even make transactions race, maybe I need to open one explicitly12:59
TheJuliaI'm leaning towards enginefacade being the culprit here, fwiw. unfortunately our code style that is used pulls a transaction for read operations13:01
TheJuliathe only way to undo that is to rip out model_query13:01
TheJulia*completely*13:01
TheJuliaand then... move away from the enginefacade session style13:02
TheJuliaat which point we're at complete DB API rewrite territory13:02
TheJuliaoh13:03
TheJuliahttps://github.com/openstack/oslo.db/blob/9119edc86ffa207bdf244e0d21e163c96a06ee8e/oslo_db/options.py#L1713:03
TheJuliaI just noticed that13:03
dtantsurokay, 'database is locked' happens on two parallel write transactions, I could reproduce in shell13:03
dtantsurIIRC sqlite_synchronous is related to whether fsync or not13:04
dtantsurI considered setting it to False (maybe I even did it for metal3) to bring the file closer to :memory:13:04
TheJuliaeh, yeah, no difference really13:05
TheJuliait *did* successfully heartbeat the first time13:05
TheJuliaand then proceeded to fail 10 seconds later13:05
TheJuliaand now my conductor is going offline :)13:06
dtantsurbtw since WAL is off by default, even reads conflict with writes13:07
TheJuliayeah, because all reads in the code model are transactions right now13:09
TheJuliaadded local support for retrying13:11
* TheJulia waits13:11
TheJuliano better at all, fwiw :)13:12
dtantsurif we lose transactions, no retries will help13:12
dtantsurretries are useful to add, but only to avoid occasional failures under load13:13
TheJuliayup13:13
TheJuliait hasn't actually succeeded yet13:14
TheJulia:(13:14
TheJuliayeah, its not going to succeed  at even saving a single heartbeat13:15
opendevreviewJacob Anders proposed openstack/sushy master: [WIP] Retry BootSourceOverride request when SettingsURI is read-only  https://review.opendev.org/c/openstack/sushy/+/85659713:24
dtantsurTheJulia: this thing yields very useful results: https://github.com/openstack/oslo.db/blob/9119edc86ffa207bdf244e0d21e163c96a06ee8e/oslo_db/options.py#L10213:26
dtantsur2022-10-25 15:26:31.300 676470 INFO sqlalchemy.engine.Engine [-] BEGIN (implicit)13:27
dtantsur2022-10-25 15:26:31.301 676470 INFO sqlalchemy.engine.Engine [-] BEGIN13:27
dtantsur2022-10-25 15:26:31.302 676470 INFO sqlalchemy.engine.Engine [-] [cached since 10.46s ago] ()13:27
dtantsur2022-10-25 15:26:31.304 676470 INFO sqlalchemy.engine.Engine [-] UPDATE conductors SET updated_at=?, online=? WHERE conductors.hostname = ?13:27
dtantsur2022-10-25 15:26:31.304 676470 INFO sqlalchemy.engine.Engine [-] [cached since 10.03s ago] ('2022-10-25 13:26:31.294757', 1, 'dtantsur-laptop')13:27
dtantsur2022-10-25 15:26:31.307 676470 INFO sqlalchemy.engine.Engine [-] COMMIT13:27
dtantsurI'm quite suspicious about two begins, one being implicit13:27
TheJuliaautobegin?13:31
TheJuliadtantsur: heh, I didn't set it that high I guess13:31
dtantsurwhen I return autocommit, I get a lot of database traffic going on. weird.13:34
dtantsurfunnily, if I migrate touch_conductor to use the session "properly" (???), it fails in both cases13:35
dtantsurwith autocommit it fails with  sqlalchemy.exc.InvalidRequestError: No transaction is begun13:35
dtantsurwhich is super fishy13:35
dtantsurah, no, it's register_conductor_hardware_interfaces that fails (probably because I'm still on your change)13:35
TheJuliaahh, I see what is going on now13:36
* dtantsur -> lunch, brb13:36
TheJuliayeah, it is the object handler that i theorized13:36
TheJuliaexplicit closing doesn't work since it never gets that far it looks like13:37
TheJuliabingo13:38
TheJuliaI at least have a heartbeating service now, having commented out allocations from running13:38
TheJuliabut it is query pagination13:40
TheJuliagah13:40
dtantsurTheJulia: I've instrumented the enginefacade with prints, and that's what I see on the *previous* (successful) heartbeat: https://paste.opendev.org/show/bNmDKLuYFjb5591XzdH8/13:44
TheJuliahttps://paste.opendev.org/show/bQQqN797Ho5ok2CP9zfw/13:44
TheJuliaI *think* the path forward is to make a sqlalchemy 2.0 orm not entirely required paginate_query13:46
TheJuliaor at least a "do it the 2.0 query way"13:46
TheJuliaso we get a disconnected tuple that won't hold the db open13:47
TheJuliagranted, we also likely need a "don't actually paginate flag" for internal calls13:47
TheJuliaeasy... enough I guess13:47
TheJuliaokay, that is already in the logic, limitations is in the api for api clients14:00
opendevreviewVanou Ishii proposed openstack/ironic master: Change boot_interface order of iRMC driver  https://review.opendev.org/c/openstack/ironic/+/86261614:03
TheJuliavanou: So if I understand correctly, the hardware folks have started locking out access to the BMC... except via?!?14:07
TheJuliadtantsur: I already wrapped paginate so just changing how we get the query seems to do the trick14:09
JayFdtantsur: upon overnight reflection, and after reading your conversation in here, I think the piece that I was missing is that we're running ironic in single command mode, right. So we don't have to worry about contention between actual threads just contention between green threads14:14
TheJuliais pypi still broken today?14:18
* TheJulia has not looked at CI14:19
TheJuliaI'm converting over the paginated model_query calls on list to use query selects instead which will yield us tuple responses without the attached db connection14:19
TheJulia... (which should improve db load actually...)14:20
JayFTheJulia: I rechecked that one before I left last night; I can check it14:22
JayFhttps://review.opendev.org/c/openstack/ironic/+/862476 the autocommit revert piece landed overnight14:22
JayFdtantsur: ^ FYI in case you didn't see14:22
JayFTheJulia: so it at least worked for one patch after like, 4pm PST yeseterday14:23
dtantsurseen it, thank you!14:26
dtantsurJayF: correct, we only have actual threads when the API is run separately under e.g. mod_wsgi14:26
JayFWe really have to get that running in local gate; but that's on the list for once Julia fixes the underlying bug14:28
dtantsurJayF: the combined process is used in bifrost (but with mysql)14:28
JayFYeah; the shock for me was that we used sqlite14:29
dtantsuryeah, it's a metal3 thing because the database is ephemeral and because we're aiming at reducing the footprint14:29
JayFDon't get me wrong, I really like sqlite, but it does make the kinda work Julia is doing 2x as hard now 14:29
JayFbut at least people run this config vs when we supported postgres and nobody actually ran it lol14:30
dtantsurI'm still not convinced that it's the sqlite's fault rather than something sqlite merely exposes14:30
dtantsurlol yeah14:30
JayFI am not saying sqlite is to blame, per se14:30
* dtantsur really likes postgres since his skype days14:30
JayFI'm saying sqlite has more strict semantics around write locking14:30
dtantsurtotally14:30
JayFwhich exposes "bugs" which wouldn't matter in mysql14:30
dtantsurmay or may not matter, depending on what is actually happening14:31
dtantsure.g. if we don't commit a write transaction (which I guess Julia has ruled out), it's a huge deal14:31
dtantsuran hanging read transaction (which is, as far as I can understand, the current hypothesis) is less of, but still some resources14:32
* TheJulia kind of misses some of the friendliness of debugging queries in postgres14:32
TheJuliawell, we would *likely* just rollback, but the transaction creation overhead has been an operator complaint in the past14:33
vanouTheJulia: HW people started to restrict access to BMC a bit. There are 3 way to access BMC in newer server: 1)HTTPS REST API (no http anymore) 2)SNMP 3)IPMI (IPMI over LAN is disabled by default BMC configuration, but server user can change setting of BMC and enable IPMI)14:36
opendevreviewJulia Kreger proposed openstack/ironic master: WIP: Sqllite fix maybe?  https://review.opendev.org/c/openstack/ironic/+/86250614:37
TheJuliaso, there is a huge issue with ^... we have to *explicitly* unique the calls if we want the overhead14:38
TheJuliaThat being said, our schema enforces it, so the check is... kind of redundant I think, but there may be cases where it makes sense, I've just not looked at the schema.14:38
kubajjdtantsur: TheJulia: what is the difference between id and uuid in the models?14:39
TheJuliavanou: that makes a lot of sense actually. Please say they are supporting DMTF Redfish :)14:39
dtantsurkubajj: id is a sequential number of the internal use in the database14:39
dtantsurkubajj: uuid is a user-visible identifier (where needed)14:39
kubajjDo I need uuid for inventory then?14:39
dtantsurkubajj: unlikely since there is a 1-1 relationship between nodes (and their UUID) and inventories14:41
dtantsurif we even support inventory history (which I think some people may be interested in).... but let's not go there :)14:41
kubajjdtantsur: What does a node have a uuid for?14:47
dtantsurkubajj: UUIDs are used to identify nodes, e.g. in the API14:47
dtantsurGET /v1/nodes/<NODE UUID> 14:47
dtantsur(you can use names as well, but names are not required)14:47
* dtantsur adds even more prints to enginefacade14:50
TheJuliadtantsur: take a spin with my patch14:51
TheJuliakubajj: Id is also database assigned (generally) and the database primary key value in the tables14:52
dtantsurTheJulia: it take it a bit longer to fail, and probably because of a different place14:56
kubajjI am just trying to wrap my head around why having get_by_node_uuid would be used, but I can just include it and remove it later, right?14:57
dtantsurTheJulia: okay, now to trigger the failure I have to issue a curl request to create a node14:57
vanouTheJulia: yeah Fujitsu server has supported DMTF Redfish for years :)  However there are concerns: 1)BMC doesn't catch up with latest Redfish spec. so FJ needs to check if such gap has bad effect  2)there are vendor specific Redfish path so FJ needs to check each path and start discussion around sushy-oem-*14:57
dtantsurTheJulia: I wonder if we do need to banish model_query from the code completely14:58
TheJuliadtantsur: oh joy :(14:58
dtantsurkubajj: something will need to handle GET /v1/nodes/<NODE UUID>/inventory14:58
dtantsurbut maybe it's going to happen on a higher (= API) level14:58
TheJuliavanou: okay, on a plus side we've only had one vendor *really* need to do an oem module, and I think even then it is not required now since they were able to get the BMC engineering team to become compliant14:59
TheJuliaat least, that was with virtual media14:59
kubajjdtantsur: Oh, I was focused too much on the database. With the api it makes sense.14:59
TheJuliadtantsur: we do need to unfortunately15:00
dtantsurTheJulia: btw, explicit commits do not seem needed, _session_for_write() handles them15:00
dtantsur(same for close() - I inserted prints to check)15:00
TheJuliadtantsur: I know :)15:00
TheJulianow :)15:00
dtantsur:D15:00
TheJuliaI was just paranoid when I put them in15:00
dtantsurlearning every day..15:00
TheJuliayup15:01
* dtantsur is curious why create_node blows up..15:01
TheJuliait... shouldn't really15:04
TheJuliait should be a fairly atomic operation, but maybe we're doing something else under the hood at the same time15:04
vanouTheJulia: I see. I'll check our server's Redfish implementation. thanks!15:05
vanougood night ironic o/15:06
TheJuliagoodnight!15:07
* dtantsur looks at model_query and makes a large UGH15:08
dtantsurTheJulia: I wonder if the minimal thing would be to replace model_query with just session.query with whatever session the caller has15:08
dtantsurotherwise we're definitely in the double-transaction land..15:08
TheJuliayeah, don't look at model_query15:09
TheJuliaI think the ideal thing to do is to break out the code so we're doing the right hting15:09
TheJuliabut I think it will need to be on a case by case basis15:10
dtantsurTheJulia: I've replaced some model_query with session.query (added _session_for_read where needed), and I can create nodes now15:14
ajyaTheJulia: in sushy-oem-idrac there are more functionality that is not part of standard Redfish, e.g., reboot idrac, clear job queues - things that were available in wsman. It's true that virtual media was fixed for 14G+ systems. Otherwise OEM extension will stay there for those who want additional functionality, also for RAID ops.15:14
opendevreviewJulia Kreger proposed openstack/virtualbmc master: WIP: preserve info across boot device operations  https://review.opendev.org/c/openstack/virtualbmc/+/86262015:14
TheJuliaajya: today I learned!15:14
TheJuliathanks!15:14
dtantsurTheJulia: it's possible that we're going a bit overboard with sa.query even. maybe all we need is session.query, making sure the session is created at the right time and not closed until we're done with it15:14
TheJuliadtantsur: oooh ahhhh15:14
TheJuliadtantsur: yeah, the nested layer of things doesn't really help overall. By chance are you going to upload a rev of the patch with your local changes?15:15
dtantsurTheJulia: https://paste.opendev.org/show/817328/15:15
dtantsurI can upload that15:15
TheJuliadtantsur: if you could, that would be great15:16
TheJuliaI'm getting pulled in two other directions at the moment15:16
opendevreviewDmitry Tantsur proposed openstack/ironic master: WIP: Sqlite fix maybe?  https://review.opendev.org/c/openstack/ironic/+/86250615:17
dtantsurTheJulia: ^^15:17
dtantsurI wonder if the register_conductor changes are really needed15:18
TheJuliadunno, I'd almost rather keep since 2.0 is pushing away from query call usage15:21
dtantsurTheJulia: any reference for that? I haven't checked 2.0 yet15:22
dtantsurwe could at least consider it a step in the right direction to avoid a lot of rewrites15:22
TheJuliadtantsur: the migration guide talks about how it will keep compatibility but it is basically deprecated to use the base query style that started with orm because they want users to move to the unified query usage/format15:23
dtantsurack. I still think it may be beneficial to have a 2-stage migration15:24
TheJuliayeah, I didn't want to muck with rewiring everything for obvious reason15:26
opendevreviewJulia Kreger proposed openstack/virtualbmc master: WIP: preserve info across boot device operations  https://review.opendev.org/c/openstack/virtualbmc/+/86262015:36
opendevreviewDmitry Tantsur proposed openstack/ironic master: WIP: Replace more instances of model_query  https://review.opendev.org/c/openstack/ironic/+/86250616:01
dtantsurfor the record, I don't know what internal reasons resulted in sqlalchemy 2.0, but it's a huge step back in terms of usability16:04
opendevreviewDmitry Tantsur proposed openstack/ironic master: Replace more instances of model_query  https://review.opendev.org/c/openstack/ironic/+/86250616:06
dtantsurI hope this is enough to get sqlite going ^^16:06
dtantsurI think, we this propagates to metal3 containers, I'll create a testing patch there that tries removing __autocommit16:06
dtantsurs/we/when/16:06
dtantsurTheJulia: I wonder if we eventually drop the ORM layer completely and switch to the core layer..16:16
dtantsursince they're essentially converging, and we don't really use many specifically ORM things16:17
opendevreviewJulia Kreger proposed openstack/sushy-tools master: WIP: preserve information on xml  https://review.opendev.org/c/openstack/sushy-tools/+/86262516:26
kubajjIf I created a new upgrade of db with alembic, do I need to do anything with it or does ironic just start using it? (I modified the upgrade function already)16:27
dtantsurkubajj: the files are picked up automatically, use unit tests to confirm (you should add a test per migration - see existing ones)16:27
kubajjdtantsur: got it. Will do16:32
TheJuliadtantsur: we *do* in some of our things, but yeah. It would likely be a good (and more performent) idea eventually16:35
TheJuliait hides a lot of complexity around interactions, as evidenced by "register_compute" alone16:35
opendevreviewJulia Kreger proposed openstack/sushy-tools master: WIP: preserve information on xml  https://review.opendev.org/c/openstack/sushy-tools/+/86262517:17
kubajjTheJulia: sorry for asking this but I've been stuck on this for more than an hour now. Have you ever seen an error similar to this? https://paste.opendev.org/show/bBn0Gw6F6XPLkuz1FZe3/17:19
opendevreviewJulia Kreger proposed openstack/sushy-tools master: preserve secure information on xml changes  https://review.opendev.org/c/openstack/sushy-tools/+/86262517:45
opendevreviewJulia Kreger proposed openstack/virtualbmc master: preserve secure information on xml changes  https://review.opendev.org/c/openstack/virtualbmc/+/86262017:51
TheJuliakubajj: are you handing the unit test a string or a dictionary?17:53
TheJuliabased upon the error, I would guess you've got a string with a json document inside of it17:53
kubajjTheJulia: I see, that might actually be the case. Thanks18:05
JayFIs there a core reviewer online right now, other than me an TheJulia? dtantsur? iurygregory?18:43
opendevreviewJay Faulkner proposed openstack/sushy-tools master: preserve secure information on xml changes  https://review.opendev.org/c/openstack/sushy-tools/+/86262518:50
opendevreviewJay Faulkner proposed openstack/virtualbmc master: preserve secure information on xml changes  https://review.opendev.org/c/openstack/virtualbmc/+/86262018:50
iurygregoryJayF, i'm18:58
JayFiurygregory: thanks, I got ruby to help me approve the patches we need to get in18:58
JayFiurygregory: thank you for responding to the call though :D 18:58
* JayF puts away the Iurysignal18:58
iurygregorynp o/18:59
TheJuliaJayF: wow, reno used to be more kind19:04
opendevreviewJulia Kreger proposed openstack/ironic-python-agent stable/xena: CI: Make swift/Vmedia job non-voting  https://review.opendev.org/c/openstack/ironic-python-agent/+/86145419:21
* TheJulia declears "The cult of the baremetal" to be a required thing.19:32
opendevreviewMerged openstack/ironic-python-agent stable/xena: Fix software raid output poisoning  https://review.opendev.org/c/openstack/ironic-python-agent/+/85777220:00
opendevreviewDavid Hill proposed openstack/virtualbmc master: Add flags libvirt.VIR_DOMAIN_XML_SECURE to tree  https://review.opendev.org/c/openstack/virtualbmc/+/86263820:19
* TheJulia sighs20:21
opendevreviewMerged openstack/sushy-tools master: preserve secure information on xml changes  https://review.opendev.org/c/openstack/sushy-tools/+/86262520:35
opendevreviewMerged openstack/virtualbmc master: preserve secure information on xml changes  https://review.opendev.org/c/openstack/virtualbmc/+/86262020:48
stevebaker[m]JayF: the failure for https://review.opendev.org/c/openstack/ironic-lib/+/860175 it looks like the filename layout for centos-8-stream has changed https://zuul.opendev.org/t/openstack/build/06fbe60c0cf94102bf02a1ed65bacd5b/log/job-output.txt#2851320:50
stevebaker[m]https://cloud.centos.org/centos/8-stream/x86_64/images/20:51
JayFstevebaker[m]: if you could fix it you'd be a hero20:51
JayFI'll send you a grab-envelope full of stickers lol20:51
stevebaker[m]yup looking now20:51
JayFthank you \o/20:55
stevebaker[m]JayF: actually I think the problem is the job is installing diskimage-builder-3.2.1, latest dib is 3.25.0. Its a branchless project and the latest should always be installed21:01
JayFinteresting21:01
ashinclouds[m]Hmm it is pinned for some reason in a few places21:01
stevebaker[m]3.2.1 is in requirements stable/victoria upper constraints21:05
stevebaker[m]both stable/train and stable/ussuri have much newer diskimage-builder in upper-constraints21:07
JayFI wonder if this is an IPA-B constraint being pushed down into victoria (?)21:10
JayFthere was not anything in ussuri committed to bump the version21:10
stevebaker[m]diskimage-builder upper-constraints are a real roller-coaster https://paste.openstack.org/show/bfyRl4fm6JwuUqw9qVKX/21:18
JayFthat makes me think the previous statement isn't true?21:19
JayFabout T/U having newer DIB than V? 21:19
stevebaker[m]ussuri upper-constraints.txt diskimage-builder===2.35.021:21
stevebaker[m]victoria upper-constraints.txt diskimage-builder===3.2.121:21
stevebaker[m]wallaby upper-constraints.txt diskimage-builder===3.20.321:21
stevebaker[m]lol, I didn't notice major number went to 221:22
JayFyeah, I figured, these things sorta start blending together21:22
JayFI had to look 3-4 times to make sure I didn't do the reverse21:22
stevebaker[m]dib has some but minimal pip requirements, I wonder how aggressive we could be raising uppper-constraints in stable requirements. Since its branchless we should in theory be running the latest release always in all branches21:25
stevebaker[m]https://opendev.org/openstack/diskimage-builder/src/branch/master/requirements.txt21:25
stevebaker[m]I think V onwards could run the latest dib, and T, U can run the version before python2.7 was dropped21:31
JayFyeah it's weird to me, and IDK if I'm thinking about this right21:33
JayFbut it's strange that DIB version is tied to stable branch at all21:33
JayFbecause it's not always meant to be co-installed21:33
JayFbut that being said; also most people running Ussuri Ironic will be running Ussuri-adjacent dib21:33
stevebaker[m]sometimes yeah. Not always though21:36
stevebaker[m]JayF: OK, 3.4.0 changed the centos base image to the new style. This means any job using dib 3.3.1 or earlier won't be able to pull a centos-8-stream image21:40
stevebaker[m](possibly other centos versions too21:41
stevebaker[m]dib 3.0.0 dropped py27 support21:41
JayFI wonder if DIB is branched21:41
JayFif we can push 3.3.2 with the new path or something ? 21:41
stevebaker[m]it is deliberately not branched21:41
JayFI do not know the solution to this problem21:42
JayFif I were in your shoes, I'd probably hit the mailing list and see if there's any wisdom21:42
JayFwe can't be the first project to run against this (I hope :X)21:42
stevebaker[m]We could try just running latest dib from V onwards. I think T, U would need to drop jobs that involve building centos images21:45
stevebaker[m]or evolve to a hard-coded image or something21:45
JayFYeah; none of that sounds ideal21:47
JayFbut we can drop the jobs for centos if that's one of the options21:47
stevebaker[m]I'll propose the change back to victoria and see what happens21:51
opendevreviewVerification of a change to openstack/ironic-python-agent stable/train failed: CI: Zuul no longer respects queue param  https://review.opendev.org/c/openstack/ironic-python-agent/+/86019021:57
opendevreviewSteve Baker proposed openstack/ironic-lib stable/victoria: CI: Zuul no longer respects queue param  https://review.opendev.org/c/openstack/ironic-lib/+/86017522:05
stevebaker[m]lets see what a Depends-On to https://review.opendev.org/c/openstack/requirements/+/862651 does22:05
stevebaker[m]JayF: I think this needs to be backported to train too https://review.opendev.org/c/openstack/ironic-python-agent/+/845371 because of https://zuul.opendev.org/t/openstack/build/2f91b1f1fb8a450bb69f90e128a6737a/log/job-output.txt#46022:22
stevebaker[m](no python-dev package on jammy)22:22
JayFT supports py2.7, right?22:23
opendevreviewSteve Baker proposed openstack/ironic-python-agent stable/yoga: Drop python2 from bindep.txt  https://review.opendev.org/c/openstack/ironic-python-agent/+/86265322:26
stevebaker[m]JayF: yes, and py27 is green. So either it is not running on jammy, or it doesn't need to build packages from source to run (so it doesn't use or install python-dev)22:29
JayFinteresting22:29
JayFI don't understand all of this, I trust you will do the right things 22:30
JayFand I will take a review pass on all the stuff you have up tomorrow22:30
JayFright now my brain is pretty fried22:30
stevebaker[m]lol I know what I'm doing? ;) If py27 stays green with the backport then I'll be happy but not necessarily know why22:31
JayFIf you don't know what you are doing, nobody else will ;)22:32
opendevreviewSteve Baker proposed openstack/ironic-python-agent stable/xena: Drop python2 from bindep.txt  https://review.opendev.org/c/openstack/ironic-python-agent/+/86265422:34
opendevreviewSteve Baker proposed openstack/ironic-python-agent stable/wallaby: Drop python2 from bindep.txt  https://review.opendev.org/c/openstack/ironic-python-agent/+/86265522:35
opendevreviewMerged openstack/ironic-python-agent stable/xena: CI: Make swift/Vmedia job non-voting  https://review.opendev.org/c/openstack/ironic-python-agent/+/86145422:36
opendevreviewSteve Baker proposed openstack/ironic-python-agent stable/victoria: Drop python2 from bindep.txt  https://review.opendev.org/c/openstack/ironic-python-agent/+/86265622:37
opendevreviewSteve Baker proposed openstack/ironic-python-agent stable/ussuri: WIP Drop python2 from bindep.txt  https://review.opendev.org/c/openstack/ironic-python-agent/+/86265822:47
opendevreviewSteve Baker proposed openstack/ironic-python-agent stable/train: WIP Drop python2 from bindep.txt  https://review.opendev.org/c/openstack/ironic-python-agent/+/86265922:50
opendevreviewSteve Baker proposed openstack/ironic-python-agent stable/yoga: Drop python2 from bindep.txt  https://review.opendev.org/c/openstack/ironic-python-agent/+/86265322:54
opendevreviewSteve Baker proposed openstack/ironic-python-agent stable/xena: Drop python2 from bindep.txt  https://review.opendev.org/c/openstack/ironic-python-agent/+/86265422:54
opendevreviewSteve Baker proposed openstack/ironic-python-agent stable/wallaby: Drop python2 from bindep.txt  https://review.opendev.org/c/openstack/ironic-python-agent/+/86265522:55
opendevreviewSteve Baker proposed openstack/ironic-python-agent stable/victoria: Drop python2 from bindep.txt  https://review.opendev.org/c/openstack/ironic-python-agent/+/86265622:55
stevebaker[m]Spamming done for now, lunch time22:56
TheJulia\o/22:56
opendevreviewMerged openstack/ironic-python-agent stable/ussuri: Use utf-16-le if BOM not present  https://review.opendev.org/c/openstack/ironic-python-agent/+/86106523:04
TheJuliais the centos8 mirror pathing impacting victoria as well?23:31
opendevreviewMerged openstack/ironic-python-agent stable/xena: Use utf-16-le if BOM not present  https://review.opendev.org/c/openstack/ironic-python-agent/+/86119723:34
opendevreviewJakub Jelinek proposed openstack/ironic master: WIP: Implements node inventory: database  https://review.opendev.org/c/openstack/ironic/+/86256923:56

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