Move services.yaml output calculation into Value resources
authorSteven Hardy <shardy@redhat.com>
Wed, 19 Jul 2017 12:15:38 +0000 (13:15 +0100)
committermarios <marios@redhat.com>
Mon, 24 Jul 2017 11:02:44 +0000 (14:02 +0300)
commitd364d9cca2fd8c703fab93ec97c1330bbe2401aa
tree3b30eaa77f1c229ab040a573bf84826e4718134a
parent84e6bff8a62539b381c5706fab7b8ea90f00f0dd
Move services.yaml output calculation into Value resources

This stores the result of the yaql queries etc for easier debugging, and
also so there's no risk we constantly re-evaluate the expensive query
which can happen with some heat versions and configurations.

This also gives a nicer error when things go wrong as when a query fails
you know which resource had an error, and also the validation on resources
is currently stricter due to bug #1599114.  We also get some additional
type validation from each OS::Heat::Value resource, e.g it checks if the
calculated value is a valid map or list.

The final advantage (and the original motivation for doing this) is that
we can easily filter null values for any outputs where this isn't already
done, which makes the config data written via openstack overcloud config
download cleaner.

Change-Id: Ia6697cf2e47f3f7b727d620536e0873a985c98c4
common/services.yaml