18:03:22 #startmeeting sahara 18:03:23 Meeting started Thu Jul 24 18:03:22 2014 UTC and is due to finish in 60 minutes. The chair is SergeyLukjanov. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:03:24 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 18:03:26 The meeting name has been set to 'sahara' 18:03:30 #link https://wiki.openstack.org/wiki/Meetings/SaharaAgenda 18:03:37 #topic News / updates 18:03:50 crobertsrh, you have a separated topic ;) 18:03:53 hello 18:04:04 aww, ok 18:04:07 hiya 18:04:20 #info Juno 2 released 18:04:36 tag to sahara has been pushed yesterday 18:04:51 and I've pushed tags to -dashboard, elements and extra right before the meeting 18:05:06 #link https://launchpad.net/sahara/+milestone/juno-2 18:05:14 so, congratulations folks! 18:05:17 yay! 18:06:08 here 18:06:17 hurrah! 18:06:22 any news/updates folks? 18:06:29 working on my spec so much I forgot the meeting 18:06:32 yes, update: 18:06:41 I'm working on CDH plugin 18:06:45 I was busy implementing https://blueprints.launchpad.net/sahara/+spec/cluster-secgroups 18:07:08 spark edp initial impl is done, just needs unit tests (and maybe integration tests?) Working on a detailed spec now, should be posted today 18:07:08 patch is ready, will commit today 18:07:13 I’ve started working on moving rest samples to the docs but realised that all of them are in the rest api v1.0 v1.1 pages 18:07:15 I have a fix for sahara-image-elements blocked in savanna-ci because of failing jobs (I think mostly timeouts) 18:07:25 I am working on tests in tempest style 18:07:35 so i’ve decided just to updated current rest api items in all docs 18:07:39 also, anyone for HWX around? One of the ambari repository used by dib elements is still not working 18:07:45 and add new ones woth more examples 18:07:45 also, I'm working on various minor changes 18:07:47 I have a question about integration tests for Spark. Essentially, should we have them? :) There are no spark cluster tests yet, afaik 18:08:11 ylobankov, could you please help tosky with searching the reason of failing jobs on his commit? 18:08:52 tmckay, we need to have itests for spark too 18:09:00 yes, of course 18:09:06 tmckay, otherwise we'll break it :) 18:09:08 ylobankov: thanks 18:09:14 SergeyLukjanov, okay, I'll make a blueprint for it 18:09:32 news, I have a flight and hotel for OSS :) 18:09:41 tmckay, cool! 18:09:56 tmckay, and I have France VISA that ends Nov 1 ;) 18:10:11 hmm, seems too short 18:10:23 I guess we'll miss you there SergeyLukjanov :) 18:10:51 is mattf here? 18:10:58 hi hi 18:11:02 you rang? 18:11:17 hey. I was going to raise your spec suggestion, but if you're here ... 18:11:42 oh, i'll take that off-line for a bit 18:11:47 ok 18:11:52 tmckay, thanks for the reminder tho 18:11:56 np 18:12:05 oops :) 18:12:19 #topic sahara-dashboard @ horizon status (croberts) 18:12:23 crobertsrh, please :) 18:12:30 * mattf gets ready to cheer 18:12:32 Good news....about 27 min ago, the last of the horizon merge patches finally merged! 18:12:39 w00t! 18:12:44 [21:44:58] A change was merged to openstack/horizon: Adding Job Binaries panel for Sahara https://review.openstack.org/91091 18:12:44 [21:45:03] A change was merged to openstack/horizon: Adding Jobs and Job Executions panels for Sahara https://review.openstack.org/91118 18:12:47 yay! 18:12:52 Is now a bad time to propose pulling our dashboard from horizon?? :) 18:12:55 wohoooo! 18:13:05 awesome news 18:13:12 now's a great time to discuss pulling our dashboard 18:13:16 -1 from me 18:13:27 good time to add Spark job type form 18:13:42 absolutely, tmckay 18:13:57 yeah, I think that we'll be able to land all rest fixes to horizon before J release 18:14:02 crobertsrh, I should have something written up about that soon 18:14:06 and some additional features like Spark support 18:14:28 crobertsrh, please send our thanks to the horizon folks for consuming the large merge 18:14:34 Yes. All the fixes should make it. They are small and mostly +1 or +2 already. I've got some other items on my list too. 18:14:53 mattf: Yes....will do. I suspect that I'll have a few drinks to buy in Paris. 18:15:26 do they drink there? 18:15:35 tmckay, wine only, le sigh 18:15:41 lol 18:16:00 Side note for dashboard stuff.....I'm slated to have a few weeks off starting around August 15th (baby coming). Is there anyone else that is planning to do dashboard work for juno? 18:16:05 crobertsrh, thank you for continuously pushing sahara dash to horizon! 18:16:40 not me, I'd likely break it 18:17:08 crobertsrh, I think NikitaKonovalov could take it for a few weeks 18:17:31 I am striving to have bugs/specs/blueprints written up as much as possible. Hopefully, there won't be too much to do other than write a bunch of simple UI code :) 18:17:37 crobertsrh: I’ll take care of my staff and coming security groups 18:17:52 Great, thanks alazarev! 18:18:43 okay, anything else re dashboard? 18:19:02 Nothing from me. I'm going to have a celebratory beverage now :) 18:19:08 #info crobertsrh will have a few weeks off starting around August 15th 18:19:21 crobertsrh, :) 18:19:35 #topic Action items from the last meeting 18:19:42 #action SergeyLukjanov to create bp with steps to enable heat be default 18:19:50 #action SergeyLukjanov to create bp about removing/hiding username@image for heat based provisioning 18:20:24 any other big topics to discuss today? 18:20:55 i have a few minor questions about the JobExecution data model 18:21:23 #topic Open discussion 18:21:28 elmiko, you're welcome 18:21:33 ah yes, crobertsrh, we wanted to look into making job name available from job execution, remember? 18:21:53 Yes, that is desired for: https://bugs.launchpad.net/horizon/+bug/1342293 18:21:54 Launchpad bug 1342293 in horizon "[data processing] Make the job executions page more useful" [Wishlist,New] 18:21:56 and maybe cluster name? or some other stuff, so you don't have to make double requests 18:22:17 oooh, fancy uvirtbot...thanks 18:22:19 easiest way is to add relation in job execution to job object 18:22:35 but that's a data model change 18:22:49 currently, we use the job_configs column in JobExecution to store the swift credentials, i was going to add a column for the trust id associated with a JobExecution, would it be appropriate to use job_configs instead? 18:23:17 elmiko, we've put a lot of stuff in job_configs or extra to save migrations 18:23:28 I think it's fine to put it in configs or extra 18:23:29 tmckay: that's what i figured 18:23:38 fewer migrations is better 18:23:43 it actually makes my job easier :) 18:24:28 ack, I just crammed some stuff in extra for spark ;-) 18:25:01 do we really want to use extra? 18:25:04 sounds like a good place to stuff the job/cluster name? 18:25:10 I don’t like how we use it now 18:25:18 * mattf grins 18:25:26 alazarev: should i create a new column? 18:25:53 in cluster extra is reserved for plugins data, in jobs engine uses it, need more consistency 18:26:29 elmiko: for cluster I was told to add new columns for all engine data 18:26:35 extra is used for neutron info in job executions currently 18:26:36 alazarev, but often it's the only way to support different engines/plugins 18:26:43 I stored a spark path there 18:26:52 alazarev: i need a place to store the trust id associated with each job execution, would it be preferable to make this a column? 18:27:05 for edp engine stuff, we could go extra.engine_name.stuff 18:27:09 and make it formal 18:27:41 elmiko, only execs that use swift will need it, so it at the very least needs to be nullable 18:27:51 tmckay: definitely 18:28:02 elmiko, for trusts it sounds like it doesn't depend on any engine/plugin 18:28:18 SergeyLukjanov: correct, only depends on swift usage 18:28:22 true. We can add a column, I'm okay with that. 18:28:41 +1 on column 18:28:51 but w/o swift it's not needed 18:28:53 at least atm 18:28:55 SergeyLukjanov: it depends on data source actually as tmckay said above 18:28:59 question about compat -> if you upgrade, and you have old objects in the db with swift credentials, will we still run them? or reject them? 18:29:12 about columns - we really need to orginize them, number of columns in each objest grows 18:29:52 tmckay: that's a really good question, and it goes towards backward compatibility. i made an explicit note in the spec about ensuring there are no job executions when the database migration is performed 18:30:12 tmckay, we should save backward compat here 18:30:43 elmiko, I guess the question is, will you be able to use old data source objects that have swift creds in them? Just use a trust id, and ignore them? 18:30:49 elmiko: old ones job executions shoudl be supported aftre upgrade 18:30:53 tmckay: yes 18:31:09 ok. The only way to use old job executions is with relaunch 18:31:16 aignatov, SergeyLukjanov, supporting old JobExecution's means keeping credentials stored inthe db 18:31:24 and that's a feature of the UI, not Sahara api itself 18:31:38 elmiko: obly for old ones, we cann’t do anything with it 18:31:41 elmiko, only for old job executions 18:31:51 if we wants to keep backward 18:31:57 compat 18:32:05 elmiko, upgrading with removing entites from db is a very bad solution 18:32:07 I think old job executions are not an issue. 18:32:14 tmckay, yup 18:32:18 cluster object has already trust_id column 18:32:32 sreshetnyak: this is for JobExecution 18:32:44 we need a new trust for each job that includes swift sources 18:33:23 elmiko, hm, what's about case when we'll have two different swift data sources for input and output? 18:33:26 do a trusts have expiration timeouts? 18:33:32 elmiko, will we need to store two trust_ids 18:33:42 aignatov: they can 18:34:10 SergeyLukjanov: correct, we need the cluster trust id for transient stuff _and_ we will need trusts for any job that requires swift access 18:34:27 so, for example cluster has infinite expiration date for trust…. could be reusable for job_executions? 18:34:39 it makes more sense to me if we store the job execution trusts with those objects 18:34:44 elmiko, but potentially 1 trust for input and 1 for output if they are from different swifts 18:35:25 tmckay: not necessarily, it depends how the swift objects are scoped in keystone 18:35:37 ok. 18:35:38 elmiko, they aren't scoped AFAIK 18:35:46 aignatov: the trusts we establish might be different tenants 18:36:15 elmiko, yup 18:36:21 SergeyLukjanov: well, for example, if a user wants to start a new job with swift objects, and the swift objects exist in a different tenant, then the trust would need to be scoped to that tenant 18:36:25 tmckay: we don’t support different swifts 18:37:18 by moving to the trust based system it's possible that we could support swift containers in other tenants 18:37:43 mainly becuase we will need to be using swift's storageURL to access those objects 18:40:01 so... what's the group opinion on adding a new column to JobExecution for the swift trust id? 18:41:01 okay with me 18:41:09 I'm mostly ok with it 18:41:29 elmiko, but I have concern that it could be several trust_id 18:41:42 elmiko, like one for input and another for output 18:42:00 could be a json dictionary type, like configs 18:42:09 then you can store a whole bunch with keys 18:42:15 I think it seems like the right thing to do, even if there winds-up being multiple values in there. 18:42:31 ok, so maybe more like what we've done with job_configs? 18:42:45 yeah, just a single level dictionary 18:42:48 no nesting 18:43:07 "whatever_id": "value" 18:43:31 it could get really complicated to interleave the trust ids with the source objects if we start to get more than 1 entry for input and 1 for output 18:43:58 hmmm 18:44:05 tmckay, it sounds like adding the third extra field to job_exec 18:44:53 currently we only allow for 1 input and 1 output object? 18:44:53 I have an idea, what if elmiko starts adding trust objects to current extra as a temporary approach 18:44:54 SergeyLukjanov, almost. It could be a list, but then how do you know order? 18:45:13 elmiko, yes 18:45:19 we will see how it works and then move it to new column(s) if need 18:45:44 aignatov, or we could use job_configs for it too 18:45:51 aignatov: i'm ok with that, it sounded like there was some difference of opinion on that though 18:46:18 tmckay: so, currently, max we would need to store would be 2 ids 18:46:19 in job_configs we currently have the following structure - https://github.com/openstack/sahara/blob/b2c393f752f7bdd4c789bb3a25e4b639869beeec/etc/rest-api-samples/edp/job_execute.json 18:46:54 but configs, args, and params all have specific meanings 18:46:58 they're different 18:47:04 not so crazy 18:47:05 what's about adding some upper level field like "trusts" that will store trust ids for all data sources? 18:47:21 SergeyLukjanov: within job_configs? 18:47:22 I'd be okay with that 18:47:32 elmiko, yup 18:47:39 ack 18:47:43 because in fact this trusts are part of the job config :) 18:47:58 agreed 18:48:25 SergeyLukjanov: we could add separate table eventually like pool of trusts for different tenants 18:48:31 any objections? 18:48:54 for whatever needs - killink transient cluster, or access to switft objects 18:48:55 aignatov, we'll need to re-work the whole model eventually 18:49:22 killnk -> killing :) 18:49:38 #agreed add trusts under the upper level field to the job_configs 18:49:45 ok, sounds good 18:49:59 agreed with SergeyLukjanov 18:50:39 lgtm 18:50:48 +1 18:50:50 and i'm assuming we will not print the trust ids on the rest calls? 18:50:51 me too 18:51:07 much like the username/password currently 18:51:09 elmiko, is there a security reason not too? 18:51:10 elmiko, tmckay, yup 18:51:31 elmiko, okay, easy to filter. 18:51:38 I can help you with that. 18:51:56 tmckay: off the top of my head, i don't think there is a risk, but i also don't see a reason why we would print them 18:52:05 gotcha 18:53:00 7 mins left 18:53:03 the trusts will be scoped to the proxy user, so you would need at minimum the trustee or trustor's auth token to do something useful with the trust id 18:53:06 anything else to dicsuss? 18:53:33 how will attend the paris summit this november? 18:53:42 o/ 18:53:51 \o/ 18:53:59 how or who? 18:54:04 who* 18:54:05 me 18:54:42 crobertsrh too 18:54:54 I will be there, indeed 18:55:17 Hopefully, everyone can make it for all 5 days this time :) 18:55:49 yeah, I hope so 18:57:25 2 mins left 18:57:39 if there are no more q. I'm ending the meeting 18:57:39 Nothing else from me 18:57:40 SergeyLukjanov: may I suggest to introduce caching in your gate? It seems sahara-image-elements jobs are slowed because of slow download times 18:57:42 I think I’ll attend too 18:58:33 tosky, I'm not sure how it's actually working atm, I'll ping our folks tomorrow about it 18:59:04 #endmeeting