*** gibi_ is now known as gibi | 07:52 | |
opendevreview | Arne Wiebalck proposed openstack/tooz master: Fix docstring for get_members() https://review.opendev.org/c/openstack/tooz/+/821166 | 09:03 |
---|---|---|
*** redrobot6 is now known as redrobot | 10:23 | |
sean-k-mooney | o/ any people familar with oslo messaging about i have a few quick questions | 11:14 |
sean-k-mooney | the main one being for the notifcaionts can i enable 2 drivers at once? | 11:14 |
sean-k-mooney | e.g. the amqp driver and the log driver | 11:15 |
sean-k-mooney | so that notification both get sent to the logs and to the normal amqp endpoint | 11:15 |
gibi | sean-k-mooney: the config opt is multi-valued so you can list more than on driver | 11:16 |
gibi | https://docs.openstack.org/oslo.messaging/latest/configuration/opts.html#oslo_messaging_notifications.driver | 11:16 |
sean-k-mooney | gibi: cool i want to clever things with the log driver that might come to a nova spec near you in the future | 11:17 |
gibi | OK, cool | 11:17 |
sean-k-mooney | tl;dr is the log driver use python loging and you can conriugre python loging to shove logs from a spcic topic into a unix socket | 11:17 |
sean-k-mooney | so combine the too and you can consume the notifcation from the compute agent locally on the same host over a unix socket | 11:18 |
sean-k-mooney | the 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 either | 11:18 |
sean-k-mooney | which is nice | 11:19 |
sean-k-mooney | at least for my usecase | 11:19 |
gibi | is it the healthcheck endpoint? | 11:19 |
sean-k-mooney | no | 11:19 |
sean-k-mooney | although i have to write that spec this week too | 11:19 |
sean-k-mooney | its https://github.com/SeanMooney/arbiterd | 11:20 |
sean-k-mooney | im experimenting with doing powermanamgnet outside of nova | 11:20 |
sean-k-mooney | but i would like it to be reactive to spawning and deleting vms eventually | 11:21 |
gibi | interesting | 11:21 |
sean-k-mooney | so im curerntly explofing what is the minimal touch point in nova i could use to allow some form of integration | 11:21 |
sean-k-mooney | currently 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 it | 11:22 |
sean-k-mooney | gibi: 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 bus | 11:25 |
sean-k-mooney | *on versioned notificaitons | 11:25 |
sean-k-mooney | i liked the little web page you created it was an effective demo | 11:26 |
gibi | yeah probably a unix socket notification driver in oslo messaging would be nicer architecturally but I see you point | 11:26 |
sean-k-mooney | yes it would, and if i was to productise this i proably would go write one | 11:26 |
sean-k-mooney | but for a poc the log driver + python logging sockethandeler works just as well | 11:27 |
sean-k-mooney | i could also use amqp but right now im trying to not use deps outside of the standar lib for the most part | 11:28 |
sean-k-mooney | that will instancely break down the second i add the openstack sdk to the mix but that is ok | 11:29 |
sean-k-mooney | the 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 evenutally | 11:32 |
gibi | i see | 12:02 |
gibi | sure for a poc the logging framework deture is not painful | 12:02 |
dtantsur | zzzeek_: 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 no | 13:43 |
zzzeek_ | dtantsur: you would need to apply an event hook to the engine | 13:43 |
dtantsur | that's pity | 13:43 |
dtantsur | well, it's configuration, not code | 13:43 |
dtantsur | I mean, we could add Ironic options for that... but it does not feel right | 13: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 me | 13:48 |
zzzeek_ | those are like tuning arguments | 13:48 |
dtantsur | zzzeek_: 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 server | 13:49 |
dtantsur | right :) | 13:49 |
zzzeek_ | so likely oslo.db connection options | 13:49 |
dtantsur | zzzeek_: 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 option | 13:54 |
dtantsur | \o/ reading is overrates :) | 13:54 |
dtantsur | okay, 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#L17 | 13:55 |
dtantsur | zzzeek_: 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 modes | 14:11 |
dtantsur | ack, no worries then | 14:11 |
zzzeek_ | I use sqlite throughout the day every day for at least 16 years but 95% for testing | 14: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 posgresql | 14:13 |
dtantsur | heh, fair | 14:15 |
dtantsur | in metal3 we have resource and operations constraints, which make us prefer faster solutions | 14:15 |
dtantsur | enabling WAL does make a huge difference in my experience btw | 14:16 |
zzzeek_ | im sure it would yup | 14:17 |
zzzeek_ | "tps" and "sqlite" are not frequently used in the same sentence normally | 14:18 |
dtantsur | tps? | 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 case | 14:18 |
zzzeek_ | transactions per second | 14:18 |
dtantsur | ah | 14:18 |
zzzeek_ | fast writes are like, hey i have a high frequency trading app | 14:19 |
zzzeek_ | or im american express | 14:19 |
zzzeek_ | etc | 14:19 |
zzzeek_ | they need tremendous tps rates but in the context of millions of simultaneous tranasctions | 14:19 |
dtantsur | metal3 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 ironic | 14:21 |
*** zbitter is now known as zaneb | 18:54 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!