*** Qiming has joined #senlin | 00:35 | |
*** Qiming has quit IRC | 00:48 | |
openstackgerrit | OpenStack Proposal Bot proposed stackforge/senlin: Updated from global requirements https://review.openstack.org/208739 | 00:58 |
---|---|---|
*** ChrisSen has joined #senlin | 01:20 | |
*** Yanyanhu has joined #senlin | 01:28 | |
*** Yanyan has joined #senlin | 01:33 | |
*** Qiming has joined #senlin | 01:33 | |
*** Yanyanhu has quit IRC | 01:35 | |
*** elynn has joined #senlin | 02:00 | |
openstackgerrit | xu-haiwei proposed stackforge/senlin: Specify exception type when adding/deleting node from cluster https://review.openstack.org/208770 | 02:08 |
Qiming | hi | 02:09 |
Qiming | need help reviewing this: https://review.openstack.org/#/c/208497/ | 02:09 |
Yanyan | got it | 02:10 |
xuhaiwei | I am seeing | 02:23 |
Qiming | thanks | 02:24 |
xuhaiwei | Qiming, since this is a new exception, I think it should be added to fault.py to map to HTTPNotFound | 02:25 |
Qiming | okay | 02:25 |
openstackgerrit | Qiming Teng proposed stackforge/senlin: Environment support for trigger types https://review.openstack.org/208497 | 02:27 |
*** mathspanda has joined #senlin | 02:36 | |
Qiming | xuhaiwei, revised ^ | 02:39 |
xuhaiwei | ok | 02:40 |
*** Zhenqi has joined #senlin | 02:47 | |
openstackgerrit | Merged stackforge/senlin: Environment support for trigger types https://review.openstack.org/208497 | 02:47 |
Qiming | great, need this patch for a rebase so that I can work on a test case | 02:48 |
Yanyan | :) | 02:51 |
Yanyan | finally figure out how to split functional test and unit test... | 02:53 |
Yanyan | used wrong regex yesterday | 02:54 |
openstackgerrit | Yanyan Hu proposed stackforge/senlin: [WIP]Start point of Senlin functional tests https://review.openstack.org/208355 | 02:54 |
Qiming | okay, that is not unexpected, :) | 02:55 |
Yanyan | yes... | 02:55 |
*** ChrisSen has quit IRC | 03:38 | |
*** ChrisSen has joined #senlin | 03:53 | |
*** Zhenqi has quit IRC | 04:29 | |
*** jdandrea has quit IRC | 04:30 | |
*** Yanyan has quit IRC | 05:10 | |
xuhaiwei | Qiming, about the patch we discussed just now | 05:20 |
xuhaiwei | I made a mistake, NodeNotFound exception is raised in node_find method | 05:20 |
xuhaiwei | they are in the same layer, so I thind we don't need to catch and raise it again | 05:21 |
xuhaiwei | about the new exception type, NodeNotOrphan is ok to me | 05:22 |
*** Yanyanhu has joined #senlin | 05:22 | |
openstackgerrit | xu-haiwei proposed stackforge/senlin: Specify exception type when adding/deleting node from cluster https://review.openstack.org/208770 | 05:40 |
ChrisSen | I 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 |
ChrisSen | http://paste.openstack.org/show/406816/ | 05:48 |
*** Zhenqi has joined #senlin | 05:49 | |
xuhaiwei | ChrisSen, this is a problem, I am just fixing it now | 05:54 |
ChrisSen | Ok, thanks. | 05:55 |
openstackgerrit | xu-haiwei proposed stackforge/python-senlinclient: Revise parse_exception in the client side https://review.openstack.org/208808 | 05:57 |
*** Zhenqi has quit IRC | 05:57 | |
*** Zhenqi has joined #senlin | 05:58 | |
xuhaiwei | ChrisSen, try this patch https://review.openstack.org/208808 | 05:59 |
*** elynn has quit IRC | 06:02 | |
*** elynn has joined #senlin | 06:04 | |
ChrisSen | The 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 |
openstackgerrit | Yanyan Hu proposed stackforge/senlin: [WIP]Start point of Senlin functional tests https://review.openstack.org/208355 | 06:46 |
*** elynn_ has joined #senlin | 06:48 | |
*** elynn has quit IRC | 06:49 | |
*** Zhenqi has quit IRC | 06:50 | |
*** elynn has joined #senlin | 07:01 | |
*** elynn_ has quit IRC | 07:01 | |
openstackgerrit | Merged stackforge/senlin: Updated from global requirements https://review.openstack.org/208739 | 07:09 |
openstackgerrit | xu-haiwei proposed stackforge/senlin: Specify exception type when adding node from cluster https://review.openstack.org/208770 | 07:24 |
Yanyanhu | hi, 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 jobs | 07:32 |
Qiming | hi | 07:36 |
Qiming | the api/client.py module is very confusing | 07:36 |
Yanyanhu | ok | 07:37 |
Yanyanhu | it was supposed to wrap all api interfaces which is need for talking with Senlin service | 07:37 |
Qiming | it could be simplified a lot | 07:37 |
Qiming | for example, the api_post, api_get, api_put, api_delete methods could be combined | 07:38 |
Yanyanhu | ok | 07:39 |
Qiming | if we are using it to communicate with Senlin service, we are missing PATCH verb | 07:39 |
Yanyanhu | oh, right | 07:39 |
Yanyanhu | actually, this part is borrowed from nova originally and I did some trimming | 07:39 |
Qiming | I'm also suspecting that we can use/subclass the requests package directly | 07:40 |
Qiming | I'm not sure it is a good idea to encapsulate the 'get_cluster', 'get_clusters' methods into the api/client.py module | 07:41 |
Yanyanhu | you mean there might be risk? | 07:41 |
Yanyanhu | em, I tried to put them into individual test files | 07:41 |
Yanyanhu | and gave them an common apiclient as input parameter | 07:42 |
Yanyanhu | but not sure which way is better | 07:42 |
Yanyanhu | e.g. implementing cluster/node related interfaces in api/clusters.py, api/nodes.py repectively | 07:43 |
Qiming | seems 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 infra | 07:43 |
Qiming | also, in the functional tests, we will test the user perceivable behavior only | 07:44 |
Qiming | there is no need to have subdirectories like api, engine | 07:44 |
Yanyanhu | hmm, actually what I thought was put http related things in api/ path and test logic in engine/ path | 07:45 |
Yanyanhu | ok, make sense | 07:45 |
Qiming | if that is the idea, you may want to rename api to 'common' or 'utils' | 07:45 |
Qiming | move test_cluster.py out of the engine subdir | 07:46 |
Yanyanhu | api directory is for httpclient implementation | 07:46 |
Yanyanhu | em | 07:46 |
Yanyanhu | ok | 07:46 |
Qiming | to me, it sounds more like a tool for interacting with senlin | 07:46 |
Yanyanhu | yes, will remove engine directory | 07:47 |
Qiming | I'm not sure if we should treat 'integration' tests differently from 'scenario' tests | 07:47 |
Yanyanhu | and try to organize test cases related code based on their function | 07:47 |
Qiming | please do some survey there and see what is appropriate | 07:47 |
Qiming | right. | 07:47 |
Yanyanhu | you mean unit test and integration test? | 07:48 |
Qiming | no | 07:48 |
xuhaiwei | Should we add scenario tests to Tempest? | 07:48 |
Qiming | not sure, would like to hear your opinion, xuhaiwei | 07:49 |
Qiming | it seems that glance has three kinds of tests: unit, integration, functional | 07:50 |
Qiming | while, sdk has two kinds of tests: unit, functional | 07:50 |
Yanyanhu | so what is their difference? | 07:50 |
Yanyanhu | between functional and integration | 07:51 |
Yanyanhu | for most services, they have integration test | 07:51 |
Qiming | heat has two broad categories: unit and integration, under integration, it has functional and scenario | 07:51 |
Yanyanhu | what is scenario test for? | 07:52 |
xuhaiwei | I think scenario test is the last thing we should think about, and it's better to add it to tempest | 07:52 |
Qiming | that is the subject for a survey, Yanyanhu | 07:52 |
Yanyanhu | ok | 07:52 |
Qiming | if I'm understanding this correctly | 07:52 |
Qiming | unit tests focuses on each module, we mock its interaction with the outside world | 07:52 |
Qiming | functional tests focuses more on the user perceived functions, its goal is to make sure all said service functions actually work | 07:53 |
Qiming | in our case, it means cluster creation/deletion, node operations .... . | 07:54 |
xuhaiwei | yes, the scenario t | 07:54 |
Yanyanhu | em, understand | 07:54 |
Qiming | integration tests focuses more on senlin's integration with other services, such as nova and heat | 07:54 |
xuhaiwei | the secnario should be auto-scaling? | 07:54 |
Qiming | its goal is to make sure senlin is a good citizen when working with other OpenStack services/components | 07:55 |
Qiming | finally, scenario tests are for story lines | 07:55 |
Yanyanhu | so scenario test is actually for testing those things we mocked in unit tests | 07:55 |
Qiming | no, Yanyanhu | 07:55 |
Qiming | we mocked too much in unit tests | 07:56 |
Qiming | most of them could be covered in functional tests | 07:56 |
Yanyanhu | ok | 07:56 |
Qiming | functional tests ensures that the workflow from api request to user perceived responses are correct | 07:56 |
Yanyanhu | so it is to ensure our service can work correctly with other services | 07:56 |
Qiming | when talking about interaction with other services, that is an integration test | 07:57 |
Qiming | still confused? | 07:57 |
Yanyanhu | clear now :) | 07:57 |
Yanyanhu | so I think I agree with xuhaiwei that maybe we should put scenario test at last | 07:58 |
Yanyanhu | after functional test | 07:58 |
Qiming | after integration test I think | 07:58 |
xuhaiwei | "when talking about interaction with other services", the other service here means nova, heat? | 07:59 |
Yanyanhu | ah, yes | 07:59 |
Qiming | yes | 07:59 |
Yanyanhu | we may want to clean our workflow first I guess, like whether cluster/node related logic can work correctly with policy/webhook | 08:00 |
Qiming | first we make sure each module/method behave as expected <--- unit test | 08:00 |
Qiming | then we do functional test: make sure all user issued requests are either satisifed or rejected with proper error messages | 08:01 |
Qiming | for functional tests, we may still mock the response from Heat, Nova etc. | 08:01 |
Qiming | this step is to ensure that the work flows for processing REST requests are working properly | 08:02 |
Qiming | for integration tests, they will interact with the heat, nova services in the devstack gate, creating nova servers for real | 08:03 |
Yanyanhu | ok | 08:03 |
Qiming | last 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 dance | 08:04 |
Qiming | I'm not sure my understanding is 100% accurate | 08:04 |
Qiming | but if we go step by step in such a direction, we will be more confident that the service is as robust as designed | 08:05 |
xuhaiwei | makes sense to me | 08:05 |
Yanyanhu | ok | 08:05 |
Yanyanhu | if so, how should we organize these tests? | 08:06 |
Yanyanhu | from the aspect of repo tree | 08:06 |
Qiming | maybe we can do this: | 08:07 |
Qiming | move all existing tests (all unit tests) to senlin/tests/unit/ | 08:07 |
Qiming | add senlin/tests/functional/ | 08:08 |
Yanyanhu | ok | 08:08 |
xuhaiwei | that is a common way | 08:08 |
Qiming | for integration and scenario test, we may want to have them at top level directory, so the gate side script would be much simpler | 08:08 |
Yanyanhu | this makes sense to me. I'm just a little worried that could cause some changes since some modules' import path will change | 08:09 |
Yanyanhu | ok | 08:09 |
Yanyanhu | and we split all there 4 kinds of test cases in tox.ini? | 08:09 |
Yanyanhu | with different virtenv | 08:10 |
Qiming | when we don't have integration tests, we don't have that entry in the tox.ini file | 08:10 |
Yanyanhu | sure | 08:10 |
Yanyanhu | we just add functional in current stage | 08:10 |
Qiming | yes, I think so | 08:11 |
Yanyanhu | Qiming, another question about functional test is: I think we may need a kind of 'fake-profile' type for testing | 08:12 |
Qiming | maybe that is a realistic goal for liberty-3 | 08:12 |
Qiming | Yanyanhu, that is fine | 08:12 |
Yanyanhu | yes, hopefully, we can have it before l-3 | 08:12 |
Qiming | yep | 08:12 |
Yanyanhu | ok, will think about it. | 08:13 |
Qiming | for integration tests, we will have things like this: http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/jobs/heat.yaml#n101 | 08:13 |
Yanyanhu | yes | 08:13 |
Qiming | which is fine, not a long path into the repo of test cases | 08:13 |
Qiming | but this one is crazy: http://git.openstack.org/cgit/openstack-infra/project-config/tree/jenkins/jobs/heat.yaml#n172 | 08:14 |
Yanyanhu | ... | 08:14 |
Yanyanhu | agree, actually I chose the first way in my patch :) | 08:14 |
Yanyanhu | oh, 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 |
Qiming | just checked cinder and neutron | 08:15 |
Qiming | common practice is having 'functional' test under <project>/tests/functional | 08:15 |
Yanyanhu | I don't want to propose it to project-config before we can ensure it's correct | 08:15 |
Qiming | that's fine | 08:17 |
Qiming | functional tests can be done completely at a developer's workstation | 08:17 |
Yanyanhu | yes | 08:17 |
xuhaiwei | and should we add test cases for client side? | 08:18 |
Yanyanhu | ok, 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 first | 08:18 |
Qiming | in theory, integration/scenario tests should run locally as well, the trick is to make sure you have your env mimicing that of the gate | 08:18 |
Yanyanhu | let other guys know this issue | 08:18 |
Qiming | just one quick move would be fine | 08:18 |
Yanyanhu | ok | 08:18 |
Qiming | it would be a short pain | 08:19 |
Yanyanhu | will work it first. Then keep working on local functional test support. Then propose patch to add jekins job to gate | 08:19 |
Yanyanhu | ok | 08:19 |
Qiming | okay, that sounds a good plan | 08:20 |
Yanyanhu | ok, will work on them :) | 08:20 |
Qiming | you can add this as an agenda for the meeting today | 08:20 |
Yanyanhu | ok, no problem | 08:20 |
Qiming | just give everyone a heads up where we are heading regarding the tests | 08:21 |
Yanyanhu | yes | 08:21 |
Yanyanhu | will try to merge some hanging test cases which have got approval, and leave others for rebase | 08:21 |
Qiming | ok | 08:22 |
*** mathspanda has quit IRC | 08:31 | |
openstackgerrit | Merged stackforge/senlin: Specify exception type when adding node from cluster https://review.openstack.org/208770 | 08:32 |
openstackgerrit | Merged stackforge/senlin: Make node-update support more parameters https://review.openstack.org/208377 | 08:32 |
openstackgerrit | Merged stackforge/senlin: Add test case for LoadBalancer driver(1) https://review.openstack.org/203913 | 08:32 |
openstackgerrit | Merged stackforge/senlin: Unit test case for ceilometer v2 driver https://review.openstack.org/207079 | 08:32 |
*** mathspanda has joined #senlin | 08:34 | |
openstackgerrit | Merged stackforge/senlin: Unit test cases for nova driver https://review.openstack.org/207353 | 08:35 |
openstackgerrit | Merged stackforge/senlin: Cleanse health policy stubs in cluster https://review.openstack.org/208324 | 08:36 |
Qiming | wow | 08:37 |
Qiming | thanks for cleaning my pipeline | 08:37 |
Yanyanhu | merged all patches that have been approved which have 'test' in it ;) | 08:38 |
Yanyanhu | lucky gate is not broken currently... | 08:39 |
Qiming | and it is pretty efficient | 08:39 |
Yanyanhu | yep :) | 08:39 |
*** mathspanda has quit IRC | 09:28 | |
openstackgerrit | Yanyan Hu proposed stackforge/senlin: Relocate Senlin unit tests https://review.openstack.org/208944 | 09:42 |
*** openstackgerrit_ has joined #senlin | 09:53 | |
Qiming | can anyone tell me what is the difference? | 10:14 |
Qiming | http://paste.openstack.org/show/406840/ | 10:14 |
Yanyanhu | ...can't find it | 10:15 |
Yanyanhu | maybe encoding issue? | 10:15 |
Qiming | no | 10:15 |
openstackgerrit | Yanyan Hu proposed stackforge/senlin: Relocate Senlin unit tests https://review.openstack.org/208944 | 10:16 |
Qiming | sigh | 10:17 |
Qiming | computer is really good at this | 10:17 |
Yanyanhu | found it? | 10:17 |
Qiming | it turned out that the first word 'description' was wrong, missing an 's' there | 10:18 |
Qiming | had to copy it to two files and do a 'diff' | 10:18 |
Yanyanhu | ... | 10:18 |
Yanyanhu | will leave | 10:19 |
xuhaiwei | Qiming | 10:19 |
Qiming | hi | 10:20 |
xuhaiwei | I want to say I also found it :) | 10:20 |
xuhaiwei | it's ok now | 10:20 |
Qiming | .... | 10:20 |
Yanyanhu | forget 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 patch | 10:20 |
Yanyanhu | xuhaiwei, you are also good at this ;) | 10:20 |
Qiming | you are a talent! | 10:20 |
xuhaiwei | I used diff too | 10:20 |
Yanyanhu | ... | 10:21 |
*** Yanyanhu has quit IRC | 10:27 | |
*** ChrisSen has quit IRC | 10:32 | |
*** Qiming has quit IRC | 10:38 | |
*** elynn has quit IRC | 11:06 | |
*** openstackgerrit has quit IRC | 11:31 | |
*** openstackgerrit_ is now known as openstackgerrit | 11:31 | |
*** openstackgerrit has quit IRC | 11:32 | |
*** openstackgerrit_ has joined #senlin | 11:32 | |
*** openstackgerrit_ is now known as openstackgerrit | 11:32 | |
*** openstackgerrit_ has joined #senlin | 11:33 | |
*** Qiming has joined #senlin | 11:49 | |
openstackgerrit | Merged stackforge/senlin: Relocate Senlin unit tests https://review.openstack.org/208944 | 11:58 |
*** haiwei has joined #senlin | 12:03 | |
*** lkarm has joined #senlin | 12:16 | |
*** openstackgerrit has quit IRC | 12:16 | |
*** openstackgerrit has joined #senlin | 12:17 | |
openstackgerrit | xu-haiwei proposed stackforge/senlin: Fix UnboundLocalError when updating a cluster without nodes https://review.openstack.org/209025 | 12:18 |
openstackgerrit | xu-haiwei proposed stackforge/senlin: Do not update other properties if exception happens https://review.openstack.org/209026 | 12:19 |
*** yanyanhu has joined #senlin | 12:29 | |
*** haiwei has quit IRC | 12:34 | |
yanyanhu | Qiming, I'm also trying to update the agenda page :) | 12:51 |
Qiming | go ahead | 12:51 |
yanyanhu | your edition has included what I tried to add :) | 12:52 |
Qiming | you can add more | 12:53 |
*** haiwei has joined #senlin | 12:57 | |
*** haiwei has quit IRC | 12:57 | |
*** haiwei_ has joined #senlin | 12:58 | |
*** jruano has joined #senlin | 13:01 | |
*** jdandrea has joined #senlin | 13:02 | |
*** haiwei_ has quit IRC | 13:02 | |
openstackgerrit | xu-haiwei proposed stackforge/senlin: Fix UnboundLocalError when updating a cluster without nodes https://review.openstack.org/209025 | 13:29 |
*** yanyanhu has quit IRC | 13:37 | |
*** yanyan has joined #senlin | 13:55 | |
*** xuhaiwei_ has joined #senlin | 13:56 | |
yanyan | I think kolla will migrate to openstack soon :) https://review.openstack.org/206789 | 13:56 |
Qiming | yep | 13:56 |
xuhaiwei_ | don't know what this project does | 13:57 |
yanyan | and the stackforge retirement plan is here https://review.openstack.org/192016 | 13:57 |
yanyan | stackforge namespace retirement | 13:57 |
yanyan | Deploying OpenStack using Docker, literally | 13:58 |
xuhaiwei_ | kolla will be a sub project of TripleO, it is said to be that | 13:58 |
yanyan | hmm, in my mind, they do similar thing | 13:59 |
yanyan | with different way | 13:59 |
yanyan | will leave, talk to you guys later | 14:01 |
*** yanyan has quit IRC | 14:01 | |
xuhaiwei_ | will quit, good night | 14:02 |
Qiming | good night | 14:04 |
Qiming | seems we need to tune our goal then? | 14:04 |
Qiming | it won't be about migrating to the 'openstack/' namespace | 14:05 |
Qiming | it will be about becoming "official OpenStack projects" as they named it | 14:05 |
*** xuhaiwei_ has quit IRC | 14:06 | |
jruano | right | 14:08 |
jruano | do you need some help understanding that process? i ask because a colleague here just went through that. he may have some guidance | 14:09 |
Qiming | that would be terrific | 14:10 |
jruano | ok, i will connect you 2 | 14:10 |
Qiming | thanks, jruano | 14:10 |
Qiming | heading to bed now, ttyl, guys | 14:14 |
jruano | bye | 14:16 |
*** Qiming has quit IRC | 14:19 | |
*** elynn has joined #senlin | 15:19 | |
*** elynn has quit IRC | 15:25 | |
*** elynn has joined #senlin | 15:25 | |
openstackgerrit | Lisa Armstrong proposed stackforge/senlin: Changes literal ation names to consts.<action_name> to make action creation consistent. https://review.openstack.org/209131 | 15:30 |
*** elynn has quit IRC | 15:34 | |
*** elynn has joined #senlin | 15:45 | |
*** elynn has quit IRC | 15:53 | |
*** elynn has joined #senlin | 15:53 | |
*** openstackgerrit_ has quit IRC | 16:29 | |
*** elynn has quit IRC | 16:48 | |
*** elynn has joined #senlin | 17:21 | |
*** elynn has quit IRC | 17:25 | |
*** elynn has joined #senlin | 17:25 | |
*** elynn has quit IRC | 18:29 | |
*** lkarm has quit IRC | 20:44 | |
*** elynn has joined #senlin | 21:31 | |
*** elynn has quit IRC | 21:36 | |
openstackgerrit | Merged stackforge/python-senlinclient: Revise parse_exception in the client side https://review.openstack.org/208808 | 23:30 |
openstackgerrit | Merged stackforge/python-senlinclient: Updated from global requirements https://review.openstack.org/208738 | 23:31 |
*** xuhaiwei_ has joined #senlin | 23:53 | |
*** xuhaiwei has quit IRC | 23:54 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!