08:01:37 <jose_lausuch> #startmeeting Functest weekly meeting July 25th 2017 08:01:37 <collabot> Meeting started Tue Jul 25 08:01:37 2017 UTC. The chair is jose_lausuch. Information about MeetBot at http://wiki.debian.org/MeetBot. 08:01:37 <collabot> Useful Commands: #action #agreed #help #info #idea #link #topic. 08:01:37 <collabot> The meeting name has been set to 'functest_weekly_meeting_july_25th_2017' 08:01:42 <jose_lausuch> #topic role call 08:01:42 <jose_lausuch> #info Jose Lausuch 08:01:46 <jose_lausuch> #info agenda for today: https://wiki.opnfv.org/display/functest/Functest+5.+Meeting#Functest5.Meeting-25/07(8UTC) 08:01:57 <serena-zte> #info SerenaFeng 08:02:51 <LindaWang> #info Linda Wang 08:03:11 <depo> #info Delia Popescu (ENEA) 08:03:52 <MatthewLi> #info Jun Li 08:04:54 <jose_lausuch> #topic Action Point follow up 08:04:59 <jose_lausuch> #info AP: jose_lausuch: create a jenkins job that triggers a deployment + testing on this server with Alpine containers. Healthcheck+smoke for the momment 08:05:04 <jose_lausuch> #info DONE: https://gerrit.opnfv.org/gerrit/#/c/37683/ 08:05:10 <jose_lausuch> #info AP: jose_lausuch: prepare jenkins job to run alpine containers on ericsson-virtual-pod1bl01 08:05:15 <jose_lausuch> #info DONE: https://build.opnfv.org/ci/view/functest/job/functest-alpine-fuel-ericsson-virtual-pod1bl01-daily-master/7/console 08:05:26 <jose_lausuch> #info AP: Linda check for a free baremetal server to connect it to jenkins for Alpine testing in Compass 08:05:33 <LindaWang> Done 08:05:34 <jose_lausuch> #info Done. We will use huawei-virtual5 for that purpose. https://build.opnfv.org/ci/computer/huawei-virtual5/ 08:05:41 <jose_lausuch> #info Jenkins job still not working, but work in progress: https://build.opnfv.org/ci/view/functest/job/functest-alpine-compass-huawei-virtual5-daily-master/ 08:05:51 <jose_lausuch> we will fix that today 08:06:01 <jose_lausuch> #info AP: All review Functest API proposal https://gerrit.opnfv.org/gerrit/#/c/36703/ 08:06:15 <jose_lausuch> #info work in progress, some comments to be reviewed. Topic today about that 08:06:25 <jose_lausuch> #info AP jose_lausuch: propose internship "Add Web portal to TestAPI" https://wiki.opnfv.org/display/functest/Internship+proposals 08:06:29 <jose_lausuch> #info Done. Internship online: https://wiki.opnfv.org/display/DEV/Intern+Project%3A+Web+Portal+for+OPNFV+Test+API 08:06:39 <jose_lausuch> I also added an intern project about kubernetes 08:06:48 <jose_lausuch> to write test cases 08:06:57 <jose_lausuch> and got already 1 request for interview 08:07:10 <jose_lausuch> questions? 08:08:34 <jose_lausuch> #topic Alpine testing status 08:09:11 <jose_lausuch> #info the alpine containers trigger on the virtual pod on the fuel deployment, but they get stuck at some point in api_check 08:09:28 <jose_lausuch> #info maybe it's due to a bug in Snaps, and Steven is looking into it 08:09:43 <jose_lausuch> #info we will try this week again and also with Apex and Compass 08:09:55 <LindaWang> but why is it run successfully manually? 08:10:03 <jose_lausuch> I don't know 08:10:13 <jose_lausuch> that's why we need CI 08:11:11 <LindaWang> Steven's patch about fixing that issue has been merged once. 08:11:26 <jose_lausuch> can you point to that pach? 08:11:43 <LindaWang> https://gerrit.opnfv.org/gerrit/#/c/37873/ 08:11:49 <LindaWang> is it this? 08:11:53 <LindaWang> i am not sure :( 08:12:11 <jose_lausuch> could be 08:12:15 <jose_lausuch> we can try again today 08:12:32 <jose_lausuch> #info there are some bugfixes in snaps repo that might fix the problems 08:13:05 <jose_lausuch> my plan is to deploy apex on the pod I am using 08:13:07 <jose_lausuch> and do the same 08:13:17 <jose_lausuch> but before I will try 1 again with fuel 08:13:17 <LindaWang> Here is the jira: https://jira.opnfv.org/browse/SNAPS-139 08:13:20 <LindaWang> ok 08:13:38 <jose_lausuch> #info Jira created addressing that issue https://jira.opnfv.org/browse/SNAPS-139 08:13:39 <jose_lausuch> thanks 08:14:06 <jose_lausuch> we can't say more about alpine 08:14:09 <jose_lausuch> can we? 08:14:33 <LindaWang> i am waiting for feedback about Funtest RestAPI 08:15:35 <LindaWang> About Alpine, just try to run it in CI and expose issues asap. 08:16:34 <LindaWang> And Cedric and Steven seem to be very helpful to fix. 08:16:49 <jose_lausuch> #topic Rest API 08:16:58 <jose_lausuch> let's discuss about the api now 08:17:05 <jose_lausuch> I didn't see the latest comments 08:17:09 <jose_lausuch> what's the status? 08:17:30 <serena-zte> I have a comment 08:17:37 <LindaWang> i have updated it according to Serena's suggestion. 08:18:01 <serena-zte> Sorry in the last patch we have the problem of mingle api with cli, now we have another, is where to put the abstracted common methods, we cannot put it in cli, it is actually still mingled in this way. In my opinion the best solution should be put them either in the source code or we keep some replica code. Take list test case for example: 08:18:01 <serena-zte> 1) in the source code define a new method list_summary_tests()(naming is bad just for instance), then call it directly in CliTestcase and ApiTestcase 08:18:02 <serena-zte> 2) Keep CliTestcase untouched, do it again in ApiTestcase 08:18:02 <serena-zte> What do you think Jose? 08:18:04 <serena-zte> And my apology for didn't notice this in the first place 08:18:43 <LindaWang> where to put the abstracted common methods? 08:18:51 <serena-zte> as we can see in functest/api/actions/api_xx.py, we still import cli things 08:18:52 <serena-zte> from functest.cli.commands.cli_env import Env 08:18:58 <LindaWang> yes 08:19:15 <serena-zte> which can not be said decoupled 08:19:31 <serena-zte> from my side, there are two options 08:19:37 <serena-zte> 1) in the source code define a new method list_summary_tests()(naming is bad just for instance), then call it directly in CliTestcase and ApiTestcase 08:19:42 <serena-zte> 2) Keep CliTestcase untouched, do it again in ApiTestcase 08:20:01 <jose_lausuch> serena-zte: if we keep CLItestcase untouched, we will return a table 08:20:06 <jose_lausuch> I like this idea https://gerrit.opnfv.org/gerrit/#/c/36703/20/functest/cli/commands/cli_env.py 08:20:19 <jose_lausuch> it returns env_info and CliEnv will create the table 08:20:25 <jose_lausuch> and ApiEnv will return a dict 08:20:28 <jose_lausuch> is that what you suggested? 08:20:29 <serena-zte> yes 08:20:30 <LindaWang> For option 2, there will be some codes replicated 08:20:42 <serena-zte> but class Env() can not be put in cli_env 08:21:20 <serena-zte> actually it can not be put neither under api directory/file or cli directory/file 08:21:27 <LindaWang> you are right. 08:21:51 <LindaWang> so the point is where to put it. 08:21:54 <serena-zte> so personally I prefer option 1 08:22:24 <serena-zte> in our case, I think the best place is to put in function code 08:23:12 <serena-zte> env relevant to be put in prepare_env.py 08:24:26 <jose_lausuch> hmmm 08:24:31 <jose_lausuch> that complicates things 08:24:31 <serena-zte> testcase relevant under tierBuilder 08:24:43 <LindaWang> why do we have to decouple cli and api totally? 08:24:55 <jose_lausuch> I kind of agree 08:24:56 <serena-zte> because they are different things 08:25:01 <jose_lausuch> but would like to do it step by step 08:25:09 <serena-zte> they don't rely on each other 08:25:11 <jose_lausuch> instead of a big patch changing everything 08:25:17 <jose_lausuch> that's right 08:26:18 <serena-zte> all tools code should rely on function code directly 08:27:03 <LindaWang> could i update it in another patch? 08:28:25 <serena-zte> I am ok with that 08:28:42 <LindaWang> thanks :) 08:28:50 <serena-zte> another question 08:28:54 <serena-zte> api: 08:28:54 <serena-zte> # Functest Rest API related configuration 08:28:54 <serena-zte> success: 0 08:28:54 <serena-zte> error: 1 08:29:13 <serena-zte> what are these configurations used for? 08:30:32 <LindaWang> to return different code according to request. 08:30:46 <LindaWang> but i have not used these so fat 08:30:48 <LindaWang> so far 08:30:58 <serena-zte> i don't think these should be put here 08:31:12 <serena-zte> we can leverage some exception code to address it 08:31:46 <serena-zte> they are return value, not configurations 08:31:59 <LindaWang> it is used here: 08:31:59 <LindaWang> if not testcase: 08:31:59 <LindaWang> return api_utils.result_handler( 08:31:59 <LindaWang> CONST.__getattribute__('api_error'), 'case not exists') 08:32:26 <LindaWang> ok, make sense. 08:32:59 <serena-zte> in this case, you should raise http related exception 08:33:17 <serena-zte> or in a list operation return empty list 08:33:39 <serena-zte> sorry, make it clear, get operation, raise not found exception 08:33:49 <serena-zte> list operation, return empty list 08:34:20 <LindaWang> is there any difference between get and list? 08:34:37 <serena-zte> yes, get usually mean get specific one thing 08:34:40 <LindaWang> list is realized by get method. 08:35:13 <LindaWang> fine. 08:35:27 <serena-zte> list return a group of things, usually use a list 08:36:04 <serena-zte> and if there are some configurations for api, I would prefer to put it in etc/functest-api/config.ini 08:36:22 <serena-zte> I wouldn't recommend to put in config_functest.yaml 08:36:41 <serena-zte> both are configurations but different dimensions 08:37:20 <serena-zte> after installation etc/api/config.ini will but put into /etc/functest-api/config.ini 08:37:36 <serena-zte> that's usually how APIs works 08:38:26 <LindaWang> ok. 08:38:38 <serena-zte> that's all I can come up with, currently 08:39:20 <LindaWang> you are always helpful. :) 08:39:57 <serena-zte> try to be helpful :) 08:40:45 <jose_lausuch> :) 08:40:48 <jose_lausuch> good discussiong 08:40:54 <jose_lausuch> LindaWang: some things to update, right? 08:41:02 <LindaWang> yes 08:41:15 <jose_lausuch> thanks for the feedback serena-zte. More valuable than mine :) 08:44:16 <jose_lausuch> so 08:44:24 <jose_lausuch> I think we don't have more topics to talk about 08:44:24 <jose_lausuch> so 08:44:27 <jose_lausuch> #topic AoB 08:44:32 <jose_lausuch> anyone wants to raise something? 08:44:59 <LindaWang> no from me. 08:45:04 <serena-zte> nope 08:46:15 <jose_lausuch> I have something 08:46:20 <jose_lausuch> I will take August off 08:46:35 <jose_lausuch> will read emails from time to time 08:46:56 <jose_lausuch> I will send you my private email address just in case something urgent comes up 08:47:11 <jose_lausuch> so, maybe next week I do this meeting again (need to check) 08:47:18 <serena-zte> that's very kind 08:47:18 <jose_lausuch> but I will announce you before 08:48:20 <jose_lausuch> ok, we can close the meeting if nothing else is to be discussed 08:48:24 <jose_lausuch> thank you all 08:48:29 <jose_lausuch> #endmeeting