Thursday, 2021-12-09

*** gibi_ is now known as gibi07:52
opendevreviewArne Wiebalck proposed openstack/tooz master: Fix docstring for get_members()  https://review.opendev.org/c/openstack/tooz/+/82116609:03
*** redrobot6 is now known as redrobot10:23
sean-k-mooneyo/ any people familar with oslo messaging about i have a few quick questions11:14
sean-k-mooneythe main one being for the notifcaionts can i enable 2 drivers at once?11:14
sean-k-mooneye.g. the amqp driver and the log driver11:15
sean-k-mooneyso that notification both get sent to the logs and to the normal amqp endpoint11:15
gibisean-k-mooney: the config opt is multi-valued so you can list more than on driver11:16
gibihttps://docs.openstack.org/oslo.messaging/latest/configuration/opts.html#oslo_messaging_notifications.driver11:16
sean-k-mooneygibi: cool i want to clever things with the log driver that might come to a nova spec near you in the future11:17
gibiOK, cool11:17
sean-k-mooneytl;dr is the log driver use python loging and you can conriugre python loging to shove logs from a spcic topic into a unix socket11:17
sean-k-mooneyso combine the too and you can consume the notifcation from the compute agent locally on the same host over a unix socket11:18
sean-k-mooneythe socket handel for python loggin will just drop the logs if nothing is conected so it wont impact the perfroamce if there is noting connect to it either11:18
sean-k-mooneywhich is nice11:19
sean-k-mooneyat least for my usecase11:19
gibiis it the healthcheck endpoint?11:19
sean-k-mooneyno11:19
sean-k-mooneyalthough i have to write that spec this week too11:19
sean-k-mooneyits https://github.com/SeanMooney/arbiterd11:20
sean-k-mooneyim experimenting with doing powermanamgnet outside of nova11:20
sean-k-mooneybut i would like it to be reactive to spawning and deleting vms eventually11:21
gibiinteresting11:21
sean-k-mooneyso im curerntly explofing what is the minimal touch point in nova i could use to allow some form of integration 11:21
sean-k-mooneycurrently im hoping that we woud neeed to only add an external event and a config option to optional wait for that in select number of places and thats it11:22
sean-k-mooneygibi: i watched your summit video on the external events an realise it would be a nice way to consome info about what was happening but did not want to have the overhead of adding more traffic to the amqp bus11:25
sean-k-mooney*on versioned notificaitons11:25
sean-k-mooneyi liked the little web page you created it was an effective demo11:26
gibiyeah probably a unix socket notification driver in oslo messaging would be nicer architecturally but I see you point11:26
sean-k-mooneyyes it would, and if i was to productise this i proably would go write one11:26
sean-k-mooneybut for a poc the log driver + python logging sockethandeler works just as well11:27
sean-k-mooneyi could also use amqp but right now im trying to not use deps outside of the standar lib for the most part11:28
sean-k-mooneythat will instancely break down the second i add the openstack sdk to the mix but that is ok11:29
sean-k-mooneythe dep matix for sdk is actully not too bad. ufortunetly oslo.messaging pulls in a lot of oslo so im not sure i want to depend on that directly but i proably will evenutally11:32
gibii see12:02
gibisure for a poc the logging framework deture is not painful12:02
dtantsurzzzeek_: hi, good morning! is there a way to set sqlite pragma's using an oslo.db/sqlalchemy connection string?13:42
zzzeek_dtantsur: not generically no13:43
zzzeek_dtantsur: you would need to apply an event hook to the engine13:43
dtantsurthat's pity13:43
dtantsurwell, it's configuration, not code13:43
dtantsurI mean, we could add Ironic options for that... but it does not feel right13:43
dtantsur(I'm talking about things like 'synchronous', 'journal_mode', etc - stuff that depends on a deployment, not on the code)13:44
zzzeek_dtantsur: those dont feel like URL query arguments to me13:48
zzzeek_those are like tuning arguments13:48
dtantsurzzzeek_: I'm open to ideas, but they're not part of the application code either.13:48
zzzeek_well usually, these kinds of options are made as part of a database's server config, but sqlite has no server13:49
dtantsurright :)13:49
zzzeek_so likely oslo.db connection options13:49
dtantsurzzzeek_: so, something similar to https://opendev.org/openstack/oslo.db/src/branch/master/oslo_db/sqlalchemy/engines.py#L291-L323 ?13:53
zzzeek_dtantsur: look a little lower here: https://opendev.org/openstack/oslo.db/src/branch/master/oslo_db/sqlalchemy/engines.py#L340   "Synchronus" appears to already be an oslo.db option13:54
dtantsur\o/ reading is overrates :)13:54
dtantsurokay, this solves my main issue for now, thank you zzzeek_ :)13:55
zzzeek_https://opendev.org/openstack/oslo.db/src/branch/master/oslo_db/options.py#L1713:55
dtantsurzzzeek_: do you know if there is any reason not to support NORMAL synchronous mode, only FULL and OFF?14:11
dtantsur(ref https://sqlite.org/pragma.html#pragma_synchronous)14:11
zzzeek_dtantsur: I have no experience with SQLite synchronization modes14:11
dtantsurack, no worries then14:11
zzzeek_I use sqlite throughout the day every day for at least 16 years but 95% for testing14:12
zzzeek_hvent used it in production code in many years, basically, if im using sqlite in production and i find myself needing to change its behavior wrt durability / concurrency etc, i put it away and install posgresql14:13
dtantsurheh, fair14:15
dtantsurin metal3 we have resource and operations constraints, which make us prefer faster solutions14:15
dtantsurenabling WAL does make a huge difference in my experience btw14:16
zzzeek_im sure it would yup14:17
zzzeek_"tps" and "sqlite" are not frequently used in the same sentence normally14:18
dtantsurtps?14:18
zzzeek_since tps discussions are usually in the context of a DB that has lots of concurrent requests, which is explicitly a non-sqlite use case14:18
zzzeek_transactions per second14:18
dtantsurah14:18
zzzeek_fast writes are like, hey i have a high frequency trading app14:19
zzzeek_or im american express14:19
zzzeek_etc14:19
zzzeek_they need tremendous tps rates but in the context of millions of simultaneous tranasctions14:19
dtantsurmetal3 uses ironic as an internal tool. it's job is to behave nicely and not get in a way.14:20
dtantsur.. and there is only one service that is talking to ironic14:21
*** zbitter is now known as zaneb18:54

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