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