|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
From 3a38aa6eda5a57299f20bf0cabb10442e1a2cc89 Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
From: Martin Magr <mmagr@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
Date: Thu, 5 Jun 2014 14:24:47 +0200
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
Subject: [PATCH] Implement Keystone domain creation
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
Keystone domain has to be created for Heat. This patch implements this
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
via helper script [1] since we don't have support for Keystone v3 API
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
in puppet-keystone yet. This implementation should be refactored as soon
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
as we will have v3 API available in puppet-keystone. For more info
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
please check [2].
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
[1] https://github.com/openstack/heat/blob/master/bin/heat-keystone-setup-domain
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1076172
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
---
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
lib/puppet/provider/heat_domain_id_setter/ruby.rb | 183 ++++++++++++++++++++++
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
lib/puppet/type/heat_config.rb | 4 +
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
lib/puppet/type/heat_domain_id_setter.rb | 31 ++++
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
manifests/keystone/domain.pp | 73 +++++++++
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
4 files changed, 291 insertions(+)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
create mode 100644 lib/puppet/provider/heat_domain_id_setter/ruby.rb
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
create mode 100644 lib/puppet/type/heat_domain_id_setter.rb
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
create mode 100644 manifests/keystone/domain.pp
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
diff --git a/lib/puppet/provider/heat_domain_id_setter/ruby.rb b/lib/puppet/provider/heat_domain_id_setter/ruby.rb
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
new file mode 100644
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
index 0000000..8862fe5
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
--- /dev/null
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+++ b/lib/puppet/provider/heat_domain_id_setter/ruby.rb
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
@@ -0,0 +1,183 @@
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+## NB: This must work with Ruby 1.8!
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# This provider permits the stack_user_domain parameter in heat.conf
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# to be set by providing a domain_name to the Puppet module and
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# using the Keystone REST API to translate the name into the corresponding
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# UUID.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# This requires that tenant names be unique. If there are multiple matches
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# for a given tenant name, this provider will raise an exception.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+require 'rubygems'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+require 'net/http'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+require 'json'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+class KeystoneError < Puppet::Error
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+class KeystoneConnectionError < KeystoneError
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+class KeystoneAPIError < KeystoneError
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Provides common request handling semantics to the other methods in
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# this module.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +req+::
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# An HTTPRequest object
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +url+::
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# A parsed URL (returned from URI.parse)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+def handle_request(req, url)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ begin
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ res = Net::HTTP.start(url.host, url.port) {|http|
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ http.request(req)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ if res.code != '200'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ raise KeystoneAPIError, "Received error response from Keystone server at #{url}: #{res.message}"
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ rescue Errno::ECONNREFUSED => detail
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ raise KeystoneConnectionError, "Failed to connect to Keystone server at #{url}: #{detail}"
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ rescue SocketError => detail
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ raise KeystoneConnectionError, "Failed to connect to Keystone server at #{url}: #{detail}"
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ res
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Authenticates to a Keystone server and obtains an authentication token.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# It returns a 2-element +[token, authinfo]+, where +token+ is a token
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# suitable for passing to openstack apis in the +X-Auth-Token+ header, and
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +authinfo+ is the complete response from Keystone, including the service
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# catalog (if available).
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +auth_url+::
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Keystone endpoint URL. This function assumes API version
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# 2.0 and an administrative endpoint, so this will typically look like
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +http://somehost:35357/v2.0+.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +username+::
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Username for authentication.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +password+::
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Password for authentication
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +tenantID+::
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Tenant UUID
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +tenantName+::
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Tenant name
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+def keystone_v2_authenticate(auth_url,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ username,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ password,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ tenantId=nil,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ tenantName=nil)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ post_args = {
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ 'auth' => {
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ 'passwordCredentials' => {
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ 'username' => username,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ 'password' => password
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ },
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ }}
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ if tenantId
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ post_args['auth']['tenantId'] = tenantId
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ if tenantName
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ post_args['auth']['tenantName'] = tenantName
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ url = URI.parse("#{auth_url}/tokens")
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ req = Net::HTTP::Post.new url.path
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ req['content-type'] = 'application/json'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ req.body = post_args.to_json
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ res = handle_request(req, url)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ data = JSON.parse res.body
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ return data['access']['token']['id'], data
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Queries a Keystone server to a list of all tenants.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +auth_url+::
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Keystone endpoint. See the notes for +auth_url+ in
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +keystone_v2_authenticate+.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +token+::
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# A Keystone token that will be passed in requests as the value of the
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# +X-Auth-Token+ header.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+def keystone_v3_domains(auth_url,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ token)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ auth_url.sub!('v2.0', 'v3')
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ url = URI.parse("#{auth_url}/domains")
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ req = Net::HTTP::Get.new url.path
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ req['content-type'] = 'application/json'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ req['x-auth-token'] = token
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ res = handle_request(req, url)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ data = JSON.parse res.body
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ data['domains']
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+Puppet::Type.type(:heat_domain_id_setter).provide(:ruby) do
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ def authenticate
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ token, authinfo = keystone_v2_authenticate(
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ @resource[:auth_url],
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ @resource[:auth_username],
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ @resource[:auth_password],
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ nil,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ @resource[:auth_tenant_name])
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ return token
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ def find_domain_by_name(token)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ domains = keystone_v3_domains(
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ @resource[:auth_url],
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ token)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ domains.select{|domain| domain['name'] == @resource[:domain_name]}
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ def exists?
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ false
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ def create
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ config
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ # This looks for the domain specified by the 'domain_name' parameter to
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ # the resource and returns the corresponding UUID if there is a single
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ # match.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ #
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ # Raises a KeystoneAPIError if:
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ #
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ # - There are multiple matches, or
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ # - There are zero matches
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ def get_domain_id
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ token = authenticate
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ domains = find_domain_by_name(token)
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ if domains.length == 1
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ return domains[0]['id']
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ elsif domains.length > 1
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ name = domains[0]['name']
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ raise KeystoneAPIError, 'Found multiple matches for domain name "#{name}"'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ else
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ raise KeystoneAPIError, 'Unable to find matching tenant'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ def config
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ Puppet::Type.type(:heat_config).new(
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ {:name => 'DEFAULT/stack_user_domain', :value => "#{get_domain_id}"}
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ ).create
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
diff --git a/lib/puppet/type/heat_config.rb b/lib/puppet/type/heat_config.rb
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
index 3534e22..131cfad 100644
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
--- a/lib/puppet/type/heat_config.rb
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+++ b/lib/puppet/type/heat_config.rb
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
@@ -16,4 +16,8 @@ Puppet::Type.newtype(:heat_config) do
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ def create
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ provider.create
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
diff --git a/lib/puppet/type/heat_domain_id_setter.rb b/lib/puppet/type/heat_domain_id_setter.rb
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
new file mode 100644
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
index 0000000..d6e1eee
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
--- /dev/null
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+++ b/lib/puppet/type/heat_domain_id_setter.rb
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
@@ -0,0 +1,31 @@
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+Puppet::Type.newtype(:heat_domain_id_setter) do
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ ensurable
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ newparam(:name, :namevar => true) do
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ desc 'The name of the setting to update'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ newparam(:domain_name) do
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ desc 'The heat domain name'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ newparam(:auth_url) do
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ desc 'The Keystone endpoint URL'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ defaultto 'http://localhost:35357/v2.0'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ newparam(:auth_username) do
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ desc 'Username with which to authenticate'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ defaultto 'admin'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ newparam(:auth_password) do
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ desc 'Password with which to authenticate'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ newparam(:auth_tenant_name) do
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ desc 'Tenant name with which to authenticate'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ defaultto 'admin'
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+end
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
diff --git a/manifests/keystone/domain.pp b/manifests/keystone/domain.pp
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
new file mode 100644
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
index 0000000..0ef4b6a
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
--- /dev/null
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+++ b/manifests/keystone/domain.pp
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
@@ -0,0 +1,73 @@
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# == Class: heat::keystone::domain
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Configures heat domain in Keystone.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Note: Implementation is done by heat-keystone-setup-domain script temporarily
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# because currently puppet-keystone does not support v3 API
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# === Parameters
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# [*auth_url*]
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Keystone auth url
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# [*keystone_admin*]
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Keystone admin user
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# [*keystone_password*]
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Keystone admin password
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# [*keystone_tenant*]
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Keystone admin tenant name
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# [*domain_name*]
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Heat domain name. Defaults to 'heat'.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# [*domain_admin*]
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Keystone domain admin user which will be created. Defaults to 'heat_admin'.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# [*domain_password*]
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+# Keystone domain admin user password. Defaults to 'changeme'.
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+#
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+class heat::keystone::domain (
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ $auth_url = undef,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ $keystone_admin = undef,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ $keystone_password = undef,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ $keystone_tenant = undef,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ $domain_name = 'heat',
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ $domain_admin = 'heat_admin',
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ $domain_password = 'changeme',
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+) {
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ include heat::params
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ $cmd_evn = [
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ "OS_USERNAME=${keystone_admin}",
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ "OS_PASSWORD=${keystone_password}",
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ "OS_AUTH_URL=${auth_url}",
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ "HEAT_DOMAIN=${domain_name}",
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ "HEAT_DOMAIN_ADMIN=${domain_admin}",
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ "HEAT_DOMAIN_PASSWORD=${domain_password}"
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ ]
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ exec { 'heat_domain_create':
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ path => '/usr/bin',
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ command => 'heat-keystone-setup-domain &>/dev/null',
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ environment => $cmd_evn,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ require => Package['heat-common'],
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ heat_domain_id_setter { 'heat_domain_id':
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ ensure => present,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ domain_name => $domain_name,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ auth_url => $auth_url,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ auth_username => $keystone_admin,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ auth_password => $keystone_password,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ auth_tenant_name => $keystone_tenant,
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ require => Exec['heat_domain_create'],
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ heat_config {
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ 'DEFAULT/stack_domain_admin': value => $domain_admin;
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ 'DEFAULT/stack_domain_admin_password': value => $domain_password;
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+ }
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
+}
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
--
|
|
![](https://seccdn.libravatar.org/avatar/df4f6044aa26fce3305c275c558c6b87d47f5d791c60e41f5fecf309301f1290?s=16&d=retro) |
50534ad |
1.9.3
|