17:01:43 <kzaitsev_mb> #startmeeting murano
17:01:44 <openstack> Meeting started Tue Jan 17 17:01:43 2017 UTC and is due to finish in 60 minutes.  The chair is kzaitsev_mb. Information about MeetBot at http://wiki.debian.org/MeetBot.
17:01:45 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
17:01:47 <openstack> The meeting name has been set to 'murano'
17:01:58 <kzaitsev_mb> #topic rollcall
17:02:17 <kzaitsev_mb> let's see who's around =)
17:02:48 <learnmore_> o/
17:03:55 <learnmore_> Hmm....where is everyone today?
17:04:50 <kzaitsev_mb> I'm starting to think about making these bi-weekly, since the attendance is low and we don't have anything specific on the agenda
17:06:19 <learnmore_> That's ok with me.  I can save my questions for an extra week.
17:08:13 <learnmore_> I don't have much for today.  I just want to get a better feel for is in place for the new UI and what remains to be done.  I know the UI/dashboard part is missing and the forms work is complete.
17:09:14 <kzaitsev_mb> #topic Open Discussion
17:09:17 <learnmore_> Any idea if there is more server work to be done?
17:10:32 <kzaitsev_mb> learnmore_: you're right. We have api ready for the forms and specs drafted for most of the other work
17:10:40 <kzaitsev_mb> let me try and dig up some links for you
17:11:07 <learnmore_> That would be great.
17:13:28 <learnmore_> Currently, my application's UI.yaml has fields/properties for both the app and the instance needed to run the app on.  With the new forms design, the properties for the app would move to the app's Class.  I don't have a class for the instance.  But with this new design, it sounds like I need a instance class to put my instance properties in.  Correct?
17:14:47 <kzaitsev_mb> #link https://review.openstack.org/#/c/393116/
17:15:03 <kzaitsev_mb> here's link with docs about what's done
17:16:10 <kzaitsev_mb> #link https://review.openstack.org/#/c/344518/
17:16:10 <learnmore_> Great.  I will take a look.
17:16:16 <kzaitsev_mb> #link https://review.openstack.org/#/c/382838/
17:16:22 <kzaitsev_mb> #link https://review.openstack.org/#/c/382837/
17:16:32 <kzaitsev_mb> here are all the UI specs we have at the moment
17:18:16 <kzaitsev_mb> as for the question — instance classes are part of the standard library, so the thing is going to live in standard library and you would only need to have/use a custom instance class if you would want to extend it somehow
17:22:29 <learnmore_> So if my application prompts the user for the keyname for the instance (which is an instance field), do I put this field in my app's Class?
17:23:21 <learnmore_> along with metadat so that the new ui will ask the user for this name?
17:24:47 <kzaitsev_mb> that depends on what you need and on whether the standard library's version would not satisfy your needs
17:25:15 <kzaitsev_mb> one of the ideas behind this new UI was to eliminate the need to write UI.yaml files
17:25:31 <kzaitsev_mb> and devise the forms from parameters already present in the class descriptions
17:26:38 <kzaitsev_mb> but retaining backward compatibility with old behaviour (and potentially allowing to choose between multiple form implementations for the same class)
17:26:47 <learnmore_> Yes.  So the idea is that the info that was in UI.yaml, should now go in the appropriate Class file is my understanding.  The new UI will be built on the info from the Class file and not the UI.yaml.
17:26:51 <learnmore_> Correct?
17:27:25 <learnmore_> We were typing at the same time:)
17:28:59 <kzaitsev_mb> yeah =) looks like we've written more or less the same things )
17:29:32 <learnmore_> This new UI will be more dynamic.  So if I ask the user how many volumes they want and they say 3.   How does this new design allow me to create 3 volumes for them?
17:33:04 <kzaitsev_mb> learnmore_: I don't really get the question. you can easily do that now
17:35:45 <kzaitsev_mb> you can have templates in your UI.yaml and a repeat function for example.
17:35:48 <kzaitsev_mb> #link http://docs.openstack.org/developer/murano/appdev-guide/muranopackages/dynamic_ui.html?highlight=templates#templates
17:36:03 <learnmore_> Ok.  Let me ask about something that we can't do today.  For the boot device, will there be a way for the user to choose whether they want to boot from an image and therefore provide the source image or choose to boot from a volume snapshot and provide the snapshot id?
17:36:45 <learnmore_> Today we can do one of the other but the type of boot device (image or snapshot) is hardcoded by the app.
17:36:51 <kzaitsev_mb> that doesn't depend on the new UI. that depends on the Instance class implementation
17:37:44 <learnmore_> So the answer is I should provide a custom Instance class, yes?
17:39:37 <learnmore_> But even with a new custom Class, I would see need to use the new forms implementation so that I don't have to have the type (image or snapshot) hardcoded in the UI.yaml, yes?
17:39:37 <kzaitsev_mb> learnmore_: looking at the current implementation — it seems that it's possible today
17:40:35 <kzaitsev_mb> learnmore_: no you don't. especially with a custom class — you can specify any object model you want.
17:40:51 <kzaitsev_mb> as for hardcoding, take a look at the link I provided
17:40:53 <learnmore_> Hmmm....I've tried to make the volume type dynamic and it didn't work.
17:41:51 <kzaitsev_mb> http://docs.openstack.org/developer/murano/appdev-guide/muranopackages/dynamic_ui.html?highlight=templates#parameters-and-parameterssource
17:44:17 <kzaitsev_mb> one of the ideas behind static methods — were to provide grounds for such dynamic fetching of the UI parameters for the forms
17:44:30 <kzaitsev_mb> it might not be fully complete at the moment
17:45:36 <kzaitsev_mb> i.e. we might not have some of the clients/classes available in the core library to fetch the resources you might want
17:51:04 <learnmore_> So I would use parameter to indicate the type of boot device, be it image or snapshot id.   In the UI.yaml, I would have type: $parm1 and parm1 would be the output of a static method in my Class, yes?
17:51:45 <learnmore_> I'll have to play with this to get a better understanding.  Thanks for pointing it out.
17:53:45 <kzaitsev_mb> learnmore_: have you looked into the instance class? =)
17:54:25 <learnmore_> Not lately.  Guess I should.  I have just recently switched to Ocata.
17:54:29 <kzaitsev_mb> https://github.com/openstack/murano/blob/master/meta/io.murano/Classes/resources/Instance.yaml#L74
17:54:33 <kzaitsev_mb> is this what you need?
17:55:31 <kzaitsev_mb> https://github.com/openstack/murano/commit/5dae8d89281fcbfc43ec41068463de1c67495f6e
17:55:42 <kzaitsev_mb> looks like it's been there for a year or so =)
17:56:04 <learnmore_> That is what I am using, block devices.  However, I need to be able to specify the volume type such as:    blockDevices:     - volume:         ?:           type: io.murano.resources.CinderVolume         size: $.instanceConfiguration.instanceSize         sourceImage: $.instanceConfiguration.sourceLinuxImage
17:56:12 <learnmore_> Sorry that did not format well.
17:56:33 <learnmore_> - volume:
17:56:40 <learnmore_> ?:
17:56:53 <kzaitsev_mb> learnmore_: we're almost out of time, can I ask you to move this discussion to mailing-list?
17:57:05 <kzaitsev_mb> I don't think we'll get anywhere here )
17:57:08 <learnmore_> Sure.
17:57:16 <kzaitsev_mb> and with ML we would be able to ping all the authors of the code )
17:57:36 <kzaitsev_mb> and document your needs and how Core Library today does not meet them )
17:57:45 <learnmore_> :)
17:58:01 <learnmore_> I'll give you more examples to better explain what I am trying to do.
17:58:16 <learnmore_> See in there.
17:58:27 <kzaitsev_mb> sure =)
17:58:39 <kzaitsev_mb> thanks for coming around )
17:59:10 <kzaitsev_mb> don't think anyone would join us on the last minute
17:59:32 <kzaitsev_mb> so, going to finish and looking forward to your letter =)
17:59:45 <kzaitsev_mb> #endmeeting