Thursday, 2015-07-30

*** Yanyanhu has joined #senlin01:10
*** mathspanda has joined #senlin01:50
*** Tiancheng has joined #senlin01:52
*** Qiming has joined #senlin02:03
*** Zhenqi has joined #senlin02:07
Qimingmorning, all02:10
xuhaiweiI will have lunch soon :)02:22
Yanyanhumorning02:29
Yanyanhuhave a good breakfast ;)02:29
*** Tennyson has joined #senlin02:30
xuhaiweiQiming, about 'cluster-resize' I found a problem03:09
*** Zhenqi has quit IRC03:09
xuhaiweiif you just a -m option without -c option, even max_size is smaller than capacity, there is no exception happens03:10
xuhaiweibecause 'capacity' only gets value from tha args not database03:11
Qimingxuhaiwei, the expected behavior would be that the cluster will be shrinked to the new max-size03:12
Qimingthere won't be exception03:12
*** Zhenqi has joined #senlin03:13
xuhaiweiok03:14
Qimingit was designed to be a multi-purposed command03:15
Qimingmaybe it was a bad design03:15
Qimingbut splitting it into many sub-commands will make things even worse I think03:15
xuhaiweimake -c -m -n all required options will solve this problem..03:16
Qimingyes, there are many corner cases that need to be covered03:17
Qimingno, we cannot assume that03:17
Qimingit is much easier for the code, but more restrictive to users03:17
xuhaiweiyes, also think so03:18
Yanyanhumaybe we can start work on functional test with this as a startpoint :)03:18
Qimingyes, ...03:19
Qimingbut I'd like to vote some basic functional tests first03:19
Yanyanhuwill try to see something about this03:19
xuhaiweiI will go for lunch now, see you later03:19
Yanyanhuyep03:19
Yanyanhuttyl03:19
Qimingbon appetie03:19
Yanyanhuwill try to see something about functional test after finishing the test case of lb policy03:20
Qimingcool03:20
Yanyanhuguess need to refer to some existing works in other services ;)03:20
Qimingit won't be hard03:25
openstackgerritQiming Teng proposed stackforge/senlin: Refactor plugin name checking logic  https://review.openstack.org/20728103:25
Qimingjust do a RC sourcing and assume you are working in a functional devstack environment03:25
Qimingwhatever real life functions can be verified in that way03:25
QimingYanyanhu, xuhaiwei, please help review 20728103:26
Qimingneed it for moving on03:26
*** mathspanda has quit IRC03:27
Yanyanhuok, no problem03:28
YanyanhuQiming, I noticed that the gate become very slow recently03:52
Yanyanhuis that our problem?03:52
Qiminggate crashed again last night03:52
Qimingit is recovering03:52
Yanyanhuis it possible that some bad-behavior test cases cost too much time?03:52
Qimingthis time due to disk full03:52
Yanyanhuoh03:52
Yanyanhusigh...03:52
Qimingit now has a long backlog03:53
Yanyanhuhow you get this issue...03:53
Yanyanhuthis information03:53
YanyanhuI was afraid that some test cases that include 'sleep' didn't work as expected...03:53
*** mathspanda has joined #senlin04:19
*** Tiancheng has quit IRC04:34
*** Yanyanhu has quit IRC04:42
*** Yanyanhu has joined #senlin04:43
*** Tiancheng has joined #senlin05:22
openstackgerritQiming Teng proposed stackforge/senlin: Refactor plugin name checking logic  https://review.openstack.org/20728105:49
Zhenqihttp://paste.openstack.org/show/406337/06:05
Zhenqilook at the 'role'06:05
Zhenqiupdated successfully06:06
Zhenqibut report a exception06:06
*** Tiancheng has quit IRC06:09
xuhaiweiZhenqi, seems like a bug06:10
*** Tiancheng has joined #senlin06:10
openstackgerritYanyan Hu proposed stackforge/senlin: Add test case for LoadBalancingPolicy(2)  https://review.openstack.org/20695206:25
openstackgerritQiming Teng proposed stackforge/senlin: Refactor plugin name checking logic  https://review.openstack.org/20728106:40
QimingZhenqi, have you pinpoined the problem?06:40
Zhenqistill looking for it06:43
QimingYanyanhu, nova v2 driver test case06:43
Qimingare you working on it?06:43
Qimingor there is patch on that?06:44
openstackgerritQiming Teng proposed stackforge/senlin: Fix some time related function calls  https://review.openstack.org/20631806:46
Yanyanhuhi, Qiming, yes I'm trying work on it. Just wait for the exception handling refactor06:48
Yanyanhuin driver layer06:48
Qimingokay, mind if I take it over?06:48
Yanyanhuno problem06:48
Qimingexception handling cannot get done over night I'm afraid06:48
Qimingwe have to keep the wheels rolling06:49
Yanyanhuyes, I think so...06:49
Yanyanhuok06:49
xuhaiweiQiming, I am looking up to Zhenqi's report, it seems the server response is not in json format06:49
xuhaiweireally strange06:49
Qimingat the same time, your review on https://review.openstack.org/207079 would be helpful06:49
Qimingxuhaiwei, so it looks like a client side problem?06:50
Qimingxuhaiwei, you mean you can reproduce it at your side?06:50
Yanyanhusure, will watch it06:50
xuhaiweisenlin's client is not perfect , but it is not the main problem06:50
xuhaiweiSDK reported this to us06:50
YanyanhuI'm still trying to recover my env... now working on setup senlin service06:50
xuhaiweiyes, I reproduced it06:50
Qimingthere some exceptions escaped from SDK?06:51
xuhaiweithe exception comes from sdk06:51
xuhaiweisenlin server updated the node info and response to SDK, but SDK found it is not a Json format, so sdk raised an exception06:52
xuhaiweisdk called it InvalidResponse06:52
Qimingnot JSON format?06:52
Qiming...06:52
Qiminghow could that happen?06:52
xuhaiwei('exception: ', JSONDecodeError('Extra data: line 1 column 5 - line 5 column 4 (char 4 - 58)',))06:53
xuhaiweiseems so, can't believe that06:53
Qimingokay, it does seem happen frequently06:54
Qimingneed to look into it06:55
xuhaiweithe exception happened in this line https://github.com/stackforge/python-openstacksdk/blob/master/openstack/transport.py#L27206:55
Qimingit is mainly a exception parsing problem, like the one you fixed before06:55
Qimingokay, check the resp content then06:56
Qimingmaybe line 259 in that file is doing a poor job06:56
Yanyanhuhi, Qiming, just noticed that sdk's latest release has been 6.006:59
Qimingokay07:04
*** Zhenqi has quit IRC07:23
openstackgerritLinPeiyu proposed stackforge/senlin: Fix cluster-resize operation param checking in server side  https://review.openstack.org/20732507:35
Qimingcool, mathspanda07:35
Qimingthis is your first contribution to OpenStack?07:35
mathspandayeah, i am excited07:36
QimingI'm excited too!!!07:36
Yanyanhucon :)07:36
xuhaiweimathspanda, good start07:38
*** mathspanda has quit IRC07:50
*** mathspanda has joined #senlin07:53
Yanyanhuhi, Qiming, just looked through this patch https://review.openstack.org/#/c/207079/08:00
Yanyanhuit's looks good, just one question, do we need to test the exception handling logic that wrapped in decorator?08:00
Qimingthat belongs to the sdk test case right?08:01
YanyanhuBTW, it's very nice coding to wrap this exception parsing into this decorator :)08:01
Yanyanhuhmm, makes sense08:02
Yanyanhuso that part will come later08:03
Qimingyes08:03
Yanyanhuok08:03
*** mathspanda has quit IRC08:13
*** mathspanda has joined #senlin08:15
*** LinPeiyu has joined #senlin08:45
xuhaiweiQiming, when updating a node/profile/cluster, the server will return 202 first?08:45
*** LinPeiyu has left #senlin08:45
xuhaiweiupdating profile returns 200 directly08:45
*** Chris-IBM has joined #senlin08:46
Qimingyes I think so08:46
Qiming202 means things are still ongoing08:46
Qiming200 means it is done08:46
xuhaiweiupdating node/cluster returns 202, which is not a JSON format, and sdk complains it08:46
Qiminghttp://git.openstack.org/cgit/stackforge/senlin/tree/senlin/api/openstack/v1/clusters.py#n21908:48
xuhaiweiyes, this is what I want to ask08:49
Qimingwe are following the webob convention to raise a HTTPAccepted exceptoin08:49
xuhaiweithis is exception is caught by  whom08:49
Qimingit is not an exception08:49
Qimingit is just a way to send back 20208:49
Qiminghttp://git.openstack.org/cgit/openstack/heat/tree/heat/api/openstack/v1/stacks.py#n44608:50
xuhaiweithe content of the response is "202 Accepted\n\nThe request is accepted for processing.\n\n {u'cluster': {u'timeout': None, u'profile_id': None, u'name': u'cluster1', u'parent': None, u'metadata': {}}}  ")08:50
xuhaiweican we modify it?08:50
Qimingit should be handled by SDK I think08:51
Qimingit is actually formed here: https://github.com/Pylons/webob/blob/master/webob/exc.py#L38508:54
Yanyanhuhi, Qiming, currently, integration test in openstack is usually done using tempest?09:16
Qimingdon't think so09:16
Qimingmost projects are moving functional tests back to their own repo09:17
Yanyanhuyes, saw related dirs09:17
Qimingthe CI cannot afford the workload to run all functional tests from all projects09:17
Yanyanhuok09:17
Yanyanhutalk with Bo, back later09:17
openstackgerritQiming Teng proposed stackforge/senlin: Unit test cases for nova driver  https://review.openstack.org/20735309:17
Qiming16:57 NOTICE: CI is back online but has a huge backlog. Please be patient and if possible delay approving changes until it has caught up.09:20
Qiming15:48 NOTICE: CI system is broken and very far behind. Please do not approve any changes for a while.09:20
Qiming15:38 NOTICE: Our CI system is broken again today, jobs are not getting processed at all.09:21
Qimingmathspanda, there?09:22
mathspandayes09:24
YanyanhuHi, Qiming, I'm back, so the functional test is completely supported with code inside each project?09:27
Yanyanhuwith only tox's help?09:27
Qimingyes09:27
Qimingmathspanda, about your patch09:27
Qimingtwo problems09:27
Qimingone is trivial09:27
Qimingwe usually limit length of each line in the commit message to be <80 chars09:28
Qimingthis will make it easy for all kinds of terminals to check your commit message09:28
Qimingthe other one is not significant either09:28
Qimingin your code there is a trailing space09:29
Qimingthis is not acceptable by the PEP coding style, thus need to be removed09:29
Qimingother than these two nits, the patch looks good09:29
mathspandaoh, i know. i will fix them soon.09:30
Qimingyou can revise it and do a09:30
Qiminggit commit --amend09:30
Qimingfollowed by a09:30
Qiminggit review09:30
mathspandaok. thanks09:30
Qimingthat will make sure the "Change-Id" remains the same, and gerrit will be happy about it09:30
mathspandaOK09:31
QimingChris is another name for you, mathspanda?09:31
QimingYou may want to avoid using many different names09:32
Qimingit would be difficult for people to recognize you, so you will have problems creating your identity09:33
mathspandano, he just use my virtualbox image09:33
Qimingit is perfectly okay if you have a IRC name here, but when you are submitting patches in a different name09:33
*** Tennyson has quit IRC09:33
mathspandaand login xchart without modify username09:33
Qimingif you have some problems logging in, just follow the conventions here09:34
Qiminguse mathspanda_, mathspanda__ etc09:34
Qimingso people know what happened09:34
xuhaiweimathspanda is a good name i think09:34
Qimingyes, it is a cool name09:34
mathspandayes, i use mathspanda everywhere09:35
Qimingthen please abandon 'Chris-IBM', :)09:35
mathspandaChris-IBM is another person09:38
Qiming... it shows to me the "real name" is LiuPeiyu as well, :)09:38
mathspandahe just use my ubuntu image, and login irc without modifying any my personal data09:39
*** mathspanda has quit IRC09:43
xuhaiweiQiming, it's not good to modify SDK's design I think, because they desire the update response  having a body https://github.com/stackforge/python-openstacksdk/blob/master/openstack/resource.py#L74509:46
*** Chris-IBM has quit IRC09:51
Qimingxuhaiwei, I don't agree10:01
xuhaiweiyou think the response is ok without 'body'?10:02
openstackgerritMerged stackforge/senlin: Fix some time related function calls  https://review.openstack.org/20631810:06
Qimingsomething is wrong in sdk10:07
Qimingthey need to handle the 201 case correctly10:07
xuhaiwei202?10:07
Qimingnow it seems they are only relying on the requests package, and only handle 300, 301 ... redirect requests10:08
*** Yanyanhu has quit IRC10:09
*** Tiancheng has quit IRC10:10
Qiming202's response body is not a json10:16
xuhaiweiyes, it's just a object, has no body10:18
Qimingthere is body10:19
Qiminga response always has a body10:20
Qimingthe problem is that the body is not JSON10:20
xuhaiweiI am afraid not10:21
xuhaiweiin 202's case, it is called text10:22
Qimingtext is not a body?10:23
Qimingin a http request/response10:23
Qimingyou have only header and body, right?10:23
xuhaiweiheader and content10:23
xuhaiweiheader is  {'date': 'Thu, 30 Jul 2015 10:17:56 GMT', 'connection': 'keep-alive', 'content-type': 'text/plain; charset=UTF-8', 'content-length': '58', 'x-openstack-request-id': 'req-cd280953-bfeb-4d31-8102-fff5e2522ca9'})10:24
xuhaiweicontent is '202 Accepted\n\nThe request is accepted for processing.\n\n   '10:24
Qiming...10:25
Qimingso only a json has a body?10:26
xuhaiweiI mean we can't read the response's body by resp.body10:28
QimingI am not talking about the code10:28
Qimingthe code can be changed any way10:28
QimingI'm focusing on the problem10:28
Qimingthe problem is that the ...."content" (okay for you?) is not a json, right?10:29
xuhaiweiI think this is the first problem10:29
xuhaiweiyes, this is the problem we meet right now10:30
xuhaiweithe content is 'text/plain' format10:30
Qiming...10:32
Qimingwe can control that, right?10:32
xuhaiweiyes10:32
Qimingsomewhere around here: http://git.openstack.org/cgit/stackforge/senlin/tree/senlin/common/wsgi.py#n56710:32
Qimingactually, maybe here: http://git.openstack.org/cgit/stackforge/senlin/tree/senlin/common/wsgi.py#n59510:34
xuhaiweiyou mean the place where the exception happens?10:35
xuhaiweiwhere to handle it?10:35
Qimingneed to do some serialization so that the response will form a JSON10:36
Qiming"where to handle it?" ? what do you mean?10:36
xuhaiweiI got you10:36
xuhaiweiyou want to make it a JSON before response to sdk?10:37
Qimingyes10:37
Qimingany other way out?10:37
xuhaiweiI was try my best to fix sdk side...10:37
Qimingthat was my initial thought as well10:38
Qimingbut ... SDK's Transport class is simply a sub-class of the requests package10:38
Qimingit would be difficult to do that, if possible10:38
Qiminggot to run10:39
xuhaiweiok10:39
Qimingvery hungry now10:39
xuhaiweime too10:39
xuhaiweiI will think about it tomorrow10:39
Qimingok10:39
Qimingmaybe we need to resync the wsgi module from Heat10:39
xuhaiweiI will check heat side also10:40
Qimingthe original code was from Heat, and maybe eventually from Glance10:40
Qimingleaving10:40
Qimingbye10:40
xuhaiweibye10:40
*** Qiming has quit IRC10:44
*** Qiming has joined #senlin11:35
*** mathspanda has joined #senlin11:50
openstackgerritLinPeiyu proposed stackforge/senlin: Fix cluster-resize operation param checking in server side  https://review.openstack.org/20732511:58
*** Tiancheng has joined #senlin12:05
*** mathspan_ has joined #senlin12:12
*** mathspan_ is now known as mathspanda_12:13
*** mathspanda has quit IRC13:16
*** Tiancheng has quit IRC14:08
*** Qiming has quit IRC14:22
*** mathspanda_ has quit IRC14:45
*** jruano has joined #senlin15:40
openstackgerritJulio Ruano proposed stackforge/senlin: Add test case for Nova Server Profile  https://review.openstack.org/20584519:07
openstackgerritJulio Ruano proposed stackforge/senlin: Add test case for Nova Server Profile  https://review.openstack.org/20584519:36
*** openstackgerrit has quit IRC19:46
*** openstackgerrit has joined #senlin19:47
*** openstackgerrit has quit IRC20:16
*** openstackgerrit has joined #senlin20:17
*** openstackgerrit has quit IRC20:46
*** openstackgerrit has joined #senlin20:47
*** jruano has quit IRC20:49
*** openstack has joined #senlin21:11
*** Qiming has joined #senlin22:55
openstackgerritQiming Teng proposed stackforge/senlin: Unit test cases for nova driver  https://review.openstack.org/20735323:10
openstackgerritQiming Teng proposed stackforge/senlin: Unit test case for ceilometer v2 driver  https://review.openstack.org/20707923:10
*** Qiming has quit IRC23:32

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