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