Wednesday, 2026-08-12

opendevreviewMerged openstack/openstack-manuals master: Imported Translations from Zanata  https://review.opendev.org/c/openstack/openstack-manuals/+/100022505:47
opendevreviewOpenStack Proposal Bot proposed openstack/security-doc master: Updated from openstack-manuals  https://review.opendev.org/c/openstack/security-doc/+/100068405:56
opendevreviewGregory Thiemonge proposed openstack/election master: Adding Gregory Thiemonge candidacy for Octavia  https://review.opendev.org/c/openstack/election/+/100068907:16
opendevreviewMerged openstack/election master: Add Andriy Kurilin candidacy for Rally 2027.1 PTL  https://review.opendev.org/c/openstack/election/+/100045610:11
opendevreviewMerged openstack/election master: Adding Gregory Thiemonge candidacy for Octavia  https://review.opendev.org/c/openstack/election/+/100068912:18
JayFhttps://github.com/openstack-experimental is the existence of this a trademark concern? cc TheJulia 15:38
TheJuliaabsolutely15:38
TheJuliaAnd the creator has even acknowledged that15:39
TheJuliaon the mailing list of all places.15:39
JayFI knew the keystone-ng stuff, tbh this is the first I realized it was in an openstack-branded org15:41
JayFthat's the only reason I dredged it up15:41
fungikeep in mind that "keystone" is also trademarked by openinfra (well now by lf effectively)15:42
fungifoundation legal and trademark enforcement is also engaged already as of a few months back15:44
*** dviroel is now known as dviroel_lunch15:53
TheJuliayup16:05
gtemajayf - don't push all frustration at openstack-experimental. There is https://github.com/openstack-exporter/openstack-exporter and many others out in the wild - those are by no means different16:19
JayFThis statement is what really bothered me, to be honest. There's a lot of people who invest time and effort into governance and keeping our community unified in some technical aspects. https://usercontent.irccloud-cdn.com/file/LOtqF8Nt/part-of-openstack-soon.png16:20
JayFopenstack-exporter, or any other openstack-* I've seen misusing our trademarks make that kind of statement16:20
JayF**have not made that kind of statement16:21
gtemaso if we rename it to e.g., os-experimental you would be immediately happy?16:22
gouthamrif you changed "will" to "may", i wonder if it will actually mean what you intend?16:22
gouthamrbecause everything is an "experiment" around here at some point, and we have all these processes/infra to make that happen.. this seems like a closed experiment in one sense that's not happening in the community16:23
gtemaI just want to understand why one occurence of many where we explained the necessary temporary step multiple times causes such an issue16:24
gouthamri'm reading further on the github page, and this feels fine to me:16:25
gouthamr"This organization is not an official OpenStack namespace, but is made by the OpenStack community members to perform architectural experiments before bringing them to the mainline becomes possible."16:25
fungiperhaps part of the disconnect is that the intent of the language requirements policy is to prevent things from being an official released openstack component until there's community agreement and necessary integration needs are met, but that shouldn't stop teams from experimenting in repositories inside the openstack/ git namespace on opendev16:25
JayFThe temporary step is essentially building something outside of the community to try and route around the work to get the community using an additional language. This bothers me at a basic level as someone who cares about governance.16:25
* JayF == fungi 16:25
gtemabtw - just changed the "will" to "may" as suggested16:25
JayFAnd I know how upset I'd be if I found that someone had used LLMs to recreate Ironic -- including using our name -- in another language.16:26
JayFEven though I'm not invested in keystone; I'm invested in the community indicating that ^ is not an OK pattern16:26
fungi(or even in the same language presumably?)16:26
JayFfungi: yeah, really. I'm thinking chardet tbh16:26
gtemaI do keystone in python, I do keystone in Rust, what is your concern with that?16:27
JayF(context: https://www.phoronix.com/news/Chardet-LLM-Rewrite-Relicense )16:27
JayFMy concern is that keystone is a term that refers to official openstack deliverables written in python. There is no keystone in rust.16:27
gtemanot officially, because rust is not allowed. But that does not forbid us experimenting with how it would look like if we would rewrite it to improve it16:28
gtemawe as team made decision to try it out, and present results to community for the evaluation16:29
gtemaotherwise it would be another "water" of talking without facts16:29
fungii don't see a problem with creation of a https://opendev.org/openstack/keystone-rs repository for the keystone team to experiment with a proof-of-concept reimplementation in rust, getting started putting the necessary ansible roles in place to effectively test it with zuul jobs and so on16:30
fungiit just wouldn't be part of the openstack release officially until the various requirements of the language policy were met16:30
JayFfungi: to me, I personally agree, but part of my care is ensuring that such an approval go through the elected technical project leadership16:30
JayFfungi: if not, the TC might as well disband today or be replaced with a mechanical turk16:30
fungiwell, it would still be up to the tc to agree when keystone-rs is ready to be an official alternative16:31
gtemafungi: we were evaluating doing initial dev on opendev, but decided against since the initial work is what would put a lot of additional unrelated effort. Now we are ready to invest in it sicne we see the results16:31
gouthamryes, and i don't see that proposal yet.. there is however a proposal to make rust an official language.. the tc's reviewing16:31
gouthamrhttps://review.opendev.org/c/openstack/governance/+/99865216:32
gtemagouthamr - proposal of what? Proposal of moving of keystone-rs to opendev?16:32
gouthamrdon't be alarmed there are no comments posted.. i for one have draft comments and haven't gotten time to click buttons and post16:32
gouthamrand people are observing holidays/vacations16:33
gtemasure, also a vacation period so I am not alarmed16:33
JayFThis is all I really care about; tbh. I want things in the right places and following the right processes because quite frankly, I think one of our biggest competitors can potentially be LLM coded remakes of many openstack services. At that point, the real value of OpenStack will be the brand and trust we've built through decade+ of stable and security support.16:34
JayFand as a US-ian, I have personally observed that "trust people to generally do an OK thing" is not as safe of an approach to governance as "ensure the enforcement mechanisms kick in if people go outside the lines"16:35
gtemabut that is exactly the reason why the community should have more flexibility with the used technologies, competitors do not care, and if I would be competitor I would not name it openstack-experimental or keystone-rs and a proposal to start adopting rust - I would just name it keystone and start selling it16:37
gtemaI have still a feeling you somehow misunderstands the whole idea about keystone-rs - it is attempt by the community to imrpove our stand against competition. It is done FOR the community16:38
fungiwell, if you named it "keystone" and started selling it in any regions where the foundation has that name trademarked, you'd be looking at an expensive infringement lawsuit, but i assume you meant sell it under some non-infringing name (your company's legal department wouldn't responsibly let you sell something with a name that could cost you a lot in legal damages)16:42
gtemait was just an example grown from previous statement regarding competitors rewriting with LLM the whoe OpenStack16:43
fungiyes, as the hypothetical competitor in your example i mean16:43
gtemacould be16:44
fungianyway, i think a lot of the animosity would be side-stepped if teams conducted poc experiments in the same code review system where they work on their official release deliverables. it'll be a prerequisite for any official approval in the end anyway, and when it's involving a new programming language there's really no better way to get buy-in from the rest of the project where16:48
fungiother teams may want to do similar experiments and could share some of the same base infrastructure and collaborate on establishing norms, patterns, workflows16:48
fungiwe had repositories with golang code in them as part of figuring out what the tc's requirements for golang-based projects should be16:49
fungiotherwise there's a catch-22 problem16:49
gtemafungi - agreed. It would be great if a guideline for that would have existed describing what you say. Maybe the result of our experiment could be exactly such a guidance16:51
fungiwithout any rust-based projects sharing the same developer infrastructure as the rest of the project, it's hard for the tc to be reasonably informed as to what that would require16:51
fungiand developing a rust-based project in github doesn't directly translate to what requirements should be for having one in openstack16:52
gtemadon't forget we are now many steps further compared to the current "new language guidance" or what I read between lines position of some others: we have a code and a proov and not only an unproven idea16:53
gtemas/proov/proof/16:53
fungiyes, but it's not being built and exercised in ci by zuul jobs, for example, so the requirements for being able to do that are presently unknown (though some guesses could be made). decisions for how documentation trees in such a project should be organized and what toolchains should build them, how translations will be managed with weblate, how dependencies will be vetted and16:55
fungicoordinated with other rust-based deliverables...16:55
gtemaI am using rust jobs in the codegenerator repository since more than a year for pushing results to github cli repo16:56
gtemaso some things are definitely tested16:56
gtemayou need to at least accept - developing such experiment on opendev leads to high "overhead" that would be "wasted" should the experiment fail or at the end new programming language not accepted. I am not able to invest so much more16:58
gtemaI mean speculatively16:58
fungii see a lot of references to rust in https://opendev.org/openstack/codegenerator but the only thing i'm finding that's rust-like source code is in a jinja template17:01
gtemait uses jinja templates to produce rust code. It is then applied on top of github repo checkout and compiled17:01
gtemahttps://opendev.org/openstack/codegenerator/src/branch/master/playbooks/rust/all.yaml17:02
fungigot it. so that's how you'd recommend structuring rust-based openstack projects in opendev17:02
gtemathis is more a cornercase scenario though17:02
fungito be fair, i'm unfamiliar with rust development workflows, i've used cargo to compile some stuff occasionally but haven't seen the jinja template approach17:03
gtemanot necessarily the same way, as said codegenerator overlays generated code on top of existing and compile it. It is not doing a regular "let's build, test and publish"17:03
gtemathe keystone-rs usecase would be more similar to our current python based jobs with "build", "test", etc17:04
gtemacargo can be compared to uv17:04
gtemato certain extend17:05
fungihow do you manage system dependencies (librust, cargo, other toolchain components)?17:05
gtemait is a top level build tool, and you would "cargo build", "cargo test", "cargo publish", etc17:05
fungiwith bindep or some other mechanism?17:05
fungiyeah, i get that cargo is like make or other workflow tools17:05
fungii'm more interested in the steps that come before running cargo17:06
gtemacurrent rustup zuul job takes toolchain version. We would map mutltiple independent jobs like py312, py312 just for rust for using different compiler versions17:06
gtemabut that is rarely necessary17:07
JayFcargo is very much a tool built in the "if you don't have it, bring it yourself" sense17:07
JayFit can be annoying to work with from a package manager POV, but it's pretty great from a "I just want it to work" POV17:07
fungiokay, so rustup is another tool that takes care of things like finding which librust you need for the target platform and stuff, like autotools in traditional c-based projects?17:07
gtemawe have "ensure-rust" role now in zuul that is used by codegenerator17:07
gtemaand it is capable of taking param of toolchain version17:08
JayFfungi: rustup is the (I think official?) tool used to install + keep up to date an upstream rust binary17:08
gtemayes, correct17:08
gtemahttps://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-rust17:09
gtemaso we would basically build jobs that use "ensure-rust" followed by executing "cargo build" or "cargo test"17:09
gtemanot different to what we do now in py17:10
JayFI suspect one of the interesting-shaped problems rust will have (go has this too) compared to python is that, depending on security policy, you may need to ensure for some downstream bugs we rebuild binaries even if code is the same (or do scheduled rebuilds, or stop offering binaries on a "forever" timescale)17:10
fungiwell, yes, we already have a governance policy that states binary artifacts are strictly out of scope17:11
JayFnot to mention generally getting folks who know rust on the VMT, but that's more of a self-solving problem. I'm more curious about how to approach long-term-support of rust deliverables when that ecosystem doesn't really like that model17:11
fungiopenstack releases source code, not compiled binaries17:11
gtemarust has lock files just like python's uv, this way you can force rebuild17:11
fungithe expectation currently is that distributions take our released source code and create binary packages with their own downstream build toolchains anyway17:12
gtemaI am not 100% sure we need to release binaries at all - we publish code to the rust ecosystem (similar to pypy) and the distro tools can build binaries themselves17:12
JayFfungi: I think that scope itself is something that should be re-evaluated in light of a language like rust (vs a language like python)17:12
JayFgtema++ not releasing binaries at all would be one interesting solution17:13
fungiit's the solution i would push for if that decision gets re-litigated17:13
gtemawith the package released to crates.io you install (building locally) with "cargo install <package>"17:13
JayFpart of this is why adding new languages is tough, you almost gotta re-evaluate policies for "spirit of the law" in context of the new lang17:13
fungiwe don't have the bandwidth to track vulnerabilities in dependencies, never have, and i don't see that changing17:13
gtemadistros are building rpm/pkg exactly this way17:13
JayFgtema: I'm having to supress my #gentoo-* support coded "WAIT NO DON'T" to use of `cargo install $thing` :D 17:14
gtema:)17:14
fungiwell, it's no different from distro package builds invoking `make install` you just install to a tree that you then package up17:14
gtemaI just know all major distros are always building packages directly from crates.io or actually by embedding source code into their srpm17:15
JayFfungi: yeah, but no quick start guide I've seen is like "BTW, make sure prefix is opt or usrlocal :D)17:16
gtemathe only "interesting" usecase is releasing container images with the built rust code - I have a very good experience with microcontainers only having the binary and no sh inside17:16
fungii mainly know debian packaging since i do some of it, and the requirement there is that all dependencies are also packaged and built from source17:16
JayFfungi: do they try to integrate deps, or do an independent stack build for each binary?17:16
gtemafungi - correct, this is also something zigo was confirming in the mailinglist17:16
fungiand needs to be able to build hermetically without network access entirely from local copies of source17:16
JayFfungi: meaning like, does rust-myapp use the same version of myapp-rust-lib as rust-myotherapp, or can they dep on separate ones17:17
gtemait depends like with all binaries - rust support dynamic loading17:17
fungithe expectation is that all packaged software agrees on one consistent set of dependencies17:17
*** dviroel_lunch is now known as dviroel17:17
gtemabut from the building - static linking only for things built from source17:18
JayFgtema: well, I was asking from a package mangaer POV. For instance, contrary to what fungi reported for debian, Gentoo generally will "obey" the cargo lock files and make a separate source bundle for download17:18
funginot because the language can't have different components with different versions of dependencies, but because tracking and fixing security vulnerabilities in dozens of versions of the same library is untenable17:18
JayFe.g. it might get myapp.crate for source (IDK the actual extension?) + myapp.crate-version.tar.gz with all the rust source deps inside17:18
fungiif the distro isn't on the hook for actually securing the versions of software they package then it may be a different story17:19
JayFGentoo def. follows the "it's SECURABLE" model17:19
fungibut at least in debian's case there's a strong push for exactly one version of a library in the distro release17:19
JayFbut it's hard for a lego blocks style distro to be secure outta the box 17:20
fungiand so projects get patched to work with the same version of that library where possible17:20
JayFyeah that'd be infinite work for a rolling relaese distro. both decisions make sense in context17:20
fungiwell, debian is effectively under continuous development too, it's no less work there. mainly it's one of the reasons to just not package a project if it can't be flexible about what library versions it will work with17:21
fungiif trying to make an application work with the same versions of libraries as other packaged applications is too hard, then it's not packaged/distributed17:22
fungior gets dropped from the distribution when that problem arises17:22
fungifrom openstack's perspective we'd want to avoid putting distributions in that situation, so i think would adopt a policy that at least all of *our* rust-based deliverables should agree on common versions of dependencies and hopefully mostly the same dependencies in order to limit sprawl17:23
zigoThere may be 2 versions of a lib at a given time, to allow ... transitions ! :)17:23
fungiof course17:23
fungibut that's a temporary situation until all applications have rebuilt on the new lib17:25
zigoThe same is true for Python stuff, except there's only one version. It has been painful at times, like when switching to SQLAlchemy 2.x.17:25
JayFyeah. Gentoo has entire projects to handle that kinda work for C and Python. I just don't think anyone had the taste for it for golang/rust.17:26
zigoYeah, and that's only for dynamic libs, this does not apply to static builds like rust.17:26
gtemazigo - is lock file respected of the main dep versions from Cargo.toml?17:26
gtemaI think with the policy like you describe Cargo.lock should not be used at all17:27
zigoNot sure, though we patch Cargo.toml sometimes to make it more permissive.17:27
zigoI'm not very good at rust packaging (yet).17:28
gtemathan most likely only Cargo.toml is really read17:28
gtemaCargo.lock strictly binds the version while Cargo.toml describes range17:28
zigoGot rabbitmqadmin-ng to RC bugfix (fungi, if you have time, I need help for it), which is annoying me for deps versions...17:29
fungialso it's fair to say that the "rust team" in debian does things a little differently from other language teams, which has created some friction in the poast17:29
fungipast17:29
clarkbwhat is the high overhead for starting such an experiment in opendev? it should take about 10 seconds to create a breanch in the keystone repo called experimental-rust or whatever and then you're set17:29
gtemafungi - I feel even python is packaged in debian very differently to RH17:30
clarkbI feel like that assertion just isn't based in reality and is instead an opinmion that keeps getting thrown around but the overhead is really small and imo comparable to clicking the fork button in github or whatever system you use instead17:30
gtemaclarkb - artifacts publishing (including containers) is something that just require additional (unnecessary for the moment) work. And please don't (respectfully)  start with "you can always put credentials to quay.io into your secrets" and push them there17:32
fungigtema: oh most things in debian are packaged differently than how rh approaches it, but my point was that the debian rust team packages things differently than is typical for most other debian packages17:33
clarkbwhy is that not a valid response? I/we use it for many systems and it works fine.17:33
gtemawe are also heavily using gh issues for planning and even for security work. Also dependabot is in heavy use17:33
clarkbbut ok the problem isn't the code hosting and review its publication of artifacts and yes that takes a few extra steps17:33
fungigtema: it sounds like you've built up a project in a separate ecosystem which is going to make it harder to move when the time comes?17:34
clarkbbut it is completely doable and we do it every day. And it comes with useful extra features like speculative execution17:34
gtemahardcoding secrets, even encrypted, is not what you should do when you have possibility of not having any secrets at all17:34
fungigtema: zuul supports acting as an oauth federated provider too17:34
gtemaclarkb - I didn't say you can't do it, I say - it is not worth of invest at this stage and from security pov is not what you should do at all17:34
fungiyou authorize it and then don't need secrets17:34
gtemadon't forget oauth support is not existing very long17:35
clarkbgtema: no you said 'please don't (respectfully) start with "you can always put credentials to quay.io into your secrets" and push them there' which is a non starter conversation and comes across as being unwilling to have a dialogue around what the actual concerns/issues are17:35
gtemaI mean you can argue this for new projects, but not for something what is there since a year already17:35
clarkbI appreciate that you've actually expanded on what your concerns are. But starting with "don't talk to me about this" is not helpful17:36
gtemawe we having this conversation already and I knew quite good what you will say. But sorry if that didn't sound polite enough17:36
gtemawere17:37
gtemaI would again summarize: overhead of publishing containers, missing dependabot (or any other bot for automatic bumping of dependencies) and literally lack of reasonably usable issue tracker17:38
clarkbits not even that it is is rude. Its that OpenDev is built on the idea that we can and should work together to make the tools we rely on to build software more capable. And shutting down before we can even have that discussion is detrimental17:38
gtemalauchpad is a torture17:38
fungii'm sure they love hearing that too17:39
gtemaone of the things that is done in keystone-rs is a major rework of the federation/oidc/oauth support so that it would allow zuul provision and auth into VMs without any creds (once clouds deploy it)17:39
clarkbfwiw opendev does not require you to use launchpad. Some projects do use github issues. I think starlingx uses their own jira?17:40
gtemaI know, but it is much much more comfortable when you have code and issue tracker in one tab17:40
fungibut not every community can invest the sort of money into these services that microsoft can, i don't think that's a reason to give up and just use microsoft17:40
gtemaI asked few times few years ago whether we can use gitea issues. I understood explanation and thus not repeating the query anymore. But that would definitely make it so much easier17:41
gtemaat least for me17:41
fungiyes, the main blocker there is finding someone with the time to push efforts like our central sso spec forward17:43
clarkbunfortunately the cluster is still split up as independent gitea instances. And with the state of the internet in the last few months converting gitea to a read write setup is looking more involved17:43
fungiright, but a prerequisite to even considering that would be having a way to bridge identities to our services 17:44
clarkbI get the sense that codeberg is in a never ending battle (as are github et al). Our read only mirror system buffers us a bit17:44
gtemapros and cons are everywhere, and they are having different weight for everybody. That's why every person is making a different choice17:45
zigofungi: I will *NOT* use the rust team mono-repo non-sence !17:47
gtemayeah, my chin fell off when I saw that17:48
fungizigo: understandable, i don't really get why they make that choice either17:51
zigoLots of DDS feel the same.17:52
JayFhttps://codeberg.org/gentoo/gentoo/src/commit/7a7ae7bf98a559969fe6b812e6d969c953c01ff1/sys-apps/ripgrep/ripgrep-15.2.0.ebuild#L7 gentoo rust ebuilds are written in the language of sadness lol17:52
JayF"here, step 1: download 47 tarballs"17:53
opendevreviewJay Faulkner proposed openstack/security-doc master: OSSN-0107: IPA Container HWM Security Misimplmented  https://review.opendev.org/c/openstack/security-doc/+/100078422:01
opendevreviewJay Faulkner proposed openstack/security-doc master: OSSN-0107: IPA Container HWM Security Misimplmented  https://review.opendev.org/c/openstack/security-doc/+/100078422:12

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