15:00:13 <bswartz> #startmeeting manila
15:00:14 <openstack> Meeting started Thu Apr 16 15:00:13 2015 UTC and is due to finish in 60 minutes.  The chair is bswartz. Information about MeetBot at http://wiki.debian.org/MeetBot.
15:00:15 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
15:00:18 <openstack> The meeting name has been set to 'manila'
15:00:21 <cknight> Hi
15:00:25 <toabctl> hey
15:00:26 <lpabon> hi
15:00:29 <Zhongjun> Hi
15:00:31 <bswartz> hello all
15:00:31 <garysmith_> hi
15:00:32 <vponomaryov> Hello
15:00:38 <xyang2> hi
15:00:44 <markstur> hi
15:00:57 <bswartz> #agenda https://wiki.openstack.org/wiki/Manila/Meetings
15:01:09 <ganso_> hello!
15:01:14 <bswartz> just one announcement
15:01:15 <csaba1> hi
15:01:18 <rraja> hi
15:01:27 <bswartz> for anyone who didn't know, we cut RC1 on Monday
15:01:43 <bswartz> everyone should be TESTING it and looking for bugs
15:02:01 <bswartz> we've got 2 more weeks until release so we have time to fix critical issues
15:02:29 <bswartz> so far nobody has tagged any bug with kilo-rc-potential
15:03:02 <bswartz> okay
15:03:07 <bswartz> #topic specs repo
15:03:20 <bswartz> we discussed this last week
15:03:38 <bswartz> the advantages, the disadvantages, the possible guidelines we'd need to adopt
15:03:54 <bswartz> hopefully everyone has formed an opinion about specs repos
15:05:08 <bswartz> I'm going to call a vote, and everyone is welcome to participate -- this is mostly to guage feedback, the vote won't be binding
15:05:56 <vponomaryov> bswartz: vote via mail-list?
15:05:57 <bswartz> #startvote Should the Manila team start using a specs repo to review new functional specs? Yes, No, Later
15:05:58 <openstack> Begin voting on: Should the Manila team start using a specs repo to review new functional specs? Valid vote options are Yes, No, Later.
15:05:59 <openstack> Vote using '#vote OPTION'. Only your last vote counts.
15:06:06 <bswartz> #vote no
15:06:15 <lpabon> #vote no
15:06:15 <cknight> #vote Later
15:06:25 <markstur> #vote Yes
15:06:26 <chen12> #vote yes
15:06:28 <u_glide> #vote Later
15:06:32 <xyang2> #vote yes
15:06:35 <toabctl> Later
15:06:44 <vponomaryov> #vote Later
15:06:49 <bswartz> toabctl: wrong format
15:06:50 <csaba1> #vote Later
15:06:50 <toabctl> #vote Later
15:06:53 <toabctl> sorry :)
15:07:05 <markstur> ... but I think we should only use it when appropriate of course
15:07:13 <Zhongjun> Vote
15:07:16 <bswartz> 30 more seconds
15:07:17 <Zhongjun> Ye
15:07:25 <markstur> toabctl, I thought you were apologizing for your opinion at first
15:07:36 <ganso_> #vote Later
15:07:48 <bswartz> #endvote
15:07:49 <openstack> Voted on "Should the Manila team start using a specs repo to review new functional specs?" Results are
15:07:50 <openstack> Yes (3): xyang2, markstur, chen12
15:07:51 <openstack> Later (6): toabctl, u_glide, cknight, vponomaryov, csaba1, ganso_
15:07:52 <openstack> No (2): bswartz, lpabon
15:08:10 <toabctl> markstur: :)
15:08:20 <bswartz> okay, looks like we're pretty split with the "laters" winning
15:08:49 <bswartz> we should keep an open mind about specs repos and revisit this topic in a few months
15:09:01 <csaba1> bswartz: was it not the plan last time that you drop an email to initiate a discussion on possible schemes?
15:09:02 <markstur> or weekly
15:09:14 <bswartz> for now I would encourage people to continue to use wikis to write functional specs, and to link the FS from your BPs on launchpad
15:09:41 <bswartz> csaba1: I did say I'd do an ML post, and that didn't happen :-(
15:09:58 <csaba1> csaba1: hence the later -- on my part at least
15:09:59 <markstur> In most cases, the commit message and code covers enough anyway.  It's just the bigger collab designs where this would even be helpful
15:10:49 <bswartz> functional specs are still very important -- I think the main concern is that we don't want to adopt a heavy process (we've seen it start to get out of control in other projects)
15:11:20 <bswartz> and also we don't want to give anyone the impression that the "specs" are the source of truth, because oftentimes the actual implementation diverges from the original specs after testing and code review feedback
15:11:42 <bswartz> so we still need to make sure to document what we actually did in the various user/admin-facing docs
15:12:02 <vponomaryov> bswartz: nevertheless it helps reviewers of some feature
15:12:40 <bswartz> for major new features we'll expect to see a functional spec linked from the blueprint, and we will review it as a team
15:12:51 <bswartz> some of those reviews will happen in vancouver
15:13:05 <bswartz> some will happen before then or after then too
15:13:23 <bswartz> okay let's move on
15:13:29 <bswartz> #topic Asking for approval for bp: versioned-objects
15:13:43 <bswartz> #link https://blueprints.launchpad.net/manila/+spec/versioned-objects
15:13:53 <bswartz> chen12: would you like to describe this?
15:13:54 <chen12> It has already been mentioned in last virtual meet up.
15:14:16 <chen12> and now Bps have been registered crossed openstack projects.
15:14:35 <chen12> https://blueprints.launchpad.net/openstack/?searchtext=versioned-objects
15:14:51 <chen12> I thinik manila should definitly do this
15:14:58 <bswartz> chen12: how familiar are you with the progress on this topic in the cinder/heat projects?
15:15:15 <chen12> here is my plan:
15:15:24 <markstur> I think it is done in cinder, but I didn't check the details
15:15:30 <chen12> 3 basic steps are needed for it: 1)	import base object implement without version Like what have been done in heat:  https://blueprints.launchpad.net/heat/+spec/versioned-objects And, I just upload the first object: ShareExportLocation https://review.openstack.org/#/c/173692/  2)	Implement object register method.  See an example of registering objects with a decorator here: https://review.openstack.org/#/c/159577/5/nova/
15:15:36 <bswartz> cinder proposed doing this back in paris, but I don't know if they completed the work
15:15:49 <chen12> cider did it without oslo_versionedobject
15:16:08 <chen12> we can follow heat at beginning
15:16:19 <bswartz> so oslo has created something that makes this easier for us?
15:16:28 <vponomaryov> this is useful when we are going to tag new API versions
15:16:34 <chen12> bswartz: yes.
15:16:36 <vponomaryov> for the moment we did not do this
15:16:40 <vponomaryov> with lots of API changes
15:16:45 <chen12> vponomaryov: no, not related to API
15:16:46 <lpabon> this sounds like a great idea
15:16:59 <u_glide> vponomaryov: +1
15:17:01 <bswartz> okay well I'm in favor of the high level idea -- anything that makes it easier to perform upgrades without downtime is a good thing
15:17:12 <chen12> vponomaryov: just would help Rolling Upgrades
15:17:25 <bswartz> I'll have to look closer at the specfics
15:17:45 <cknight> bswartz: +1.  We should understand this well before making a decision.
15:17:46 <bswartz> one concern I have is: will this be enough? or is there other work that's also essential to support rolling upgrades?
15:17:59 <ganso_> vponomaryov: +1
15:18:11 <ganso_> I fixed a couple of cinder bugs due to changing to objects
15:18:15 <vponomaryov> bswartz: it will require changes for each model
15:18:19 <u_glide> bswartz: migration guide at the minimum
15:18:32 <ganso_> it is a moderate amount of work to start using objects
15:18:52 <lpabon> this sounds like a great discussion for the design summit :-)
15:19:02 <vponomaryov> bswartz: in simple words - it is new abstraction between DB and users of data. Now models will be combined with methods to operated data for them
15:19:04 <bswartz> as long as we don't adopt a "nova-conductor" style of database interaction, it will still be hard for us to alter our DB schema without taking the whole system down, I believe
15:19:06 <ganso_> at first they may break some stuff, specially drivers
15:19:24 <toabctl> and it's incredible good documented. see http://docs.openstack.org/developer/oslo.versionedobjects/usage.html
15:19:42 <u_glide> bswartz: +1
15:20:03 <chen12> bswartz: conductor do not affect object I think. nova is the beginer of versionedobject
15:20:54 <bswartz> chen12: what I mean is, versioned objects help deal with different version of services in the RPC layer, but at the DB schema layer, I don't think they help
15:20:55 <bswartz> am I wrong?
15:21:24 <chen12> bswartz: o~yes. you're right
15:21:31 <bswartz> would versioned objects make it possible to add a new column to the shares table without restarting all my services?
15:22:14 <chen12> bswartz: yes, it would work
15:22:35 <bswartz> okay then I'm more excited about this
15:22:38 <chen12> bswartz: after read data from db, object would transfer it to object first
15:22:40 <bswartz> I will take a look at the oslo docs
15:22:55 <bswartz> I'm going to approve the direction of this BP, and we can continue discussing the details
15:23:05 <chen12> bswartz: great.
15:23:07 <bswartz> the right definition will be essential
15:23:31 <chen12> bswartz: I will not attend the design summit, but someone would attend it in my behalf.
15:23:40 <cknight> bswartz: Added to etherpad of potential summit topics
15:23:41 <bswartz> chen12: do you know who that will be?
15:23:43 <chen12> bswartz: I will do more work on this then
15:24:03 <bswartz> let's get a name next to the proposal so we know who will be presenting in vancouver
15:24:10 <chen12> bswartz: I suppose it would be ken (ken.chen@intel.com)
15:24:21 <bswartz> thanks
15:24:30 <bswartz> anything else on this before we move on?
15:25:02 <bswartz> #topic Horizon Plugin for Kilo
15:25:29 <vponomaryov> #link https://github.com/hp-storage/manila-ui
15:25:32 <garysmith_> The horizon UI for manila has been extracted into a plugin, available at https://github.com/hp-storage/manila-ui
15:25:47 <bswartz> so thanks to the work of gary-smith_, our horizon integration has been moved from a fork to a standalone "plugin" repo
15:26:07 <garysmith_> I plan to submit the change into openstack governance next week
15:26:18 <garysmith_> Just have to get all of the unit tests working first :-)
15:26:25 <bswartz> garysmith_: excellent
15:26:36 <vponomaryov> garysmith_: it iwll be hosted under stackforge?
15:26:41 <garysmith_> It will be similar to tuskar-ui, under the horizon umbrella, see http://governance.openstack.org/reference/projects/horizon.html
15:26:56 <bswartz> hopefully openstack/manila-ui
15:27:10 <garysmith_> yeah, openstack/manila-ui
15:27:32 <bswartz> garysmith_: do you know how ACLs are handled for this stuff?
15:28:04 <garysmith_> The model that tuskar-ui used was that the horizon cores would be cores on manila-ui
15:28:24 <garysmith_> So I am presuming the same would be true here
15:28:26 <lpabon> garysmith_: fyi, the top three links on the github README.md do not work
15:28:27 <bswartz> so we'll have to rely on horizon team to +2 our UI changes then
15:29:10 <bswartz> garysmith_: do you think there will be any problem with immediately branching stable/kilo branch when the project is added?
15:29:13 <garysmith_> lpabon: thanks. I'll fix it. That was from the cookie-cutter boilerplate for new projects
15:29:26 <lpabon> garysmith_: np :-)
15:29:43 <garysmith_> bswartz: no. I already branched proposed/kilo, so stable/kilo can also be branched
15:29:44 <bswartz> so we can continue to maintain a kilo version of the plugin for packagers to use?
15:29:57 <garysmith_> yes
15:30:03 <bswartz> okay
15:30:12 <bswartz> this is perfect from my perspective
15:30:30 <garysmith_> I suppose per the latest message on the developer ML, I should create the stable/kilo branch now
15:30:43 <bswartz> yes -- no more proposed branches
15:30:49 <vponomaryov> I am not sure it would be enough to have only Horizon core-members  be cores in this project
15:31:05 <bswartz> http://lists.openstack.org/pipermail/openstack-dev/2015-April/061657.html (if you haven't seen it)
15:31:07 <toabctl> garysmith_: would be good to have a bugtracker at launchpad for manila-ui soon
15:31:11 <garysmith_> vponomaryov: I can add manila cores as well
15:31:24 <csaba1> garysmith_: do you plan to update https://wiki.openstack.org/wiki/Manila/docs/HOWTO_use_manila_with_horizon ?
15:31:34 <bswartz> vponomaryov: we now have cross-project dependencies, so if there are things that need to merge in lockstep, we can manage that
15:31:42 <garysmith_> toabctl: my understanding is that it happens automagically with the governance submission, but I'll check on that
15:31:52 <toabctl> garysmith_: ok
15:31:53 <garysmith_> csaba1: yes
15:32:01 <csaba1> cool
15:32:16 <toabctl> sorry folks - I have to leave now. bye
15:32:47 <lpabon> garysmith_: quick question... why not part of stackforge?  is it simplicity?
15:32:51 <bswartz> garysmith_: so I'm keen to see the governance change happen asap
15:33:12 <bswartz> lpabon: openstack is better than stackforge, namespace-wise
15:33:24 <bswartz> they're functionally the same though
15:33:37 <lpabon> bswartz: no i mean the repo is currenlty in github
15:33:55 <garysmith_> lpabon: it is in github now purely for simplicity
15:33:58 <lpabon> i was wondering if it could be in stackforge so that we can use  Gerrit
15:34:06 <lpabon> garysmith_: yeah, ok ,that is what i thought
15:34:25 <bswartz> garysmith_: I get that you might need to fix some unit tests, but I'd like to allow packagers to start working with the plugin the sooner the better, we can fix tests after it's in a new repo too
15:34:34 <garysmith_> as soon as we get it under the governance, it will be under the normal review.openstack.org gerrit processes
15:34:52 <lpabon> garysmith_: issue with Github is the CI ( i went through the same process moving a project called swiftonfile from github to stackforge)
15:35:03 <lpabon> garysmith_: awesome
15:35:34 <garysmith_> bswartz: my understanding is that the unit tests need to be present and working before acceptance into governance
15:36:12 <bswartz> garysmith_: okay -- in that case please reach out for help if any of us can make that go faster
15:36:41 <garysmith_> bswartz: sounds good
15:37:03 <bswartz> #topic Liberty design summit
15:37:11 <bswartz> #link https://etherpad.openstack.org/p/manila-liberty-proposed-sessions
15:37:31 <bswartz> so there's not many updates here
15:37:58 <bswartz> I think we have about 2 weeks until we need to make decisions
15:38:01 <markstur> ctrl-shift-R if the etherpad update makes it unreadable
15:38:34 <bswartz> I know some people were too busy last week to focus on Liberty, but now we really should start capturing and writing down the proposals
15:39:09 <lpabon> markstur: are you using chrome?
15:39:17 <markstur> lpabon, yes
15:39:48 <bswartz> I did see a note on the ML that we're getting three (3) fishbowl sessions and four (4) working sessions, and that looks pretty final
15:39:50 <lpabon> markstur: yeah, that happened to me a few days ago, weird thing is that i *fixed* it using ctrl-shift-R to reload the page cache
15:40:06 <bswartz> that's about what I asked for so I'm happy with that
15:40:32 <bswartz> yeah for those who don't know etherpad rolled out a software upgrade recently that breaks on some browsers
15:40:53 <bswartz> hooray for SaaS!
15:40:58 <lpabon> lol
15:42:23 <bswartz> On April 30 we will discuss the design summit proposals and schedule them
15:42:30 <u_glide> bswartz: next topic?
15:42:49 <bswartz> so have your proposals on the etherpad before then
15:42:57 <bswartz> #topic Limited share data API for drivers
15:43:03 <bswartz> #link https://wiki.openstack.org/wiki/Manila/Limited_share_data_API_for_drivers
15:43:11 <bswartz> u_glide: you have the floor!
15:43:25 <u_glide> :)
15:43:34 <u_glide> now I'm working on removal of direct DB API calls from drivers. And this feature is the next step.
15:44:31 <bswartz> hopefully you all remember that we talked about this in the midcycle
15:44:32 <u_glide> we have discussed this internally with  vponomaryov
15:44:42 <bswartz> drivers shouldn't be accessing the database directly at all, but a few do
15:45:11 <bswartz> so we need to add functionality that allows drivers to do what they need to without resorting to direct DB access
15:45:49 <bswartz> there is a related concern that's come up recently
15:46:14 <bswartz> right now when you do create_share() you can return one model update when you're done (in your driver)
15:46:15 <u_glide> https://wiki.openstack.org/wiki/Manila/Limited_share_data_API_for_drivers#This_concept_vs_model_updates_in_Share_Manager
15:47:26 <bswartz> however frequently, drivers need to undertake multiple steps to actually create a share, and it would be ideal if they could make multiple model updates along the way, such that if there is a sudden failure at any point, the DB reflects reality well enough that we can delete the share or continue creating the share cleanly
15:48:12 <bswartz> In particular I'm thinking of the case when a driver has half-created a share, and the m-shr process is kill -9'd
15:48:25 <markstur> u_glide, This is also a new way for drivers to store their own key/value pairs, right?
15:48:40 <u_glide> markstur: yes
15:48:42 <bswartz> in that case, then the m-shr process comes back, it should either finish what it was doing, or at least be able to clean up what it did
15:49:13 <u_glide> bswartz: I think this is another problem
15:49:15 <bswartz> what I'm describing is a bit of an enhancement to what's proposed
15:49:15 <cknight> bswartz: In that scenario, would the share manager do the cleanup, or the drivers?
15:49:45 <bswartz> cknight: it would have to be the driver
15:50:08 <bswartz> the share manager does a scan of all the shares it owns at startup time though, so it could trigger driver actions for shares in intermediate states
15:50:10 <vponomaryov> sure driver, only driver knows how to release his resources
15:50:27 <cknight> bswartz: ok, that makes sense.  better than taskflow.
15:50:43 <vponomaryov> bswartz: Igor idea is about different thing
15:51:01 <vponomaryov> bswartz: it is about private key-value storage
15:51:01 <bswartz> vponomaryov, u_glide: sorry for sidetracking
15:51:14 <bswartz> yes let's get back to the proposal
15:52:49 <bswartz> u_glide's proposal allows driver to store key/values for each share
15:53:07 <u_glide> driver-makers, please share your opinions :)
15:53:15 <vponomaryov> bswartz: actually there are cases when not only for share will be some data
15:53:20 <bswartz> this could be really useful if the storage controller doesn't support 32 character share-names, for example
15:53:23 <xyang2> u_glide: does that mean this will make two db access instead of 1?
15:53:35 <xyang2> u_glide: it is better to reduce the # of db access
15:54:11 <bswartz> you could create a shorter share name (or even an admin-friendly share name) and store it in the manila DB through this interface, and then still reliably be able to find it
15:54:18 <u_glide> xyang2: no, it doesn't. Drivers will have access only to private storage interface
15:54:53 <xyang2> u_glide: I see two db update in the new code there
15:54:54 <vponomaryov> bswartz: shorter share and/or snapshot name, so we need to come to idea of key-value storage that will serve not only for shares
15:55:13 <bswartz> it's important to note that the stored values won't be visible to users, just like the user metadata should not be visible to the drivers
15:55:22 <u_glide> I agree with  vponomaryov
15:55:33 <bswartz> vponomaryov: what do you have in mind? snapshots? share-servers?
15:55:38 <cknight> vponomaryov: +1
15:55:47 <vponomaryov> bswartz: share servers already has its details
15:55:52 <vponomaryov> bswartz: snapshots
15:55:58 <xyang2> u_glide: self.db.share_export_locations_update and self.db.private_share_data_update(context, share_id, private_share_data)
15:56:09 <bswartz> so private driver data for snapshots too?
15:56:20 <vponomaryov> bswartz: yes
15:56:21 <bswartz> +1
15:56:26 <u_glide> xyang2: Did you read text? :)
15:56:30 <vponomaryov> bswartz: they have ID of 32 length too
15:56:46 <vponomaryov> bswartz: it is reffering to problem of short IDs for some backends
15:57:31 <bswartz> yeah some backends cannot store the full UUID of the share/snapshot, and truncating the UUID makes the value ambiguous
15:57:56 <cknight> vponomaryov: So potentially you would need to store details for any model object that comes into the driver?  There will be others in the future.
15:57:57 <bswartz> that's just one use case for the feature though -- presumably driver authors will think of other things to store
15:58:23 <markstur> snapshot details could be stored with the share, but it might turn out better if we have private share data, snapshot data (and of course share server details)
15:58:37 <markstur> we'll think of lots of things to keep in there :)
15:58:40 <cknight> bswartz: I'd want to keep this as generic as possible, since we can't enumerate all the use cases now.
15:58:51 <vponomaryov> cknight: that is the point - to create such approach where we will be able to easily extend some new model with key-value storage
15:59:31 <markstur> and it is great that we don this instead of each driver coming up with sneaky ways of stashing data
15:59:38 <markstur> s/don/do
15:59:39 <bswartz> I like that idea, as long as it doesn't get too large and complicated (don't see why it would though)
15:59:53 <cknight> vponomaryov: so I don't need the feature to distinguish between object types.  each has a uuid, which could serve as the key, or part of the key.
15:59:53 <bswartz> markstur: yes!
16:00:08 <markstur> bswartz, I thought it was your idea.  Assumed you liked it.
16:01:16 <u_glide> yes, in most cases drivers will be simpler than now
16:01:49 <bswartz> markstur: just agreeing that sneakiness is a bad thing -- right now you have to choose between that or simply not supporting a feature
16:01:49 <u_glide> without any tricky templates and not necessarily API calls
16:01:57 <bswartz> okay we're past our time
16:02:25 <bswartz> I think we have general agreement on this topic, with a recommendation that it's extended to support things other than shares (possibly even future things not yet imagined)
16:02:31 <bswartz> thanks all
16:02:40 <bswartz> #endmeeting