Thursday, 2023-06-15

derekokeeffe85Morning noonedeadpunk (if you're on that is)08:16
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-os_tempest master: Update to cirros 0.6.2  https://review.opendev.org/c/openstack/openstack-ansible-os_tempest/+/88616509:08
ncuxohmm so the playbook is installing all the services in lxc containers?10:07
ncuxohttps://docs.openstack.org/project-deploy-guide/openstack-ansible/latest/run-playbooks.html the first playbook setup-hosts.yml is preparing the target hosts. If that is true then why I need to prepare the host beforehand? All you should need before hand is just put your ssh keys inside the target host and thats it. Or I'm missing a point here?10:14
jrosserncuxo: there are some pre-requisites, like networking that you must do yourself on the target hosts11:56
jrosserthe setup-hosts playbook is specific things required on all hosts for the openstack deployment11:57
jrosser"All you should need before hand is just put your ssh keys inside the target host and thats it" - yes you are missing the point because to some extent every deployment is different at a physical/network level at least, number of interfaces, approach to H/A, storage local/NFS/infiniband/whatever11:59
jrosseropenstack-ansible allows a very large degree of operator freedom to architect the deployment to meet their own requirements, so it is really not a "shrink wrap installer"12:00
ncuxowait what all I've seen is install some packages, ssh and do the network bridges dependant on the node13:02
ncuxooh yeah the storage, well the storage can also be compartmentalised in a playbook 13:03
ncuxothere is even an already written playbooks for that linux_system_roles/storage13:03
opendevreviewSimon Hensel proposed openstack/openstack-ansible-galera_server master: Add optional compression to mariabackup  https://review.opendev.org/c/openstack/openstack-ansible-galera_server/+/88618014:21
NeilHanlonncuxo: as jrosser said, the point of the project is not to do everything for the users, but provide a high degree of freedom for it to be customized to your environment. We cannot (and won't) make decisions about how your network, storage, etc, is configured18:22
NeilHanlonDoing so would limit the amount of flexibility operators have to use OSA how they like18:22
ncuxookay so I have 5 servers 3 will be in the initial install, I want to have everything on those 3 servers and scale out with whatever services I need. I'm trying to build an HCI deployment where openstack is self sufficient and doesn't need anything except external router. How should my storage be configured then if openstack doesn't manage my storage18:53
NeilHanlonlowercas_: https://review.opendev.org/c/openstack/openstack-ansible/+/869762/818:58
*** lowercas_ is now known as lowercase18:59
opendevreviewNeil Hanlon proposed openstack/openstack-ansible stable/yoga: Drop `else` condition in the container_skel_load loop  https://review.opendev.org/c/openstack/openstack-ansible/+/88614319:02
opendevreviewNeil Hanlon proposed openstack/openstack-ansible stable/yoga: Drop `else` condition in the container_skel_load loop  https://review.opendev.org/c/openstack/openstack-ansible/+/88614319:19
opendevreviewNeil Hanlon proposed openstack/openstack-ansible stable/yoga: Add is_nest property for container_skel  https://review.opendev.org/c/openstack/openstack-ansible/+/88620619:19
jrosserncuxo_: openstack has a few different types of storage (volumes / object / images / ephemeral) and supports many backend implementations for those, for example for block storage you can choose from these https://docs.openstack.org/cinder/latest/configuration/block-storage/volume-drivers.html19:51
jrosserso to answer "how should my storage be configured" you need to choose which of the storage types you want to implement and which backend you are going to use for them19:52
jrosseras an example, it is pretty common to use ceph to provide volume, image and object storage19:52
ncuxo_I wanna be able to implement all of them block file and object storage19:53
ncuxo_so I have to install ceph outside of openstack?19:53
jrosserright - so it is your choice of backend driver19:53
jrosseropenstack-ansible can deploy ceph because it has an integration with ceph-ansible19:54
jrosserthough, for various reasons it is a popular choice not to have tight coupling between the ceph deployment and the openstack deployment19:54
jrosserobviously that is hard to do with an HCI approch19:54
jrosserbut HCI does bring it's own challenges19:55
ncuxo_exactly because I want to use all the resources each server has19:55
ncuxo_could you point a few please?19:56
jrosseryou would need to have a plan for dealing with resource contention between ceph OSD and your virtual machines, and the control plane processes19:56
jrosserhow will you prioritise which process should be killed by the OOM killer when ceph memory usage balloons during a large recovery event?19:56
jrosseryour vm libvirt? mariadb database for openstack?19:57
ncuxo_if openstack installs ceph shouldn't it take care of that ?19:57
jrosseropenstack is the projects that implement the APIs like nova / cinder19:58
jrosseropenstack does not install ceph, openstack-ansible does19:58
ncuxo_ok then doesn't openstack ansible installs a systemd unit that is checking for stuff like that 19:59
jrosserwe have a reference implementation which is not HCI19:59
jrosserand we would generally from an opestack-ansible perspective not recommend an HCI approach, though nothing stops configuring a deployment like that19:59
ncuxo_https://docs.openstack.org/openstack-ansible/latest/user/ceph/full-deploy.html20:00
jrosseryes20:00
jrosserthe compute hosts are separate from the controllers, and separate from the OSD hosts20:00
ncuxo_and since I'm planning to have it all in one I'm begging for trouble ....20:01
ncuxo_got it now20:01
mgariepywhat are you guys uses for networking ? 20:02
jrosserso you define in nova for example, how much memory to keep spare for "other things"20:02
jrosserand you would need to come up with a figure that was sufficient for ceph + 1/3rd of the control plane20:02
ncuxo_jrosser: only that ? then thats not that hard I can spare an easy 128g ram for all those vm20:03
ncuxo_s/vm/vns20:03
ncuxo_,,, cant type today 20:03
jrosserwell like i say ceph memory usage can be wildly unpredictable20:04
jrossersteady state is very different from when it's recovering from a major "event" in the cluster, like loss of a node or somethnig20:04
ncuxo_all my storage is 2g ssds and I'm not planning on making it larger, I prefer to scale out then add thicker drives20:04
ncuxo_2T ssds ... 20:05
jrossermgariepy: do you every try anything converged like this?20:05
mgariepyi would not.20:05
mgariepywhen 1 service needs debugging it's enough for me i don't need all of them to be down at the same time 20:05
ncuxo_mgariepy: but I have 3 hosts so they all should be replicated and in ha state?20:06
jrossernormally those would be 3x control plane hosts then you add more as computes20:06
ncuxo_I don't care why something fails just rinse and repeat 20:06
mgariepywell. when this works sure.20:06
jrossercontrollers can be smaller resource-wise than compute hosts 20:07
mgariepymaybe openstack isn't the right solution ?20:07
ncuxo_and I have only beefy servers this is why I need everything to work on the control plane as well20:08
ncuxo_mgariepy: I'm trying to move away from the typical hypervisor infra. I've been checking baremetal k8s and baremetal openstack 20:09
mgariepyfor only a couple server like that i would probably try proxmox20:10
ncuxo_I'm doing 3 as a start then I'll add 2 more and have another 20 waiting for the load20:10
jrosserit feels wrong for that quantity of hardware not to have dedicated controllers20:11
mgariepymaybe try to have 1 controller  and a couple compute ? for the storage i'm not sure.20:12
jrosserit really depends on the use case20:13
jrosseryou would build a cluster dedicated to CI jobs with no shared storage at all20:13
jrosserbut if uptime/availability were important then you would make different choices20:13
jrosserthere is not one correct way to build openstack, the point is you architect something that fits the use case20:13
mgariepyi tend to build cluster dedicated to users without local storage instead :D but yeah depend on the use-case.20:14
ncuxo_jrosser: it really doesn't make sense to waste 48 cores and 768 per server just for the control plane20:14
jrosserthen personally i would also have some smaller hardware20:14
mgariepyyou can have a couple of 12 core 128gb nodes for the controllers..20:14
jrossermy test lab has 3x 4 core / 64g controllers for example20:15
jrossersuper cheap20:15
ncuxo_https://docs.openstack.org/openstack-ansible/latest/user/ceph/full-deploy.html ok and then still I need seperate hosts for the ceph and compute20:15
jrosserthats what the reference architecture says20:16
ncuxo_also what about the LBs I want them also in openstack 20:16
jrossernothing stops you co-locating ceph & compute, opestack-ansible will deploy that if its what you want20:17
mgariepyhow many drive do you have per server?20:17
jrosserbut then remember it lets you have pretty much any architecture you want20:17
ncuxo_jrosser: hmm if I have the compute and ceph on the same server I can simply add quotas on all my compute to fill up to 80% and this way even if ceph hogs the memory during a recovery the vms can migrate to the other hosts20:18
jrosserlike i say you can tell nova through it's config how much host memory should be reserved20:19
ncuxo_mgariepy: 10 drives per server 2t sas ssds 20:19
jrossersas....20:19
jrosserno raid controller i hope20:20
mgariepyyou can also pins cores to vms.20:20
mgariepyit's flexible :D20:20
ncuxo_the raid controller is in jbod20:20
jrossermaybe reserve 50G, dont know i'm just guessing20:21
ncuxo_probably will leave it at 68 and use the 70020:21
jrosseri am generally more concerned about "day 2 operations" when thinking about this stuff20:21
jrosserlike how do i upgrade my openstack version, what happens when i need to upate the OS major release across the whole cluster20:22
ncuxo_well I have 6 months for planning and testing 20:22
jrosserwhat happens when the OS I have does not support the release of ceph that i need20:22
mgariepycephadm.. only needs podman.. lo20:23
mgariepylol20:23
jrosser^ all this is really what becomes your tasks, not worrying about if you fully utilised some server with HCI or not20:23
ncuxo_I'm confused again ... why should I care about those stuff if server is broken re-provision it and continue with my day ? why I feel I'm missing something here20:24
mgariepyit's not micro-service deployed in k8s. and auto-respawn when one goes offline.20:24
ncuxo_isn't that the point of self healing infra everything is ephemeral20:25
mgariepyyou are talking of openstack.20:25
ncuxo_sure isn't ironic responsible to reprovision your host ?20:25
jrossernot at all20:25
mgariepynop20:25
jrosserironic is a service you can deploy, which will manage baremetal host deployment for your users, as a service20:26
ncuxo_I feel I've been reading then and not understood a thing ...20:26
ncuxo_oh so its not meant for the operator its meant for the user ...20:26
jrossersome tools (the now-deprecated tripleo for example) did used to use ironic to deploy openstack itself20:26
jrosserbut that is really not the core purpose of ironic20:27
jrosserit can and in some cases is used by the operator too, but thats kind of pretty advanced usage20:28
ncuxo_I'm really starting to thing about baremetal k8s with ceph kubevirt and ironic20:28
jrosserright - so it entirely depends on your use case what is suitable20:29
jrosserif you want multi-tenancy properly for example, that might be a factor20:29
ncuxo_my idea was to get a vm on my laptop with openstack ansible as deployment host then provision single host install what is necessary and from this one server expand everything out. This was what I'm looking at20:31
ncuxo_this server has all the services inside, provisions the next server if the server count is less than 3 moves the infra services  and the core services until I reach total of 3 then just ceph and nova 20:33
jrosseropenstack-ansible is not self-replicating like that20:34
mgariepythere are quite a lot of static stuff in osa.20:36
ncuxo_when you mentioned 12 cpu 128 ram per control plane host you mean 12cpu not vcpu ?20:36
ncuxo_mgariepy: you said earlier that all ceph requires is podman, but in the docu I've seen only docker and lxc containers. So podman is used just for ceph?20:39
mgariepycephadm deploy ceph in podman/docker20:39
ncuxo_I prefer if podman was hardcoded and not docker but well ....20:39
mgariepyi got to run now. familly time now.20:40
ncuxo_thanks for explaining stuff to me 20:40
jrosserif openstack-ansible deploys ceph it does not use podman or cephadm20:41
ncuxo_jrosser: can openstack-ansible manage my LBs or I have to have them separate 20:41
jrosserit uses LXC (or not if you dont want) and distro packages20:41
jrosserbut most people, when at decent scale choose to decouple ceph from openstack20:41
jrosserncuxo_: which LB? for your openstack API endpoint, or LBAAS via the octavia service20:42
ncuxo_25 servers is not so big at least in my understanding, after listening to some podcast big infra is over 500 servers20:42
ncuxo_https://docs.openstack.org/openstack-ansible/latest/user/ceph/full-deploy.html not sure which one is this one 20:43
jrosserthat is the LB for the dashboard and API endpoints20:44
jrosseropenstack-ansible deploys haproxy and keepalived for that by default20:44
ncuxo_so I don't need something external ... sweet20:45
jrosseragain you can choose :)20:45
jrossersome poeple like F5 type appliance20:45
ncuxo_as I've said outside of firewall I want all the services to come from openstack, dhcp dns lb ntp 20:46
jrosseri think this is also maybe not right20:47
jrosseryou need to provide NTP yourself, for example20:47
ncuxo_can't I have vms which live on openstack and provide the service ?20:49
jrossertbh i think it is worth stepping back and looking at what it takes to provide infrastructure as a service20:53
jrosseryour openstack hosts cannot, for example, validate SSL certificates unless they have accurate time20:54
jrosserand unsynchronised host clocks is disastrous for ceph20:54
jrosserso this tells you that as the platform operator, you must have proper sources of fundamentals like NTP as foundations to build your infrastructure on top of20:55
ncuxo_jrosser: I can't find an article describing the prerequisite services before deploying openstack 21:16
NeilHanlonseems I've missed a lively conversation about HCI22:26
* NeilHanlon is relieved he missed it22:27
ncuxo_:D we can continue if you were not relieved 22:27
NeilHanlon:P 22:28

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