Thursday, 2024-01-11

opendevreviewMerged openstack/openstack-ansible-os_tempest master: Add blazar tempest support  https://review.opendev.org/c/openstack/openstack-ansible-os_tempest/+/90478504:54
jrossernoonedeadpunk: what do you think about converting the pre- gate playbooks to roles? that way they can be shared between parent and child jobs08:07
jrosserquestion would be where to put them as zuul requires them to be in repo/roles/ dir08:08
jrossera job playbook can run a role from any zuul repo it has available08:09
noonedeadpunkI need to process that...08:10
noonedeadpunkWe can deliver them as collections to zuul ? :D08:11
noonedeadpunkor better can we?:)08:11
noonedeadpunkI have seen one day that it can install them during runtime or smth...08:12
jrosserso I can’t call a pre playbook that lives in openstack-ansible repo from os_magnum, for example08:12
jrosserbut what I can do is use job.roles to specify that a role from another repo would be available in os_magnum pre-playbook08:13
noonedeadpunkyou still will need to have an individual playbook to call the role?08:16
jrosserfor example in os_magnum yes08:16
jrosseror gross, I just give up and copy the existing pre playbooks into os_magnum but that’s horrible08:17
jrosserso as an example, we could put these roles in openstack-ansible-plugins/roles08:18
noonedeadpunkI'm still thinking that adding some variable for logic of execute or not pre-step will be easier tbh08:20
noonedeadpunkAs variables you can override on job level easily08:20
jrosserI still to not know how I would execute the pre step08:21
noonedeadpunkGive me a min to come up with a sample08:21
jrosserI see how to set a var to suppress it in the parent job08:21
jrosserbut then in the child you want to do “early tasks” followed by the original pre tasks08:22
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: DNM Allow to skip pre-step bootstrap  https://review.opendev.org/c/openstack/openstack-ansible/+/90529008:25
noonedeadpunk^08:25
noonedeadpunkEventually, I guess you can also set ENV per Zuul job, so https://review.opendev.org/c/openstack/openstack-ansible/+/905290/1/zuul.d/playbooks/run.yml part might be irrelevant08:26
noonedeadpunkAs basically, if you unset SKIP_OSA_BOOTSTRAP_AIO and SKIP_OSA_RUNTIME_VENV_BUILD bootstrap will run just normally during run08:26
noonedeadpunknot pre-run08:26
noonedeadpunkAnd in pre-run you do whatever needed, as no bootstrap will happen there08:27
noonedeadpunkOr I'm missing smth?08:27
jrosserI think so08:28
jrosserin os_magnum I need to write some config before bootstrap happens08:28
noonedeadpunkyeah, so you define this in pre-run08:28
jrosserright08:29
noonedeadpunkand with `osa_run_pre_bootstrap: false` it won't happen in pre stage08:29
jrosserthen how do I run pre-gate-scenario and stuff?08:29
noonedeadpunkpre-gate-scenario will run08:30
noonedeadpunkIt will just not run bootstrap-ansible.sh and bootstrap-aio.sh08:30
jrosserok sure08:30
jrosserbut I do need those to happen08:30
noonedeadpunkBut then will happen as part of gate-check-commit.sh on run?08:31
noonedeadpunkAs now they're skipped throguh `SKIP_OSA_BOOTSTRAP_AIO=1`08:31
noonedeadpunkAnd you need them to happen after you paste your content, right?08:32
jrossermaybe I miss a bunch of complexity we have in the gate-check-commit script08:32
jrosseryes that’s right I need them after I drop some config08:33
noonedeadpunkLike we've explicitly disabled bootstrap-ansible.sh and bootstrap-aio.sh from  gate-check-commit.sh here https://opendev.org/openstack/openstack-ansible/src/branch/master/zuul.d/playbooks/run.yml#L22-L2408:33
noonedeadpunkAs normally gate-check-commit does that08:34
noonedeadpunkAnd we already have logic to disable pre steps for upgrade jobs I guess08:34
noonedeadpunkEventually... You likely can do even without variables as scenario should be available there08:35
noonedeadpunkand instead of  `osa_run_pre_bootstrap` have `capi not in scenario` or smth08:36
jrosserthe complexity is now more than I can understand :(08:36
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: DNM Allow to skip pre-step bootstrap  https://review.opendev.org/c/openstack/openstack-ansible/+/90529008:44
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_magnum master: Add job to test Vexxhost cluster API driver  https://review.opendev.org/c/openstack/openstack-ansible-os_magnum/+/90519908:46
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-os_magnum master: Add job to test Vexxhost cluster API driver  https://review.opendev.org/c/openstack/openstack-ansible-os_magnum/+/90519908:46
noonedeadpunkUnless I mixed up some logic here, I hope it will work...08:48
jrosserah ok09:06
noonedeadpunkNot sure why exactly it failed, but, according to log it does what you want?09:06
jrosseri think i had not appreciated that the bootstrap could happen in the run playbook09:06
noonedeadpunkah, well...09:07
noonedeadpunkMaybe it's less problem today given that all repos are on a filesystem and parallel install is very fast.... but dunno09:08
noonedeadpunkthat sounds slightly simpler then doing a role and a playbook per repo. 09:09
noonedeadpunkBut we can move that to a role as well...09:09
jrosserso not quite https://zuul.opendev.org/t/openstack/build/6462a73d23e54f72bbc60f4ce15d5b58/log/job-output.txt#5161-516509:11
jrosseroh wait09:11
jrosseryes thats the thing that your patch skips09:11
jrossertrouble is gate-check-commit.sh uses the same flags to skip bootsrapping? https://github.com/openstack/openstack-ansible/blob/master/scripts/gate-check-commit.sh#L95-L9809:14
noonedeadpunkum, what?09:19
noonedeadpunkWe don't run gate-check-commit.sh in "pre-run", we only run it during "run"09:20
noonedeadpunkIn "pre-run" we launch bootstrap-ansible.sh and bootstrap-aio.sh "manually"09:21
noonedeadpunkAnd it's kidna of vice-versa, `SKIP_OSA_BOOTSTRAP_AIO` is defined by default in our "run" playbook. My patch adds variable that makes this part execute from gate-check-commit09:24
noonedeadpunkrather then being skipped09:24
* noonedeadpunk is kinda bad judge of what is complex setup09:24
gokhanihello folks, do we need br-storage on controller nodes if we install glance and cinder on hyperconverged nodes (compute + ceph)? 09:32
jrossergokhani: you controllers will need to be able to talk to the ceph networks09:35
jrossernoonedeadpunk: ultimately that job fails because somehow the gate-check-commit.sh tries to do `ansible -m setup......` but bootstrap-ansible has not happened09:35
jrossergokhani: br-storage is used to connect your storage network into LXC containers on the controllers09:36
gokhanijrosser, my customer seperated storage and data switchs. on controller I have no connection to storage switches. I thought that If I move glance and cinder containers to storage nodes, it may work 09:38
noonedeadpunkjrosser: oh, yes, you're right. 09:39
jrosserstorage nodes?09:39
noonedeadpunkOnce variable defined - it doesn't matter if its truthy or not09:40
jrosseryes the test is for length zero?09:40
noonedeadpunkyeah09:40
noonedeadpunkwell, I mean. It should be solvable :)09:41
jrossergokhani: you have controllers and converged computes i think? so what is "storage nodes"?09:42
gokhanijrosser, sorry it is hyperconverged nodes (compute and ceph )09:43
jrossernoonedeadpunk: i am very wary of messing with any of the gate-check-commit stuff becasue personally i already view it as very fragile09:43
jrosserparticularly how the upgrade jobs work is super not obvious09:43
jrossergokhani: the simplest thing will be to connect your controllers to the storage network, if possible09:44
jrossergokhani: for example how to do you choose where to put your ceph mon?09:45
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: DNM Allow to skip pre-step bootstrap  https://review.opendev.org/c/openstack/openstack-ansible/+/90529009:46
gokhanijrosser, in that situation I can not connect controllers to storage network. can it be a problem put ceph mon on controller nodes ? you mean ceph mon also need to connect storage network.09:52
gokhaniIf it is not possible, ı have to put ceph mon on some of hyperconverged nodes  h09:53
jrosserabsolutely yes, the ceph mon must have connectivity to the ceph clusgter09:53
jrosseryou cant just come up with an arbitrary architecture and say "it must work like this" when there are intrinsic requirements of the components09:53
jrosseryou can, if you want, make the mgmt network routable to the storage network for things like cinder and glance i expect09:54
jrosserputting the ceph mon on the converged nodes would be possible but you do then come up with at least 3 "special" compute nodes that start to look more and more like controllers09:55
gokhaniin fact I am looking for alternatives if controller nodes have no connection to storage network. 09:57
jrosserwell, like i say you would move a set of components to 3 chosen compute nodes that need connection to the storage network09:57
noonedeadpunkor you might use ceph mons for that as well....09:58
jrosserbut then you do make effectively 3 more "sort of controller" nodes09:58
jrosserand you have to worry about uptime/cluster of those 3 differently than the rest of your computes09:58
noonedeadpunkBut then you need to have access from osa node to mons09:58
noonedeadpunk*osa deploy hsot09:58
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: DNM Allow to skip pre-step bootstrap  https://review.opendev.org/c/openstack/openstack-ansible/+/90529010:03
gokhanijrosser, thanks, I will tell the risk of this architecture to customer. Because it is not possible to add new network card to controller servers. 10:06
jrosserthe data and storage switches can be linked and the storage traffic bought to the controller on a vlan10:07
jrosseror routed if it is an L3 setup10:07
gokhanijrosser, customer is unfortunately against with this. it is not l3 setup. 10:19
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: DNM Allow to skip pre-step bootstrap  https://review.opendev.org/c/openstack/openstack-ansible/+/90529011:28
jrossernoonedeadpunk: perhaps we modify gate_check_commit.sh to have a default value for this? like `if [[ "${SKIP_OSA_BOOTSTRAP_AIO:-1}" == '0' ]]; then....`11:33
jrosserthen we specifically check for the condition11:33
jrosserrather than logic that depends on if the env var is set or not11:33
jrosserwhich seems unintuitive11:33
noonedeadpunkyeah, could be better indeed11:34
noonedeadpunkYou just said you don't wanna touch it and I kinda short on time today to touch it either :(11:36
jrossertbh it is still hurting my head that we have one var that will skip the boostrap in one place but not skip it in the other11:36
Tadiosi have seen this patch https://github.com/openstack/openstack-ansible-haproxy_server/commit/df2e7af9b3161eeca61b8695fa97e22c5683ec34 for the haproxy role to solve the issue "AnsibleUndefinedVariable: 'vip_interface' is undefined" when running the haproxy playbook, but the playbook is still failing on that task, i'm on 2023.1(27.3.0)12:21
TadiosI can see inside the ansible-role-requirements.yml the trackbranch is set to stable/2023.1 , i dont know why 12:21
Tadiosnoonedeadpunk: ^  i think you were the one who patched it right?12:37
noonedeadpunk27.3.0 does not have this patch fwiw12:41
noonedeadpunktrackbranch can be ignored - it's for our tooling only. `version` is what is actually being installed 12:42
Tadiosohh, that's why12:45
noonedeadpunkjrosser: should I also rename file in https://review.opendev.org/c/openstack/openstack-ansible/+/905221 to smth more reffering runtime venv?12:45
noonedeadpunkTadios: we're going to make new release really soon12:59
jrossernoonedeadpunk: it would be helpful to say “ansible runtime venv” rather than just venv I think13:01
jrosserand yeah the file name could be more specific too13:01
jrosseruser-ansible-venv-requirements maybe13:02
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Add support for extra Python packages inside Ansible runtime  https://review.opendev.org/c/openstack/openstack-ansible/+/90522113:04
noonedeadpunkYeah, did exactly that :)13:04
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Add support for extra Python packages inside Ansible runtime  https://review.opendev.org/c/openstack/openstack-ansible/+/90522113:05
opendevreviewMerged openstack/openstack-ansible master: Return back /healtcheck URI verification  https://review.opendev.org/c/openstack/openstack-ansible/+/90494113:05
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible stable/2023.2: Return back /healtcheck URI verification  https://review.opendev.org/c/openstack/openstack-ansible/+/90532113:15
TheCompWizGood morning everyone!  Can someone help me with an issue I'm getting with a new deployment?  (of bobcat)   I make it all the way through the setup-hosts.yml and the setup-infrastructure.yml ... but it dies on the os-keystone.yml on the "Create database for service" task. 13:20
noonedeadpunkTheCompWiz: can you kindly post some output of the failure? ie via https://paste.openstack.org/13:22
TheCompWizhttps://paste.openstack.org/show/bHTjK5W0fHJDCk9RxxUf/13:23
TheCompWizeverything else before that is successful.13:24
TheCompWiz... and all the output is "censored" ... which is really annoying.13:24
jrosser`failed: [alice_keystone_container-4ffef4a9 -> localhost]` that looks wrong13:24
jrosserTheCompWiz: otherwise it would reveal your database credentials in the log, which is annoying in a different way13:25
TheCompWizjrosser: you're not wrong about that.13:25
TheCompWizwhat about it looks wrong to you?13:25
jrosserthe delegation of that task should be to the utility host13:26
jrossernot to localhost, i.e ansible controller13:26
TheCompWizthe "localhost" is my utility host.  (I also use it for the deployment)13:28
jrosserutility host would be a container on one of your infra nodes for a LXC baed deployment13:28
NeilHanlonyeah, 'utility' host here is a specific terminology that OpenStack-Ansible uses13:29
TheCompWizis there an easy way to get the censored output without digging through all the playbooks?13:29
jrosserthe utlity host has all the stuff necessary for the database client and openstack client13:30
jrosserit is the host where the ansible tasks run when ansible modules need to interact with the db and the openstack API13:30
jrosserTheCompWiz: you can look in the code https://github.com/openstack/openstack-ansible-plugins/blob/master/roles/db_setup/tasks/main.yml#L2913:31
jrosserTheCompWiz: you can also find the task names in the code easily like this https://codesearch.opendev.org/?q=Create%20database%20for%20service&i=nope&literal=nope&files=&excludeFiles=&repos=13:32
NeilHanlonYep! We are pretty good about making sure everything has an associated 'nerd knob' to influence the functionality, e.g. for debugging/troubleshooting, as well as customization13:32
TheCompWizDo I need to pre-install mariadb? ... or is it supposed to be installed by the playbook?13:33
jrosserTheCompWiz: the thing is here, unless we resolve this issue of using localhost as the db setup host then it is not likley to be useful seeing the output from that task13:33
jrossereverything will be setup for you13:33
jrosserTheCompWiz: have you run an all-in-one deployment first?13:34
TheCompWizjrosser: um.... no.  Do you have an example script somewhere for the all-in-one?  (I can google it if you don't have it handy)13:40
jrosserhttps://docs.openstack.org/openstack-ansible/2023.2/user/aio/quickstart.html13:40
noonedeadpunkTheCompWiz: what happens when you run `openstack-ansible playbooks/utility-install.yml`?14:03
noonedeadpunkdoes the playbook succeeds?14:03
noonedeadpunkAnd I assume you have on the "localhost" /openstack/venvs/utility-<version> ?14:03
*** jamesdenton__ is now known as jamesdenton14:04
noonedeadpunkTheCompWiz: to disclose the error you can run `openstack-ansible playbooks/os-keystone-install.yml -e_oslodb_setup_nolog=False `14:07
noonedeadpunkugh, `openstack-ansible playbooks/os-keystone-install.yml -e _oslodb_setup_nolog=False`14:08
TheCompWiznoonedeadpunk: interestingly enough... it's complaining about "python"... 14:18
TheCompWiz"module_stderr": "/bin/sh: 1: /openstack/venvs/utility-28.0.1.dev2/bin/python: not found\n",14:18
TheCompWizsince ansible deployed the container... I find it funny that it can't find python.14:19
noonedeadpunkSo boils down to what's result of `openstack-ansible playbooks/utility-install.yml` basically14:19
noonedeadpunkIt's delegated to utility container, which seems in your case being localhost14:19
TheCompWizutility-install.yml completes sucessfully... but skipped everything... so I assume something is wrong.14:19
noonedeadpunkI guess that;s when things potentially went messy14:19
jrosserah then do you have a utility host defined in openstack_user_config?14:19
noonedeadpunkDo you have any host in utility_all group?14:20
noonedeadpunkBecause it's fine to have utility on localhost, but it should be properly defined anyway14:20
TheCompWizI have a utility container... 14:21
TheCompWizlemme poke at it a bit & see if I can figure it out.  Thanks for pointing me in the right direction.14:23
Tadiosnoonedeadpunk: jrosser: what am i missing here, i am trying to install elk from the ops repo and i keep getting different variables undefined error14:23
Tadiosi followed the guided on the readme line by line, but keeps giving me ansible_pkg_mgr, ansible_os_family, ansible_memtotal_mb, ansible_hostname undefined error on different tasks14:23
Tadiosthere is a line where it says "gather facts before running, openstack -m setup elk_all will gather the facts you will need" but i think there is a typo on the command openstack -m setup elk_all cause that is not working14:24
Tadiosansible -m elk all work fine on gathering fact but i dont think it is saving it any where and i keep getting the same errors14:24
jrosserthat is because the openstack-ansible command is set up to disable ansible facts access though ansible_<foo>, they are only available in ansible_facts['foo']14:25
noonedeadpunkTheCompWiz: so by default, DB setup tasks are delegated to openstack_db_setup_host. If variable is undefined for some reason - it will be localhost14:25
noonedeadpunkTheCompWiz: and that goes down to "{{ groups['utility_all'][0] }}"14:26
jrosserHere is the code that defines the delegation target for service and db setup https://opendev.org/openstack/openstack-ansible/src/branch/master/playbooks/defaults/source_install.yml#L30-L3414:27
Tadiosjrosser: what should i do then?14:28
noonedeadpunkTadios: you can do `export ANSIBLE_INJECT_FACT_VARS=True` I guess14:29
jrosser^ that should work i think14:29
Tadiosokay, let me check14:29
jrosserideally we need to get the content in the ops repo patched14:29
jrosserTadios: i would be good to know that the playbooks in the openstack-ansible-ops repo are really community supported efforts14:30
jrosserso contributions to that code are most welcome14:30
Tadiosjrosser: okay, i'll do my best14:32
jrosserit's not quite search/replace to fix ansible_<foo> to ansible_facts['foo'] but it is not too complicated if you were interested to make a patch14:33
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Add support for extra Python packages inside Ansible runtime  https://review.opendev.org/c/openstack/openstack-ansible/+/90522114:35
jrossernow thats very very interesting14:37
jrosserthis patch passed check at 2.01PM https://review.opendev.org/c/openstack/openstack-ansible/+/90529014:37
jrosserand at the same time this one was failed seemingly as a result https://review.opendev.org/c/openstack/openstack-ansible-os_magnum/+/90519914:38
noonedeadpunkmaybe I triggered recheck too early ?14:39
jrosser11:28:25 vs 11:25:4814:40
noonedeadpunkhm, and now it's not scheduleed14:40
jrosseroops 11:28:25 vs 11:28:4814:40
jrosseri have also noticed our jobs spending really quite some time in "queued" state14:41
NeilHanlonit's the new year, they're feeling a bit lazy14:41
jrosseroooh it's because this got updated underneath all of it https://review.opendev.org/c/openstack/openstack-ansible/+/90522114:42
jrosserhuh14:43
noonedeadpunkoh14:43
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: DNM Allow to skip pre-step bootstrap  https://review.opendev.org/c/openstack/openstack-ansible/+/90529014:43
noonedeadpunkmy bad14:43
jrosserno worries14:43
jrosserit's exactly the same as when i was trying to figure out why my job wasnt shcheduled earlier this week14:44
jrosserdue to rebase needed on dependant patch, but not sure why it just seems to sit and wait rather than fail14:44
noonedeadpunkI somehow thought it doesn't matter what relation chain is for this DNM14:44
Tadiosjrooser: I'll definitely be looking into it, i have had a hard time with the deployment to begin with, for example after running bootstrap-embedded-ansible.sh you will be put into python venv and running `ansible-playbook site.yml $USER_VARS` playbook as per the instruction result in the ModuleNotFoundError: No module named 'ansible.compat.six', so once i sort out all my problems in my deployment, i'll look into the contribution14:47
noonedeadpunko_O14:48
jrossertbh this all needs refactoring into a collection just like ther magnum stuff14:50
jrosserall the embedded ansible and surrounding complexity is trying to deal with a very similar situation of running somewhat out-of-tree code during a test defined really in the integrated repo14:51
noonedeadpunkjrosser: ok, now capi seems actually running boostrap-aio14:59
jrosserit is14:59
jrosserbut i do not see it run the pre playbook from the child job15:00
jrosserseems to go straight from `configure-mirrors` role to `opendev.org/openstack/openstack-ansible/zuul.d/playbooks/pre-gate-cleanup.yml@master`15:01
noonedeadpunkI do see15:01
noonedeadpunk2024-01-11 14:56:49.492769 | PLAY [Bootstrap configuration for Vexxhost magnum-cluster-api driver]15:01
noonedeadpunkI do not see ops collection being installed though15:03
jrosserthis probably is now much easier to debug15:04
jrosseras will be possible to see what actually got into openstack_deploy in the logs15:05
noonedeadpunkyeah15:05
noonedeadpunkand it looks like generally it might work out15:05
jrosserthankyou for looking at the job running stuff15:05
jrosserlike i say i would hope that we can do something applicable also to ELK etc15:06
noonedeadpunkyeah, that will be really nice15:06
noonedeadpunkI think we can also run the same job for changes in ops repo inside mcapi_vexxhost15:07
jrosserthat would be a good idea15:09
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Add tempest tests for Blazar  https://review.opendev.org/c/openstack/openstack-ansible/+/90478615:13
jrosserspatel: write a blog about autoscaling with an example :)15:14
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-os_magnum master: Add job to test Vexxhost cluster API driver  https://review.opendev.org/c/openstack/openstack-ansible-os_magnum/+/90519915:16
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-os_magnum master: Add job to test Vexxhost cluster API driver  https://review.opendev.org/c/openstack/openstack-ansible-os_magnum/+/90519915:17
spateljrosser I am about to do that.. :)  15:18
spatelbefore my buffer flushed out 15:18
jrosserspatel: excellent - i want to add some practical "day 2" examples to my documentation for this in OSA15:19
spatel+1 15:19
admin1what day2 topics are missing ? 15:19
jrosserwell anything at all15:19
jrosserand by that i mean that it should be possible for operators who are not familiar with k8s particularly to be able to offer k8s-as-a-service15:20
jrosserso enough guidance is needed in the documentation to exercise all the features so that you can 1) document them for your users 2) test if they work15:20
spatelagreed jrosser 15:21
jrosserand right now i feel that there is a massive gap here15:21
spatelDeploying stuff is easy but actually Its very important to test functionality :)  15:22
admin1i think magnum is something everyone is interested on, but its one that we are lagging behind on 15:22
jrosseri'm not sure about that15:22
jrosserwe have a complete ready to go solution for one of the capi drivers, none of the other tools offer that15:22
jrosserbut indeed documentation is missing all round15:23
admin1i was going to try capi 15:23
spatelWe are lagging behind?15:23
admin1i meant in handholding for the coe tags and labels15:23
spatelcapi is awesome but it required good operating k8s knowledge 15:23
admin1any good capi docs for osa :D ? 15:24
jrosseradmin1: there is little point with that any more as the old magnum stuff will be deprecated15:24
jrosserall the madness with labels and version magic will go away15:24
admin1coz so far i am doing vms via terraform and then kubespray for the k8s via git pipelines15:24
admin1if there is anything new/beta to try, i can test it out 15:25
spatelThere isn't any specific doc for capi because each deployment is different. I created doc for kolla-ansible if you want to take some pieces for learning - https://satishdotpatel.github.io/openstack-magnum-capi/15:25
spateljrosser what tools are you using to deploy mgmt cluster on OSA ?15:26
spatelAssuming you are creating lxc container and deploying k8s inside it using ansible tooling.. right?15:27
noonedeadpunkadmin1: jrosser is working on that currently15:28
noonedeadpunkhttps://review.opendev.org/q/topic:%22capi%2215:29
jrosserspatel: yes that is right15:29
spatelare you using kubespray or kubeadmin?15:30
jrosserthose patches need updating so probably won't work currently15:30
jrosserkubeadm15:30
admin1i use terraform to boot/manage the master/worker nodes and , and then kubespray currently 15:30
spatelCool! 15:30
admin1but i saw a capi demo and i liked it 15:30
admin1so was gathering info to make it work 15:31
jrosseri was hoping to have some working OSA CI for it this week15:31
jrosserbut that has been tricky to structure so maybe next week :)15:31
admin1if we need a multi node ( all big kvm's ) working osa of specific version to test wtih, i can provide resources 15:32
admin1to speed it up 15:32
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-os_magnum master: Add job to test Vexxhost cluster API driver  https://review.opendev.org/c/openstack/openstack-ansible-os_magnum/+/90519915:33
admin1if you use ipv6 for customers, what range do you normally add to openstack ? 15:34
admin1like /64 or higher 15:34
jrossereach tenant network gets a /6415:36
jrosserit kind of has to as thats the size of a subnet15:36
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-os_magnum master: Add job to test Vexxhost cluster API driver  https://review.opendev.org/c/openstack/openstack-ansible-os_magnum/+/90519916:00
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-ops master: WIP - Bootstrapping playbook  https://review.opendev.org/c/openstack/openstack-ansible-ops/+/90217816:28
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible stable/zed: Bump SHAs for Zed  https://review.opendev.org/c/openstack/openstack-ansible/+/90534416:33
TheCompWiznoonedeadpunk: how on earth does the "utility" container get created?   ... I cannot see anything in any documentation that shows how to configure it in the openstack_user_config.yml 16:39
TheCompWizI feel like I am running around in circles... and getting nowhere fast.16:40
jrosserTheCompWiz: there are example / starting point configs in the etc/ directory in the openstack-ansible repo16:43
TheCompWizjrosser: I know.  That's what I'm basing my config on.  but none of the examples mention a "utility" anything.16:44
jrosserthe reason I suggested to build an all-in-one is that the configuration is built automatically for you and is exactly the same as those we use in our CI jobs16:44
TheCompWizjrosser: I was trying to avoid the aio... just because "unpacking" I assume unpacking everything into a production environment would be a headache.16:47
jrosserby default this is the setup for the utility host inventory/env.d/utility.yml16:47
jrosserthe AIO will give you a reference to understand how things like the db setup should work16:48
jrosseryou can see then that the utility container is part of this inventory/env.d/shared-infra.yml16:49
jrosserso should be created on whatever hosts you specify as shared-infra_hosts16:50
jrosser(I’m looking at this on a phone so +/- some typos)16:50
TheCompWizsadly, it doesn't seem to get deployed on any of the shared-infra-hosts.16:51
TheCompWizthat's where I'm stuck.16:51
jrosserdid any containers get created? can you share the output of lxc ls?16:52
TheCompWizseveral... yes.  (cinder, glance, heat, horizon, keystone, nova_api, octavia, placement, repo)16:53
jrosseryou can paste things directly at paste.opendev.org btw16:54
jrosserthen we need to work back to find out why16:54
TheCompWizI thought that's what we were doing.16:54
noonedeadpunkTheCompWiz: so what's the output of `/opt/openstack-ansible/scripts/inventory-manage.py -G | grep utility`?16:54
jrosserthere is scripts/inventory_manage.py that you can use to show what the inventory expects16:55
jrossersnap :)16:55
TheCompWiznoonedeadpunk: blank.   16:56
noonedeadpunkok16:56
noonedeadpunkthen add `operator_hosts` to openstack_user_config16:57
noonedeadpunkand run openstack-ansible playbooks/lxc-container-create.yml --limit utility_all,lxc_hosts16:58
noonedeadpunkand then openstack-ansible playbooks/utility-install.yml16:58
jrosserTheCompWiz: can you share your openstack_user_config with us?16:58
TheCompWizwhat goes in the operator_hosts?16:58
noonedeadpunkOk, so as you've noticed, we're using dynamic inventory script to genreate required inventory for ansible.16:59
noonedeadpunkIt is descriped through env.d files. For utility it looks like that: https://opendev.org/openstack/openstack-ansible/src/branch/master/inventory/env.d/utility.yml16:59
noonedeadpunkSo basically it contains only utility container:) But, utility will also be created if you have defined shared-infra_hosts in openstack_user_config17:00
noonedeadpunkAnd I guess jrosser question for openstack_user_config content was related to that - as shared-infra_hosts would be enough to get utility created17:01
TheCompWizhere's the config I'm working with: https://paste.openstack.org/show/baUzHFwmoVk5oVWsJhtD/17:04
jrosseryou have a type in shared-infra-hosts17:05
jrosserdash rather than underscore17:05
noonedeadpunkTheCompWiz: that looks quite close to cleura academy config?:)17:06
TheCompWiz.... I think I'm going to go jump off a bridge now.17:06
TheCompWiznoonedeadpunk: it is.  was using that as a boilerplate.17:06
jrosserhaproxy on deploy host is unusual17:07
noonedeadpunkyeah, actually dynamic inventory has some ... interesting design decisions that are kept from year to year. One of which is parsing by `_hosts` suffix17:07
jrosserthere may be also some duplication there?17:08
noonedeadpunkAlso. Today a question was raised internally - what for we're using underscores in lxc container names and then have overhead of replacing then with dashes for hostnames17:10
noonedeadpunkAnd I was hardly able to answer that17:10
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible stable/2023.1: Bump SHAs for 2023.1  https://review.opendev.org/c/openstack/openstack-ansible/+/90534617:11
TheCompWiznoonedeadpunk: .... thanks a billion.  the underscore was the culprit.   (It seems to be building the utility container now)17:14
jrossernoonedeadpunk: that makes also a mess in the k8s patches too17:15
noonedeadpunkdo you have any good reason why we might want to keep that?17:16
noonedeadpunkor at least just any reason :)17:16
jrossernone :)17:16
jrosserother than how actually to change it17:17
jrosserfor an existing deployment17:17
noonedeadpunkI think for existing we should keep it17:17
noonedeadpunk(at least until OS upgrade?)17:17
jrosserso this means some mess in the dynamic inventory script?17:18
jrosser“more mess” :)17:18
noonedeadpunkhaven't evaluated that yet to be frank17:18
noonedeadpunkwas trying to think of reasons why it's needed first :)17:19
jrosserit would be nice to fix17:19
jrosserexternal things assume hostname == inventory_hostname and break in odd ways when it’s not17:19
jrosserthe k8s collection used ansible_hostname_short a bunch and that was just the wrong value17:20
noonedeadpunkCan't say it's valid assumption though....17:20
noonedeadpunkbut having inventory_hostname with invalid for hostname symbols is weird17:21
jrossertrue17:21
noonedeadpunkok, I guess I know where it's coming from... From group names, which are separated with underscore by ansible requirements...17:28
jrosserdoes that point to the group name requirements being resolved in the wrong place?17:32
jrosserlike encoded in the inventory hostname  when actually should be fixed elsewhere17:33
jrosserbecause I’m principle group name and inventory name are completely independent17:33
spatelI have very stupid question. One of my customer want to download cinder volume-snapshot and for that he is uploading volume to image glance and because of volume size is so freaking bug its filling openstack controller disk :(17:39
noonedeadpunkjrosser: nah, it more or less takes this as part of the container name: https://opendev.org/openstack/openstack-ansible/src/branch/master/inventory/env.d/utility.yml#L2317:40
spatelwhy its using local controller disk for volume-snapshot to glance image ? (we have ceph so it should convert it in glance which in ceph right?17:40
spatelI found this solution - https://xahteiwi.eu/xahteiwi.eu/resources/hints-and-kinks/importing-rbd-into-glance/17:48
spatelis this right way to convert volume snapshot to glance image which in ceph?17:49
jrosserspatel: you can only do that with glance v1 api18:00
spatelHmm! I can do  - glance --os-image-api-version 118:01
spatelmy pain is I don't want my controller not get in use when I upload volume image to glance 18:02
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-ops master: WIP - Bootstrapping playbook  https://review.opendev.org/c/openstack/openstack-ansible-ops/+/90217820:28
spateljrosser here you go - https://satishdotpatel.github.io/kubernetes-cluster-autoscaler-with-magnum-capi/21:00
jrosserspatel: what is creating the load?21:02
spatelkubectl scale deployment --replicas=120 nginx-deployment21:02
spateladd more replica.. 21:03
spatel110 pod is hard limit of single worker nodes... so it will demand for more worker nodes 21:03
jrosserso this likely also my not understanding of how it works :)21:04
spatel:)21:04
jrosserit is not scaling up in response to some load then21:04
spatelNext I am going to add metric server and use CPU load to scale up and down 21:04
jrosserright21:04
spatelWe can use CPU based scaling again logic is same telling autoscaler to trigger more nodes 21:05
spatelcurrent scaling is based on scheduler not able to schedule pods (cause pending) and it will ask for more nodes. 21:05
spatelI will setup lab for metrics server base where CPU/Memory will be used to check status of load 21:06
spatelI have to leave now!! i will catch you tomorrow 21:07
jrosserwe are missing ZUUL_SRC_PATH here https://opendev.org/openstack/openstack-ansible/src/branch/master/scripts/gate-check-commit.sh#L9721:34
jrosserit is needed here https://opendev.org/openstack/openstack-ansible/src/branch/master/scripts/get-ansible-collection-requirements.yml#L3421:34
jrosserand here https://opendev.org/openstack/openstack-ansible/src/branch/master/scripts/get-ansible-role-requirements.yml#L5821:34
jrosserin the case where bootstrap is run by the gate-check-commit script21:35
opendevreviewJonathan Rosser proposed openstack/openstack-ansible master: DNM Allow to skip pre-step bootstrap  https://review.opendev.org/c/openstack/openstack-ansible/+/90529021:40
TheCompWizoh-joy... new problems.  Made progress on the new deployment... but it appears now that when the galera-container gets created... the mysql permissions do not get set... so the keystone service still can't do the database configuraiton.22:17
opendevreviewJonathan Rosser proposed openstack/openstack-ansible master: DNM Allow to skip pre-step bootstrap  https://review.opendev.org/c/openstack/openstack-ansible/+/90529022:25
jrosserTheCompWiz: can you can paste any relevant output or specific things about what you believe to be wrong in the galera container?22:28
jrosserthere should be a configured mysql client installed in the utility container which can be useful to check if the database is reachable22:33
jrosserit's also worth knowing that the database connection is via haproxy so you can check that haproxy backend for the database is up22:34
jrosserhatop should have been installed on whichever node has haproxy, useful for debugging22:34
TheCompWizjrosser: sorry for the delay.   kids & homework.  /sigh.  https://paste.openstack.org/show/bThWOPt2R6dsWxt8hAeK/23:22
TheCompWizbefore a reboot... I could attach to the galera container, and mariadb was running, and I could even connect to the server, but none of the users were created to allow keystone (or anything else) to connect.  After a reboot, re-run of all the setup-hosts and setup-infrastructure... mariadb isn't running anymore.23:25
TheCompWizI might have to deal with this tomorrow.  I really appreciate all of your help jrosser.  23:31

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