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
If role assignment is already removed by any means
we do not want to send request to delete it in Heat.
Depends-On: I1fbb1449723843d88501b8f11913e9908fe4cd00
Closes-Bug: #1615947
Change-Id: I15f542c0d5756356a5d5ac14a35704c07903e24b
Add special parsing method for role assignments to use
it in resources with role assignments.
implements bp get-reality-for-resources
Change-Id: I1fbb1449723843d88501b8f11913e9908fe4cd00
Currently deleting a user/group directly results
in stack containing RoleAssignment resource stuck
in DELETE_FAILED, when deleting the stack.This patch
fixes it.
Change-Id: I48d5e1a92b99fa7e495c6bb2f131f169b9cf8076
Related-Bug: #1614400
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
It seems we're accessing _stored_properties_data in some
resources. We don't need to do that as self.properties
would have the older values.
Change-Id: I68187c8986d639e1db1ae7fb3f9c2da66c70edc6
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