Add the ability to consume FakeKeystoneClient class as a client
module. This avoids extra dependencies on the Python mox/mox3
libraries at runtime and allows the end user to wire in the
custom class by simply making the following config setting:
keystone_backend = heat.engine.clients.os.keystone.fake_keystoneclient.FakeKeystoneClient
This use case for this is the TripleO undercloud installer which
uses a heat-all process to transform heat templates into Ansible
playbooks. Previously we leveraged a "fake_keystone" service
as multiple applications and binaries required keystone dependencies.
(Both Heat, os-collect-config, and some openstackclients wanted
a fully version of keystone running)
Now that we've streamlined these dependencies allowing heat to use
a fake KeystoneClient library shim instead of the full fake_keystone
process is much lighter and avoids the security concerns of the extra
socket. This patch allows us to do all of this without installing extra
test time dependencies on mox/mox3.
Change-Id: I03f1789957ba157871fd13164592116d7fcdabe4
Closes-bug: #1723639
Adds property 'domain' for keystone role
resource:
1. the default value of the property is 'default'
2. the property is non-updatalbe
Change-Id: I829921dc35e2754eb6c6ccc293423c755806b0df
Closes-Bug: #1684558
It seems we've missed to override client() methods for some
keystone resource plugins.
This also fixes the tests for all keystone resources.
Change-Id: I97e4d4f0bbc9575109d9c8f59fe4795313d2f525
Closes-Bug: #1614400
Each resource in Heat has resource_mapping fucntion for loading his type
in environment for futher using.
This method should be callable and should return dictionary, where
key is resource type and value is corresponding resource class.
More over resource_type should have format:
"Platform Type"/"Service type"/.../"Resource Name"
This patch adds common test for this method and check all modules in
heat.engine.resources sub-directories.
Duplicate useless tests were removed.
Change-Id: I8148811418c21277a4b732de98a53c5291f57f1f