Tuesday, 2015-08-04

*** Qiming has joined #senlin00:35
*** Qiming has quit IRC00:48
openstackgerritOpenStack Proposal Bot proposed stackforge/senlin: Updated from global requirements  https://review.openstack.org/20873900:58
*** ChrisSen has joined #senlin01:20
*** Yanyanhu has joined #senlin01:28
*** Yanyan has joined #senlin01:33
*** Qiming has joined #senlin01:33
*** Yanyanhu has quit IRC01:35
*** elynn has joined #senlin02:00
openstackgerritxu-haiwei proposed stackforge/senlin: Specify exception type when adding/deleting node from cluster  https://review.openstack.org/20877002:08
Qimingneed help reviewing this: https://review.openstack.org/#/c/208497/02:09
Yanyangot it02:10
xuhaiweiI am seeing02:23
xuhaiweiQiming, since this is a new exception, I think it should be added to fault.py to map to HTTPNotFound02:25
openstackgerritQiming Teng proposed stackforge/senlin: Environment support for trigger types  https://review.openstack.org/20849702:27
*** mathspanda has joined #senlin02:36
Qimingxuhaiwei, revised ^02:39
*** Zhenqi has joined #senlin02:47
openstackgerritMerged stackforge/senlin: Environment support for trigger types  https://review.openstack.org/20849702:47
Qiminggreat, need this patch for a rebase so that I can work on a test case02:48
Yanyanfinally figure out how to split functional test and unit test...02:53
Yanyanused wrong regex yesterday02:54
openstackgerritYanyan Hu proposed stackforge/senlin: [WIP]Start point of Senlin functional tests  https://review.openstack.org/20835502:54
Qimingokay, that is not unexpected, :)02:55
*** ChrisSen has quit IRC03:38
*** ChrisSen has joined #senlin03:53
*** Zhenqi has quit IRC04:29
*** jdandrea has quit IRC04:30
*** Yanyan has quit IRC05:10
xuhaiweiQiming, about the patch we discussed just now05:20
xuhaiweiI made a mistake, NodeNotFound exception is raised in node_find method05:20
xuhaiweithey are in the same layer, so I thind we don't need to catch and raise it again05:21
xuhaiweiabout the new exception type, NodeNotOrphan is ok to me05:22
*** Yanyanhu has joined #senlin05:22
openstackgerritxu-haiwei proposed stackforge/senlin: Specify exception type when adding/deleting node from cluster  https://review.openstack.org/20877005:40
ChrisSenI tried to show the details of a profile, that has NOT a unique profile name. Instead of a short "MultipleChoices" exception, I got an ERROR(400) message with very detailed information (see paste). Is that behavior desired?05:48
*** Zhenqi has joined #senlin05:49
xuhaiweiChrisSen, this is a problem, I am just fixing it now05:54
ChrisSenOk, thanks.05:55
openstackgerritxu-haiwei proposed stackforge/python-senlinclient: Revise parse_exception in the client side  https://review.openstack.org/20880805:57
*** Zhenqi has quit IRC05:57
*** Zhenqi has joined #senlin05:58
xuhaiweiChrisSen, try this patch https://review.openstack.org/20880805:59
*** elynn has quit IRC06:02
*** elynn has joined #senlin06:04
ChrisSenThe patch worked, now I got the following (much shorter) message: ERROR(400): Multiple results found matching the query criteria my_server. Please be more specific.06:10
openstackgerritYanyan Hu proposed stackforge/senlin: [WIP]Start point of Senlin functional tests  https://review.openstack.org/20835506:46
*** elynn_ has joined #senlin06:48
*** elynn has quit IRC06:49
*** Zhenqi has quit IRC06:50
*** elynn has joined #senlin07:01
*** elynn_ has quit IRC07:01
openstackgerritMerged stackforge/senlin: Updated from global requirements  https://review.openstack.org/20873907:09
openstackgerritxu-haiwei proposed stackforge/senlin: Specify exception type when adding node from cluster  https://review.openstack.org/20877007:24
Yanyanhuhi, Qiming, about adding functional test for senlin, I think we need to add functional test support locally first, like this patch https://review.openstack.org/#/c/208355/. Then propose a patch to openstack-infra/project-config to add zuul and jekins jobs07:32
Qimingthe api/client.py module is very confusing07:36
Yanyanhuit was supposed to wrap all api interfaces which is need for talking with Senlin service07:37
Qimingit could be simplified a lot07:37
Qimingfor example, the api_post, api_get, api_put, api_delete methods could be combined07:38
Qimingif we are using it to communicate with Senlin service, we are missing PATCH verb07:39
Yanyanhuoh, right07:39
Yanyanhuactually, this part is borrowed from nova originally and I did some trimming07:39
QimingI'm also suspecting that we can use/subclass the requests package directly07:40
QimingI'm not sure it is a good idea to encapsulate the 'get_cluster', 'get_clusters' methods into the api/client.py module07:41
Yanyanhuyou mean there might be risk?07:41
Yanyanhuem, I tried to put them into individual test files07:41
Yanyanhuand gave them an common apiclient as input parameter07:42
Yanyanhubut not sure which way is better07:42
Yanyanhue.g. implementing cluster/node related interfaces in api/clusters.py, api/nodes.py repectively07:43
Qimingseems the engine/test_cluster.py is the right place for those methods, because they are part of the functional tests to run, instead of the functional test infra07:43
Qimingalso, in the functional tests, we will test the user perceivable behavior only07:44
Qimingthere is no need to have subdirectories like api, engine07:44
Yanyanhuhmm, actually what I thought was put http related things in api/ path and test logic in engine/ path07:45
Yanyanhuok, make sense07:45
Qimingif that is the idea, you may want to rename api to 'common' or 'utils'07:45
Qimingmove test_cluster.py out of the engine subdir07:46
Yanyanhuapi directory is for httpclient implementation07:46
Qimingto me, it sounds more like a tool for interacting with senlin07:46
Yanyanhuyes, will remove engine directory07:47
QimingI'm not sure if we should treat 'integration' tests differently from 'scenario' tests07:47
Yanyanhuand try to organize test cases related code based on their function07:47
Qimingplease do some survey there and see what is appropriate07:47
Yanyanhuyou mean unit test and integration test?07:48
xuhaiweiShould we add scenario tests to Tempest?07:48
Qimingnot sure, would like to hear your opinion, xuhaiwei07:49
Qimingit seems that glance has three kinds of tests: unit, integration, functional07:50
Qimingwhile, sdk has two kinds of tests: unit, functional07:50
Yanyanhuso what is their difference?07:50
Yanyanhubetween functional and integration07:51
Yanyanhufor most services, they have integration test07:51
Qimingheat has two broad categories: unit and integration, under integration, it has functional and scenario07:51
Yanyanhuwhat is scenario test for?07:52
xuhaiweiI think scenario test is the last thing we should think about, and it's better to add it to tempest07:52
Qimingthat is the subject for a survey, Yanyanhu07:52
Qimingif I'm understanding this correctly07:52
Qimingunit tests focuses on each module, we mock its interaction with the outside world07:52
Qimingfunctional tests focuses more on the user perceived functions, its goal is to make sure all said service functions actually work07:53
Qimingin our case, it means cluster creation/deletion, node operations .... .07:54
xuhaiweiyes, the scenario t07:54
Yanyanhuem, understand07:54
Qimingintegration tests focuses more on senlin's integration with other services, such as nova and heat07:54
xuhaiweithe secnario should be auto-scaling?07:54
Qimingits goal is to make sure senlin is a good citizen when working with other OpenStack services/components07:55
Qimingfinally, scenario tests are for story lines07:55
Yanyanhuso scenario test is actually for testing those things we mocked in unit tests07:55
Qimingno, Yanyanhu07:55
Qimingwe mocked too much in unit tests07:56
Qimingmost of them could be covered in functional tests07:56
Qimingfunctional tests ensures that the workflow from api request to user perceived responses are correct07:56
Yanyanhuso it is to ensure our service can work correctly with other services07:56
Qimingwhen talking about interaction with other services, that is an integration test07:57
Qimingstill confused?07:57
Yanyanhuclear now :)07:57
Yanyanhuso I think I agree with xuhaiwei that maybe we should put scenario test at last07:58
Yanyanhuafter functional test07:58
Qimingafter integration test I think07:58
xuhaiwei"when talking about interaction with other services", the other service here means nova, heat?07:59
Yanyanhuah, yes07:59
Yanyanhuwe may want to clean our workflow first I guess, like whether cluster/node related logic can work correctly with policy/webhook08:00
Qimingfirst we make sure each module/method behave as expected <--- unit test08:00
Qimingthen we do functional test: make sure all user issued requests are either satisifed or rejected with proper error messages08:01
Qimingfor functional tests, we may still mock the response from Heat, Nova etc.08:01
Qimingthis step is to ensure that the work flows for processing REST requests are working properly08:02
Qimingfor integration tests, they will interact with the heat, nova services in the devstack gate, creating nova servers for real08:03
Qiminglast is the scenario test: we test the feature about auto-scaling, auto-healing, ... those are the most complicated tests, all components jump onto the stage and dance08:04
QimingI'm not sure my understanding is 100% accurate08:04
Qimingbut if we go step by step in such a direction, we will be more confident that the service is as robust as designed08:05
xuhaiweimakes sense to me08:05
Yanyanhuif so, how should we organize these tests?08:06
Yanyanhufrom the aspect of repo tree08:06
Qimingmaybe we can do this:08:07
Qimingmove all existing tests (all unit tests) to senlin/tests/unit/08:07
Qimingadd senlin/tests/functional/08:08
xuhaiweithat is a common way08:08
Qimingfor integration and scenario test, we may want to have them at top level directory, so the gate side script would be much simpler08:08
Yanyanhuthis makes sense to me. I'm just a little worried that could cause some changes since some modules' import path will change08:09
Yanyanhuand we split all there 4 kinds of test cases in tox.ini?08:09
Yanyanhuwith different virtenv08:10
Qimingwhen we don't have integration tests, we don't have that entry in the tox.ini file08:10
Yanyanhuwe just add functional in current stage08:10
Qimingyes, I think so08:11
YanyanhuQiming, another question about functional test is: I think we may need a kind of 'fake-profile' type for testing08:12
Qimingmaybe that is a realistic goal for liberty-308:12
QimingYanyanhu, that is fine08:12
Yanyanhuyes, hopefully, we can have it before l-308:12
Yanyanhuok, will think about it.08:13
Qimingfor integration tests, we will have things like this: http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/jobs/heat.yaml#n10108:13
Qimingwhich is fine, not a long path into the repo of test cases08:13
Qimingbut this one is crazy: http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/jobs/heat.yaml#n17208:14
Yanyanhuagree, actually I chose the first way in my patch :)08:14
Yanyanhuoh, about this question, since I'm not sure whether the ptach to project-config is correct, is there any other place I can proprose the patch and let you guys review it?08:15
Qimingjust checked cinder and neutron08:15
Qimingcommon practice is having 'functional' test under <project>/tests/functional08:15
YanyanhuI don't want to propose it to project-config before we can ensure it's correct08:15
Qimingthat's fine08:17
Qimingfunctional tests can be done completely at a developer's workstation08:17
xuhaiweiand should we add test cases for client side?08:18
Yanyanhuok, I will try to move existing unit test first. Since this could break some in-progress works about test case, maybe we can talk about this issue in our weekly irc meeting first08:18
Qimingin theory, integration/scenario tests should run locally as well, the trick is to make sure you have your env mimicing that of the gate08:18
Yanyanhulet other guys know this issue08:18
Qimingjust one quick move would be fine08:18
Qimingit would be a short pain08:19
Yanyanhuwill work it first. Then keep working on local functional test support. Then propose patch to add jekins job to gate08:19
Qimingokay, that sounds a good plan08:20
Yanyanhuok, will work on them :)08:20
Qimingyou can add this as an agenda for the meeting today08:20
Yanyanhuok, no problem08:20
Qimingjust give everyone a heads up where we are heading regarding the tests08:21
Yanyanhuwill try to merge some hanging test cases which have got approval, and leave others for rebase08:21
*** mathspanda has quit IRC08:31
openstackgerritMerged stackforge/senlin: Specify exception type when adding node from cluster  https://review.openstack.org/20877008:32
openstackgerritMerged stackforge/senlin: Make node-update support more parameters  https://review.openstack.org/20837708:32
openstackgerritMerged stackforge/senlin: Add test case for LoadBalancer driver(1)  https://review.openstack.org/20391308:32
openstackgerritMerged stackforge/senlin: Unit test case for ceilometer v2 driver  https://review.openstack.org/20707908:32
*** mathspanda has joined #senlin08:34
openstackgerritMerged stackforge/senlin: Unit test cases for nova driver  https://review.openstack.org/20735308:35
openstackgerritMerged stackforge/senlin: Cleanse health policy stubs in cluster  https://review.openstack.org/20832408:36
Qimingthanks for cleaning my pipeline08:37
Yanyanhumerged all patches that have been approved which have 'test' in it ;)08:38
Yanyanhulucky gate is not broken currently...08:39
Qimingand it is pretty efficient08:39
Yanyanhuyep :)08:39
*** mathspanda has quit IRC09:28
openstackgerritYanyan Hu proposed stackforge/senlin: Relocate Senlin unit tests  https://review.openstack.org/20894409:42
*** openstackgerrit_ has joined #senlin09:53
Qimingcan anyone tell me what is the difference?10:14
Yanyanhu...can't find it10:15
Yanyanhumaybe encoding issue?10:15
openstackgerritYanyan Hu proposed stackforge/senlin: Relocate Senlin unit tests  https://review.openstack.org/20894410:16
Qimingcomputer is really good at this10:17
Yanyanhufound it?10:17
Qimingit turned out that the first word 'description' was wrong, missing an 's' there10:18
Qiminghad to copy it to two files and do a 'diff'10:18
Yanyanhuwill leave10:19
xuhaiweiI want to say I also found it :)10:20
xuhaiweiit's ok now10:20
Yanyanhuforget to check this line http://git.openstack.org/cgit/stackforge/senlin/tree/senlin/tests/middleware/test_fault_middleware.py#n240 which cause the check error in test case relocation patch10:20
Yanyanhuxuhaiwei, you are also good at this ;)10:20
Qimingyou are a talent!10:20
xuhaiweiI used diff too10:20
*** Yanyanhu has quit IRC10:27
*** ChrisSen has quit IRC10:32
*** Qiming has quit IRC10:38
*** elynn has quit IRC11:06
*** openstackgerrit has quit IRC11:31
*** openstackgerrit_ is now known as openstackgerrit11:31
*** openstackgerrit has quit IRC11:32
*** openstackgerrit_ has joined #senlin11:32
*** openstackgerrit_ is now known as openstackgerrit11:32
*** openstackgerrit_ has joined #senlin11:33
*** Qiming has joined #senlin11:49
openstackgerritMerged stackforge/senlin: Relocate Senlin unit tests  https://review.openstack.org/20894411:58
*** haiwei has joined #senlin12:03
*** lkarm has joined #senlin12:16
*** openstackgerrit has quit IRC12:16
*** openstackgerrit has joined #senlin12:17
openstackgerritxu-haiwei proposed stackforge/senlin: Fix UnboundLocalError when updating a cluster without nodes  https://review.openstack.org/20902512:18
openstackgerritxu-haiwei proposed stackforge/senlin: Do not update other properties if exception happens  https://review.openstack.org/20902612:19
*** yanyanhu has joined #senlin12:29
*** haiwei has quit IRC12:34
yanyanhuQiming, I'm also trying to update the agenda page :)12:51
Qiminggo ahead12:51
yanyanhuyour edition has included what I tried to add :)12:52
Qimingyou can add more12:53
*** haiwei has joined #senlin12:57
*** haiwei has quit IRC12:57
*** haiwei_ has joined #senlin12:58
*** jruano has joined #senlin13:01
*** jdandrea has joined #senlin13:02
*** haiwei_ has quit IRC13:02
openstackgerritxu-haiwei proposed stackforge/senlin: Fix UnboundLocalError when updating a cluster without nodes  https://review.openstack.org/20902513:29
*** yanyanhu has quit IRC13:37
*** yanyan has joined #senlin13:55
*** xuhaiwei_ has joined #senlin13:56
yanyanI think kolla will migrate to openstack soon :) https://review.openstack.org/20678913:56
xuhaiwei_don't know what this project does13:57
yanyanand the stackforge retirement plan is here https://review.openstack.org/19201613:57
yanyanstackforge namespace retirement13:57
yanyanDeploying OpenStack using Docker, literally13:58
xuhaiwei_kolla will be a sub project of TripleO, it is said to be that13:58
yanyanhmm, in my mind, they do similar thing13:59
yanyanwith different way13:59
yanyanwill leave, talk to you guys later14:01
*** yanyan has quit IRC14:01
xuhaiwei_will quit, good night14:02
Qiminggood night14:04
Qimingseems we need to tune our goal then?14:04
Qimingit won't be about migrating to the 'openstack/' namespace14:05
Qimingit will be about becoming "official OpenStack projects" as they named it14:05
*** xuhaiwei_ has quit IRC14:06
jruanodo you need some help understanding that process? i ask because a colleague here just went through that. he may have some guidance14:09
Qimingthat would be terrific14:10
jruanook, i will connect you 214:10
Qimingthanks, jruano14:10
Qimingheading to bed now, ttyl, guys14:14
*** Qiming has quit IRC14:19
*** elynn has joined #senlin15:19
*** elynn has quit IRC15:25
*** elynn has joined #senlin15:25
openstackgerritLisa Armstrong proposed stackforge/senlin: Changes literal ation names to consts.<action_name> to make action creation consistent.  https://review.openstack.org/20913115:30
*** elynn has quit IRC15:34
*** elynn has joined #senlin15:45
*** elynn has quit IRC15:53
*** elynn has joined #senlin15:53
*** openstackgerrit_ has quit IRC16:29
*** elynn has quit IRC16:48
*** elynn has joined #senlin17:21
*** elynn has quit IRC17:25
*** elynn has joined #senlin17:25
*** elynn has quit IRC18:29
*** lkarm has quit IRC20:44
*** elynn has joined #senlin21:31
*** elynn has quit IRC21:36
openstackgerritMerged stackforge/python-senlinclient: Revise parse_exception in the client side  https://review.openstack.org/20880823:30
openstackgerritMerged stackforge/python-senlinclient: Updated from global requirements  https://review.openstack.org/20873823:31
*** xuhaiwei_ has joined #senlin23:53
*** xuhaiwei has quit IRC23:54

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