flwang1 | flaper87: yep | 00:16 |
---|---|---|
flwang1 | flaper87: around? | 00:17 |
flaper87 | flwang1: ish | 00:21 |
flwang1 | flaper87: I saw your comments | 00:21 |
flwang1 | flaper87: as for this https://review.openstack.org/#/c/151529/6/zaqar/storage/pipeline.py | 00:22 |
flwang1 | which method you're taking about? "This method is not implemented for the redis.DataDriver, therefore this jobs keep failing." | 00:22 |
flwang1 | message_controller(self)? | 00:22 |
flaper87 | flwang1: no, the subscription one | 00:24 |
flaper87 | for the redis.DataDriver | 00:24 |
flaper87 | it raises a NotImplemented error | 00:25 |
flwang1 | so you mean in redis driver, it can't get self._storage.subscription_controller, right? | 00:25 |
flwang1 | it makes more sense | 00:26 |
flaper87 | yes | 00:26 |
flwang1 | i'm thinking if there is anyway to workaround it | 00:27 |
flwang1 | how did you see that? | 00:28 |
flwang1 | since you told me you can pass the ./stack.sh | 00:28 |
flwang1 | besides, the rest api patch maybe the similar reason https://review.openstack.org/#/c/142432/ | 00:28 |
flaper87 | flwang1: I think I wasn't testing your patch correctly | 00:31 |
flaper87 | I think the best way to do it right now is how shaifali is doing in her patch | 00:31 |
flaper87 | that is, to have a set of builtin stages that we always load | 00:31 |
flwang1 | ok, I will review it. but for patch https://review.openstack.org/#/c/142432/ i still run into the redis issue, so how did you test it? | 00:32 |
flaper87 | just install your patch, install redis and enable redis | 00:34 |
flaper87 | that should trigger the issue | 00:34 |
flwang1 | flaper87: got it, I will git a try | 00:38 |
flwang1 | thanks for the info | 00:38 |
flwang1 | so i will review shaifali's patch and see what i can do | 00:39 |
kragniz | ./win 57 | 00:52 |
*** reed has quit IRC | 00:55 | |
*** achanda has quit IRC | 00:58 | |
flwang1 | flaper87: still around? | 01:41 |
*** achanda has joined #openstack-zaqar | 01:58 | |
*** achanda has quit IRC | 03:05 | |
*** achanda has joined #openstack-zaqar | 03:08 | |
*** achanda has quit IRC | 03:40 | |
*** csoukup has joined #openstack-zaqar | 03:40 | |
*** flwang1 has quit IRC | 03:54 | |
*** exploreshaifali has joined #openstack-zaqar | 03:55 | |
*** achanda has joined #openstack-zaqar | 03:59 | |
*** achanda has quit IRC | 04:07 | |
*** exploreshaifali has quit IRC | 04:20 | |
*** exploreshaifali has joined #openstack-zaqar | 04:23 | |
*** achanda has joined #openstack-zaqar | 04:55 | |
*** achanda has quit IRC | 04:59 | |
*** achanda has joined #openstack-zaqar | 05:11 | |
*** chandankumar has joined #openstack-zaqar | 05:13 | |
*** achanda has quit IRC | 05:28 | |
*** csoukup has quit IRC | 05:39 | |
*** achanda has joined #openstack-zaqar | 05:59 | |
*** chandankumar has quit IRC | 06:44 | |
*** chandankumar has joined #openstack-zaqar | 07:02 | |
*** exploreshaifali has quit IRC | 07:29 | |
*** achanda has quit IRC | 07:38 | |
*** achanda has joined #openstack-zaqar | 07:45 | |
*** achanda has quit IRC | 07:50 | |
*** exploreshaifali has joined #openstack-zaqar | 08:56 | |
exploreshaifali | gooooooood morning!!! | 09:19 |
exploreshaifali | :D | 09:19 |
*** chandankumar has quit IRC | 09:31 | |
*** chandankumar has joined #openstack-zaqar | 09:36 | |
*** exploreshaifali has quit IRC | 09:38 | |
*** flwang1 has joined #openstack-zaqar | 09:39 | |
*** chandankumar has quit IRC | 09:52 | |
*** dmitryme has quit IRC | 09:53 | |
*** dmitryme has joined #openstack-zaqar | 09:54 | |
*** exploreshaifali has joined #openstack-zaqar | 10:03 | |
*** chandankumar has joined #openstack-zaqar | 10:05 | |
*** chandankumar_ has joined #openstack-zaqar | 12:12 | |
*** chandankumar has quit IRC | 12:15 | |
*** malini has joined #openstack-zaqar | 12:21 | |
*** malini has left #openstack-zaqar | 12:38 | |
*** jchai has joined #openstack-zaqar | 13:42 | |
openstackgerrit | Shaifali Agrawal proposed openstack/zaqar: Removing QueueController from data to control plane https://review.openstack.org/144340 | 14:08 |
*** amitgandhinz has joined #openstack-zaqar | 14:09 | |
*** amitgandhinz has quit IRC | 14:10 | |
exploreshaifali | flaper87, still we are unable to access "queue_databases" | 14:10 |
*** amitgandhinz has joined #openstack-zaqar | 14:10 | |
exploreshaifali | File "zaqar/storage/mongodb/messages.py", line 888, in __init__ | 14:10 |
exploreshaifali | 2015-02-27 06:09:57.843 57461 TRACE stevedore.extension self._collection = self.control_driver.queues_database.queues | 14:10 |
exploreshaifali | 2015-02-27 06:09:57.843 57461 TRACE stevedore.extension AttributeError: 'ControlDriver' object has no attribute 'queues_database' | 14:10 |
*** chandankumar_ has quit IRC | 14:11 | |
*** malini has joined #openstack-zaqar | 14:18 | |
*** csoukup has joined #openstack-zaqar | 14:30 | |
exploreshaifali | vkmc, \o | 14:33 |
exploreshaifali | kragniz, \o | 14:33 |
exploreshaifali | :D | 14:33 |
kragniz | exploreshaifali: \o! | 14:34 |
exploreshaifali | kragniz, congrats for glance core!! | 14:34 |
kragniz | exploreshaifali: thanks! | 14:34 |
vkmc | exploreshaifali, o/ | 14:37 |
vkmc | w000t | 14:37 |
vkmc | kragniz, congratz for joining the coredom kragniz! | 14:37 |
kragniz | I'm not in the groups yet! | 14:38 |
exploreshaifali | vkmc, he is in nominations right now | 14:38 |
vkmc | kragniz, exploreshaifali, ohhh | 14:39 |
vkmc | well, crossing fingers then :) | 14:39 |
exploreshaifali | :) | 14:39 |
kragniz | :) | 14:40 |
exploreshaifali | (: | 14:40 |
exploreshaifali | :) | 14:40 |
exploreshaifali | (: | 14:40 |
exploreshaifali | :) | 14:41 |
*** exploreshaifali has quit IRC | 14:47 | |
*** dynarro has joined #openstack-zaqar | 15:06 | |
*** achanda has joined #openstack-zaqar | 15:31 | |
*** achanda has quit IRC | 15:36 | |
*** csoukup has quit IRC | 16:06 | |
*** csoukup has joined #openstack-zaqar | 16:15 | |
*** reed has joined #openstack-zaqar | 16:27 | |
*** exploreshaifali has joined #openstack-zaqar | 16:41 | |
exploreshaifali | flaper87, ping ting ding | 16:45 |
exploreshaifali | :P | 16:45 |
flaper87 | exploreshaifali: hey :) | 16:46 |
flaper87 | sorry, I'm heads down on something I must finish today | 16:46 |
flaper87 | :( | 16:46 |
flaper87 | exploreshaifali: what's up? | 16:47 |
flaper87 | how are you doing? | 16:47 |
exploreshaifali | flaper87, okay | 16:47 |
exploreshaifali | flaper87, I am super gooooooood | 16:47 |
exploreshaifali | flaper87, but not the patch :( | 16:47 |
exploreshaifali | flaper87, it is still unable to access queue_databses | 16:47 |
flaper87 | exploreshaifali: aweee :( what's wrong with it? | 16:47 |
flaper87 | mmhhh | 16:47 |
flaper87 | lemme check | 16:47 |
*** malini has left #openstack-zaqar | 16:48 | |
flaper87 | exploreshaifali: def __init__(self, conf, storage, control_driver=None) <- control driver should not be a keyword argument | 16:49 |
flaper87 | that's just a nit, though | 16:50 |
* flaper87 keeps reading | 16:50 | |
exploreshaifali | flaper87, above one is for pipeline.DataDriver? | 16:52 |
flaper87 | exploreshaifali: yes | 16:53 |
exploreshaifali | ok | 16:53 |
flaper87 | exploreshaifali: in mongodb/messages.py L888, I believe it's getting the wrong control_driver, Could you please put a print there (or break point) to know what the actual control driver it is getting is ? | 16:57 |
*** mpanetta has joined #openstack-zaqar | 16:57 | |
*** mpanetta has quit IRC | 16:57 | |
*** mpanetta has joined #openstack-zaqar | 16:57 | |
exploreshaifali | flaper87, okay....... doing! | 16:57 |
flaper87 | exploreshaifali: run it locally | 16:59 |
flaper87 | lets see what happens | 16:59 |
exploreshaifali | hhahaha yes | 16:59 |
exploreshaifali | flaper87, so here is control_derver --> <zaqar.storage.sqlalchemy.driver.ControlDriver object at 0x7fcbd9a08ad0> | 17:05 |
exploreshaifali | then I printed "control_driver.__dict__" --> {'sqlalchemy_conf': <oslo_config.cfg.GroupAttr object at 0x7fcbd9a7a6d0>, 'cache': <zaqar.openstack.common.cache._backends.memory.MemoryBackend object at 0x7fcbd9a08a10>, 'conf': <oslo_config.cfg.ConfigOpts object at 0x7fcbd9ab6910>} | 17:06 |
exploreshaifali | but after it I also tried to print "control_driver.queues_database" it is not printing | 17:06 |
flaper87 | HOLY MOLY | 17:07 |
flaper87 | do you see what the problem is ? | 17:07 |
exploreshaifali | also after it I tried to print simple string but it is also got printing | 17:07 |
exploreshaifali | what I think is queues_database is not coming from drivers.ControlDriver | 17:08 |
exploreshaifali | but I have defined queues_database inside it | 17:08 |
flaper87 | nope | 17:08 |
flaper87 | so, you defined queues_database in the *mongodb* control driver | 17:08 |
flaper87 | and you're receiving sqlalchemy's | 17:08 |
flaper87 | which is perfectly fine | 17:09 |
*** mpanetta_ has joined #openstack-zaqar | 17:09 | |
flaper87 | I don't think you should rely on the queues_database thing | 17:09 |
flaper87 | oh wait, one more thing | 17:10 |
exploreshaifali | okay so I need to modify all other datastores too | 17:10 |
flaper87 | wno no | 17:10 |
flaper87 | no | 17:10 |
flaper87 | you shouldn't have queues_database | 17:10 |
flaper87 | period | 17:10 |
flaper87 | :D | 17:10 |
exploreshaifali | ?? | 17:10 |
flaper87 | btw, you're adding the MessageQueueHandler to all the pipelines | 17:10 |
flaper87 | you shouldn't | 17:10 |
flaper87 | you just need it for the Queue's one | 17:10 |
flaper87 | IIRC | 17:11 |
*** mpanetta has quit IRC | 17:11 | |
* exploreshaifali not getting anything | 17:12 | |
flaper87 | exploreshaifali: hehehe, sorry, I was looking up some links | 17:12 |
flaper87 | I'm back | 17:12 |
flaper87 | exploreshaifali: so, We need to "replace" the usage of message_controller in the queue_controller | 17:13 |
flaper87 | right? | 17:13 |
exploreshaifali | flaper87, yes | 17:13 |
flaper87 | cool, we need to get rid of things like: https://github.com/openstack/zaqar/blob/master/zaqar/storage/mongodb/queues.py#L281 | 17:13 |
exploreshaifali | flaper87, yup! | 17:13 |
flaper87 | To do that, we need to add something to the "queue"'s pipeline so that it'll be called whenever `_delete` is called | 17:13 |
flaper87 | right ? | 17:13 |
exploreshaifali | yes yes | 17:14 |
exploreshaifali | we need to add it in queues pipeline and I am adding them in DataDriver pipeline | 17:14 |
exploreshaifali | so it is the mistake? | 17:14 |
flaper87 | exploreshaifali: you are adding it in all the pipelines but you need to do that *just* for the queue one | 17:15 |
*** mpanetta_ is now known as mpanetta | 17:16 | |
flaper87 | After you do that, you need to make sure the `MessageQueueHandler` implementation interacts *just* with the DataDriver controllers and not its internals | 17:16 |
flaper87 | for example, it shouldn't access queues_databases at all | 17:16 |
flaper87 | It needs self.driver.message_controller.delete() | 17:16 |
flaper87 | or something like that | 17:16 |
flaper87 | is that clearer? | 17:16 |
exploreshaifali | flaper87, as per I understand I we need to call "_get_builtin_entry_points(self._storage, self.control_driver)" only in queues_controller | 17:17 |
exploreshaifali | of pipeline.DataDriver | 17:18 |
exploreshaifali | but MessegeQueueHandler will need to interact with queues_database | 17:20 |
exploreshaifali | since it need self.collection=self.driver.queues_database.queues | 17:21 |
exploreshaifali | or self.collection=self."control_driver".queues_database.queues | 17:21 |
exploreshaifali | because now we are shifting queues_database inside ControlDriver | 17:21 |
*** reed has quit IRC | 17:24 | |
exploreshaifali | has flaper87 again went in his dream world? | 17:27 |
exploreshaifali | :P | 17:28 |
*** dynarro has quit IRC | 17:28 | |
vkmc | exploreshaifali, he is quite busy lately | 17:29 |
vkmc | lemme check | 17:29 |
exploreshaifali | vkmc, okay :D | 17:30 |
vkmc | for what I understood, you have to abstract for using DataDriver attributes | 17:31 |
vkmc | and access them from the interface | 17:31 |
* vkmc reads exploreshaifali's latest ps | 17:33 | |
exploreshaifali | vkmc, I don't know exactly what he mean, but we need to access queues_database which is now in ControlDriver | 17:35 |
exploreshaifali | not in DataDriver | 17:35 |
*** amalagon has joined #openstack-zaqar | 17:38 | |
vkmc | exploreshaifali, you need queues_database for stats and delete | 17:38 |
exploreshaifali | vkmc, yes | 17:39 |
exploreshaifali | vkmc, only for delete | 17:39 |
vkmc | s/stats/exists | 17:39 |
vkmc | what we want to do is... for the first case, exists, tell if the message exists in the queue | 17:40 |
exploreshaifali | no s/exists/stats | 17:40 |
vkmc | no, the other way round, I want to say that you need it for the _exists method | 17:40 |
exploreshaifali | oh yes, sorry | 17:40 |
vkmc | :) no worries | 17:41 |
vkmc | so, instead of getting the queues_database | 17:41 |
vkmc | flaper suggested that you use the message controller | 17:41 |
vkmc | that you already have | 17:41 |
vkmc | so you call, self.message_controller.delete() | 17:42 |
vkmc | does that make sense? | 17:42 |
exploreshaifali | vkmc, https://review.openstack.org/#/c/144340/22/zaqar/storage/mongodb/messages.py here at L888 what should I replace? | 17:43 |
exploreshaifali | self._collection = self.control_driver.queues_database.queues | 17:43 |
vkmc | yeah, remove that | 17:44 |
vkmc | with this approach we will manage to remove all the messages | 17:44 |
vkmc | but... the queue will remain there | 17:44 |
vkmc | maybe we could implement some kind of garbage collector? | 17:45 |
exploreshaifali | vkmc, if I will remove it than what will we do at L904? | 17:46 |
vkmc | exploreshaifali, you remove it as well | 17:47 |
exploreshaifali | flaper also asked me not to use internals that mean exactly what you are saying | 17:47 |
vkmc | you shouldn't need to access queues_database from there | 17:47 |
vkmc | let me check the code of the messagescontroller | 17:48 |
exploreshaifali | vkmc, okay if I will remove L904 too than how will a message will get deleted from the database/collection? | 17:48 |
vkmc | maybe we can do something to wrap the queue removal from there | 17:48 |
vkmc | exploreshaifali, you ask the messages_controller to do that | 17:48 |
vkmc | through a public method | 17:48 |
vkmc | in the messagecontroller you have an instance of the controldriver, iirc | 17:50 |
vkmc | or maybe I'm high in carrots (having lunch) | 17:50 |
exploreshaifali | you mean by https://github.com/openstack/zaqar/blob/master/zaqar/storage/mongodb/messages.py#L535 this method ? | 17:51 |
vkmc | exploreshaifali, yeap | 17:51 |
exploreshaifali | vkmc, yet there are problems, if not for delete but for stats | 17:52 |
exploreshaifali | messagecontroller wants https://github.com/openstack/zaqar/blob/master/zaqar/storage/mongodb/messages.py#L144 | 17:52 |
exploreshaifali | we don't have "self.driver.mongodb_conf.partitions" | 17:52 |
vkmc | aha | 17:52 |
vkmc | why not? | 17:52 |
exploreshaifali | vkmc, this was not discussed with falper | 17:52 |
vkmc | ok, let's discuss this now :) | 17:53 |
vkmc | and if we need a little dose of wtf, then we call flaper87 | 17:53 |
exploreshaifali | not beacause we are initializing messagecontroller https://review.openstack.org/#/c/144340/22/zaqar/storage/mongodb/messages.py at L890 | 17:53 |
exploreshaifali | here we are not inheriting any class | 17:54 |
exploreshaifali | and also not explicitely defining self.mondo_conf | 17:54 |
exploreshaifali | kinda thing | 17:54 |
vkmc | oh I see | 17:55 |
vkmc | let's think this better then | 17:56 |
exploreshaifali | vkmc, I was thinking can we inherit mongodb.queues.QueueControlle here? | 17:57 |
vkmc | exploreshaifali, I think we are missing some design details here and that we should stop and think about it before continue coding | 17:59 |
exploreshaifali | vkmc, yes yes | 17:59 |
exploreshaifali | lets think more | 17:59 |
vkmc | it's a bummer when you get stucked with something and the problem keeps growing just because | 17:59 |
vkmc | maybe we could do a hangout and chat about the change, and write down how the architecture should look like | 18:00 |
vkmc | what do you think? | 18:00 |
exploreshaifali | vkmc, yes sure why not | 18:00 |
vkmc | cool | 18:01 |
vkmc | what time is it there? I don't want to start working on this if its too late or you are in school :) | 18:02 |
vkmc | if you rather do this next monday morning, we can schedule something | 18:02 |
exploreshaifali | vkmc, no no not on monday........... my college internals will start from 2 to 5 :( | 18:04 |
exploreshaifali | so yea its night here | 18:04 |
vkmc | ohhh | 18:04 |
vkmc | well, focus on that | 18:04 |
exploreshaifali | i am not in good state but we can start | 18:04 |
vkmc | we can tackle this later | 18:04 |
exploreshaifali | vkmc, college stuff is not as much exiciting as this one ;) | 18:04 |
vkmc | next week you will be full time with school? or you will be free at afternoons? | 18:04 |
vkmc | haha | 18:04 |
vkmc | I agree :P been there | 18:05 |
exploreshaifali | till 4 march I will not able to focus much here | 18:05 |
vkmc | ok, no worries | 18:05 |
vkmc | it will give me some time to think about this too | 18:05 |
vkmc | hahaah | 18:05 |
exploreshaifali | if you are not much busy we can start now too | 18:06 |
vkmc | sure, I need to catch up with what we have right now though | 18:06 |
vkmc | read backlogs and such | 18:06 |
exploreshaifali | okay :) | 18:07 |
exploreshaifali | I am here only | 18:07 |
vkmc | k | 18:07 |
*** achanda has joined #openstack-zaqar | 18:16 | |
*** mpanetta has quit IRC | 18:16 | |
*** mpanetta has joined #openstack-zaqar | 18:17 | |
*** achanda has quit IRC | 18:17 | |
*** achanda has joined #openstack-zaqar | 18:17 | |
*** reed has joined #openstack-zaqar | 18:54 | |
vkmc | exploreshaifali, did you discuss with flaper87 the idea of passing a control driver reference to the data driver? | 19:00 |
exploreshaifali | vkmc, yes | 19:00 |
vkmc | and what was the outcome of that? | 19:01 |
exploreshaifali | vkmc, the main task is to shift "queue_controller" and "queues_databases" from data to control plane and access them thorugh control_plane(ControlDriver) instance inside DataDriver wherever needed | 19:02 |
vkmc | that's fine | 19:02 |
exploreshaifali | so this is the reason why we are passing control driver into data driver | 19:03 |
exploreshaifali | it was flaper87's idea to pass control driver refrence to data driver | 19:03 |
vkmc | I'm trying to remember why we need the message handler | 19:04 |
exploreshaifali | okay, so this let us remove "queue_controler" from DataDriver to ControlDriver but queue_controller need message_controller inside _delete() and _stats | 19:04 |
exploreshaifali | but queue_controller could not access message_controller now as now it is being instantiated though control driver which does not have message_controller | 19:05 |
exploreshaifali | so we decided to use pipelines and let all message_controller and queues stuff to be happpen there in queue's pipelines | 19:06 |
vkmc | exploreshaifali, and what happens if, for instance | 19:06 |
vkmc | we init the datacontroller | 19:07 |
vkmc | sorry, let's use the name of the class instead | 19:07 |
vkmc | we init the datadriverbase | 19:07 |
vkmc | without the controldriverbase | 19:08 |
vkmc | because, as you said, its not yet instantiated | 19:08 |
vkmc | then we init the controldriverbase | 19:08 |
vkmc | with the datadriverbase | 19:08 |
vkmc | and finally we establish the link between the datadriverbase and the controldriverbase, using a method | 19:08 |
exploreshaifali | for every instance of DataDriver we will need ControlDriver instance too | 19:09 |
vkmc | and we only need the controldriver for the messages only | 19:09 |
vkmc | or what is the downside of that? | 19:10 |
exploreshaifali | we don't need control driver for messages, controldriver does not have messages(this is the problem) | 19:10 |
exploreshaifali | we need control driver only for queues | 19:10 |
exploreshaifali | queue controller and queues databases | 19:11 |
exploreshaifali | and queuecontroller need messages | 19:12 |
vkmc | aha | 19:12 |
vkmc | according to boostrap.py | 19:12 |
vkmc | when storage is executed https://github.com/openstack/zaqar/blob/master/zaqar/bootstrap.py#L104-L116 | 19:12 |
vkmc | the data driver is loaded | 19:12 |
vkmc | and when control is executed https://github.com/openstack/zaqar/blob/master/zaqar/bootstrap.py#L118-L122 | 19:13 |
vkmc | the control driver is loaded | 19:13 |
exploreshaifali | yes | 19:13 |
vkmc | the queue_controller is within the controldriver controllers | 19:14 |
exploreshaifali | yes | 19:14 |
vkmc | and for some operations, queue_controller needs to access to messages | 19:14 |
exploreshaifali | yes | 19:14 |
vkmc | precisely, the message_controller | 19:14 |
exploreshaifali | yup | 19:14 |
vkmc | which is within datadriver | 19:14 |
exploreshaifali | yup | 19:14 |
vkmc | ok so, now I want to inspect the load_storage_driver method | 19:15 |
exploreshaifali | we have changes bootstarp's storage method --> https://review.openstack.org/#/c/144340/22/zaqar/bootstrap.py | 19:15 |
vkmc | we pass conf, cache and if whether it is or not a control driver | 19:15 |
vkmc | good | 19:15 |
vkmc | ok, we always pass the control driver now | 19:17 |
exploreshaifali | yes..... all thanks to flaper87 | 19:17 |
vkmc | :) | 19:20 |
*** csoukup has quit IRC | 19:22 | |
*** openstackgerrit has quit IRC | 19:24 | |
*** openstackgerrit has joined #openstack-zaqar | 19:24 | |
*** csoukup has joined #openstack-zaqar | 19:26 | |
vkmc | according to bootstrap.py, datadriver is initializated first | 19:27 |
vkmc | and controldriver follows | 19:27 |
vkmc | hm | 19:28 |
vkmc | I wonder if its the same instance | 19:28 |
exploreshaifali | datadriver's instantialtion will not completer if controldriver is not instantiated | 19:28 |
exploreshaifali | inside datadriver's __init__() we are passing controldriver's refrence/instance | 19:29 |
vkmc | it might complete, in an erroneus way | 19:30 |
vkmc | is not like you stop the call | 19:30 |
vkmc | see my concern? | 19:30 |
exploreshaifali | ?? | 19:31 |
vkmc | the drivers are instantiated when the transport.listen() method is executed | 19:32 |
vkmc | self.storage executes first | 19:32 |
vkmc | but you added storage_driver = storage_utils.load_storage_driver(self.conf, self.cache, control_driver=self.control) | 19:33 |
vkmc | so, self.control exectues | 19:33 |
vkmc | executes* | 19:33 |
vkmc | so, an instance for control is obtained | 19:33 |
vkmc | THEN | 19:33 |
vkmc | transport.listen() continues | 19:34 |
exploreshaifali | yes | 19:34 |
vkmc | and self.control is invoqued one more time | 19:34 |
mpanetta | I don't have self.control :P | 19:35 |
vkmc | lol | 19:35 |
exploreshaifali | lol | 19:35 |
vkmc | we know mpanetta, we know | 19:35 |
exploreshaifali | mpanetta, we are trying to control self.control :P | 19:35 |
mpanetta | haha | 19:35 |
vkmc | self.control is doing nonsense | 19:35 |
exploreshaifali | so yea vkmc it will be better to have a local varible holding value of self.control | 19:36 |
*** fifieldt_ has joined #openstack-zaqar | 19:36 | |
vkmc | LET'S MAKE A GLOBAL VARIABLE | 19:36 |
vkmc | muahahaha | 19:36 |
kragniz | vkmc pls | 19:37 |
vkmc | kragniz, you felt the darkness of my idea and decided to pass by? | 19:37 |
kragniz | vkmc: what would you say if I told you I have a highlight set for 'global variable'? | 19:38 |
vkmc | kragniz, I would say that the heart has reasons that the reason doesn't understand | 19:39 |
*** fifieldt has quit IRC | 19:40 | |
exploreshaifali | vkmc, please think how much feassible it will be if we inherit queues.QueueController for MessageQueueHandler | 19:44 |
vkmc | exploreshaifali, I am thinking why we need the pipelining thing in the first place | 19:45 |
vkmc | why we cannot pass the driver directly, in a more transparent manner | 19:45 |
exploreshaifali | which driver and where to pass it | 19:46 |
vkmc | the datadriver to the controldriver | 19:46 |
exploreshaifali | or the controldriver to the datadriver :P | 19:47 |
vkmc | oh yes | 19:47 |
exploreshaifali | yea so we don't need pipeling for this case | 19:47 |
exploreshaifali | we need pipeling only for queues | 19:47 |
vkmc | why we need pipelining for queues? | 19:48 |
exploreshaifali | so that queues can manage its message control part in the pipeline | 19:48 |
vkmc | that's the part I don't like much | 19:48 |
exploreshaifali | queues' _delete and _stat need messagecontroller | 19:48 |
vkmc | ok | 19:48 |
vkmc | then, why... we don't pass message_controller to queue_controller | 19:49 |
exploreshaifali | how will we do that? | 19:49 |
exploreshaifali | are you asking to pass a refrence of messagecontroller inside queuecontroller? | 19:49 |
exploreshaifali | if it is the case than we will be in a circular loop | 19:50 |
vkmc | no, I'm asking to init queue_controller with a reference to message_controller | 19:50 |
exploreshaifali | yes this will lead to circular loop | 19:50 |
exploreshaifali | we can access messagecontroller only thorugh DataDriver, which need ControlDriver | 19:51 |
exploreshaifali | and controldriver need queuecontroller which need messagecontroller | 19:51 |
exploreshaifali | messagecontroller can be accessed via datadriver | 19:51 |
*** barra204 has joined #openstack-zaqar | 19:51 | |
exploreshaifali | vkmc, is it possible to directly instantiate messagecontroller without DataDriver? | 19:52 |
* exploreshaifali checking __init__ of messagecontroller | 19:52 | |
*** achanda has quit IRC | 19:53 | |
vkmc | no, but its possible to serialize the inits | 19:53 |
vkmc | so you init datadriver first | 19:53 |
vkmc | then you initcontrol driver | 19:53 |
vkmc | and then you adjust the references | 19:53 |
vkmc | something like 'set_data_driver(driver)' | 19:53 |
vkmc | and you call it from bootstrap | 19:54 |
*** barra204 is now known as shakamunyi | 19:56 | |
exploreshaifali | by set_data_driver(driver) we will serialize datadriver reference ? | 19:56 |
exploreshaifali | and then what? | 19:56 |
vkmc | and then you have the reference to the controller you need | 19:57 |
vkmc | and you can access to them and do whatever you want to do | 19:57 |
exploreshaifali | so you mean by this serialized datadriver's refrence we can access messagecontroller inside queus? | 19:58 |
vkmc | with serialize I mean to 'order' in a sequence how we init things | 19:59 |
exploreshaifali | oh ok | 20:00 |
vkmc | if we do things in order, we can ensure we have all the references when they need to be | 20:00 |
vkmc | and if we do so, we can ensure we can access the message_controller inside the queue_controller | 20:00 |
vkmc | let me chat this with flaper87 and see if he has a point against it | 20:00 |
vkmc | but IMO its cleaner | 20:00 |
exploreshaifali | ok :) | 20:01 |
vkmc | if there is something not clear, let me know | 20:01 |
vkmc | I'll write this down | 20:02 |
* exploreshaifali thinking | 20:02 | |
vkmc | no need to walk through this now... sometimes its better to rethink things the following day | 20:02 |
exploreshaifali | I din't knew before we can serialize instantiation too | 20:03 |
vkmc | yeah, its a possibility | 20:03 |
exploreshaifali | so we can do something like--> first __init__ of datadriver --> create instance of messagecontroller --> create instance of controldriver --> create instance of queuecontroller to which we can pass messagecontroller refrence | 20:05 |
vkmc | 1. init datadriver (that inits every single thing considered as 'data plane') | 20:06 |
vkmc | 2. init controldriver with the datadriver instance (that inits every single thing considered as 'control plane') | 20:06 |
vkmc | 3. set the controldriver in datadriver (and, if needed, pass the value to the controllers that need it) | 20:06 |
exploreshaifali | yes so for this we will need to pass messagecontroller reference to controldriver while instantiating controldriver | 20:08 |
vkmc | sure, already instantiated datadriver so you have message_controller | 20:10 |
vkmc | you can access it and pass it | 20:10 |
exploreshaifali | this means we need to change __init__ of controldriver that will lead to make changes in bootstrap.control to pass datadriver.messagecontroller | 20:11 |
exploreshaifali | how will it possible? | 20:12 |
vkmc | you add a method | 20:12 |
vkmc | "set_message_controller" | 20:12 |
vkmc | that receives the message_controller | 20:12 |
vkmc | and assigns it to self._message_controller | 20:12 |
vkmc | you don't put that in init | 20:12 |
exploreshaifali | htis method will be added inside bootstrap's control()? | 20:13 |
exploreshaifali | this* | 20:13 |
exploreshaifali | oh ok not inside control() | 20:13 |
vkmc | let me see.. hmm | 20:14 |
exploreshaifali | we need to call it from control() with args self and messagecontroller refrence | 20:14 |
exploreshaifali | umm no no | 20:14 |
* exploreshaifali speaking non sense things | 20:14 | |
exploreshaifali | in flaper87 's style --> /me slaps herself :P | 20:15 |
vkmc | oh no, don't copy that from him | 20:18 |
vkmc | hahahaha | 20:18 |
vkmc | not advised | 20:19 |
exploreshaifali | hahahaha | 20:19 |
vkmc | https://etherpad.openstack.org/p/data-plane-control-plane | 20:21 |
vkmc | so, add the datadriver param to controldriver | 20:21 |
vkmc | let's go to the etherpad | 20:22 |
exploreshaifali | ok | 20:22 |
*** achanda has joined #openstack-zaqar | 20:23 | |
exploreshaifali | vkmc, why will we need "self._datadriver = data" insdie controldriverbase ? | 20:24 |
exploreshaifali | I think there self.messagecontroller=messagedata will be okay | 20:25 |
vkmc | self._datadriver.message_controller? | 20:27 |
vkmc | sure, we need to polish it | 20:27 |
vkmc | but that is my idea | 20:27 |
vkmc | (first idea) | 20:27 |
vkmc | haha | 20:27 |
vkmc | we also have to check if we are not missing something | 20:28 |
vkmc | hey, brb | 20:28 |
vkmc | leave questions in the etherpad if needed | 20:28 |
exploreshaifali | vkmc, okay!! Thanks a looooooooot!!! :D | 20:30 |
*** achanda has quit IRC | 20:30 | |
*** csoukup has quit IRC | 20:30 | |
*** csoukup has joined #openstack-zaqar | 20:34 | |
exploreshaifali | vkmc, I have added few questions on etherpad! | 20:57 |
*** achanda has joined #openstack-zaqar | 21:03 | |
*** achanda has quit IRC | 21:05 | |
vkmc | back | 21:08 |
vkmc | cool! | 21:08 |
exploreshaifali | yea :) | 21:08 |
exploreshaifali | vkmc, so the changes are okay? | 21:09 |
*** achanda has joined #openstack-zaqar | 21:10 | |
vkmc | let me see | 21:16 |
vkmc | yeah, that could work too! | 21:18 |
exploreshaifali | so we also don't need " self._datadriver = data" inside base.ControlDriver? | 21:19 |
vkmc | sure | 21:23 |
vkmc | it was there to make it more consistent | 21:23 |
exploreshaifali | okay :) | 21:28 |
exploreshaifali | vkmc, Thanks!!! | 21:28 |
vkmc | np | 21:28 |
vkmc | I'll chat with flaper87 later | 21:28 |
vkmc | and update him | 21:28 |
vkmc | and hear his opinion about this | 21:28 |
exploreshaifali | okay till than I will make changes in local env and see if something more is needed or not :) | 21:29 |
vkmc | ok :) | 21:30 |
*** jchai has quit IRC | 21:39 | |
*** achanda has quit IRC | 21:43 | |
*** achanda has joined #openstack-zaqar | 21:44 | |
*** amitgandhinz has quit IRC | 21:51 | |
*** barra204_ has joined #openstack-zaqar | 22:02 | |
*** shakamunyi has quit IRC | 22:03 | |
*** amitgandhinz has joined #openstack-zaqar | 22:04 | |
*** mpanetta has quit IRC | 22:06 | |
*** amitgandhinz has quit IRC | 22:07 | |
*** barra204_ has quit IRC | 22:07 | |
*** amitgandhinz has joined #openstack-zaqar | 22:07 | |
*** barra204_ has joined #openstack-zaqar | 22:07 | |
*** amitgandhinz has quit IRC | 22:10 | |
*** amitgandhinz has joined #openstack-zaqar | 22:10 | |
*** exploreshaifali has quit IRC | 22:13 | |
*** exploreshaifali has joined #openstack-zaqar | 22:19 | |
*** amitgandhinz has quit IRC | 22:37 | |
*** amitgandhinz has joined #openstack-zaqar | 22:38 | |
*** exploreshaifali has quit IRC | 22:38 | |
*** amitgandhinz has quit IRC | 22:42 | |
*** barra204_ has quit IRC | 22:57 | |
*** flwang1 has quit IRC | 23:00 | |
*** ametts has quit IRC | 23:14 | |
*** achanda has quit IRC | 23:16 | |
*** achanda has joined #openstack-zaqar | 23:20 | |
*** amitgandhinz has joined #openstack-zaqar | 23:38 | |
*** amitgandhinz has quit IRC | 23:43 | |
*** amalagon has quit IRC | 23:57 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!