Thursday, 2025-03-13

gokhanhello folks, I am trying to access public container on swift, but I am getting no such bucket error. I am using swift radosgw implementation. I followed this document > https://docs.cleura.cloud/howto/object-storage/swift/public-container/. My configs and rgw logs are in https://paste.openstack.org/show/b8YbglwOxZp6wK7oJIOz/. may be this known issue. Do you have any idea for this ? 10:01
* noonedeadpunk participated in writing this doc lol10:03
noonedeadpunkthat totally works for us with osa and rgw just in case, as otherwise won't be wirting it...10:04
noonedeadpunkso, using swift cli does the container exist?10:06
noonedeadpunkand how are you trying to access it, just in case?10:06
gokhanthanks noonedeadpunk for this doc :) May be it is about ceph version. we are using ceph reef 18.2.210:06
gokhannoonedeadpunk, I am trying to access with curl :  curl http://10.13.0.10:8080/swift/v1/AUTH_99fe423d80344a6fa1aa3bcd5767e07a/public-container/testobj.txt10:07
gokhanwith openstack swift client using openstack token it is ok. 10:08
gokhanurl -H "X-Auth-Token: gAAAAABn0qKf0oYrh5YbzOjX3t2uyChfmUZbbW00hmYcY7nbBpdzvzWbTF-ofvGOX_0SpqE1u3CkUzNb5gEmCgtCsoZiH90YYVSJzek3IotNdx3Yr0_xF3PwmGWcLO_F32gsIaNhjaw56m2w4rJ5FwtfEenw9UwWeREc65qZ340YpkT4LWCT224" http://10.13.0.10:8080/swift/v1/AUTH_99fe423d80344a6fa1aa3bcd5767e07a/public-container/testobj.txt10:09
gokhanhello world10:09
gokhanroot@test-infra01-utility-container-e5858c68:~# curl http://10.13.0.10:8080/swift/v1/AUTH_99fe423d80344a6fa1aa3bcd5767e07a/public-container/testobj.txt10:09
gokhanNoSuchBucketroot@test-infra01-utility-container-e5858c68:~# 10:09
gokhanits curl response is NoSuchBucket10:09
noonedeadpunkhuh, ok, that is totally weird and not expected I'd say... Let me to follow the guide on one of our regions just in case10:10
gokhanok thank you :) it worked on my previously created deployments on antelope and ceph is quincy or pacific. 10:11
noonedeadpunkWe're running caracal and for ceph - need to double check10:14
opendevreviewMarcus Klein proposed openstack/openstack-ansible-ops master: traefik_common for Grafana deployment needs to use Python 3  https://review.opendev.org/c/openstack/openstack-ansible-ops/+/94420210:15
gokhanWe are now running caracal (29.0.2) and ceph reef 18.2.210:16
noonedeadpunkok, so I have exactly same environment on my hands right now10:18
opendevreviewMarcus Klein proposed openstack/openstack-ansible-ops master: upgraded prometheus.prometheus collection does not need ansible fact vars anymore  https://review.opendev.org/c/openstack/openstack-ansible-ops/+/94420310:18
noonedeadpunkgokhan: well. seems we have the same issue there10:20
noonedeadpunkdamiandabrowski: are you aware of this? ^10:20
gokhannoonedeadpunk, on rgw logs: debug 2025-03-13T09:08:03.904+0000 7ee658000700  1 ====== starting new request req=0x7ee7224a6730 =====10:22
gokhandebug 2025-03-13T09:08:03.904+0000 7ee658000700  1 req 12852707387194772156 0.000000000s op->ERRORHANDLER: err_no=-2002 new_err_no=-200210:22
gokhandebug 2025-03-13T09:08:03.905+0000 7ee658000700  1 ====== req done req=0x7ee7224a6730 op status=0 http_status=404 latency=0.001000031s ======10:22
gokhandebug 2025-03-13T09:08:03.905+0000 7ee658000700  1 beast: 0x7ee7224a6730: 10.13.15.208 - 99fe423d80344a6fa1aa3bcd5767e07a$anonymous [13/Mar/2025:09:08:03.904 +0000] "GET /swift/v1/AUTH_99fe423d80344a6fa1aa3bcd5767e07a/public-container/testobj.txt HTTP/1.1" 404 12 - "curl/7.81.0" - latency=0.001000031s10:22
noonedeadpunkyeah, was able to reproduce it...10:22
noonedeadpunkI'd guess it must be rgw thing tbh10:23
damiandabrowskiouh....interesting...10:23
gokhanyeah I aggree with you. 10:24
noonedeadpunkjrosser: looking at https://review.opendev.org/c/openstack/openstack-ansible-ops/+/944136 - that sounds like despite things are not very well reviewed, now on top we also are unable to contribute either due to rust requirement?10:52
noonedeadpunksounds that I'd need to get time to look at a different driver...10:56
noonedeadpunkgokhan: it's pretty much possible that you can do smth like that only through S3 API now...10:58
gokhannoonedeadpunk, ohh I can  curl http://10.13.0.10:8080/public-container/testobj.txt11:02
kleiniI am newly deploying my staging environment with Antelope 27.5.1 and stumbling over Heat and Magnum service setup: https://paste.opendev.org/show/bzMqwfvHlrcmlXYn393P/11:06
opendevreviewMerged openstack/openstack-ansible-ops master: traefik_common for Grafana deployment needs to use Python 3  https://review.opendev.org/c/openstack/openstack-ansible-ops/+/94420211:07
kleiniIs that fixed in a later openstack.osa collection service_setup role?11:07
noonedeadpunkI'm pretty sure it must be fixed.. I'm a little bit suprised that it's broken on Antelope11:11
noonedeadpunkbut it could be actually an ansible-collection-openstack thing as well11:13
kleinipreparing upgrade to Caracal and report, whether caracal fails or not.11:19
noonedeadpunkI can recall that issue and that we dealt with it somehow, but was a while ago...11:19
kleinishort different question without having searched anywhere: due to moving nodes to a different data center, is there a way to disable auto start of LXC containers temporarily? So I can start Galeras and stuff first before starting all OpenStack services. I also need to verify all VLANs are working as expected.11:20
noonedeadpunkI think you need to `sysctemctl disable lxc`11:25
noonedeadpunkas it's who's responsible for containers autostart11:25
kleinicommenting `lxc.start.auto = 1` will not work?11:27
noonedeadpunkit will as well afaik11:27
noonedeadpunkbut you'd need to to that for all containers I assume?11:28
noonedeadpunkwhile disabling lxc service seems better solution for the usecase..11:28
kleiniI would like to start one Galera first, check it, and so on11:28
noonedeadpunkyeah, but you can do lxc-start -n <container> anyway?11:28
kleiniright, I can still use lxc-start11:28
kleinithanks! I am curious. Will be busy weekend...11:29
noonedeadpunksounds like it11:29
kleinihttps://review.opendev.org/c/openstack/openstack-ansible-ops/+/944203 <- is it possible to get this merged, too?12:58
sykebenXHello, is there a way, using openstack-ansible Nova role to safely not use SSH CA authentication between compute hosts OR to somehow prevent the creation of the authorized principals file? It is conflicting with my own implementation of SSH CA auth using another authorized principal mechanism15:22
mossblaserwell this is funny timing; I have just today been thinking about the same thing15:59
mossblaserthe difficulty here is that OpenSSH's config design doesn't provide a sensible way to have multiple non-coordinated things configure certificates and principals15:59
sykebenXYeah that's what I'm finding now too :/ 16:00
mossblaserthe existing role part-works-around this by having a convention of putting all the certs in a directory and then assembling them into a combined file16:00
mossblaserunfortunately there isn't a similar process in place for the principals (which, when using AuthorizedPrincipalsFile doesn't support breaking things down depending on the certificate either)16:01
sykebenXI almost thought I hacked it by setting AuthorizedPrincipalsCommand /usr/bin/awk -F: '($3>=1000)&&($1!="nobody"){print $1}' /etc/passwd -- this for obvious reasons is NOT something you should do lol16:01
sykebenXYeah I figured out how to get the certs part working, but yeah still stuck on the auth principals16:02
mossblaserwhat I've been thinking is that it should define an AuthorizedPrincipalsCommand /bin/cat /etc/ssh/authorized_principals/%F/%u_principals.txt16:02
mossblaserthen have a directory per certificate fingerprint with a per-user principals file16:02
mossblaserthis way at the very least if the principals for each certificate are separately managed you can avoid stepping on eachothers toes16:03
mossblaser(you still have to remember to assemble the certs file of course!)16:03
mossblaser(sorry, just going afk for a moment)16:03
sykebenXThat's an interesting idea - it's still not ideal for my use-case, however. I am using Hashicorp vault as CA and I want to use that as the way to limit which principals can be attached to the cert. This way I get the same control over which users each person is allowed to authenticate as, but I don't have to maintain an authorized principals file on each host16:06
sykebenX(no worries - going for lunch now myself . will check back later)16:06
sykebenXIt seems though that openssh will use any authorized principals file as an authoritative source if one is specified and this will override the behaviour I want for my own cert authentication scheme16:08
mossblaserah right; we're also using Vault to issue certs, though our principals are more task-oriented rather than user-oriented16:12
mossblaserin the case, perhaps it might be worth writing a very small script in place of cat in the proposal above which allows you to choose between an explicit principals mapping (as deployed by OSA) and the implicit principals=users behaviour16:13
opendevreviewMerged openstack/openstack-ansible-ops master: upgraded prometheus.prometheus collection does not need ansible fact vars anymore  https://review.opendev.org/c/openstack/openstack-ansible-ops/+/94420316:19
mossblaserI've been thinking about different approaches to this for the past day or two and was just about to start putting together a patch16:20
mossblasermy instinct is that the current assembled TrustedUserCAKeys is probably the best you can do for the list of trusted certs (but again I'd be enthusiastic to hear of any alternative suggestions)16:22
mossblaserfor the principals situation, clearly different people are going to have different needs so perhaps the most flexible option is to deploy a small script which on a per-CA basis has one of three behaviours: an explicit set of principal files (like OSA does), the implicit principal=user mapping or a user-provided script to implement as an escape-hatch for alternative logic16:23
opendevreviewVincent Legoll proposed openstack/openstack-ansible-os_nova master: Fix ansible `difference()` filter use  https://review.opendev.org/c/openstack/openstack-ansible-os_nova/+/94428316:36
noonedeadpunkhey17:06
* noonedeadpunk reeding back17:06
noonedeadpunksykebenX mossblaser: I think there's actually a way of doing that17:06
noonedeadpunkoh17:07
noonedeadpunkyou're probably right...17:08
noonedeadpunkI kind of wonder if such principal even makes sense in case of having vault, rather then just ask a vault for issuing a certificate for nova/keystone directly?17:10
noonedeadpunknot 100% sure it's how it works though...17:10
sykebenXnoonedeadpunk: I think that's why I was thinking of a way to either disable the authorized principal validation for nova (since you still have to have a key signed by the OSA CA). I think to implement HC Vault signing for Nova SSH keys might be a bit challenging since you'd have to have Nova authenticate with vault and make a request to sign the key somehow. Not impossible, but might be more effort and introduces a new dependency as well17:19
opendevreviewVincent Legoll proposed openstack/openstack-ansible-os_nova master: Fix ansible `difference()` filter use  https://review.opendev.org/c/openstack/openstack-ansible-os_nova/+/94428317:25
noonedeadpunkand actually, I think that we had somebody in our org looking into vary simmilar topic last week as well...17:27
noonedeadpunkBut I wasn't involved too much17:27
mossblaseryeah, the difficulty is that ultimately there are two quite independent systems at play: OpenStack and then whatever else you're doing to provision the underlying infrastructure. The CA setup is intimately tied to both and having one environment set up things for both would be non-ideal17:27
mossblaserhah, what are the odds! If they came to a good solution -- or even have more insight into the requirements which exist out there -- it'd be great if you could find out 17:28
noonedeadpunkI'm really not sure they did exactly the same thing, as it sounded like placing an extra file to `/etc/ssh/trusted_ca.d/` just worked for them...17:29
noonedeadpunkBut I'd need to double check that tbh17:29
mossblaserthanks! I think the most interesting thing is how you handle the authorised principals mapping as different people/systems will have completely different approaches17:32
noonedeadpunkyeah, that is smth I don't know so far... as it's all WIP right now.17:34
noonedeadpunkbut at the very least there's an interest in better support for this17:34
mossblaserjolly good; hopefully I'll be able to put a patch together tomorrow18:03

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