08:00:53 <jose_lausuch> #startmeeting Functest weekly meeting November 22th 2016
08:00:53 <collabot`> Meeting started Tue Nov 22 08:00:53 2016 UTC.  The chair is jose_lausuch. Information about MeetBot at http://wiki.debian.org/MeetBot.
08:00:53 <collabot`> Useful Commands: #action #agreed #help #info #idea #link #topic.
08:00:53 <collabot`> The meeting name has been set to 'functest_weekly_meeting_november_22th_2016'
08:00:58 <jose_lausuch> #chair HelenYao SerenaFeng juhak
08:00:58 <collabot`> Current chairs: HelenYao SerenaFeng jose_lausuch juhak
08:01:06 <jose_lausuch> #topic role call
08:01:16 <juhak> #info Juha Kosonen
08:01:20 <HelenYao> #info Helen Yao
08:01:31 <jose_lausuch> #info agenda for today here: https://wiki.opnfv.org/display/functest/Functest+Meeting#FunctestMeeting-22/11(8UTC)
08:01:38 <jose_lausuch> #info previous minutes: http://ircbot.wl.linuxfoundation.org/meetings/opnfv-functest/2016/opnfv-functest.2016-11-15-08.01.html
08:01:54 <SerenaFeng> #info SerenaFeng
08:03:08 <jose_lausuch> #topic Action point follow-up
08:03:22 <jose_lausuch> morgan is not in today, I will post some info he gave me
08:03:28 <jose_lausuch> #info AP: morgan_orange remove ref to hardcoded ruby version => done. No problem planned unti we retry to launch vIMS case...
08:03:43 <jose_lausuch> #info AP: morgan_orange answer Bitergia: done, wait for cost/negotiation with LF...wait & see...
08:04:07 <jose_lausuch> #info AP: HelenYao jose_lausuch SerenaFeng check if things could work with docker compose
08:04:15 <jose_lausuch> I think we didn't do much about this
08:04:29 <SerenaFeng> I don't work on it last week
08:04:42 <HelenYao> I think docker compose is suitable for running container in a batch
08:05:31 <jose_lausuch> it could run the test cases by just 1 call
08:05:52 <jose_lausuch> it's an alternative to docker remote api, maybe
08:05:57 <jose_lausuch> let's keep that activity
08:06:05 <jose_lausuch> #action HelenYao jose_lausuch SerenaFeng check if things could work with docker compose
08:06:32 <jose_lausuch> #info AP: jose_lausuch HelenYao have a look at building the docker image with Alpine
08:06:44 <jose_lausuch> HelenYao: you started looking into Alpine, right?
08:06:52 <jose_lausuch> I did some tests, but didn't manage to install much :)
08:07:02 <jose_lausuch> instead of apt get, it uses apk
08:07:08 <jose_lausuch> and not all the libraries are the same
08:07:14 <jose_lausuch> but didn't have much time to look into it
08:07:15 <HelenYao> I played with Alpine and got a problem with building the image
08:07:26 <jose_lausuch> the only think I can tell is that we save ~200 MB of OS
08:07:38 <HelenYao> yeah, i found all alternative apk packages for apt-get
08:08:01 <jose_lausuch> #info still in investigation, using Alpine is not compatible with what we have over Ubuntu and need some modifications
08:08:04 <HelenYao> size is one matter, i am a bit worried about the package support
08:08:40 <HelenYao> we also need to do a + and  - analysis against alpine
08:08:46 <jose_lausuch> do you think we won't be able to find all the packages we need?
08:09:18 <HelenYao> we may find all of them. we will still hit detailed problem of package usage
08:09:34 <HelenYao> such pip problem that I am running into
08:09:48 <HelenYao> i still need to look a closer look at it
08:10:02 <jose_lausuch> ok
08:10:13 <jose_lausuch> #action HelenYao jose_lausuch continue Alpine study
08:10:14 <jose_lausuch> thanks
08:10:31 <jose_lausuch> #info AP: juhak troobleshoot new errors on rally launch on stable branch
08:10:38 <juhak> was already corrected by Michael Polenchuk, https://gerrit.opnfv.org/gerrit/#/c/24353/
08:10:52 <jose_lausuch> #undo
08:10:52 <collabot`> Removing item from minutes: <MeetBot.ircmeeting.items.Info object at 0x2020990>
08:10:56 <jose_lausuch> #info AP: juhak troobleshoot new errors on rally launch on stable branch. DONE
08:11:06 <jose_lausuch> great
08:11:27 <jose_lausuch> #topic SNAPS integration in new tier
08:11:41 <jose_lausuch> unfortunately, Steven is not here due to the time zone
08:11:56 <jose_lausuch> there is a patch from him
08:11:56 <jose_lausuch> https://gerrit.opnfv.org/gerrit/#/c/24519/
08:12:16 <jose_lausuch> he wanted to create a new tier (See email discusson)
08:12:33 <jose_lausuch> at least we know something clear
08:12:56 <jose_lausuch> #info SNAPS is not written for Apex, it can work on any OpenStack environment.
08:13:05 <SerenaFeng> will will use SNAP
08:13:09 <jose_lausuch> #info The SNAPS tests are not even NFV specific (at this point) and have been designed to be generic in nature.
08:13:20 <jose_lausuch> so
08:13:36 <jose_lausuch> the idea he had is about creating a healthcheck based on SNAPs
08:13:40 <jose_lausuch> to replace our bash script
08:13:45 <jose_lausuch> I think it's a good idea
08:14:03 <jose_lausuch> the only problem for example is that in some scenarios floating-ips is not supported
08:14:17 <jose_lausuch> healtcheck doesn't look at floating-ips
08:14:26 <jose_lausuch> and Steven created a flavor of the test case without floating-ips
08:14:48 <jose_lausuch> SerenaFeng: we could replace some of the api calls with SNAPs
08:14:55 <SerenaFeng> I agree
08:15:00 <jose_lausuch> the idea for Danube is to still keep our openstack utils
08:15:05 <jose_lausuch> but start using snaps
08:15:11 <jose_lausuch> for some things
08:15:15 <jose_lausuch> like healtcheck, vping maybe
08:15:19 <HelenYao> as we are in the process of intergrating SNAPS, it's ok to have a tier only for testing purpose. once it is fully integrated, i think SNAPS will not visible to user as it only takes cared of IaaS
08:15:28 <SerenaFeng> but I don't know whether we will use SNAP as a 3rd party library or a new feature?
08:15:41 <jose_lausuch> snaps is not a feature
08:15:50 <jose_lausuch> it's another tooling for testing
08:15:59 <jose_lausuch> it doesn't implement new features or functionality
08:16:05 <SerenaFeng> so I don't think we need to assign a new tie or testcase to it
08:16:11 <jose_lausuch> only libraries that are useful for making api calls
08:16:18 <jose_lausuch> and write test cases
08:16:23 <jose_lausuch> yes, that was Morgan's view and mine
08:16:41 <HelenYao> we need to support a way to switch between snaps and current implementation
08:16:47 <jose_lausuch> shall we agree on including SNAPs healthcheck in an existing tier?
08:17:23 <juhak> I agree
08:17:37 <jose_lausuch> my idea was to place it in the healtcheck tier
08:17:38 <SerenaFeng> I think we can create a health check using snaps to substitute the current one
08:17:45 <jose_lausuch> yes
08:17:48 <jose_lausuch> he did it :)
08:18:00 <jose_lausuch> but I'd like to run both before we replace it
08:18:07 <jose_lausuch> so we can run both for now
08:18:16 <jose_lausuch> and when we see it's stable, we remove our bash
08:18:18 <HelenYao> good to run both for now
08:18:27 <jose_lausuch> do you all agree?
08:18:35 <HelenYao> yes
08:18:37 <SerenaFeng> agree
08:18:43 <juhak> yes
08:19:57 <jose_lausuch> #agreed: using existing Tier for the SNAPS healtcheck, probably in the "healthcheck" tier (need to check duration of the test)
08:19:59 <jose_lausuch> thanks
08:20:30 <jose_lausuch> #topic Replace nova/neutron/glance... client api calls by openstack client
08:20:48 <jose_lausuch> we have a dilema now
08:21:04 <jose_lausuch> I think we agreed on keeping our openstack_utils library for Danube
08:21:09 <jose_lausuch> so
08:21:25 <jose_lausuch> shall we work on re-writting it a bit so that it's more consistent?
08:21:48 <HelenYao> Shell.py is more complicated than we can think of. It
08:21:48 <HelenYao> https://github.com/openstack/python-openstackclient/blob/master/openstackclient/shell.py
08:21:48 <HelenYao> i think release schedule comes first
08:21:58 <jose_lausuch> #info HelenYao proposed using openstack_client for things that can be done through it (creating image, creating user, tenant, network, ....)
08:22:18 <HelenYao> we may have option A and B on hand
08:22:43 <HelenYao> option A: leverage openstack_util as it requires much less work
08:23:04 <jose_lausuch> you can info that :)
08:23:08 <HelenYao> option B: leverage python-openstackclient for long term support
08:23:34 <HelenYao> #info we may have option A and B on hand;option A: leverage openstack_util as it requires much less work;option B: leverage python-openstackclient for long term support
08:23:35 <SerenaFeng> how about using Restful api directly?
08:23:47 <SerenaFeng> I think that is another option
08:24:06 <jose_lausuch> #info modifying openstack_utils implies modifying all the test scripts using that module
08:24:11 <jose_lausuch> what restful api?
08:24:33 <jose_lausuch> with curl and so on?
08:24:34 <HelenYao> SerenaFeng: it requires more work as client is calling rest api actually and it does some chaos work
08:24:35 <SerenaFeng> openstack Restful apis expose to outside
08:24:36 <SerenaFeng> no client
08:25:14 <HelenYao> we need to take care of authentication, and going thru all APIs to finish a flow
08:25:16 <jose_lausuch> but that is what the python clients do underneath
08:25:21 <jose_lausuch> why should we re do the work?
08:25:33 <HelenYao> jose_lausuch: agree
08:25:36 <SerenaFeng> I think Restful apis is little bit stable compared to clint
08:25:54 <jose_lausuch> maybe using openstack_client is stable enough
08:26:07 <jose_lausuch> we can see...
08:27:08 <jose_lausuch> SerenaFeng: could you write an example of usage of the rest api? for example to get a token, create a glance image or something?
08:27:10 <SerenaFeng> ok, just a suggestion
08:27:13 <jose_lausuch> (not now)
08:27:30 <jose_lausuch> and then we can see how much effort would be changing everything
08:27:31 <SerenaFeng> ok, I will do the investigation
08:27:44 <HelenYao> if we are able to use openstack_client to fully replace openstack_util, we won't hit API version upgrading problem in the future
08:27:44 <SerenaFeng> let's see which one is more convenient
08:27:52 <jose_lausuch> also, we need to change the way we return values in openstack_utils
08:28:29 <jose_lausuch> #info HelenYao jose_lausuch try to work together to use openstack_client and replace all the functions in openstack_utils
08:28:34 <jose_lausuch> HelenYao: I think we can split the work
08:28:40 <HelenYao> sure
08:28:52 <jose_lausuch> https://git.opnfv.org/functest/tree/functest/utils/openstack_utils.py
08:28:59 <jose_lausuch> there are different sectons
08:29:22 <HelenYao> how about you cutting the cake
08:29:28 <jose_lausuch> nova / glance / neutron / sec.groups / cinder
08:29:30 <HelenYao> you are more familiar with it
08:29:34 <jose_lausuch> keystone
08:29:40 <jose_lausuch> mmmh
08:29:52 <jose_lausuch> the biggest task is neutron
08:30:04 <jose_lausuch> and nova
08:30:12 <HelenYao> how about start with nova and glance
08:30:23 <jose_lausuch> yes
08:30:37 <jose_lausuch> #info start modifying nova a glance
08:30:42 <jose_lausuch> I'll create the JIRAs
08:30:46 <jose_lausuch> so we can split the work a bit
08:30:50 <HelenYao> sound great
08:31:19 <jose_lausuch> #info code affected: all the scripts in functest,  sfc (own repo), sdnvpn (own repo)
08:31:25 <jose_lausuch> we have to be careful
08:31:29 <jose_lausuch> we can break other test cases
08:31:45 <jose_lausuch> for example, sdnvpn uses these functions, but the code is not in functest
08:31:51 <jose_lausuch> but I'll take care of it
08:31:57 <jose_lausuch> we might have some disruption
08:32:06 <jose_lausuch> what about creating a second openstack_utils?
08:32:09 <SerenaFeng> we can create multiple files
08:32:09 <jose_lausuch> and keep this one
08:32:12 <jose_lausuch> yes
08:32:13 <jose_lausuch> exactly
08:32:44 <HelenYao> I can use a separate file such as openstackclient_utils
08:32:50 <jose_lausuch> ok
08:33:05 <SerenaFeng> I think nova_utils.py
08:33:07 <HelenYao> my typo
08:33:14 <SerenaFeng> neutron_utils.py would be better
08:33:21 <HelenYao> sounds good
08:33:30 <SerenaFeng> openstack_utils.py is too big
08:33:40 <jose_lausuch> #info create different files for each function (neutron_utils.py, nova_utils, ...)
08:33:48 <jose_lausuch> let's create
08:34:03 <HelenYao> yeah. splitting the module will make it easier to maintain
08:34:08 <jose_lausuch> functest/utils/openstack/
08:34:09 <jose_lausuch> functest/utils/openstack/nova_utils.py
08:34:09 <jose_lausuch> functest/utils/openstack/neutron_utils.py ..
08:34:46 <HelenYao> ok. could you help to submit the patch? I can continue to work based on you
08:34:50 <jose_lausuch> sure
08:35:15 <jose_lausuch> #action submit a patch with a new directory "openstack" functest/utils/openstack/ to put all the new utils
08:35:35 <jose_lausuch> nova_utils.py or just nova.py
08:35:41 <jose_lausuch> we already have the name "utils"
08:35:47 <SerenaFeng> nova.py is fine
08:35:53 <HelenYao> nova.py
08:36:08 <jose_lausuch> so we will do:  import functest.utils.openstack.nova  orimport functest.utils.openstack.*
08:36:12 <jose_lausuch> ok
08:36:22 <jose_lausuch> awesome
08:36:23 <HelenYao> awesome
08:36:26 <jose_lausuch> :)
08:37:09 <jose_lausuch> no more topics, but let's see other business
08:37:11 <jose_lausuch> #topic AoB
08:37:22 <jose_lausuch> I will put some info I got from Morgan
08:37:24 <HelenYao> I submitted a patch, could you help to review
08:37:25 <HelenYao> https://gerrit.opnfv.org/gerrit/#/c/24619/3
08:37:44 <jose_lausuch> such a big patch :)
08:37:44 <jose_lausuch> sure
08:37:48 <HelenYao> it is about the path mgmt,
08:37:52 <HelenYao> yeah
08:37:55 <jose_lausuch> it will take some time
08:37:58 <HelenYao> the path is everywhere
08:37:59 <jose_lausuch> I hope I can do it today
08:38:04 <jose_lausuch> good idea
08:38:06 <HelenYao> no hurry
08:38:35 <HelenYao> i hope it can be fully reviewed before merging to the master
08:38:36 <jose_lausuch> #info  patch  https://gerrit.opnfv.org/gerrit/#/c/24619/3    to avoid  path problems.  Review all
08:38:52 <SerenaFeng> and vping adaption is ok for reviewing now
08:39:07 <jose_lausuch> #action all review vping refactor and merge
08:39:15 <jose_lausuch> SerenaFeng: can you put the link?
08:39:17 <jose_lausuch> #undo
08:39:17 <collabot`> Removing item from minutes: <MeetBot.ircmeeting.items.Action object at 0x228de10>
08:39:27 <HelenYao> jose_lausuch: a side question about adding the reviewer, how to use your group on gerrit?
08:39:31 <SerenaFeng> #link https://gerrit.opnfv.org/gerrit/#/c/24541/
08:39:35 <jose_lausuch> #action all review vping refactor and merge https://gerrit.opnfv.org/gerrit/#/c/24541/
08:39:37 <jose_lausuch> thanks
08:39:38 <HelenYao> i cannot set the value as you created in gerrit
08:39:54 <jose_lausuch> HelenYao: you can start typing "functest.." and you'll see the group
08:39:58 <HelenYao> currently, i add reviewer one by one
08:40:19 <jose_lausuch> when you add a new person
08:40:26 <jose_lausuch> if you type functest, don't you get functest-contributors ?
08:40:34 <HelenYao> no
08:40:36 <jose_lausuch> strange
08:40:41 <jose_lausuch> I can
08:40:45 <SerenaFeng> I can
08:40:47 <jose_lausuch> SerenaFeng:  juhak: ?
08:41:03 <juhak> i've been adding one by one...
08:41:18 <jose_lausuch> juhak: aha, but don't you have the alias automatically?
08:41:41 <juhak> i'll check
08:41:55 <jose_lausuch> maybe it's a commiter right, not sure
08:42:19 <HelenYao> i checked just now. there is no functest-contributors when adding a review
08:43:25 <SerenaFeng> I can see both functest-contributor and functest-committer
08:43:48 <jose_lausuch> HelenYao: when you become commiter you'll be able to see it :)
08:44:21 <juhak> yes, I see both functest-contributor and functest-committer too
08:44:31 <SerenaFeng> but I think at least  the contributor can see functest-contributor group
08:44:54 <jose_lausuch> can you see this? https://gerrit.opnfv.org/gerrit/#/admin/groups/37
08:45:10 <HelenYao> strange. i can stay with the current
08:46:27 <jose_lausuch> #info from Morgan: regarding Domino: I made the change and merged without testing. It seems that it runs but the satus is seen as failed. As far as I remember it was SKIP as it is not possible to connect
08:46:40 <HelenYao> jose_lausuch: i  can see it
08:46:48 <jose_lausuch> #link https://build.opnfv.org/ci/view/functest/job/functest-joid-baremetal-daily-master/lastFailedBuild/console
08:47:00 <jose_lausuch> #info EPIC done for the 2 interships security groups & VNF catalog
08:47:05 <SerenaFeng> aha
08:47:17 <SerenaFeng> I use Morgan's code, it not work
08:47:19 <jose_lausuch> #info we have an intern for our VNF catalog activity
08:47:23 <SerenaFeng> I think I know the problem
08:47:28 <jose_lausuch> ok
08:47:33 <jose_lausuch> he is back on Thursday
08:47:43 <jose_lausuch> if it is a quick fix, could you help?
08:47:56 <SerenaFeng> yeah
08:48:09 <SerenaFeng> I can correct it
08:48:14 <jose_lausuch> #action fix Domino test case in CI
08:48:17 <jose_lausuch> thanks
08:48:20 <SerenaFeng> one sentence is wrong
08:48:30 <jose_lausuch> which sentence?
08:48:44 <SerenaFeng> args = parser.parse_args()
08:48:49 <jose_lausuch> ah ok
08:48:55 <SerenaFeng> it should be     args = vars(parser.parse_args())
08:49:10 <jose_lausuch> it seems it's a quick fix :)
08:49:16 <SerenaFeng> in args = parser.parse_args(), args is a namespace
08:49:21 <SerenaFeng> not a mapping
08:49:29 <jose_lausuch> ok
08:49:56 <jose_lausuch> #info mail sent on Testing priority
08:50:10 <jose_lausuch> #info patch on exceptions and constants open and ready to be merged (no risk..but more +2/+1 would be interesting)  https://gerrit.opnfv.org/gerrit/#/c/24517/
08:50:43 <jose_lausuch> #info Orange POD2 lab is not available (we were refactoring it) - and due to the tempest we got power supply issue since this week end...no more power in our experimental DC
08:51:05 <jose_lausuch> I don't have more to share
08:51:09 <jose_lausuch> any other thing?
08:51:19 <HelenYao> no from me
08:51:31 <SerenaFeng> after working on parser and vping
08:51:32 <jose_lausuch> ah!
08:51:42 <SerenaFeng> I want to enrich TestcasesBase a little bit
08:51:44 <jose_lausuch> #info jose_lausuch juhak attending the plugfest/hackfest :)
08:51:58 <HelenYao> congrats
08:52:08 <jose_lausuch> SerenaFeng: sure, feel free. I think Morgan wanted to work on the TestCaseBase for VNFs
08:52:19 <SerenaFeng> to abstract some common processes
08:52:20 <juhak> good to see you there!
08:52:24 <SerenaFeng> ok, thanks
08:52:48 <jose_lausuch> juhak: yess, I think we will need help from SerenaFeng to setup a TEST DB for the plugfest
08:53:09 <SerenaFeng> I have a ansible script in qtip
08:53:20 <SerenaFeng> it is very easy to deploy a testapi now :)
08:53:25 <jose_lausuch> cool
08:53:31 <jose_lausuch> could you teach us?
08:53:39 <SerenaFeng> using mongo container and testapi container
08:53:53 <SerenaFeng> sure
08:54:00 <jose_lausuch> thanks
08:54:09 <jose_lausuch> we will ask you questions soon :)
08:54:17 <SerenaFeng> the code is in /qtip/opt/servers
08:54:52 <SerenaFeng> modify inventory
08:55:19 <HelenYao> SerenaFeng: great work
08:55:34 <HelenYao> i tried to deploy testapi before and it was really easy
08:55:36 <jose_lausuch> yes
08:55:46 <SerenaFeng> then run ansible-playbook ssh.yml/testapi.yml/mongo.yml/ngnix.yml
08:55:58 <SerenaFeng> very easy, I will send a email later
08:56:06 <jose_lausuch> ok
08:56:12 <jose_lausuch> thanks a lot
08:56:12 <juhak> thanks
08:56:23 <jose_lausuch> if we don't have more topics, we can close the meeting
08:56:32 <SerenaFeng> it is very difficult to explain it in simple code
08:56:35 <SerenaFeng> ok?
08:56:45 <jose_lausuch> ok
08:56:49 <jose_lausuch> :)
08:57:06 <jose_lausuch> thank you all
08:57:10 <jose_lausuch> keep the good work
08:57:15 <jose_lausuch> #endmeeting