+1 Alex has merged this PR.
Aled > On 29 Aug 2016, at 17:52, Andrew Kennedy <[email protected]> > wrote: > > All, > > I've run into an issue with the `SoftwareProcess` entities, where the default > inheritance settings for configuration keys like `install.command` and so on > mean that child entities do not behave as expected. Consider the following > blueprint: > > services: > - type: vanilla-software-process > brooklyn.config: > install.command: | > wget http://example.org/archive.tgz > customize.command: | > tar zxf archive.tgz > cp archive/foo /usr/bin > launch.command: | > foo --daemon > brooklyn.children: > - type: vanilla-software-process > brooklyn.config: > install.command: | > yum install -y something > launch.command: | > bar --whatever > > This looks like it will run 'foo' after extracting it from an archive we > download, then in a child entity we install a a package and run 'bar' as > well. However, the child entity will inherit configuration from its parent, > in particular it is going to get the 'customize.command' value set, which > will cause those commands to be executed, and then fail! The same will happen > with the resource and template configuration keys. > > - https://github.com/apache/brooklyn-server/pull/281 > > The above pull request fixes this so that the expected (non-surprising) > behaviour happens instead, and in the child entity the `customize.command` > value will be blank. It does this by setting the config to only inherit with > the entity inheritance hierarchy, not the entity ownership (parent-child) > hierarchy. > > All tests are passing with this change, so I think it is safe to merge, but > would like to know if anyone thinks it will break their blueprints before I > do so. > > Thanks, > Andrew. > -- > Andrew Kennedy ; Founder clocker.io project ; @grkvlt ; Cloudsoft
