Thursday, 2016-07-28

*** yamamoto_ has joined #openstack-dragonflow01:12
*** meeeow has joined #openstack-dragonflow01:16
openstackgerritMerged openstack/dragonflow: Don't use multicase Mac address as source mac or port mac in fullstack test cases  https://review.openstack.org/34716701:23
openstackgerritMerged openstack/dragonflow: NB DB entry point definition  https://review.openstack.org/34724301:24
openstackgerritMerged openstack/dragonflow: Use UTC time when update lockedobject timestamp  https://review.openstack.org/33689101:24
openstackgerritheshan proposed openstack/dragonflow: modify supported_extension_aliases  https://review.openstack.org/34713901:43
openstackgerritheshan proposed openstack/dragonflow: establish only one connection with NbApi  https://review.openstack.org/34715401:54
openstackgerritheshan proposed openstack/dragonflow: modify supported_extension_aliases  https://review.openstack.org/34713901:59
openstackgerritliuhaixia proposed openstack/dragonflow: Fix l2_ml2_app bug  https://review.openstack.org/34774102:30
*** yamamoto_ has quit IRC02:31
*** meeeow has quit IRC02:39
*** shz has joined #openstack-dragonflow03:26
*** shihanzhang has quit IRC03:29
openstackgerritheshan proposed openstack/dragonflow: modify supported_extension_aliases  https://review.openstack.org/34713903:44
openstackgerritLi Ma proposed openstack/dragonflow: Skip the ARP responder application test  https://review.openstack.org/34346404:14
*** gampel has joined #openstack-dragonflow05:12
openstackgerritMerged openstack/dragonflow: Extra command line argument is invalid  https://review.openstack.org/34534805:18
*** gampel has quit IRC05:21
*** oanson has joined #openstack-dragonflow05:27
*** gampel has joined #openstack-dragonflow05:30
*** gampel has quit IRC05:36
*** gongysh has joined #openstack-dragonflow05:41
*** gongysh has quit IRC05:58
openstackgerritweizj proposed openstack/dragonflow: Check the validity of arguments  https://review.openstack.org/34630906:12
*** gongysh has joined #openstack-dragonflow06:19
*** yamamoto_ has joined #openstack-dragonflow06:27
*** yuval has joined #openstack-dragonflow06:28
*** gongysh has quit IRC06:32
*** meeeow has joined #openstack-dragonflow06:32
*** irenab has joined #openstack-dragonflow07:03
*** gongysh has joined #openstack-dragonflow07:25
*** saggi has joined #openstack-dragonflow08:00
openstackgerritLi Ma proposed openstack/dragonflow: Support DPDK  https://review.openstack.org/34816908:21
*** saggi1 has joined #openstack-dragonflow08:47
*** saggi has quit IRC08:47
*** feipeng has joined #openstack-dragonflow09:11
feipenghi anson09:12
feipengomer, are you there ?09:12
*** yamamoto_ has quit IRC09:43
*** saggi1 has quit IRC09:54
oansonHi,09:55
oansonI'm here now09:55
feipenghow can I realize the share memory for mult-process in python ?09:57
feipengclass RedisMgt(object) get_instance method can be multi-called, but the member var like master_list is not shared for multi-process09:59
oansonI'm not sure I understand the question. Can you please elaborate?10:00
feipengget_instance this func can be initialized many times, right ?10:04
feipengin class RedisMgt10:04
oansonHold on, let me look10:05
oansonYes10:05
oansonAt least once per ip/port pair10:06
feipengyes, and neutron server will call  NbApi initialize and call self.driver.initialize ,right ?10:07
oansonYes10:07
oansonBut I don't remember if this happens before or after the fork10:07
feipengit is happens befor fork10:08
oansonAll right10:09
feipeng2016-07-28 17:35:54.065 74747 INFO dragonflow.neutron.ml2.mech_driver [-] Starting DFMechDriver10:09
feipeng2016-07-28 17:35:54.067 74747 INFO dragonflow.db.drivers.redis_mgt [-] get_instance, get_instance nodes:{'10.250.83.90:4005': {'status': 'connected', 'last_pong_rcvd': '1469698551879', 'epoch': '5', 'node_id': 'ddd1c9a976f36ef9f44a0292c4d8576bda2d4899', 'role': 'slave', 'last_ping_sent': '0', 'slots': [], 'master_id': '1beb4b1622edf438a2dc4cd4bd20110:09
feipenga962ad37265'}, '10.250.83.90:4004': {'status': 'connected', 'last_pong_rcvd': '1469698550876', 'epoch': '4', 'node_id': '7b072fc84bbb6e904dfa6edd0f477422c0c28e70', 'role': 'slave', 'last_ping_sent': '0', 'slots': [], 'master_id': '40d8b43ed85ac4eb706d70c83a550a2ed7830869'}, '10.250.83.90:4006': {'status': 'connected', 'last_pong_rcvd': '1469698553810:09
feipeng82', 'epoch': '6', 'node_id': '412fdd212fe400ef1e4d7885b6cfd1f34a29b462', 'role': 'slave', 'last_ping_sent': '0', 'slots': [], 'master_id': 'bda6005b3485ce0a55766a7b4eceb0e48bda2706'}, '10.250.83.90:4001': {'status': 'connected', 'last_pong_rcvd': '0', 'epoch': '1', 'node_id': '40d8b43ed85ac4eb706d70c83a550a2ed7830869', 'role': 'master', 'last_ping10:09
feipeng_sent': '0', 'slots': [['0', '5460']], 'master_id': '-'}, '10.250.83.90:4003': {'status': 'connected', 'last_pong_rcvd': '1469698548873', 'epoch': '3', 'node_id': 'bda6005b3485ce0a55766a7b4eceb0e48bda2706', 'role': 'master', 'last_ping_sent': '0', 'slots': [['10923', '16383']], 'master_id': '-'}, '10.250.83.90:4002': {'status': 'connected', 'last_p10:09
feipengong_rcvd': '1469698552881', 'epoch': '2', 'node_id': '1beb4b1622edf438a2dc4cd4bd201a962ad37265', 'role': 'master', 'last_ping_sent': '0', 'slots': [['5461', '10922']], 'master_id': '-'}}10:09
feipeng2016-07-28 17:35:55.228 74747 INFO oslo_service.service [-] Starting 2 workers10:10
feipeng2016-07-28 17:35:55.230 74747 DEBUG oslo_service.service [-] Started child 74756 _start_child /usr/local/lib/python2.7/dist-packages/oslo_service/service.py:47510:10
feipengas you can see , redis_mgt [-] get_instance is call before  fork10:10
oansonYes10:11
oansonYou added these logs in your repository? I can't see them in master10:11
feipengthere is problem for this ,if main process changed  redis_mgt 's member var like master_list. sub process can not get the new value for master_list.10:13
feipengyes,we open the log for this10:13
oansonYes, this is true10:13
oansonBut I don't yet understand the context. When is this change happening?10:13
feipengso,there is need for memory share for multi process10:14
oansonNot necessarily. When does this change happen? How? Why?10:14
feipengin redis HA feature, use this master list to record cluster info for redis10:14
feipengI think this feature is merged into master branch10:15
feipengin redis HA feature, use a thread to get newest redis cluster info and update master_list10:16
feipengstart_detect_for_failover ,this is start a thread to get newest redis cluster info10:17
feipengwhen redis cluster failedover, redis cluster info will changed, master_list will updated in thread started bystart_detect_for_failover10:19
oansonBut it looks like this method is called in all forks10:20
feipengso,there is need for memory share for multi process10:20
feipengI test in my local env10:21
feipengno,this method is only called in main fork10:21
oansonI see.10:21
oansonMemory sharing in python is problematic: http://stackoverflow.com/questions/1268252/python-possible-to-share-in-memory-data-between-2-separate-processes10:22
feipengI10:22
feipengI test a method multiprocessing.Array('c', 10) for multi process10:23
feipengit worked10:23
oansonFor that you need to encode the dictionary, and un-encode it every time it changes10:23
oansonand compare the content to see that it changed10:23
feipengyes I test Python Multiprocessing module.it seem worked10:24
oansonIt seems strange thought that the method only works on the parent process10:25
feipengyes, it is done in redis HA now.10:25
feipengI think maybe parent process thread is not inherited10:25
feipengthe thread is started by start_detect_for_failover10:26
oansonOne sec. Let me check something10:30
feipengoK10:31
feipengOK10:31
*** meeeow has quit IRC10:32
oansonI tested locally.10:43
oansonthreading should work even after fork10:44
oansonHow did you verify that the HA monitoring loop only runs once?10:44
*** yamamoto has joined #openstack-dragonflow10:46
feipengyou can add test log for HA monitoring loop, it will print pid, or use os.get_pid10:46
oansonAnd you only see one pid?10:47
feipengyes10:47
oansonAnd you're sure q-svc has forked?10:49
feipengyes10:49
*** yamamoto has quit IRC10:49
oansonThis is very strange...10:49
feipengbecause I use neutron net-creat   it is run in another pid10:49
oansonYou see logs from all q-svc instances? Or only the parent?10:50
oansonIn general, not there specifically10:50
feipengI do not understand10:53
*** yamamoto has joined #openstack-dragonflow10:54
feipengI can give you some log of my local env10:57
feipenguse espace10:57
feipengdo you get my log ?10:59
feipengI add LOG.info("redis mgt, running") in run() for redis HA monitor thread10:59
feipengthis is my way to start neutron11:01
feipeng"/usr/bin/python /usr/local/bin/neutron-server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini"11:01
feipengomer ,are you still there ?11:05
feipengI have to leave ,contact me if you need. :)11:16
*** shz has quit IRC11:16
*** shz has joined #openstack-dragonflow11:16
*** gongysh has quit IRC11:37
*** saggi has joined #openstack-dragonflow11:48
*** saggi has quit IRC12:11
*** gampel has joined #openstack-dragonflow12:35
*** yamamoto has quit IRC12:40
*** saggi has joined #openstack-dragonflow12:46
*** gampel has quit IRC12:53
*** saggi has quit IRC12:57
*** saggi has joined #openstack-dragonflow13:05
*** gongysh has joined #openstack-dragonflow13:16
*** oanson has quit IRC13:16
*** yuval has quit IRC13:33
*** yamamoto has joined #openstack-dragonflow13:41
*** yamamoto has quit IRC13:46
*** saggi has quit IRC13:54
openstackgerritYuli proposed openstack/dragonflow: Add redis delete table command  https://review.openstack.org/34833713:57
*** gongysh has quit IRC14:15
*** gampel has joined #openstack-dragonflow14:22
*** saggi has joined #openstack-dragonflow14:27
*** gampel has quit IRC14:35
*** saggi has quit IRC14:59
*** gsagie_ has joined #openstack-dragonflow15:01
*** yamamoto has joined #openstack-dragonflow15:06
*** yamamoto has quit IRC15:10
*** openstackgerrit has quit IRC15:18
*** openstackgerrit has joined #openstack-dragonflow15:19
*** gampel has joined #openstack-dragonflow15:28
*** gampel has quit IRC16:26
*** gampel has joined #openstack-dragonflow16:29
*** gampel has quit IRC16:43
*** gsagie_ has quit IRC17:08
*** gampel has joined #openstack-dragonflow18:04
*** gampel has quit IRC18:17
*** yamamoto has joined #openstack-dragonflow21:09
*** yamamoto has quit IRC21:21
*** yamamoto has joined #openstack-dragonflow22:22
*** yamamoto has quit IRC22:27
*** yamamoto has joined #openstack-dragonflow23:24
*** yamamoto has quit IRC23:29

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