Wednesday, 2025-07-16

opendevreviewStephen Finucane proposed openstack/service-types-authority master: docs: Fix typo  https://review.opendev.org/c/openstack/service-types-authority/+/95387610:02
opendevreviewStephen Finucane proposed openstack/service-types-authority master: Apply ruff  https://review.opendev.org/c/openstack/service-types-authority/+/95356210:02
opendevreviewStephen Finucane proposed openstack/service-types-authority master: Remove packaging files  https://review.opendev.org/c/openstack/service-types-authority/+/95356310:02
opendevreviewStephen Finucane proposed openstack/service-types-authority master: Add retired attribute  https://review.opendev.org/c/openstack/service-types-authority/+/95358410:02
opendevreviewStephen Finucane proposed openstack/service-types-authority master: Mark retired APIs as such  https://review.opendev.org/c/openstack/service-types-authority/+/93081110:02
opendevreviewStephen Finucane proposed openstack/service-types-authority master: Post-ruff follow-ups  https://review.opendev.org/c/openstack/service-types-authority/+/95517510:02
sean-k-mooneyim kind of disturbed to see that https://opendev.org/openstack/os-service-types exists, from my perspectives SIG dont own any athoritive repos in general. this to me is at best infromational. the athoritive source of what service types are used/supported is the project that implement that service endpoint. espically given the api sig has been defunt for years im srupised we are10:10
sean-k-mooneynot retiring this repo configuring it via project.yaml  offically os-service-types is actully a deliveralble of the sdk by they way https://github.com/openstack/governance/blob/master/reference/projects.yaml#L1794-L1796 it grew out of shade and has never actully been a repo manged by the api sig https://github.com/openstack/governance/blob/master/reference/sigs-repos.yaml as far10:10
sean-k-mooneyas i am aware this has never been a tc devliverable and i dont think new service or renames need to go though the tc. it could but the existing of this repo has never been documened in the project creation guide https://docs.openstack.org/project-team-guide/preface.html that just links to the open dev one https://docs.opendev.org/opendev/infra-manual/latest/creators.html which10:10
sean-k-mooneyobvioulsy does not link to any opnestack sepcific requirements. the end result of this is https://opendev.org/openstack/aetos is not in os-service-types becaue no one including the tc even mentioned that new service should be listed there. from https://specs.openstack.org/openstack/watcher-specs/specs/2025.2/approved/prometheus-multitenancy-support.html#proposed-change we have10:10
sean-k-mooneycapture the details form teh telemetry team that """It’s expected for Aetos to always have an endpoint registered in keystone with service name ‘aetos’ and service type ‘prometheus’."""10:10
sean-k-mooneywhat do i have to tell the telemetry team to do? update os-service-types and have the sdk team review/merge it or do they have to come to the TC? or can we proceed without updating it since the services are the athoritive soruce?10:13
opendevreviewMerged openstack/service-types-authority master: docs: Fix typo  https://review.opendev.org/c/openstack/service-types-authority/+/95387610:14
sean-k-mooneyill also point out that since microversion were first intoduced by nova in 2.1 we have supproted registring nova as nova_legacy with service type compute_legacy and that has never been tracked in os-service-types. we dont actully need to fix that as we resolved to deprecate 2.0 this cycle to remove in a future release10:22
sean-k-mooneyhttps://specs.openstack.org/openstack/nova-specs/specs/2025.2/approved/deprecate-v20-api.html10:22
fungisean-k-mooney: where did sigs come into that? the sigs discussion tangent was about possibly adopting x/gerrit-dash-creator11:59
sean-k-mooneyoh ok i tought hte assertion was that it was a deliverbale of the api sig11:59
sean-k-mooneyi may have mis read that scrol back. 11:59
sean-k-mooneywhen i clicked into the goverance change form stephen i tought the assertion "was movign it under sdk" impliing it was not already and sdk devlierbale was not a good idea12:01
sean-k-mooneyfungi: anyway the main point of my rant is this repos existing and if it need to be udpated is not documemnt and not common knowladge, its obviouly not well maintianed so do we actully need to ask the telemetry team to add aetos to it and the promethus service type? and if so does that need tc involvement12:02
fungithough yes looking through the projects.yaml git history, openstack/os-service-types was added as a deliverable of the OpenStackSDK team in https://review.openstack.org/523520 about eight years ago12:02
fungi(previously the shade team)12:02
sean-k-mooneywhich realsiticlly ws the same team/people that was just a brandign exersize fo sort and consolidation12:03
fungiit was added to the shade team about half a year before the rename12:03
fungiin https://review.openstack.org/48074812:04
sean-k-mooneyso i think this grow out of monty trying to normalise the way that openstack serivce were deployed in diffent public clouds.12:04
sean-k-mooneyi.e. getting away form needing to have shade paper over those diffences12:04
sean-k-mooneyby trying to standardise it12:04
sean-k-mooneybut the topic of os-service-types has never come up in any installer converstaion i have ever had12:05
sean-k-mooneyit might serve as a standard registry of know service type alias12:06
fungi"The API-WG recently defined the publication of data about the official service types and their historical aliases. os-service-types is a library to consume and encapsulate that data properly for anyone using python." (from https://review.opendev.org/c/openstack/project-config/+/475080 )12:06
sean-k-mooneybut i dont think any installer has ever looked at it as a source of truth12:06
fungiso yeah it came out of api sig work, but landed in shade12:06
fungi(though we didn't have sigs back then, it was the api working group at the time)12:07
funginow all the above is about the consuming library. openstack/service-types-authority was officially added to the tc repos list by https://review.openstack.org/279780 about 1.5 years prior to the existence of the openstack/os-service-types library12:10
fungiand the project-config dependency for that refers to discussion here: https://lists.openstack.org/pipermail/openstack-dev/2016-February/086269.html12:11
sean-k-mooneyfungi: isint that the website12:12
sean-k-mooneyi.e. https://service-types.openstack.org/12:13
fungicorrect. and yes, the api sig (nee wg) was originally expected to have votes on that content, but it was created as owned by the tc, where it has resided ever since, so it wasn't really inherited so much as the tc was left as the only reviewers after the api sig ceased activity12:13
sean-k-mooneywhic is generated form the lib12:13
sean-k-mooneyright but the evolution of the service api is governed by the service core teams. the sig/working groups were created to help guide that process but they were never the source of truth of how it evovled12:15
sean-k-mooneyso the idea that the service project woudl not have voting right and the sig would seams backwards to me12:15
fungithe lib is the tooling for consuming it, but https://opendev.org/openstack/service-types-authority/src/branch/master/service-types.yaml is the source data that gets transformed into json for publication12:16
fungios-service-types (lib) != service-types-authority (data)12:16
sean-k-mooneyanyway i guess im still not any closer to the answer, does aetos need to be added with the prometheus service type12:16
sean-k-mooneyfungi:... so whats the point of https://opendev.org/openstack/os-service-types/src/branch/master/os_service_types/data/service-types.json then12:17
sean-k-mooneysinct that is the data that the lib uses12:17
fungiit look like the proposal bot generates a copy of the public content from service-types-authority for embedding in os-service-types, i guess to eliminate network lookups though the os-service-types maintainers probably know better than i do12:20
sean-k-mooneyok so the json data in os-service-types is generate form the yaml file in service-tyeps-authority12:20
fungios_service_types/service_types.py has a code comment for class ServiceTypes which explains12:21
fungi"The Service Types Authority data will be either pulled from its remote location or from local files as is appropriate."12:21
fungiso it can use either12:21
fungi(the comment goes into much more detail but that's the tl;dr)12:21
sean-k-mooneythis all seams vastly over complictate for soemthign that shoudl be done exlicivly in the servervice repos12:22
fungiso if you're going to add aetos then looks like it should be proposed to service-types-authority which will then propagate to the convenience copy in os-service-types12:23
sean-k-mooneywell my orgial question were do we need too, since its not document as part of project creation, does the tc need to vote on it? are they ok with using promethus as the service type which si what the telemetry project inteded to use and how shold i comunicate this to the telementry team12:25
fungiwhat would be the model fr putting it in the service repos? how do you propagate that to public clouds running ancient versions of those services?12:25
sean-k-mooneyfor example woudl it be better to have this dicussed at the next tc meeting and leave the tc liason comunciate  it12:25
fungihopefully tc-members can chime in on that when they're around12:26
sean-k-mooneyfungi: i was thinkign seupt tools entry points or somethign else discoverable + docs or in the openapi schemea if we could.12:27
sean-k-mooneyi belvie we do actully descibe this in the install guide already12:27
sean-k-mooneyi.e. how to create the keystone endpoints12:27
fungiyeah, and that works for new/updated deployments12:28
fungibut can't necessarily be added post-facto to clouds that pre-date it without work being done by the operators of those older deployments12:28
sean-k-mooneyright but clodu that predate it are also not using the service-type-athoruity stuff 12:29
sean-k-mooneyno are then non offical client12:29
fungibut clients communicating with those clouds could be12:29
sean-k-mooneystephen was interested in this because gophercloud was not using it12:29
sean-k-mooneyand he was trying to impovve how it did endpoint discovery12:29
fungie.g. we use modern versions of openstackclient with rackspace classic12:30
sean-k-mooneyyep but you need the alisas adn the sdk import of shad to make that work properly12:30
sean-k-mooneythat why it still has "profiles" for rax and vexhost ectra12:30
fungiwhich is also the reason for the historical alias data in service-types-authority12:30
fungibut yes more of that could be embedded in the client profiles i suppose12:31
sean-k-mooneyi suspect that no client has ever been created that exclivily relies on the service athority12:33
sean-k-mooneylike the officaly clinet/sdk has addtional fallback12:33
sean-k-mooneydont get me wrong, i spoke to stephen seperatly about this and i fully agree with there point that the one thing openstack does not need more of is inconsitency12:35
sean-k-mooneybut we are missing docs for this in the project creation guide (because that need an actual proper chapter to descibe the opnestack specific parts) i dont think this was ever integrated with interopo requirements12:35
sean-k-mooneyand if im being honest i did not kwno this even existied until today12:36
sean-k-mooneyso i dont think its well known that https://opendev.org/openstack/service-types-authority is a thing in the comunity12:36
sean-k-mooneylike i woudl expect installer tools to use it to validate the endpoitn they are creating ectra12:37
fungiyeah, i mean, openstacksdk/client should also be usable in environments where the client can reach the cloud api endpoint but not the internet at large, so needs a local fallback even if that results in a stale dataset contemporary with the client/lib version they installed12:37
sean-k-mooneyya well there are a few ways to do that such as a dep on the lib. and the fact it can also match on the service name as a fallback12:39
sean-k-mooneyor its own logic12:39
sean-k-mooneyliek the profiles12:39
fungiright, openstacksdk consumes it in openstack.config.cloud_region.from_conf() but then relies on profiles to supply overrides for nonconforming providers12:41
sean-k-mooneyfungi: anywya thanks for the feed back. lets wait for the tc folks to come online, summery for tc, 1 do we need to add aetos to server-types-athority, 2 is it ok to use "prometheus" as the offial service type of Aetos, 3 does it need TC apporval beyond a gerrit review to update the service-types-athority repo, 4 who will comunicate this to the telementry team. i have not brought12:43
sean-k-mooneythis up with them yet.12:43
fungisean-k-mooney: i have a feeling "prometheus" doen't meet the requirements listed in the README.rst under the "Naming" section12:45
fungithe indication there is that you need a descriptive noun, and "prometheus" isn't a generic thing it's the name of an arbitrary open source project12:47
sean-k-mooneythe problem is that meter/metics/telemetry i think are all ready taken by ceiometer/gnocci12:47
sean-k-mooneysince Aetos is a reverse proxy providing keystone auth over the prometheus api and will never supprot other backend12:47
sean-k-mooneyusing a generic name may not work 12:48
sean-k-mooneymonitoring is used by monasca as well12:49
fungiin the telemetry team's view, what does aetos do that distinguishes it from ceiometer/gnocci? i.e. if prometheus ceased to exist what else would aetos use instead, and what's a good general descriptor for that?12:49
sean-k-mooneyso moniotring means monasca, metering/telemetry means ceilometers api which is now removed12:49
sean-k-mooneyfungi: if prometheus ceased to exist aetos would too12:50
fungii wonder if aetos reimplements a metering or telemetry api then? could be an argument for restoring the endpoint name even if the api isn't backward-compatible with the one that used to exist, as long as clients can reliably differentiate between them12:51
sean-k-mooneyaetos exist bcause prometheus does not have native multi tenacy supprot12:51
sean-k-mooneyfungi: no it wont provide ceilometer compatablity apis12:51
fungioh, so aetos is supplying prometheus-as-a-service to end users?12:51
sean-k-mooneykind of yes12:51
sean-k-mooneyit will use there keyston token to limit what they can see12:52
fungisort of like magnum makes kubernetes multi-tenant capable or trove dbaas or...12:52
sean-k-mooneyallowing safe usage in aodh and horizon(grian-ui) but also via the cli by the python-obeserviablity client12:52
fungimmm, so not general purpose prometheus for users, but prometheus views of openstack resources then?12:53
sean-k-mooneyfungi: so the way this is shaping up celiometer now supprot a promethous scrap endpoint and promethous is just acting as a time series database/metrics sotre12:53
* fungi has never used prometheus but understands it's similar to snmp or statsd/grafana12:53
sean-k-mooneyfungi: no the idea of providing it as a keystone endpoint is partly to allow access via osc using the python-observablity client plugin12:54
fungiokay, and aetos is giving users limited prometheus api access, not just implementing an api in front of prometheus and using it for a database?12:54
sean-k-mooneyso non admin can get tenatn metrics similar to how that work with ceilometer/gnoccii12:54
sean-k-mooneyfungi: correct its just a reverse proxy that add the auth part12:55
sean-k-mooneybasiclly its enforcign that a keystone token is requried then checking the roles and if it does nto ahve the admin or service role it will enfoce that the project id of the toke is added as a required lable for the metic quieis12:56
sean-k-mooneyi.e. ensuring that you can only see metrics related to your openstack resouces12:56
fungilooking at magnum as a similar case, even though it only (afaik) supports kubernetes protocols and resources (or maybe those of kubernetes forks/derivatives), it still calls the service container-infrastructure-management12:57
fungirather than calling it "kubernetes"12:57
sean-k-mooneywell magnum supprot other contaner engines like docker swarm and it use to supprot "nomade"?12:58
sean-k-mooneyit snot a k8s as a service proejct or it didnt actully sart that way12:58
sean-k-mooneyit was ment to be geneic contaienr plathforms as a serivce . after the split the contaienr as a service part into zun12:59
fungiso back to the what-ifs, say prometheus ends up in a hostile takeover and a fork emerges and people start using aetos with "primetheos" instead, would calling the aetos service type "prometheus" still be appropriate?12:59
sean-k-mooneyya i was wonderign that too. i was orginally surrpised it was not "aetos"13:00
fungilike calling things "docker" even when they're using podman13:00
sean-k-mooneybut ya taking the valkey vs redis split as a recent example promethus made me a littel uncormfortabel13:00
sean-k-mooneyif there was a redis as a service proejct we woudl call it keystore or similar as the service-type13:01
sean-k-mooneynot redis or valkey13:02
mnasiadkasean-k-mooney: Magnum only supports Kubernetes nowadays, other COE drivers have been dropped.14:22
sean-k-mooneysure but the service type was creted when it supproted other COEs14:23
sean-k-mooneyand if maintainers were willing to step up its in scope for someone to writhe a new COE driver adn contibute it to mangnum14:23
mnasiadkaYup, I’m all in for project/product agnostic naming14:24
sean-k-mooneyany suggetion on what Aetos could use. naming thigs is hard14:24
sean-k-mooneymaybe somethign like tenant-metrics?14:25
sean-k-mooneyi only really care about this because the telemery team want to add supprot for aetos to watcher and as part fo that we want ot do a startup check to conform ateos is deploy if you enabel the aetos data souce by checkign the keystone endpoint is registred14:28
sean-k-mooneyso we need to do that via the service type14:28
sean-k-mooneyor name14:28
mnasiadkatenant-metrics sounds good to me19:47

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