00:00:39 <thinrichs> #startmeeting CongressTeamMeeting
00:00:40 <openstack> Meeting started Thu Aug  6 00:00:39 2015 UTC and is due to finish in 60 minutes.  The chair is thinrichs. Information about MeetBot at http://wiki.debian.org/MeetBot.
00:00:41 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
00:00:44 <openstack> The meeting name has been set to 'congressteammeeting'
00:01:10 <thinrichs> This is the first time for our new schedule.
00:01:29 <RuiChen> hi all
00:01:31 <thinrichs> Let's give everyone a few extra minutes before we get started.
00:01:36 <thinrichs> RuiChen: hi!
00:01:43 <pballand> hi!
00:01:48 <thinrichs> Who is here for the meeting?
00:01:50 <thinrichs> pballand: hi!
00:02:00 <jwy> howdy
00:02:09 <masahito> hi. and from Palo Alto!
00:02:09 <Yingxin1> hi
00:02:23 <thinrichs> masahito: welcome to town!
00:02:33 <thinrichs> jwy, Yingxin1: hi
00:03:57 <thinrichs> A quick follow up about our meeting reschedule.
00:04:00 <thinrichs> #topic Meeting time
00:04:12 <thinrichs> There was exactly one day we could all make this time.
00:04:13 <thinrichs> http://doodle.com/5brc9vhggvtiipk3
00:05:55 <thinrichs> And while it doesn't show it because not everyone voted, there was only 1 time we could make.
00:05:55 <thinrichs> http://doodle.com/intkzvgizusb7b4t
00:06:20 <thinrichs> So it's a brittle solution, but it works for now.
00:06:41 <thinrichs> Hopefully that's enough time for people to join who will be joining.
00:06:56 <thinrichs> Let's move on to the liberty mid-cycle summit.
00:07:00 <thinrichs> #topic Mid-cycle summit
00:07:15 <thinrichs> The summit is the next 2 days in Palo Alto, CA, USA.
00:07:45 <thinrichs> Here is the etherpad.
00:07:46 <thinrichs> #link https://etherpad.openstack.org/p/congress-liberty-sprint
00:08:03 <thinrichs> I started putting together some background about what we're doing
00:08:11 <thinrichs> and how I think we want to structure the next 2 days.
00:08:51 <thinrichs> BTW, here's the link with info about the summit, including logistics.
00:08:53 <thinrichs> #link https://wiki.openstack.org/wiki/Sprints/CongressLibertySprint
00:09:39 <thinrichs> We'll have a remote connection available for those of you who want to participate but can't attend in person.
00:09:47 <thinrichs> We'll put the details into the etherpad once we know them.
00:10:11 <thinrichs> Feel free to modify the etherpad as you see fit.
00:10:26 <thinrichs> Any questions/comments at this point?
00:11:20 <masahito> When I go to the place, can I get to there by car?
00:11:29 <alexsyip> Yes
00:11:39 <alexsyip> I’m adding the building and room info now.
00:11:57 <masahito> alexsyip: thank you
00:13:44 <thinrichs> Anything else?  Are we saving everything for tomorrow?
00:13:46 <thinrichs> :)
00:15:16 <thinrichs> Moving on then.
00:15:22 <thinrichs> #topic Milestones
00:15:31 <thinrichs> Last week we cut the liberty-2 "release"
00:15:37 <thinrichs> So we're now in the midst of liberty-3.
00:15:57 <thinrichs> Please update your blueprints to target liberty-3, if you're planning to get code into the liberty release.
00:16:27 <thinrichs> liberty-3 is feature-freeze, meaning that we only allow bug fixes, documentation updates, etc. into the repo.
00:16:52 <zhenzanz> so what about the action listing bp?
00:17:13 <thinrichs> liberty-3 is Sept 1-3.
00:17:35 <thinrichs> zhenzanz: looking
00:18:11 <thinrichs> zhenzanz: looks like I updated the milestone target to liberty-3 already
00:18:13 <thinrichs> #link https://blueprints.launchpad.net/congress/+spec/add-action-listing
00:18:32 <thinrichs> Now that I think of it, I probably updated the milestones for all those that I knew were in progress.
00:18:39 <zhenzanz> yes, thanks
00:18:56 <thinrichs> Here are the BP targeted at liberty-3 currently.
00:18:58 <thinrichs> #link https://launchpad.net/congress/+milestone/liberty-3
00:19:02 <RuiChen> I can help to review action list BP, would like to see it land on L release.
00:19:20 <zhenzanz> ruichen: thank you
00:20:17 <thinrichs> Seems a good time to transition to status updates.
00:20:21 <thinrichs> #topic Status updates
00:20:34 <thinrichs> zhenzanz: want to go first?  How are the action-listings going?
00:20:50 <zhenzanz> I think the main logic is ok
00:21:08 <zhenzanz> but not all serivces have good doc to parse
00:21:41 <zhenzanz> e.g. neutronclient
00:22:00 <thinrichs> zhenzanz: could you briefly explain to others what you're working on?
00:22:22 <thinrichs> That way maybe they have solutions to the issues you're seeing.
00:23:36 <zhenzanz> the purpose of action listing is to get a list of executable methods congress could execute
00:24:16 <zhenzanz> the way I am working on is to inspect service clients for their APIs and related arguments
00:24:29 <zhenzanz> and generates a list to return
00:24:51 <zhenzanz> novaclient has very good document and it's easy to parse
00:25:32 <zhenzanz> but neutronclient doesn't. And it uses decorates which makes it even harder to parse
00:26:16 <thinrichs> The other important piece is that…
00:26:46 <thinrichs> the actions that can be executed for any given datasource...
00:27:04 <thinrichs> are often all the methods that are implemented on the Python client for that datasource.
00:27:22 <thinrichs> So for nova, the actions you can execute via policy that looks like….
00:27:41 <thinrichs> execute[nova:ACTION(…)] :- p(x), q(x)
00:27:58 <thinrichs> are exactly the ones that Nova's python client implements.
00:28:14 <thinrichs> So to build a method that enumerates each of the available actions for the Nova datasource...
00:28:24 <thinrichs> we need to enumerate the methods on the Nova python client.
00:28:40 <thinrichs> And somehow generate documentation for the possible arguments.
00:29:13 <thinrichs> zhenzanz is using Python's introspection capabilities to try to extract that information.
00:29:17 <thinrichs> #link https://review.openstack.org/#/c/203495/
00:29:24 <thinrichs> zhenzanz: is that about right?
00:29:34 <zhenzanz> exactly
00:30:16 <zhenzanz> One question is that I am not sure if it makes sense that all the methods could be executed in congress
00:30:37 <zhenzanz> I mean all the parsed methods by a simple inspect
00:31:02 <zhenzanz> do we need some kind of filter
00:32:06 <thinrichs> zhenzanz: I think we do want to filter so that people can't execute arbitrary code on the nova-client.
00:32:56 <thinrichs> I'm wondering if we could do a code-injection attack somehow by say overwriting an existing nova-client method.
00:35:12 <zhenzanz> current design will just return the method name, and the user input will be also used as method name. Only method names in the tracked executable_methods could be resolved and then executed.
00:35:12 <thinrichs> pballand, ayip, others: any thoughts here?
00:35:27 <zhenzanz> so I think it should be ok
00:36:31 <thinrichs> zhenzanz: ok.  I'd say we want to get something merged and then slowly improve it over time.
00:37:02 <thinrichs> Just having a list of the method names is better than nothing.
00:37:03 <alexsyip> filtering seems like a good idea to me.
00:37:41 <thinrichs> Let's move on.
00:37:56 <thinrichs> RuiChen: want to go next?
00:38:03 <RuiChen> ok
00:38:43 <RuiChen> working on bug 1473924
00:38:43 <openstack> bug 1473924 in congress "datasource-row-list API raise 400 exception when thread switching occur in update_from_datasource()" [Undecided,In progress] https://launchpad.net/bugs/1473924 - Assigned to Rui Chen (kiwik-chenrui)
00:38:43 <uvirtbot> Launchpad bug 1473924 in congress "datasource-row-list API raise 400 exception when thread switching occur in update_from_datasource()" [Undecided,In progress] https://launchpad.net/bugs/1473924
00:38:44 <uvirtbot> Launchpad bug 1473924 in congress "datasource-row-list API raise 400 exception when thread switching occur in update_from_datasource()" [Undecided,In progress]
00:39:39 <RuiChen> I think the problem is if we use @check_raw_data_changed to only retrun the changed data
00:39:51 <RuiChen> the unchanged and deleted data are not present in the translated data
00:40:40 <RuiChen> so need a way to mark the different type data in order to empty deleted dta and don't modify the unchanged data in self.update_state()
00:41:02 <thinrichs> Does set_state() solve the problem?
00:41:11 <thinrichs> It's basically atomic.
00:41:42 <RuiChen> use set_state, only a problem
00:42:16 <RuiChen> the unchanged data don't retrun from @check_raw_data_changed
00:42:42 <thinrichs> Also remember that check_raw_data_changed is an optimization—one that I'm guessing we can skip.
00:42:48 <RuiChen> so if we use set_state, this part of data is removed from self.state
00:43:20 <RuiChen> yes, if we don't @check_raw_data_changed, I think it should be ok
00:44:20 <thinrichs> RuiChen: I think I see what you're getting at.
00:44:48 <thinrichs> If we use check_raw_data_changed, then implicitly it means we're doing partial updates of self.state.
00:45:16 <zhenzanz> is there any impact if we want to integrate oslo notification in the future?
00:45:50 <thinrichs> zhenzanz: I think that's a separable issue
00:47:05 <masahito> sorry, connection was disconnected.
00:47:06 <thinrichs> RuiChen: I do see the issue now.  I didn't before.
00:47:25 <thinrichs> RuiChen: but I don't have a solution.
00:47:31 <thinrichs> Let's move on, as we're running low on time.
00:47:38 <thinrichs> masahito: want to do a status report?
00:48:11 <masahito> nothing special.
00:48:46 <thinrichs> OK.
00:48:52 <thinrichs> Yingxin1: want to give a status update?
00:48:59 <Yingxin1> yes
00:49:31 <Yingxin1> I have implemented a prototype in https://github.com/cyx1231st/rpcpoc for dse-rpc
00:49:49 <Yingxin1> maybe it is useful in the mid-cycle sprint
00:50:07 <RuiChen> Yingxin1: it's great!
00:50:10 <Yingxin1> which is related to the bp https://review.openstack.org/#/c/205941/
00:51:23 <Yingxin1> RuiChen: thanks
00:51:28 <thinrichs> Yingxin1: I'll definitely take a look.
00:51:39 <Yingxin1> Thank you
00:51:44 <thinrichs> Yingxin1: Any chance you could push that code to the review system?
00:52:04 <thinrichs> It'd be easier for the rest of us to look at it there because it shows us the deltas between the old version and your version.
00:52:15 <Yingxin1> ok, I can push that to gerrit
00:52:45 <Yingxin1> before the sprint
00:52:52 <thinrichs> Yingxin1: that'd be great.
00:53:07 <thinrichs> In case you haven't done that before, here's the OpenStack guide on getting started.
00:53:09 <thinrichs> #link http://docs.openstack.org/infra/manual/developers.html
00:53:45 <thinrichs> We're running short on time.
00:54:02 <thinrichs> Anyone else have something they want feedback on from the group?
00:54:08 <thinrichs> #topic open discussion
00:54:25 <zhenzanz> one more thing: one of the tempest patch is merged
00:54:45 <thinrichs> pballand, alexyip, jwy: sorry we ran out of time for your status updates; pipe up here if you need to.
00:54:54 <thinrichs> Same goes for anyone else I missed.
00:55:09 <zhenzanz> when the other tempest-lib is merged, the patch for congress ha tempest patch could be merged
00:55:13 <jwy> thinrichs: np, just lurking today
00:55:31 <thinrichs> zhenzanz: great!  Are you getting any reviews on tempest-lib?
00:56:06 <zhenzanz> no for patch set 4 yet
00:56:49 <thinrichs> Let us know if there's anything we can do to help.
00:56:50 <zhenzanz> but it's ok to bypass that patch set. We can catch the socket.error in our code if we want
00:57:40 <thinrichs> It'd be nice to get the tempest tests gating checkins again.
00:58:36 <thinrichs> zhenzanz: is it worth writing the patch we need temporarily until tempest-lib is fixed properly?
00:59:05 <thinrichs> zhenzanz: then maybe we could work on getting the gate working again.
00:59:20 <zhenzanz> I think so, I am not sure if tempest guy will buy in that patch soon
00:59:55 <zhenzanz> I can modify the congress patch to catch socket.error exception today
01:00:12 <thinrichs> Sounds great.  Let us if you need anything.
01:00:15 <thinrichs> Out of time for this week.  Thanks all!
01:00:34 <thinrichs> Don't forget about the sprint tomorrow!
01:00:36 <thinrichs> #endmeeting