12:00:52 <therve> #startmeeting heat
12:00:53 <openstack> Meeting started Wed May 28 12:00:52 2014 UTC and is due to finish in 60 minutes.  The chair is therve. Information about MeetBot at http://wiki.debian.org/MeetBot.
12:00:54 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
12:00:56 <openstack> The meeting name has been set to 'heat'
12:00:57 <therve> Let's do this!
12:01:03 <therve> #topic Roll call
12:01:10 <zaneb> o/
12:01:12 <pas-ha> o?
12:01:16 <pas-ha> o/
12:01:17 <tspatzier> hi all
12:01:18 <skraynev> o/
12:01:22 <Qiming> o/
12:01:23 <kanabuchi> o/
12:01:39 <zaneb> (I asked therve to chair because it's 8am & I am not with it yet) ;)
12:02:05 <therve> shardy, around maybe?
12:02:22 <skraynev> therve: I wanted to ask same
12:02:31 <zaneb> pas-ha: you'll want to get that arm looked at
12:02:40 <skraynev> looks like we lose him
12:02:46 <therve>12:03:25 <therve> Moving on, hopefully he'll catch up
12:03:27 <therve> #topic Adding items to the agenda
12:03:32 <zaneb> therve: wasn't he going to OpenStack in Action? might be travelling
12:03:33 <pas-ha> zaneb, that was scratching my head :)
12:03:35 <therve> #link https://wiki.openstack.org/wiki/Meetings/HeatAgenda
12:03:46 <therve> zaneb, Ah maybe. I'm here and haven't seen him though :)
12:04:35 <therve> Not much going on this week, it may be a short meeting
12:05:16 <therve> #topic Review last meeting's actions
12:05:21 <skraynev> therve: may be
12:05:43 <therve> We had actions for andrew and cyli, not around of course...
12:05:55 <therve> zaneb, Can you sync with them later today?
12:05:56 <zaneb> the specs repo thing happened
12:06:03 <therve> Ah sweet
12:06:22 <zaneb> has anyone seen evidence of the jenkins job?
12:06:49 <skraynev> nope :(
12:06:50 <tspatzier> Did not notice anything so far. Will there be some announcement on the ML when this gets activated?
12:06:51 <pas-ha> more info on specs repo?
12:06:58 <zaneb> #action zaneb to sync with andrew_plunk on status of Rackspace CI Jenkins job
12:07:29 <zaneb> #link http://git.openstack.org/cgit/openstack/heat-specs
12:07:29 <therve> Cool
12:07:48 <therve> zaneb, What's the next step for spec repo?
12:07:55 <zaneb> after a discussion on the ML it was changed from orchestration-specs back to heat-specs
12:08:28 <zaneb> mordred added the cookiecutter framework contents for us
12:08:41 <zaneb> SpamapS: already has a review up for the first one I think
12:09:06 <zaneb> the plan is that new bp proposals should be added there
12:09:06 <skraynev> zaneb: So currently it is empty, right?
12:09:14 <zaneb> instead of launchpad
12:09:45 <therve> Cool, moving on
12:09:45 <zaneb> keep it lightweight
12:09:55 <zaneb> only fill in as much info as it appropriate
12:10:01 <zaneb> s/it/is/
12:10:10 <shardy> oops sorry I'm late
12:10:13 <tspatzier> zaneb: will we not be using launchpad at all any longer?
12:10:18 * shardy forgot the new meeting time
12:10:25 <skraynev> shardy: not much
12:10:35 <tspatzier> I mean for features like dependency handling of BPs it was nice.
12:10:44 <zaneb> tspatzier: launchpad will remain around, but it won't be the entry point for new bps
12:11:03 <zaneb> I believe there is provision for dependencies in the repo
12:11:31 <zaneb> #info new blueprint proposals should go into heat-specs, not into launchpad
12:12:51 <therve> zaneb, What's the git URL?
12:12:54 <zaneb> tspatzier: there's going to be a script to copy bps from the repo into launchpad
12:13:04 <zaneb> therve: http://git.openstack.org/cgit/openstack/heat-specs
12:13:16 <therve> #info http://git.openstack.org/cgit/openstack/heat-specs Spec URL
12:13:27 <tspatzier> zaneb: ok, that's good. So nothing to be done. Because I opened a BP earlier this week.
12:13:28 <pas-ha> therve, github.com/openstack/heat-specs
12:13:29 <asalkeld> o/
12:13:32 <zaneb> I #linked it above already ;)
12:13:41 <therve> Oh sorry
12:13:42 <Qiming> looks like the dependencies are managed manually... see the last few lines here: http://git.openstack.org/cgit/openstack/heat-specs/tree/specs/template.rst?id=199101dec864ceed395fbe4e1e0c5f4c98d1e818
12:14:19 <therve> Anything else on that topic?
12:14:36 <zaneb> Qiming: yeah, not sure if the script will be able to import those into launchpad. hopefully.
12:14:49 <Qiming> right, hopefully
12:15:41 <zaneb> we can move on, unless people want to hear the gory details ;)
12:16:07 <therve> #topic Critical issues sync
12:16:39 <therve> shardy posted a patch for that worker issue
12:16:44 <shardy> #link https://review.openstack.org/#/c/94737/
12:17:06 <shardy> feedback appreciated, as we've had various discussions about if we want to enable workers at all
12:18:04 <therve> Yeah, it's pretty tricky
12:18:11 <shardy> I'm somewhat conflicted, having invested time looking into the fix, I'd kinda like it to go in, but I'm also fully appreciative of the argument for forcing heat-engine to one worker
12:18:37 <shardy> AFAICT provided you remember the service entry point is start(), all should work OK
12:19:05 <skraynev> shardy: I have seen oslo code and you are correct
12:19:05 <shardy> but there's undoubtedly some hidden complexity which can be avoided if we say spawning multiple processes is systemd's problem
12:19:13 <zaneb> shardy: yeah, I am a bit sceptical of this approach
12:19:26 <zaneb> workers are effectively separate engines
12:19:31 <zaneb> but not managed as such
12:19:58 <zaneb> e.g. if the parent dies probably all hell breaks loose?
12:20:03 <therve> Yeah eg we don't have engine id in the logs
12:20:26 <shardy> Well the other option is to revert 0bb1232 and disallow the config option
12:20:34 <zaneb> only the init process can properly manage multiple engines
12:20:37 <therve> zaneb, Or if one process goes crazy you need to restart everything
12:20:49 <shardy> therve: That will still be an issue if you start multiple engines via a script though won't it?
12:21:08 <zaneb> and only the deployer can decide what the Right Way to do that is
12:21:10 <therve> shardy, Because we log to a single file?
12:21:29 <shardy> therve: yes, although there are pid's logged IIRC
12:21:33 <zaneb> I know Clint wants it to be automatic, without the deployer involved...
12:21:59 <shardy> zaneb: yeah, that was the main reason for persevering trying to find a solution which didn't just rip out his stuff
12:22:17 <shardy> If everyone's -2 on it, I'll abandon and propose a revert of his patch
12:22:32 <zaneb> shardy: but I think the deployer _has_ to be involved
12:22:43 <zaneb> shardy: what is the default on that config option?
12:22:55 <therve> The default in master is 1
12:23:07 <shardy> zaneb: now, it's 1, but with 5604168 (which we already reverted) it's the number of CPUs
12:23:18 <shardy> which is when things started breaking
12:23:24 <zaneb> ok, then I am not -2 on this patch
12:23:34 <shardy> with my patch, #cpu's works fine
12:23:35 <zaneb> I am very -2 on the default not being 1
12:23:41 <shardy> but I think we should leave the default as 1
12:23:57 <therve> That sounds like a reasonable trade-offs
12:24:00 <zaneb> shardy: btw, everything is going to one log file?
12:24:01 <shardy> then folks can explicitly choose the forking behavior if they want
12:24:19 <therve> Although it'd be nice to test this option in the gate somehow
12:24:20 <shardy> zaneb: yes, but there are PID's in the log lines so you can see what is what
12:24:36 <skraynev> I agree default should be 1
12:24:41 <zaneb> that's a bit icky
12:24:41 <shardy> and I added some ppid's in the log from start() which makes it a bit clearer
12:25:20 <zaneb> it would be nice to have a command-line arg to specify a log suffix
12:25:39 <shardy> zaneb: we can probably add a config option to do that easily enough
12:26:22 <zaneb> so then you could do "systemctl start heat-engine@1.service",  "systemctl start heat-engine@2.service" &c. and have them all go to separate log files
12:27:05 <therve> Should we create a bp? Or a spec now I guess
12:27:11 <shardy> zaneb: Ok, if we're going ahead with my patch I can look into adding the log config
12:27:21 <shardy> therve: is a logging tweak really BP worthy?
12:27:59 <shardy> zaneb: jasond made the valid observation that having the forking behavior defaulted to off risks it becoming fragile and breaking over time
12:28:04 <therve> shardy, Maybe not :)
12:28:14 <shardy> so we should probably work towards a gate test if we're keeping this in
12:29:00 <therve> You mean a different gate with workers > 1?
12:29:20 <zaneb> shardy: btw http://0pointer.de/blog/projects/instances.html
12:29:25 <shardy> therve: I mean some way of spinning up a devstack with num_engine_workers>1 for some subset of tests
12:29:57 <shardy> maybe we could do something like have the grenade smoke tests use that config when we eventually get them working
12:30:09 <skraynev> shardy: as non-voting gates ?
12:30:40 <shardy> zaneb: thanks, useful link :)
12:31:05 <shardy> skraynev: no, eventually we'd want to gate on the fact that multiple workers work
12:31:27 <shardy> so e.g someone doesn't stick another RPC object assignement in the service constructor and break things
12:31:35 <skraynev> shardy: but it will be included in Jenkins report, right?
12:32:20 <shardy> skraynev: yes
12:33:47 <therve> OK, anything else on that issue? Other subjects?
12:34:04 <skraynev> shardy: so I think it makes sense. also will be useful have a set of num_engine_workers f.e. [1, 2, 4] for show performance or troubles
12:34:36 <Qiming> Gentlemen, I'm wondering how can we apply SoftwareConfig into some/all members of an InstanceGroup or ResourceGroup ...
12:34:49 <therve> zaneb, I saw your comments on the metadata resource interface. Should we do something?
12:35:46 <zaneb> therve: imo we should. I learned at the summit that there are a _lot_ of out-of-tree plugins being created
12:35:56 <shardy> Qiming: create a nested stack template containing a SoftwareDeployment resource and instance, and pass in the SoftwareConfig ID as a parameter?
12:36:10 <zaneb> that seems like a pretty big break of the API contract
12:36:30 <zaneb> for reasons that were unclear
12:36:39 <Qiming> shardy, that worth a try, thanks.
12:37:15 <shardy> therve: is this the cinder json/dict thing?
12:37:18 <therve> zaneb, Performance optimization was the reason AFAIU. But I think you're right
12:37:34 <therve> shardy, No, the metadata property on the Resource class that disappeared
12:37:50 <asalkeld> we should look at versioning the plugin api at some point
12:37:51 <zaneb> therve: how does it perform better if you just s/metadata/get_metadata()/ ?
12:37:57 <zaneb> it's still a db lookup
12:38:23 <therve> zaneb, get_metadata will only do it once?
12:38:47 <zaneb> asalkeld: you're probably right, but that is really hard :/
12:38:49 <therve> Actually no
12:39:09 <therve> zaneb, metadata_get uses the metadata passed at load, which are loaded in one query
12:39:28 <zaneb> therve: so if we add an @property metadata that just calls metadata_get()... what difference does it make?
12:39:39 <therve> zaneb, Probably none
12:40:05 <therve> We need metadata_get to have the refresh parameter though
12:40:13 <zaneb> that's why I it's unclear to me why we're breaking the API
12:40:34 <zaneb> we can have both
12:40:39 <zaneb> sounds like an easy fix
12:40:40 <therve> Yeah I think so
12:40:50 <therve> We missed it at that time
12:41:56 <therve> zaneb, Can you sync with Steve on that subject?
12:42:36 <zaneb> #action zaneb to sync with stevebaker on metadata in resource plugin API
12:43:16 <asalkeld> zaneb, what would be interesting is get last cycles resources and see if they work on master
12:43:16 <therve> Thanks
12:43:47 <zaneb> asalkeld: yeah, that *would* be interesting :)
12:44:04 <therve> They use more than what I would consider a public API though
12:44:04 <shardy> asalkeld: that would be an interesting thing to try and automate via grenade ;)
12:44:09 <therve> Like utils modules and stuff
12:44:19 <asalkeld> yip
12:45:13 <shardy> EmilienM: ^^ FYI since we discussed help with getting heat/grenade working
12:47:21 <zaneb> this turned out to be a not-so-short meeting after all :)
12:47:28 <therve> Do we have anything else?
12:47:30 <skraynev> I have one question about babrbican resources ...
12:47:49 <therve> skraynev, Shoot
12:47:51 <zaneb> therve: let's move to open discussion
12:47:59 <therve> #topic Open discussion
12:48:09 <shardy> Do we have any clarity yet on who's doing what re convergence?
12:48:27 <skraynev> I hope, that all see situation on review with barbican resources
12:48:27 <shardy> Seems like we all need to be reviewing SpamapS spec and figuring out how we can divide the work
12:48:35 <zaneb> shardy: last I heard, Clint was in Bangalore
12:48:43 <asalkeld> any convergence on the design:-O
12:48:47 <skraynev> some properties have only one allowed values and it 's default in that time
12:48:51 <therve> shardy, I don't know about convergence, but I should work on the observer part
12:49:05 <zaneb> shardy: but I believe he put up a specs review
12:49:21 <skraynev> Is it normal , or default values is redundant in this situation ?
12:50:10 <therve> skraynev, Possibly it's for future enhancements?
12:50:29 <asalkeld> https://review.openstack.org/#/c/95907/
12:50:40 <zaneb> skraynev: if only one allowed value exists, then a default value is needed otherwise it will fail if you don't specify anything. obviously the whole property is redundant atm
12:50:52 <skraynev> therve: may be, but existing documentation is very poor
12:51:25 <zaneb> skraynev: link?
12:51:54 <skraynev> #link https://github.com/cloudkeep/barbican/wiki/Application-Programming-Interface
12:51:55 <shardy> asalkeld: thanks, looks like we need a lot more detail on the proposed steps to implement
12:52:12 <asalkeld> it's just a problem statement
12:52:55 <skraynev> zaneb:may be but, the biggest part of values in documentation are marked as optional
12:52:56 <therve> shardy, +1
12:52:58 <asalkeld> -spec is a bad name it should also have design elements
12:53:17 <skraynev> so it looks confused.
12:53:40 <zaneb> asalkeld: traditionally specs = requirements + high-level design
12:54:14 <zaneb> not defending that tradition btw ;)
12:54:19 <asalkeld> not really, spec == how it should behave
12:54:21 <shardy> Ok, well we need much more work on the design part then ;)
12:54:45 <shardy> so we can clarify the work to do and order it needs to be done in etc
12:54:49 <skraynev> shardy: and more pictures ;)
12:54:55 <shardy> skraynev: +100 ;)
12:55:56 <asalkeld> some is going to have fun with ascii art
12:56:04 <asalkeld> someone
12:56:06 <zaneb> lol
12:56:38 <skraynev> no - no - no ;)
12:56:48 <zaneb> does anyone else hate the new line-numbers-on-the-right thing in Gerrit as much as I do?
12:57:16 <shardy> zaneb: yes
12:57:28 <skraynev> zaneb: +1 , I prefer that they will be configured with option "hide all"
12:57:31 <shardy> I wish you could turn them off completely to make it easier to cut/paste
12:57:33 <therve> It doesn't bother me too much :)
12:57:43 <pas-ha> i have them on the left...
12:58:01 <pas-ha> with the n"new" design
12:58:30 <therve> zaneb, You can use the new change view, it has numbers on the left
12:58:38 <skraynev> zaneb: well about barbican. As I understand the right way is to ask guys from barbican team about what should be ? and then share their answers.
12:58:39 <therve> Oh pas-ha just said that :)
12:59:01 <zaneb> therve, pas-ha: interesting, thanks
12:59:03 * asalkeld heads off to bed ...
12:59:10 <therve> On that none
12:59:12 <therve> note
12:59:17 <therve> Thanks all!
12:59:20 <therve> #endmeeting