Monday, 2024-03-18

jrosserf0o: i looked at the haproxy role docs a bit, and actually i think that they are correct10:40
jrosserthe haproxy role is a reusable role that can be used by openstack-ansible, or used outside openstack-ansible as needed10:41
jrosserso there are two different things 1) the role defaults and docs that explain how to use the haproxy role in the general case 2) how that role is used specifically by openstack-ansible10:41
jrosserthe haproxy role docs tell you how to configure haproxy + LE when using the role standalone, so you have to set the vars up correctly and also provide some correct haproxy_service_configs to make it work10:43
jrosserfor openstack-ansible, the correct stuff is already setup for the letsecrypt haproxy backend in the OSA group vars10:44
jrosserthere is docs here for openstack-ansible itself which shows how to enable letsencrypt https://docs.openstack.org/openstack-ansible/latest/user/security/index.html10:47
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_gnocchi master: Drop default policy file location  https://review.opendev.org/c/openstack/openstack-ansible-os_gnocchi/+/91324411:25
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Move RGW setup right after Keystone  https://review.opendev.org/c/openstack/openstack-ansible/+/91355611:29
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_gnocchi master: Drop default policy file location  https://review.opendev.org/c/openstack/openstack-ansible-os_gnocchi/+/91324411:33
jrossernoonedeadpunk: swift is not completely necessary for ironic, theres a ton of options there11:50
jrosseri think the defaults we have make the image be downloaded from glance to the conductor11:50
noonedeadpunkwell. I guess I was just struggling with making aio work with ironic but without swift, but with ceph11:51
noonedeadpunkas ironic role just fails trying to connect to swift when it's not there11:52
jrosseri would say that the ironic aio should work totally without needing ceph11:52
noonedeadpunkwell, atm it requires swift11:52
jrosserhuh interesting11:52
jrosserwell anyway - for the purposes of minimal AIO that can be changed if you want to11:52
noonedeadpunkhttps://opendev.org/openstack/openstack-ansible/src/branch/master/tests/roles/bootstrap-host/vars/main.yml#L51-L5311:53
noonedeadpunkwhich is completely other problem I guess11:53
noonedeadpunkand for some reason swift in my aio also fails....11:54
jrosseri just took a look at our lab user_variables for ironic and i don't see anything relatig to object storage11:55
jrosserinstinct tells me that this is another place that internal/public endpoints can get totally confused11:56
noonedeadpunkI'm not sure...11:57
jrosserand particularly in public cloud you might want to be pretty careful about the cleaning and provisioning networks and what they can access11:57
noonedeadpunkI think it tries to use swift whether ironic_enable_web_server_for_images is enabled11:58
noonedeadpunkor well, vice versa https://opendev.org/openstack/openstack-ansible-os_ironic/src/branch/master/templates/ironic.conf.j2#L84-L9011:58
jrosserright - when that is false the images have to be elsewhere11:59
jrosser== swift11:59
noonedeadpunkbut isn't that glance....11:59
noonedeadpunklike why it has to be swift11:59
jrosseri see that we set that to `true` and the images get copied out of glance onto the conductor, where there is a web server running11:59
noonedeadpunkto have direct url?11:59
noonedeadpunkwe don't in aio though12:00
jrosserwell - aio is pretty much untested for this12:00
jrosseranyway its no issue, you'd just end up with a much lighter weight AIO with `ironic_enable_web_server_for_images: true`12:01
jrosserand yes it's because you need an http url for the image during PXEboot12:02
noonedeadpunkso should we then enable by default?12:02
jrosserif you want to keep the ironic AIO as simple/minimal as possible, yes12:03
jrosserand remove the need for object storage in that scenario12:03
noonedeadpunkI'm not sure what I really want right now :D But decreasing runtime sounds reasonable12:58
jrossernoonedeadpunk: imho the most useful thing would be getting virtualbmc working13:13
noonedeadpunkI'm not that far into ironic _yet_13:15
noonedeadpunkbut kinda running ceph-rgw right after keystone made some sense to me...13:25
noonedeadpunklike there're quite some things potentially that could use it except ironic13:25
noonedeadpunkmaybe same applicable for swift though...13:25
noonedeadpunkso worth packing them together...13:25
f0odumb question but what is Zookeeper used for? I read that Nova supports it for coordination but I cant see it configured anywhere in OSA - seems like OSA only configures it for Ceilometer/Gnochi, is that right?13:37
jrosserf0o: some openstack services need a "coordination service" (distributed locks etc), and there are several potential backends you can use for that. zookeeper is the most sensible choice for that backend13:40
jrosseran example would be https://github.com/openstack/openstack-ansible-os_designate/blob/master/defaults/main.yml#L67-L7513:42
f0oany reason why nova isn't configured in the same regard?13:42
jrosserfor some services it is mandatory13:43
f0oah makes sense13:43
f0oso the optional nova would be up to my _overrides to configure it13:43
jrosserdo you have a link to the nova docs about that?13:44
f0ohttps://blueprints.launchpad.net/nova/+spec/tooz-for-service-groups13:44
noonedeadpunkf0o: huh, nova supports it?13:44
f0oI'm just digging around but there's a blueprint and a spec dating back to Liberty talking about tooz coordination13:45
f0ohttps://opendev.org/openstack/nova-specs/src/commit/cc46a73a37b2446e562adc2ad78f6db0fe0c1573/specs/liberty/approved/service-group-using-tooz.rst like this beauty13:45
jrosseris it real though? https://review.opendev.org/q/topic:%22bp/servicegroup-api-control-plane%2213:46
noonedeadpunkthere's quick way to check I guess13:46
noonedeadpunkso, it's used only for ironic driver: https://codesearch.openstack.org/?q=tooz&i=nope&literal=nope&files=&excludeFiles=&repos=openstack/nova13:47
noonedeadpunkI guess we can add config indeed when ironic is enabled...13:47
noonedeadpunkbut I can't say that it's really required, like it's for cinder-volumes to act in Active/Active or Designate or valuable as for Octavia...13:49
f0ono you're right it's not a requirement just an optional gimmick13:49
f0oI was just curious is all13:50
noonedeadpunkonly if you have ironic13:50
f0oyeah13:50
noonedeadpunkbut yeah, maybe worth checking on that, so it's good point13:50
noonedeadpunkjrosser: I need some input on one OVN thing. So ovn-nbctl and ovn-sbctl CLI tools require to explicitly define tons of crap like --db, --certificate, --ca-cert, --private-key for each command. You can define an env variable to ease your being. But here's where I'm not sure14:48
noonedeadpunkShould it be /etc/environment, or some kind of openrc file14:48
noonedeadpunkEspecially, given that these tools are not on utility container...14:48
noonedeadpunkI can take a look what it would take to place them there as well, but it's +1 certificate14:49
noonedeadpunkreally annoying part, is that weird requirement of certs for client...14:49
jrosserwell thats interesting14:50
jrosser /etc/environment can be problematic in some cases14:50
jrosserare these possible env vars containing secrets?14:51
jrosseron the one hand this is a bit similar to the galera_client things we have for the database14:51
jrosserwere it's needed to have a cli tool and a config file14:51
noonedeadpunkno, they're not in fact14:53
noonedeadpunkbut like command to get list of routers look like this: ovn-nbctl --db=ssl:10.21.8.247:6641,ssl:10.21.8.182:6641,ssl:10.21.8.243:6641 -p /etc/openvswitch/neutron_ovn.key -c /etc/openvswitch/neutron_ovn.pem -C /etc/openvswitch/neutron_ovn-ca.pem list Logical_Router14:53
noonedeadpunkwhich is /o\14:53
jrosserone option would be to make a wrapper14:54
noonedeadpunkwell, alias was another option14:54
noonedeadpunkbut I somehow not sure it's worth it14:54
noonedeadpunkas env vars can handle that14:54
noonedeadpunkOVN_NB_DB=ssl:10.21.8.247:6641,ssl:10.21.8.182:6641,ssl:10.21.8.243:6641 and OVN_NBCTL_OPTIONS=-p /etc/openvswitch/neutron_ovn.key -c /etc/openvswitch/neutron_ovn.pem -C /etc/openvswitch/neutron_ovn-ca.pem14:55
noonedeadpunkso alias feels a bit hacky14:55
noonedeadpunk*dirty14:55
noonedeadpunkmaybe indeed just install ovn-common to utility....14:56
noonedeadpunkand put some openrc there...14:56
noonedeadpunkbut that can bring in quite some dependencies....14:57
mgariepywhy not connecting to ovn-northd container for debugging purpose ?14:57
noonedeadpunkactually - not much https://packages.ubuntu.com/jammy/ovn-common14:57
noonedeadpunkmgariepy: but it's same there?14:57
jrosseri was just looking at the same14:58
jrosserovn-common looks quite lightweight14:58
mgariepyi think it read the /etc/default/stuff ?14:58
noonedeadpunkonly service does14:58
noonedeadpunkor you need to be lucky and get to the current "master"14:58
noonedeadpunkor I'm doing smth completely wrong :D14:59
noonedeadpunkas I get just `ovn-nbctl: unix:/var/run/ovn/ovnnb_db.sock: database connection failed ()`14:59
jrosserso we would define `OVN_SBCTL_OPTIONS` as example?15:00
noonedeadpunkyeah, and "same" for NBCTL15:00
jrosserok so it seems that figuring out the correct CLI is quite some barrier for new people to OVN15:02
noonedeadpunkbut kinda agree that maybe we don't need to touch utility and just tell to use neutron-ovn-northd-container15:02
noonedeadpunkoh, yes15:02
noonedeadpunknb vs sb is just totally another story15:02
mgariepy# ovn-nbctl --no-leader-only  show15:02
mgariepythe option --no-leader-only does the trick for me.15:03
mgariepyfrom northd container15:03
noonedeadpunkthat works :D15:03
mgariepyno needs for hacky stuff then :)15:04
noonedeadpunkas long as ppl find that option :D15:05
noonedeadpunk(I failed)15:05
noonedeadpunkofc I can just add a documentation bit 15:07
noonedeadpunkbut potentially it's good to query leader actually....15:08
mgariepyhttps://paste.opendev.org/show/bPQOhFzMdGnR8diMCDrV/15:10
mgariepysome randoms notes i had in a txtfile.. 15:10
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_neutron master: Configure northd clients to connect to NB/SB leader  https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/91358216:07
jrosseri guess i am a bit uncertain about putting config in global env vars16:16
jrosserthose are very low hanging fruit for accessing maliciously16:17
noonedeadpunkso the thing is, that if you're on correct node - you don't need any of these16:24
noonedeadpunkbut then leader for sb and nb db are different16:25
noonedeadpunkso there's usually no single host where you can run things and they move with service restarts16:25
noonedeadpunkbut well, given there's no auth or anything like that - how much it affects security16:26
noonedeadpunkand how problematic is that16:26
noonedeadpunkbut I don't see issues placing that as openrc either16:26
noonedeadpunkand documenting if you feel it's best16:27
jrosseryeah so i guess for openrc you have to be root to be able to read it16:28
noonedeadpunkdepends on permissions :D16:28
noonedeadpunkbut yes16:28
noonedeadpunkbut again - there's nothing in these env vars16:28
jrosserand in general that will mean that you need to escape some less privileged service and then subsequently do some priv escalation16:28
noonedeadpunklike I don't think it even uses certificates for any kind of auth....16:28
noonedeadpunkas I tried to place there jsut random cert from different host and it worked16:29
noonedeadpunkbut ok, let me re-do this for openrc file under /root16:29
jrosserworst case is if things in /etc/environment end up inside a service just by fact of it running16:30
jrosserthen most trivial exploit can read them back16:30
jrosserhowever it should be restrcited only to login shell i think16:31
noonedeadpunksystemd services should not do that16:31
noonedeadpunkiirc16:31
noonedeadpunkbut yeah, I guess you're right overall16:32
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_neutron master: Create an openrc for nb/sb clients  https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/91358216:41
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_neutron master: [doc] Expand documentation on OVN useful commands  https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/91358817:35
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_neutron master: [doc] Expand documentation on OVN useful commands  https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/91358817:41
noonedeadpunkmgariepy: I've taken some things from your paste to this if you don't mind :) ^17:42
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Use container setup role from plugins repo  https://review.opendev.org/c/openstack/openstack-ansible/+/90500418:49
hamburgler2Hey hey, curious regarding Octavia flavors/avalability zones (I know there is a centralized resource management role coming) but right now unless I am unaware of this, it doesn't look like loadbalancer flavor profiles, flavors and azs get created anywhere in os_octavia. Is this intended, as the os_octavia role essentially limits amphora to a single default compute flavor type, not loadblancer flavors 19:19
hamburgler2(which get mapped to compute flavors if configured through profiles). Right now I have an OpenStack Resource configuration role, much like the one that is being added, but have integrated these shared vars with OSA as well. I realize there isn't a module to handle loadbalancer profile/flavor creation so it is done with tasks. Full view of configs etc https://paste.openstack.org/show/b1SCoLdffRyt8FgWg0C19:19
hamburgler2G/ and then we can have: https://drive.google.com/file/d/1I8R1YbRyva8wfRXPUxTqoO9k22OStfsa/view. Seems like this is a missed or missing feature to me?19:19
hamburgler2Shoot sorry PB split over multiple lines: https://paste.openstack.org/show/b1SCoLdffRyt8FgWg0CG/19:23
noonedeadpunko/19:33
noonedeadpunkhamburgler2: iirc, octavia flavors is smth that end-user can create/manage, so they're not limited to admin-only19:33
noonedeadpunkwe've already landed there role btw, but yeah - it doesn't take care of octavia things today19:34
noonedeadpunkthat's the role: https://opendev.org/openstack/openstack-ansible-plugins/src/branch/master/roles/openstack_resources/defaults/main.yml19:35
noonedeadpunkand as usual - it's pretty much open to contributions :)19:35
noonedeadpunkso feel free to push things over there19:36
hamburgler2noonedeadpunk: will look through it :) would be happy to use that as we have ours separate that is ran after osa, hmm yeah, I suppose users would be able to list public flavors and map their loadbalancer profiles to those, then create a loadbalancer flavor from there, I think from user experience end it would be simpler to offer that without them having to worry about managing that workflow on their 19:50
hamburgler2end, but yes will take a look :) ty19:50
noonedeadpunkyeah, sure19:53
noonedeadpunkwe actually just added what we do in different places in a unique way and added that to a role, but obviously we wanna expand that functionality with all such usecases, that ppl do independently19:54

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