18:10:14 #startmeeting savanna 18:10:15 Meeting started Thu Dec 12 18:10:14 2013 UTC and is due to finish in 60 minutes. The chair is SergeyLukjanov. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:10:16 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 18:10:18 The meeting name has been set to 'savanna' 18:10:24 #topic Agenda 18:10:27 #link https://wiki.openstack.org/wiki/Meetings/SavannaAgenda#Next_meetings 18:10:36 #topic Action items from the last meeting 18:10:54 both action items from the last meeting are on me and not yet fully completed 18:11:06 #action SergeyLukjanov to check that all blueprints created and ping guys to make them if not 18:11:13 #action SergeyLukjanov add links to the blueprints to roadmap 18:11:35 #topic News / updates 18:11:42 folks, please 18:12:09 we're completely moved our unit tests to be excecuted by testr 18:12:18 and working on integration tests 18:12:19 I'm currently working on job relaunch from the UI. I'm getting close having something working. 18:12:26 i filed a cr for the foundation of the cli, i'd like lots of feedback before i add more to it - https://review.openstack.org/#/c/61565/ 18:12:30 I am working on https://blueprints.launchpad.net/savanna/+spec/edp-oozie-java-action to add general jar jobs from oozie (as opposed to mapreduce jobs) 18:12:32 in addition I'm working on tempest tests 18:12:39 I'm continue working on Heat integration patch, it is opened for review. 18:12:44 So you are welcome 18:12:58 basic functionality are implemented 18:13:09 mattf, adding an item about cli before the open discussion 18:13:20 #link https://review.openstack.org/#/c/55978/ 18:13:47 dmitryme is working on the unified agents proposal 18:13:56 integration tests appeared to dependent on nose and are failing now 18:14:06 dmitryme is here :) 18:14:16 I saw him joined recently 18:14:32 NikitaKonovalov, that's because we're using nose.attr in tests, it should be replaced with testr analogue 18:14:40 so need to make some chages to get rid of nose in tests code 18:14:44 NikitaKonovalov, I'll take a look on it after the meeting 18:14:49 ok 18:15:02 any other updates? 18:15:41 still working on rack awareness for hdp, but now detoured into making EDP work in neutron over private networks 18:15:48 We have put together a script to install Savanna and are wondering if it makes sense to contribute? 18:16:01 (Savanna UI and API) 18:16:20 ErikB, is it anything like the puppet module that is under review? 18:16:38 haven't seen much work/progress on puppet module... 18:16:39 jmaron, great, but I have no ideas for now for the correct approach to solve your problem 18:16:39 I haven't looked at the puppet piece, so not sure. 18:16:50 ErikB, how is installation implemented? 18:16:56 bash script 18:17:02 oh, i've one of those too 18:17:06 trying to work around the need to build a fully functional remote interface during periodic tasks 18:17:10 i'm hoping to ditch it for the puppet modules 18:17:20 ok, I think we may add somehing to savanna-extra repo 18:17:27 ErikB, the muppet manifests are under review atm 18:17:34 OK, I will check it out. 18:17:36 ErikB, and I think it'll be merged soon 18:17:41 muppet? I like it :) 18:17:43 ErikB, stackforge/puppet-savanna 18:17:52 ErikB, https://review.openstack.org/#/c/61156/ 18:17:58 jmaron, yup :) 18:18:05 SergeyLukjanov, probably today 18:18:14 mattf, my +2 in on it 18:18:27 it's on my queue 18:18:39 (now we definitely need to create a puppet derivative called muppet) 18:18:56 jmaron, puppet fork called muppet ;) 18:19:01 jmaron, +1 18:19:17 btw Jenkins was in a list of J release names ;) 18:19:54 names for openstack? 18:20:20 aignatov: names for the release 18:20:23 yep 18:20:26 like Grizzly was for G 18:20:31 or Havana for H 18:20:32 https://wiki.openstack.org/wiki/Release_Naming 18:20:38 I'll propose Savanna for S release 18:20:44 :-) 18:21:09 SergeyLukjanov, i've people stumbling over savanna v gnu savannah already! 18:21:28 mattf, yep, I know 18:21:36 they actually have very strict naming convention - use names of places nearby Summit locaiton 18:21:57 dmitryme, maybe the S summit will be somewhere in savanna 18:22:11 :-) 18:22:22 but from Russian point of view it looks very good because Savanna is Саванна :) 18:22:25 or in Savannah :) 18:23:17 funny report - http://stackalytics.com/report/users/slukjanov 18:23:34 ok, looks like there are no more updates 18:23:36 let's move on 18:23:47 #topic Roadmap update / cleanup 18:23:55 no updates from the last meeting 18:24:02 action items are still on me 18:24:12 I hope that I do it thos week 18:24:13 SergeyLukjanov, i think that graphic suggests you need a vacation 18:24:34 mattf, planning 2w vacation from end of Dec 18:25:26 on the next week? 18:25:29 from 18:25:45 SergeyLukjanov: this is not vacation, this is just russian holidays, aren't they? 18:26:17 alazarev, yup, but I'm extending it to be full 2w 18:26:34 #topic savanna client cli 18:26:43 mattf, please, could you please amke a small intro 18:26:46 make* 18:27:00 sure, there's nearly a savanna cli 18:27:08 https://blueprints.launchpad.net/python-savannaclient/+spec/python-savannaclient-cli 18:27:19 initial commit is https://review.openstack.org/#/c/61565/ 18:27:36 the foundation is based on novaclient, with minimal changes 18:27:55 i'd appreciate feedback both on the blueprint (incomplete) and especially on the initial commit. 18:28:10 i don't want to go too far into the cli impl if we aren't agreed on the basics 18:28:13 . 18:28:23 I don't really like it looks like in nova client... have you tried to diff into the some other clients? 18:28:58 mattf, my first comment - please remove all unused commented code ;) 18:29:08 will you quantify "don't really like it looks like"? 18:29:23 to clarify - mattf, I really appreciate your work on it 18:29:33 aignatov, so i'm purposely keeping that code so we have an idea of how far we've drifted from nova 18:29:48 mattf, I've seen into the neutron client, it looks more object oriented 18:29:59 mattf and testable/supportable 18:30:11 mattf, but of course, a lot of lines of code 18:30:26 the nova comparison is with regard to command options, code structure, or both? 18:30:37 command option syntax 18:30:43 SergeyLukjanov, i didn't dig into the neutron code. the keystone folks wanted me to use theirs, but it was only a partial implementation. 18:30:43 and there is a common client in oslo, I don't actually know which projects are using it 18:31:05 SergeyLukjanov, seemed like none 18:31:20 SergeyLukjanov, yep 18:31:23 oh 18:31:30 SergeyLukjanov, how are you? 18:31:36 SergeyLukjanov, fine, thx 18:31:39 :) 18:31:44 jmaron, code structure. many OS CLIs are based on novaclient. so when they ahve to migrate to something shared, we'll be close to whatever migration path is created. 18:31:58 mattf, thx 18:32:02 SergeyLukjanov, vacation, definitely vacation 18:32:08 mattf, :) 18:32:33 mattf, in two words I really like to have a cli in our client 18:32:40 SergeyLukjanov, does neutron already have a test harness for their cli? 18:32:52 mattf, I'm not sire 18:32:55 sure* 18:33:09 that'd be a nice reason to jump to another foundation 18:33:44 there tons of tests here 18:33:45 https://github.com/openstack/python-neutronclient/tree/master/neutronclient/tests/unit 18:33:55 basically, i'm very happy to steal from other clients for the framing. i'm really just interested in adding savanna specific walls and furniture 18:34:08 mattf, did you look at heat client, it looks nice and simple 18:34:19 and contains shell tests :) 18:34:22 https://github.com/openstack/python-heatclient 18:34:38 mattf, it'll be great if you take a look on 'new' clients 18:34:53 aignatov, i did, the main reason to go w/ nova is migration path 18:35:28 the keystone folks are trying to create a standard client, with security done right 18:35:31 but it's not done 18:35:50 mattf, :( 18:35:51 i imagine that and others will eventually migrate to something in oslo, but it doesn't exist right now 18:36:05 and my aim is to make a savanna cli, not a framework for creating clis 18:36:36 maybe we should create new initiative in OpenStack, CLI as a service ;) 18:36:37 sounds like folks would like me to take a second look at heat and neutron? 18:36:49 aignatov, indeed, you can be ptl 18:36:57 when you have something that works, i'll migrate to it 18:36:59 * mattf grins 18:37:01 aignatov, CLIaaS 18:37:07 mattf, lol 18:37:35 without the 'I' would be classier... 18:37:49 jmaron, nice) 18:37:58 SergeyLukjanov, oh wait 18:38:13 mattf, I'm here, don't worry :) 18:38:14 i remember neutronclient now. instead of having a module system then just do it all in a single shell.py 18:38:45 (forgive me, i reviewed most of the clients back around summit time) 18:39:21 i wasn't too interested in that structure, especially since we'll have to have multiple api versions 18:39:35 we arguably already have 1.0 and 1.1, soon also 2.0 18:39:46 though we've stuck them together in a single "api" module 18:40:03 mattf, it looks like neutronclient have a file/class per each operation 18:40:16 SergeyLukjanov, so that and the fact no one else i could see was using neutron is why i backed away from it 18:40:33 https://github.com/openstack/python-neutronclient/blob/master/neutronclient/neutron/v2_0/network.py#L114 18:40:40 mattf :) 18:40:47 SergeyLukjanov, the way they pull it together isn't as flexible as the api version approach 18:41:21 mattf, btw I'm just trying to cover all approaches 18:41:36 mattf, nova client isn't bad approach by default 18:42:21 so if we do something not too bad, it'll be enough to understand what is bad and migrate earlier 18:42:27 aignatov, heatclient is definitely simpler than novaclient. it actually duplicates some of the functionality we provide in our Client() too 18:42:57 SergeyLukjanov, i'm happy for the line of questioning, keeps decisions open and well reasoned 18:43:02 (or at least partially reasoned) 18:43:57 in the end, the impl is pretty simple. there's a shell.py in savannaclient that loads other shell.py from variable api version modules. the api version shell.py implements do_blah() methods that are the cli verbs 18:44:09 so we have savannaclient/shell.py and savannaclient/api/shell.py 18:44:43 the outer one also parses the auth information and creates the Client() for use w/i the do_ methods 18:45:09 mattf, I'd like this approach 18:45:10 aignatov, how strongly do you feel about heat, because we can debate it some more after the meeting 18:45:34 mattf, i've just had a quick look during this meeting 18:45:55 mattf, I'll agree with something that'll work ok :) 18:46:02 curious: do we see a need for savanna-manage client, crossing tenant boundaries for management tasks across cluster instances? 18:46:33 jmaron, I think it'll be eventually done by using admin role 18:46:40 and I've compared heatclient and novaclient code in your patch and make a opinion :) 18:47:00 jmaron, the client allows you to change the tenant you're working against via env or arg 18:47:22 aignatov, you'll render an opinion into the review today? 18:47:46 understood. Just thought an admin may want to get a full picture rather than iterate across tenants 18:48:06 jmaron, ahhh, that's an interesting idea 18:48:16 i don't think the current api allows that very easily 18:48:23 true 18:48:44 mattf, I'll try 18:49:06 As for the UI, there is an Admin tab here which allows browsing resources regardless of tenant 18:49:15 it might be worth checking how it works 18:49:22 ok, take the rest of this to the review / #savanna ? 18:49:25 jmaron, mattf, current API doesn't allow to do it, but I think that we should add it to v2 18:49:36 +1 18:49:42 looks like a time for open discussion 18:49:48 #topic Open Discussion 18:50:37 edp question, we can follow up on #savanna. With the addition of java actions to oozie support, I think we need a name change for job types. Currently we have Hive, Pig, and JAR. 18:50:52 I think we need Hive, Pig, Mapreduce, and ?? 18:51:03 Because current JAR really means "mapreduce" 18:51:38 it will be a different workflow generator, arguments allowed, ect 18:51:50 tmckay JavaAction? 18:51:52 tmckay: and what does added java action do? 18:52:26 possible we should add a oozie workflow 18:52:30 Java actions allow Oozie to run a main(), instead of building a mapreduce job out of the specified mapper and reducer classes 18:52:44 aha, I see 18:52:46 so, the hadoop example pi estimator is a java action 18:52:59 It can't be run as mapreduce directly without a rewrite 18:53:05 indeed it is hard to set a different names 18:53:24 java action launches a single mapper, which runs main(), which typically launches other mappers and reducers 18:53:36 I see a HelloWorld example coming down the pipe…. 18:53:43 tmckay, just Java, but JAR should be renamed to MapReduce defenitely 18:54:01 Yes, that was my thought.... Hive, Pig, MapReduce, and Java 18:54:02 aignatov: makes sense 18:54:19 are there any job types in Oozie? 18:54:27 that will cause changes in the UI, docs, etc... 18:54:29 we can use them if yes 18:54:39 I think just the action names 18:54:43 yep, but looks like we really need i 18:54:56 oh, agreed, just making a note :) 18:55:00 Hive, Pig, MapReduce, and Java works for me 18:55:05 tmckay :) 18:55:25 crobertsrh, this means you too ^^ :) 18:55:54 agreed with akusnetsov, Oozie workflow should be supported as well :) but didm;t know how it works :) :) 18:56:02 akuznetsov, yes, we should add oozie workflow from user too 18:56:17 first, java. Then, oozie. 18:56:26 Christmas present for me, heh 18:56:31 and it'll be great to be ablt to configure oozie to take jobs from swift 18:56:36 Btw, MapReduce action has sub actions streaming and pipe 18:56:50 yes, also on the roadmap I think 18:57:04 yes oozie is most complicated because it should involve all types of job pig, hive jar etc... 18:57:50 also, tmckay, you know that right now EDP uses oozie-workflow schema 0.2, but we have 4.0.0 ooze in images which allows to run on schema 0.4 and greater 18:58:13 streaming and pipe will be required some image preparation if for example pipes will use a some specific python 18:58:17 which Oozie is used in HWX plugin? 18:58:24 aignatov, didn't know that. Should we switch the schema to 0.4? 18:59:08 aignatov, not sure about version number. whatever is distributed with HDP 1.3.2 18:59:11 we're out of time guys, 1 min left 18:59:12 any need to support both, with a config? 18:59:14 tmckay: If it have new features allowing you to create workflows in simple manner, why not? :) 18:59:27 quick note: I've run into an issue with periodic tasks requiring access to a full context (specifically, the service catalog etc). Trying to work around it, but it makes me think there may be a need for defining "privileged" periodic tasks or allowing such access to existing periodic tasks? Will ruminate some more, may send email out to list at some point…. 19:00:03 jmaron, yikes 19:00:09 jmaron, it's needed to query neutron, yes/ 19:00:10 I only know that 0.3 or 0.4 Oozie version contains tag which allow to apply job tracker and name node definitions in a single place 19:00:10 ? 19:00:17 thank you all! 19:00:18 #endmeeting