Friday, 2017-04-28

*** wanghao has joined #openstack-zaqar00:53
*** wanghao has quit IRC00:53
*** wanghao has joined #openstack-zaqar00:54
wanghaoflwang: ping01:13
wanghaowxy: ping01:16
wanghaohi guys,  I'm reviewing the patch of queues actions for pooling.01:17
wanghaoI got one question: we keep this 'self._get_controller = self._pool_catalog.get_queue_controller' is for the backend like swift, right?01:18
wxywanghao: what's the problem?01:21
wxyself._mgt_queue_ctrl = self._pool_catalog.control.queue_controller this one?01:22
wanghaono01:22
wanghaoself._get_controller = self._pool_catalog.get_queue_controller'  this one01:22
wanghaoI didn't get why we keep two queue_controller here.01:23
wanghaoIs there different bwteen them01:23
flwangwanghao: the mgt controller is using to talk to the management db for queue actions01:24
flwangand the self._get_controller is used to talk to the pool queue controller to some actions zaqar has to talk to01:25
flwangfor example, the stats api01:25
wxyyes, they are different01:25
wanghaobut I see the code,  for some backend, the mgt controller and pool queue controller are same. Did I understand wrong something?01:29
wanghaolike using swift,  self._get_controller is getting the queue controller from the self.control_driver.queue_controller. It's same as the mgt controller.01:31
*** yanyanhu has joined #openstack-zaqar01:37
flwangwanghao: what do you mean 'same'?01:40
flwangyou can use mongo as management db and message db in the meanwhile01:40
flwang" like using swift,  self._get_controller is getting the queue controller from the self.control_driver.queue_controller. It's same as the mgt controller." NO!01:40
flwangwhen using swift as message store, you have to use either mongodb or sqlalchemey as the management store01:41
flwangso you won't see the queue controller of mgmt is same as the "pool"'s queue controller01:41
wanghaoflwang: Look at Catalog class,  we have self.control,  so self._pool_catalog.control.queue_controller will get management db controller like mongodb or sqlalchemey, right?01:45
*** lhx_ has joined #openstack-zaqar01:45
flwangwanghao: yes, but i haven't check the code01:48
wanghaoflwang: okay, then look at the get_queue_controller in Catalog class too, it will call self.lookup, then will call self.get_driver, then will call self._init_driver, and in init_driver, we will load storage driver.01:48
wanghaoaccording the options in pool.01:48
wanghaoin utils.load_storage_driver, we pass through the control_driver=self.control.01:49
flwangwanghao: see https://github.com/openstack/zaqar/blob/master/zaqar/storage/pooling.py#L47501:49
flwangthe driver is load based on the url actually01:50
wanghaoflwang: yes, I'm talking this code too.01:50
flwangso finally, you will get the correct queue controller of the pool01:50
flwangnot the one of control plane01:51
wanghaoflwang: if I specify the uri as swift, could I?01:51
flwangwanghao: pls don't just say swift, are you saying you're using swift as a pool, a message store?01:52
wanghaoyes01:52
flwangwanghao: yes, it's same01:53
flwangjust like the other drivers01:53
wanghaoI see your point,   for example  we can use mongodb as control plane, and then speify redis as the message store.01:53
flwangwanghao: yes01:54
wanghaoin pool uri.01:54
wanghaoso we will get two queue controllers,  one is mongodb, one is redis.01:54
wanghaoI'm right?01:54
flwangyep01:55
flwangactually, the 2nd one is not a "real" queue controller01:55
flwangit's https://github.com/openstack/zaqar/blob/master/zaqar/storage/redis/messages.py#L56201:56
*** zhurong has joined #openstack-zaqar02:05
wanghaoflwang: okay I totally got this now, we load messagequeuehandler and redis queue controller both in pipline.02:08
wanghaoflwang: but when we invoke 'stats', actually we just call the stats function in messagequeuehandler.02:09
wanghaosince function _stats in redis queue controller just pass it.02:09
flwangwanghao: hold on02:09
flwangwe load mongodb's queue contorller and messagequeuehandler of redis02:10
flwangyes02:10
flwangand you're statement is also correct "we load messagequeuehandler and redis queue controller both in pipline", i mean this02:11
wanghaohttps://github.com/openstack/zaqar/blob/master/zaqar/storage/pipeline.py#L14202:11
wanghaoyes02:11
flwangand actually, just like swift, we can get rid of the queue controller of redis as well02:11
wanghaoyou mean we remove the queue controller from redis?02:15
flwangwanghao: yep02:24
flwangbut for now, i don't want to touch it :)02:25
wanghaoflwang: but redis can support both management store and data store, why we want to remove the queue controller.02:40
wanghaoflwang: we didn't want to use redis as management store in futuher?02:41
flwangwanghao: no02:42
flwangredis never support management db as far as i can tell02:42
flwangwanghao:  see https://github.com/openstack/zaqar/blob/master/zaqar/storage/redis/driver.py#L25802:43
flwangthe code may need to be removed as well02:44
wanghaozaqar.control.storage =02:47
wanghao    sqlalchemy = zaqar.storage.sqlalchemy.driver:ControlDriver02:47
wanghao    mongodb = zaqar.storage.mongodb.driver:ControlDriver02:47
wanghao    redis = zaqar.storage.redis.driver:ControlDriver02:47
wanghao    faulty = zaqar.tests.faulty_storage:ControlDriver02:47
wanghaoBut I see driver config in setup.cfg,02:47
wanghaoSo we also should remove redis  from here?02:47
flwanglet me see who added it. IMHO, it doesn't make any sense using a memory-based key-value db as the management db of zaqar02:57
flwangwanghao: it's introduced by this https://github.com/openstack/zaqar/commit/76f6e063db982cd45a2b9c75d9a01e1533f905d103:08
wanghaoyeah,  I see03:19
*** openstackgerrit has joined #openstack-zaqar03:20
openstackgerritFeilong Wang proposed openstack/zaqar master: Redis never supports to be a management store  https://review.openstack.org/46081103:20
openstackgerritMerged openstack/zaqar master: Fix queues actions for pooling  https://review.openstack.org/45344003:20
flwangwanghao: https://review.openstack.org/#/c/460811/03:21
wanghaonot consider backward-compatibility?03:22
flwangit won't break backward compatibility, because it never works, right?03:22
wanghaohold on, user can use redis to create queue in redis/queues/queueController.03:26
flwangcan't see your point03:27
wanghaoI mean,  when pooling is disable, user also can use redis as the control storage and data storage.03:34
flwangcould be, i would say03:37
flwangbut not for production03:37
*** wanghao_ has joined #openstack-zaqar03:37
flwangi'm going to abandon it for now anyway03:37
*** zhurong has quit IRC03:38
wanghao_we can discuss it to see how to change it properly later.03:40
flwangyep03:46
openstackgerritFeilong Wang proposed openstack/zaqar master: Fix OSProfiler issue for Swift and Redis driver  https://review.openstack.org/45992604:14
*** lhx_ has quit IRC04:16
*** zhurong has joined #openstack-zaqar05:02
*** lhx_ has joined #openstack-zaqar05:17
*** lhx_ has quit IRC05:26
*** wanghao_ has quit IRC05:56
*** zhurong has quit IRC06:04
*** lhx_ has joined #openstack-zaqar06:05
*** zhurong has joined #openstack-zaqar06:12
*** zhurong has quit IRC06:23
*** pcaruana has joined #openstack-zaqar06:36
*** yanyanhu has quit IRC06:45
*** lhx_ has quit IRC06:49
*** lhx_ has joined #openstack-zaqar06:54
*** tesseract has joined #openstack-zaqar07:05
*** andreaf has quit IRC08:02
*** andreaf has joined #openstack-zaqar08:04
*** mpanetta has quit IRC09:03
*** mpanetta has joined #openstack-zaqar09:04
*** wanghao has quit IRC09:25
*** jtomasek has quit IRC09:34
*** jtomasek has joined #openstack-zaqar09:37
*** lhx_ has quit IRC09:53
*** lhx_ has joined #openstack-zaqar09:53
*** tesseract has quit IRC10:04
*** XueFeng has quit IRC10:07
*** tesseract has joined #openstack-zaqar10:08
*** tesseract has quit IRC11:50
*** tesseract has joined #openstack-zaqar12:05
*** Kevin_Zheng has quit IRC12:27
*** lhx_ has quit IRC12:52
*** rbrady has joined #openstack-zaqar13:31
*** mpanetta has quit IRC14:22
*** mpanetta has joined #openstack-zaqar14:23
*** openstackgerrit has quit IRC15:17
*** pcaruana has quit IRC15:28
*** mpanetta has quit IRC16:37
*** mpanetta has joined #openstack-zaqar16:37
*** tesseract has quit IRC16:45
*** harlowja has quit IRC17:06
*** harlowja has joined #openstack-zaqar18:38
*** mpanetta has quit IRC20:10
*** exploreshaifali has joined #openstack-zaqar20:10
*** mpanetta has joined #openstack-zaqar20:17
*** mpanetta has quit IRC20:18
*** mpanetta has joined #openstack-zaqar20:19
*** harlowja has quit IRC21:17
*** harlowja has joined #openstack-zaqar21:17
*** harlowja has quit IRC21:36
*** exploreshaifali has quit IRC23:14
*** harlowja has joined #openstack-zaqar23:30
*** harlowja has quit IRC23:55
*** harlowja has joined #openstack-zaqar23:59
*** mpanetta has quit IRC23:59

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!