rpittau | good morning ironic! o/ | 08:25 |
---|---|---|
dtantsur | JayF: Partly commented on Mastodon but 1) Stream is not more *-walled than Ironic (we also don't publish source RPMs, do we?), 2) eventlet is only in Stream 9+, before that it was in RDO/OSP (your link clearly has openstack-xena in it), 3) I suspect only OSP got patched (yep, that's on us). | 08:51 |
dtantsur | JayF: I believe what we did (at least that's what I proposed) is removing this line https://github.com/eventlet/eventlet/blob/v0.33.3/eventlet/green/ssl.py#L108 | 09:32 |
rpittau | dtantsur: in the failing dhcp bifrost job there is no dnsmasq.d config dir https://8b2692338bc36f15b700-3cea8240e395cd42011245fbdc9f1a59.ssl.cf5.rackcdn.com/903755/2/check/bifrost-integration-dhcp-centos-9/6f12f85/logs/dnsmasq_config/index.html | 09:42 |
rpittau | apparently the dir is lost at some point | 09:42 |
dtantsur | O_____O | 09:42 |
dtantsur | Is it present in the revert?\ | 09:42 |
rpittau | yep | 09:43 |
dtantsur | oh ffs | 09:43 |
rpittau | the Setup DHCP for nodes step never happens | 09:43 |
dtantsur | is it skipped or just.. absent? | 09:43 |
rpittau | still have no idea why | 09:43 |
rpittau | it's absent | 09:43 |
dtantsur | okay, so maybe the new collection does not set some variables we rely on | 09:43 |
dtantsur | that's a lead at least | 09:43 |
rpittau | yeah | 09:43 |
rpittau | I'll keep digging | 09:44 |
dtantsur | it's only conditional on inventory_dhcp though.. | 09:44 |
rpittau | oO | 09:44 |
rpittau | would be good to merge https://review.opendev.org/c/openstack/bifrost/+/903137 to remove some noise TheJulia JayF iurygregory please when you have a moment check that, thanks! | 09:45 |
dtantsur | hooooold on | 09:46 |
* dtantsur slowly blinks | 09:46 | |
dtantsur | ah | 09:47 |
dtantsur | OOOOOOOOH | 09:47 |
dtantsur | okay, I got it. patch incoming, you'll see what is happening :) | 09:47 |
opendevreview | Dmitry Tantsur proposed openstack/bifrost master: Configure static DHCP before automated cleaning https://review.opendev.org/c/openstack/bifrost/+/903939 | 10:04 |
dtantsur | rpittau: ^^^ | 10:04 |
rpittau | oh! | 10:11 |
rpittau | subtle | 10:12 |
rpittau | from a glance it looks good | 10:13 |
opendevreview | Merged openstack/ironic master: Fixes Raid creation in iLO6 and other BMC with latest schema https://review.opendev.org/c/openstack/ironic/+/902744 | 10:33 |
opendevreview | Dmitry Tantsur proposed openstack/ironic-lib master: Compatibility with zeroconf 0.129.0 https://review.opendev.org/c/openstack/ironic-lib/+/903815 | 10:50 |
dtantsur | zigo: ^^^ | 10:50 |
zigo | dtantsur: Thanks ! :) | 10:58 |
zigo | dtantsur: So, with your version of the patch, it's going to work with all versions of zeroconf ? | 10:59 |
iurygregory | good morning Ironic | 11:02 |
dtantsur | zigo: that's my expectation | 11:11 |
dtantsur | ERROR: Could not find a version that satisfies the requirement ansible<8,>=7 | 11:15 |
dtantsur | I hope it's transient... | 11:15 |
dtantsur | rpittau: btw is there a reason we didn't migrate straight to ansible 9? | 11:17 |
dtantsur | (meanwhile, one DHCP job passed!) | 11:17 |
rpittau | dtantsur: the only reason is to not skip a version | 11:22 |
rpittau | I was actually planning to go up, but one by one | 11:22 |
dtantsur | ah, okay | 11:22 |
iurygregory | rpittau, +W | 11:25 |
rpittau | I'll add a patch for that on top of the dhcp fix | 11:25 |
rpittau | wondering if we'll see the disk space issue again | 11:26 |
dtantsur | yep, we're seeing it | 11:26 |
dtantsur | I'm checking if we can reduce the testing VM number.. | 11:26 |
opendevreview | Dmitry Tantsur proposed openstack/bifrost master: Slightly reduce the disk size when testing DHCP https://review.opendev.org/c/openstack/bifrost/+/903948 | 11:28 |
dtantsur | rpittau: let's see ^^ | 11:28 |
opendevreview | Riccardo Pittau proposed openstack/bifrost master: Update ansible linters to current version used https://review.opendev.org/c/openstack/bifrost/+/903949 | 11:33 |
dtantsur | rpittau: the other "fun" issue we have is https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_c41/903939/1/check/bifrost-integration-dibipa-debian-centos-9/c4186e5/job-output.txt | 11:34 |
dtantsur | I'm absolutely puzzled by it. Short of just adding retries to Ironic, I have no other ideas. | 11:34 |
rpittau | oh snap, do we want to wait for the next ansible update? I can propose the patch and just leave it there instead of adding to the chain | 11:34 |
dtantsur | why? we can totally do the update, I don't think the ansible version has anything to do with these problems | 11:35 |
dtantsur | just make sure the CentOS DHCP job passes :) | 11:35 |
rpittau | yeah, I just thought to not add more stuff on top, but I guess it's not really going to interfere | 11:37 |
rpittau | thanks iurygregory btw just saw it :) | 11:38 |
iurygregory | yw =) | 11:38 |
opendevreview | Riccardo Pittau proposed openstack/bifrost master: Uplift default Ansible version to 8.x https://review.opendev.org/c/openstack/bifrost/+/903950 | 11:40 |
rpittau | let's see how all goes | 11:40 |
opendevreview | Dmitry Tantsur proposed openstack/bifrost master: CI: don't send the raw command to disable the boot timeout https://review.opendev.org/c/openstack/bifrost/+/903951 | 11:47 |
dtantsur | rpittau: another guess ^^ | 11:47 |
rpittau | mmmm ok | 11:50 |
rpittau | lol ansible linters is not connected to the ansible version, I always forget about that :/ | 11:52 |
opendevreview | Riccardo Pittau proposed openstack/bifrost master: Update ansible linters to current version used https://review.opendev.org/c/openstack/bifrost/+/903949 | 11:53 |
opendevreview | Riccardo Pittau proposed openstack/bifrost master: Uplift default Ansible version to 8.x https://review.opendev.org/c/openstack/bifrost/+/903950 | 11:53 |
opendevreview | Riccardo Pittau proposed openstack/bifrost master: Uplift default Ansible version to 8.x https://review.opendev.org/c/openstack/bifrost/+/903950 | 11:55 |
opendevreview | Riccardo Pittau proposed openstack/bifrost master: Uplift default Ansible version to 8.x https://review.opendev.org/c/openstack/bifrost/+/903950 | 11:55 |
dtantsur | rpittau: make sure to check my comment in case it gets hidden by the updates | 11:55 |
rpittau | yeah jsut saw it | 11:55 |
dtantsur | rpittau: I have a nasty suspicion. The jobs failing with pip errors are on focal. I wonder if it's because of Python version and your bump of Ansible :( | 12:02 |
rpittau | I was looking at focal too | 12:04 |
rpittau | and I think you're right | 12:04 |
dtantsur | yeah, I'm afraid so | 12:04 |
dtantsur | We need to either go back to older ansible or drop focal | 12:04 |
rpittau | focal is supported until April 2025, but it's now more than 3 years old | 12:07 |
rpittau | I'm more on dropping it than keeping an old unsupported ansible, but we need more opinions I guess | 12:07 |
dtantsur | rpittau: ansible 6 is EOL? | 12:08 |
rpittau | FYI ansible 7 support has ended 6 months ago | 12:08 |
rpittau | ansible 6 1 year aog | 12:09 |
dtantsur | Ouch. Then yes, so long Focal. Should I do the change or do you want to? | 12:09 |
rpittau | I can take care of it, but after lunch :) | 12:10 |
dtantsur | Enjoy then, I'll prepare the patch in the meantime | 12:11 |
opendevreview | Dmitry Tantsur proposed openstack/bifrost master: Drop support for Ubuntu Focal https://review.opendev.org/c/openstack/bifrost/+/903975 | 12:18 |
dtantsur | rpittau: ^^ | 12:18 |
dtantsur | Nisha_Agarwal: hi, do you know anything about HPE Compute Scale-Up server 3200? | 12:21 |
dtantsur | Someone asks me if its "partitions" support Redfish properly. They get The attribute Actions is missing - is it the issue you mentioned yesterday? | 12:22 |
Nisha_Agarwal | dtantsur, yes | 12:30 |
dtantsur | Nisha_Agarwal: ah, I see. Do you have a launchpad bug for it yet? | 12:30 |
Nisha_Agarwal | the HPE Compute Scale-Up servers are partionable servers | 12:31 |
Nisha_Agarwal | and each partition serve as a baremetal server | 12:31 |
Nisha_Agarwal | So when we enroll it in ironic we enroll the partition | 12:31 |
Nisha_Agarwal | dtantsur, No. We are planning to raise bugzilla. | 12:32 |
Nisha_Agarwal | We can raise launchpad bug id as well | 12:32 |
dtantsur | Nisha_Agarwal: could you file an upstream bug too? | 12:32 |
dtantsur | Yeah, yes please. It's not just a problem for RH OSP. | 12:32 |
Nisha_Agarwal | Yes sure . | 12:33 |
Nisha_Agarwal | For more details you can refer to https://github.com/HewlettPackard/sdflexutils/wiki and https://github.com/HewlettPackard/sdflex-ironic-driver/wiki | 12:34 |
Nisha_Agarwal | The HPE Compute Scale-Up server 3200 is a next series of these servers | 12:35 |
Nisha_Agarwal | and they are already certified with redfish driver in RHOSP 16 | 12:35 |
dtantsur | ack, thanks | 12:35 |
dtantsur | have you had a chance to test them with the most recent Ironic, not just what OSP has? | 12:35 |
Nisha_Agarwal | We tested Scale-Up 3200 without RHOSp with Bobcat release and that worked fine(obviously in non-containerized environment) | 12:36 |
dtantsur | ah, I see. so maybe an upstream bug does not make much sense.. | 12:37 |
Nisha_Agarwal | dtantsur, but this is a timing issue and a day-one bug in sushy | 12:39 |
dtantsur | Yeah, I guess what I'm curious is whether the bug is present in the master version of sushy | 12:39 |
Nisha_Agarwal | session auth-token expires and is an invalid token before the GET call is done and even after receiving the 401 status the error response is sent to the caller | 12:40 |
Nisha_Agarwal | It is there | 12:40 |
dtantsur | Okay, clear now, thanks! | 12:40 |
Nisha_Agarwal | we hit it less in latest sushy , but it is there | 12:40 |
Nisha_Agarwal | dtantsur, refer to the pdb logs here | 12:41 |
Nisha_Agarwal | https://paste.openstack.org/show/bKBx58BeU1dYEyXPnJdJ/ | 12:41 |
dtantsur | Nisha_Agarwal: we definitely have re-authentication code, I wonder what goes wrong there | 12:46 |
Nisha_Agarwal | dtantsur, Yes it gets the auth token when it gets the access error....but after that when it attempts the request call, that time the session auth-token is expired or you can say it becomes invalid | 12:48 |
dtantsur | Nisha_Agarwal: is it valid for milliseconds? Oo | 12:48 |
Nisha_Agarwal | yes if we use curl and get the auth token, and use that session auth token for further curl requests, the token is valid for very long | 12:49 |
dtantsur | then why does it expire for us? | 12:49 |
Nisha_Agarwal | so probably something to do with the library which is used by sushy | 12:49 |
Nisha_Agarwal | or probably sushy needs to allow to set the session timeout | 12:50 |
dtantsur | I cannot see how a library will be related.. | 12:50 |
dtantsur | do you set the timeout when curl'ing? | 12:50 |
Nisha_Agarwal | curl -gikx "" -X POST -H 'Content-Type: application/json' -d '{"UserName":"admin","Password":"password"}' https://<ip>/redfish/v1/SessionService/Sessions/ | 12:53 |
frickler | dtantsur: Nisha_Agarwal: not sure how your actual error looks like, but maybe https://bugs.launchpad.net/openstacksdk/+bug/2046645 is related? (just matching on "auth token" as keyword) | 12:53 |
Nisha_Agarwal | we use this command line manually when we test the servers manually | 12:53 |
Nisha_Agarwal | it doesnt look related... | 12:55 |
opendevreview | Merged openstack/bifrost master: Use fully qualified name for ipaddr filter https://review.opendev.org/c/openstack/bifrost/+/903137 | 12:56 |
opendevreview | Dmitry Tantsur proposed openstack/sushy master: Handle exceptions after re-authentication https://review.opendev.org/c/openstack/sushy/+/903979 | 12:57 |
dtantsur | Nisha_Agarwal: this won't help your problem ^^^ but will at least make the actual error clear | 12:57 |
Nisha_Agarwal | dtantsur, ok we will apply this and see... | 12:58 |
dtantsur | frickler: no, I'm afraid it's a different area of code | 13:00 |
Nisha_Agarwal | dtantsur, the issue whch u mentioned above https://bugs.launchpad.net/openstacksdk/+bug/2046645 can cause failure for sushy HTTP calls as well? | 13:04 |
dtantsur | Nisha_Agarwal: we don't use openstacksdk in any way in sushy | 13:32 |
Nisha_Agarwal | hmmm | 13:34 |
dtantsur | I'd start with checking if the re-authentication code actually works correctly | 13:36 |
dtantsur | i.e. that it does not accidentally reuse the stale token | 13:36 |
Nisha_Agarwal | dtantsur, i picked up ur above patch and see that the sushy NoValidSession error | 13:37 |
Nisha_Agarwal | obviously in pdb :) | 13:37 |
dtantsur | okay, that's an improvement :) | 13:37 |
Nisha_Agarwal | yes | 13:37 |
dtantsur | Nisha_Agarwal: how do you reproduce the bug? Does it just happen immediately for you when using sushy? | 13:38 |
Nisha_Agarwal | dtantsur, we will file bugzilla and launchpad bug both | 13:38 |
Nisha_Agarwal | Yes we hit this issue 5 out 7 times in 3.7.6 sushy version | 13:39 |
Nisha_Agarwal | without pdb | 13:39 |
dtantsur | Nisha_Agarwal: and on recent sushy how often? | 13:40 |
Nisha_Agarwal | in latest sushy 4.7.0 also same frequency | 13:40 |
Nisha_Agarwal | its the matter of luck is what we saw | 13:40 |
Nisha_Agarwal | can we configure the timeout ? | 13:41 |
Nisha_Agarwal | is it possible? | 13:41 |
dtantsur | Nisha_Agarwal: the timeout is on the server side, not on the ours.. | 13:42 |
opendevreview | Dmitry Tantsur proposed openstack/sushy master: Add release version to release notes https://review.opendev.org/c/openstack/sushy/+/903984 | 13:42 |
Nisha_Agarwal | dtantsur, ok | 13:43 |
dtantsur | Nisha_Agarwal: that's all we have in sushy: https://opendev.org/openstack/sushy/src/branch/master/sushy/resources/sessionservice/sessionservice.py#L111-L130 | 13:44 |
Nisha_Agarwal | dtantsur, i know...i have seen the code already | 13:44 |
Nisha_Agarwal | dtantsur, what i observed is that https://opendev.org/openstack/sushy/src/branch/master/sushy/connector.py#L155-L180 | 13:46 |
Nisha_Agarwal | first time it gets the token when it is not having valid session | 13:46 |
Nisha_Agarwal | but next time it doesnt get it again | 13:47 |
Nisha_Agarwal | so with ur patch now it fails there as an invalid session | 13:47 |
dtantsur | Okay, so is it fair to say that the authentication simply does not work? | 13:47 |
Nisha_Agarwal | sometimes it works, and sometimes it is an invalid session token | 13:48 |
Nisha_Agarwal | dtantsur, i will have to take half an hr break | 13:48 |
Nisha_Agarwal | will connect back after half an hr | 13:48 |
dtantsur | sure, I'm here for the time being | 13:49 |
opendevreview | Merged openstack/ironic master: Documentation: tuning worker threads https://review.opendev.org/c/openstack/ironic/+/902783 | 13:52 |
opendevreview | Dmitry Tantsur proposed openstack/virtualbmc master: Handle any error from libvirt operations https://review.opendev.org/c/openstack/virtualbmc/+/835104 | 13:53 |
dtantsur | rpittau: I wonder if ^^^ gives us some clarity | 13:54 |
opendevreview | Dmitry Tantsur proposed openstack/bifrost master: DNM test the CI https://review.opendev.org/c/openstack/bifrost/+/903677 | 13:55 |
opendevreview | Dmitry Tantsur proposed openstack/bifrost master: DNM test the CI https://review.opendev.org/c/openstack/bifrost/+/903677 | 13:59 |
*** dviroel_ is now known as dviroel | 14:23 | |
samcat116 | networking-baremetal bugs go on Launchpad correcT? | 14:38 |
samcat116 | The launchpad description says to file them on storyboard still | 14:39 |
iurygregory | samcat116, launchpad =) | 14:43 |
iurygregory | we probably need to update the description cc JayF ^ | 14:44 |
JayF | I'm pretty sure anyone in ironic drivers can do that, but I'll look at it when I get to a PC if it's not done by then | 14:44 |
dtantsur | JayF, samcat116, iurygregory, fixed | 14:46 |
opendevreview | Sven Kieske proposed openstack/networking-baremetal master: don't force amqp_auto_delete for quorum queues https://review.opendev.org/c/openstack/networking-baremetal/+/903995 | 15:29 |
rpittau | see you tomorrow! o/ | 16:10 |
opendevreview | Sven Kieske proposed openstack/networking-baremetal master: don't force amqp_auto_delete for quorum queues https://review.opendev.org/c/openstack/networking-baremetal/+/903995 | 16:50 |
opendevreview | Dmitry Tantsur proposed openstack/ironic-python-agent master: [WIP] Support several API and Inspector URLs https://review.opendev.org/c/openstack/ironic-python-agent/+/903999 | 17:01 |
dtantsur | iurygregory: have a minute? I've noticed that inspector retry tests in IPA take a long time (22 seconds for the longest), could you take a look why? | 17:04 |
dtantsur | I suspect the change to exponential retries could cause it, but I haven't dived in | 17:05 |
iurygregory | dtantsur, sure will look at it | 17:06 |
iurygregory | we can probably mock things to be 1s I think | 17:06 |
JayF | fyi https://blueprints.launchpad.net/nova/+spec/ironic-guest-metadata was approved in the nova meeting today \o/ | 17:16 |
JayF | should be the piece we need to enable automatic_lessee for Ironic | 17:16 |
JayF | erm, for nova-integrated Ironi | 17:16 |
dtantsur | more instance_info..... | 17:16 |
JayF | dtantsur: I think of it like ... get all the remaining metadata we want in there, then lock down the schema like we did for port.local_link_connection | 17:17 |
dtantsur | The biggest thing that upsets me is how all this further complicates the future deployment API | 17:18 |
JayF | So I did say, explicitly, Ironic cores had to approve this and if not we'd have to revisit in nova, so it's not a predone thing :) | 17:19 |
JayF | but it's not unreasonable to think that a deployment API needs a place for guest metadata of some kind | 17:19 |
dtantsur | I have no objections to instance name (will be Deployment name), user_id/project_id | 17:19 |
dtantsur | Flavor name.. ugh.. IP addresses UGGGHHHHH | 17:19 |
JayF | flavor is a longtime operator ask | 17:20 |
JayF | for people using integrated ironic/nova | 17:20 |
JayF | IP addresses I am also on the fence for | 17:20 |
dtantsur | I'm curious what case they have in mind | 17:20 |
JayF | they who? | 17:20 |
dtantsur | operators that ask | 17:20 |
dtantsur | for flavor name in instance_info | 17:20 |
JayF | "What flavor did someone request when booting this?" | 17:20 |
dtantsur | Why cannot they look that up in the instance? | 17:20 |
JayF | In the cases I've personally wanted it, I wanted it in the ironic notification tbh | 17:21 |
JayF | the other asks; I don't know | 17:21 |
dtantsur | Esp. since flavor name is super hairy: it can be deleted or completely changed in-between | 17:21 |
JayF | oooh that's a pretty good point | 17:21 |
dtantsur | This is, by the way, why newer Nova microversions don't expose flavor name | 17:21 |
* dtantsur knows that because rust-openstack | 17:21 | |
JayF | heh | 17:21 |
JayF | dtantsur: I can be +1 to dropping flavor name with that context | 17:23 |
dtantsur | I can imagine use cases for IP addresses, but it's also really scary. Then we're one step away from standalone users wanting to set them, and we're down a rabbit hole.. | 17:23 |
dtantsur | Yeah. If nova no longer exposes flavor name, we probably shouldn't either. | 17:23 |
iurygregory | dtantsur, before: Ran: 33 tests in 22.6581 sec. after: Ran: 33 tests in 4.0256 sec. (tox -e py3 -- test_inspector) | 17:24 |
JayF | the hell did you fix, holy cow! | 17:25 |
dtantsur | \o/ | 17:25 |
iurygregory | just adding something to configure the max time in the exponetial | 17:25 |
iurygregory | lol | 17:25 |
iurygregory | and setting to 1s in the tests lol | 17:25 |
JayF | bwahaha | 17:25 |
JayF | why do our tests take 1 hour 13 seconds? | 17:25 |
JayF | Hey boss, I commented out that "sleep(1h)" | 17:26 |
iurygregory | :D | 17:26 |
iurygregory | @mock.patch.object(inspector, '_RETRY_WAIT_MAX', 1) *MAGIC* | 17:26 |
JayF | dtantsur: thanks for that feedback, sounds like you saved me from a footgun | 17:26 |
dtantsur | sure thing :) | 17:26 |
JayF | dtantsur: updated to indicate flavor uuid, per sean mooney's feedback, and updated with a note that we can basically send *less* fields if we want when implementing | 17:27 |
opendevreview | Iury Gregory Melo Ferreira proposed openstack/ironic-python-agent master: Fix inspector retries to not take a long time https://review.opendev.org/c/openstack/ironic-python-agent/+/904021 | 17:30 |
iurygregory | done =) | 17:30 |
iurygregory | brb 1-1 | 17:31 |
dtantsur | thanks! | 17:32 |
opendevreview | Dmitry Tantsur proposed openstack/ironic-python-agent master: Support several API and Inspector URLs https://review.opendev.org/c/openstack/ironic-python-agent/+/903999 | 17:59 |
opendevreview | Dmitry Tantsur proposed openstack/ironic-python-agent master: Make inspection URL optional if the collectors are provided https://review.opendev.org/c/openstack/ironic-python-agent/+/904026 | 18:32 |
opendevreview | Merged openstack/ironic-python-agent master: Fix inspector retries to not take a long time https://review.opendev.org/c/openstack/ironic-python-agent/+/904021 | 21:41 |
JayF | A gentoo dev pointed me at a python upgrader tool, supposed to upgrade code to the latest python versions you tell it to, remove old idioms, etc | 21:53 |
JayF | Curious to see if I can get some usefulness out of it | 21:54 |
iurygregory | interesting | 21:55 |
iurygregory | if it updates unit tests / code to work on the right python version you can apply to eventlet lol | 21:56 |
iurygregory | sorry, couldn't resist to think how this would play on it | 21:56 |
JayF | oh, you read my mind, essentially | 21:57 |
JayF | there was a conversation about the ethics of pulling versions from setup.cfg without pulling compat code | 21:57 |
JayF | (mainly the argument was, if it half-works, someone could assume it fully works) | 21:57 |
iurygregory | yeah | 21:58 |
JayF | but it was pointed out to me by Eli (meson dev) that tools exist -- like `ruff` which do some of that work for you, so I'm curious and digging in now, using Ironic/IPA as examples b/c I'm more familar | 21:58 |
JayF | but if the tool works well a PR to eventlet is 100% the end goal | 21:58 |
JayF | although the more I think about it, we have like, 100 openstack repos | 21:58 |
JayF | getting a config that works for a tool like this could be extremely useful | 21:58 |
iurygregory | yeah | 21:59 |
iurygregory | agree ++ | 21:59 |
opendevreview | Jay Faulkner proposed openstack/ironic-python-agent master: Change code to >=python3.8 compatability https://review.opendev.org/c/openstack/ironic-python-agent/+/904041 | 22:29 |
JayF | ignore ^, just science as mentioned | 22:43 |
JayF | and it looks like ruff would have to be put in as a linter (like you'd use a tool like black) to be generally useful for us in most cases | 22:43 |
JayF | https://github.com/astral-sh/ruff/issues/9203 at least I got to generate an upstream bug by proxy lol | 22:49 |
tonyb | JayF: So ruff can be told to "reformat" code to be compatible with a minimum python version (via target-version?) | 22:59 |
JayF | yes | 22:59 |
JayF | My assessment is: it's pretty awesome but also pretty immature, as seen by the above issue | 22:59 |
JayF | and that it is written with the assumption you put it in CI and run it, similar to how you would a tool like black | 23:00 |
JayF | so it's going into my toolbox with two use cases: | 23:00 |
iurygregory | how it knew you used in the IPA code base? O.o | 23:00 |
iurygregory | WOW | 23:00 |
JayF | 1) Like Eli used it here (the person in Gentoo community who showed it to me) to do eventlet https://github.com/eventlet/eventlet/pull/853 | 23:00 |
JayF | which needed a LOT of heavy lifting so the manual work around the automation was worth it | 23:01 |
JayF | iurygregory: Eli is a friend from another community; the person who showed me the tool and who I griped to when it did that LOL | 23:01 |
tonyb | JayF: Okay. If you could share a "quick'n'easy" here's how you run ruff on $project that'd be really cool. | 23:01 |
iurygregory | JayF, oh | 23:01 |
tonyb | Understanding it's new and results will vary | 23:01 |
JayF | tonyb: what project you thinking of? | 23:01 |
JayF | tonyb: let me PR a config up for you as a demo | 23:01 |
JayF | as like a tox target, not even PR'ing the results | 23:01 |
tonyb | JayF: I'd probably start with something I know like requirements | 23:03 |
JayF | basics are: | 23:03 |
JayF | (1) add config to .ruff.toml or pyproject.toml in root of repo (https://docs.astral.sh/ruff/configuration/) | 23:03 |
JayF | (2) run `ruff check` from the root of the project | 23:03 |
JayF | (3) run `ruff check --fix` from the root to fix the stuff; and `ruff check --fix --unsafe-fixes` if you're feeling spicy | 23:03 |
JayF | tonyb: my .ruff.toml for that run was basically just: `target-version = "py38"\n [lint]\n select = ["UP"] \n ignore = ["UP031"]` | 23:04 |
tonyb | JayF: Perfect | 23:05 |
JayF | I had to fix expected for like, 7 unit tests | 23:08 |
JayF | where it removed the mode from open(/blah, r) and didn't remove it from some of our mocks | 23:08 |
JayF | I've wanted to do an autoformatter proposal for ironic for a while, this tool might push me over the edge to do it if I can get a loose consensus before I do most of the work | 23:09 |
JayF | especially if you like the tool too and would consider adoption | 23:09 |
JayF | I'll note it is written in rust; I know some people dislike that for irrational (or rational-to-them reasons :P) | 23:10 |
tonyb | I'll play with it and see where it takes us. | 23:11 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!