1 From be4aad7589bc63f90b98b7d5692701a8368f8b04 Mon Sep 17 00:00:00 2001
2 From: Al Bailey <Al.Bailey@windriver.com>
3 Date: Mon, 11 Mar 2019 07:55:54 -0500
4 Subject: [PATCH 1/3] Roll up TIS patches
7 lib/puppet/provider/openstack.rb | 1 +
8 lib/puppet/provider/openstack/auth.rb | 16 ++++++++++++++--
9 lib/puppet/provider/openstack/credentials.rb | 2 --
10 3 files changed, 15 insertions(+), 4 deletions(-)
12 diff --git a/lib/puppet/provider/openstack.rb b/lib/puppet/provider/openstack.rb
13 index 0240ce4..8b8e564 100644
14 --- a/lib/puppet/provider/openstack.rb
15 +++ b/lib/puppet/provider/openstack.rb
16 @@ -45,6 +45,7 @@ class Puppet::Provider::Openstack < Puppet::Provider
19 Timeout.timeout(command_timeout(action)) do
20 + args.unshift('--os-interface', 'internal')
21 openstack_command *args
24 diff --git a/lib/puppet/provider/openstack/auth.rb b/lib/puppet/provider/openstack/auth.rb
25 index 743071d..4026aec 100644
26 --- a/lib/puppet/provider/openstack/auth.rb
27 +++ b/lib/puppet/provider/openstack/auth.rb
29 #require 'puppet/provider/openstack/credentials'
30 require File.join(File.dirname(__FILE__), '..','..','..', 'puppet/provider/openstack/credentials')
31 +require 'hiera_puppet'
33 module Puppet::Provider::Openstack::Auth
35 - RCFILENAME = "#{ENV['HOME']}/openrc"
36 + RCFILENAME = "/etc/platform/openrc"
38 + def lookup_hiera(key)
39 + HieraPuppet.lookup(key, :undef, self, nil, :priority)
42 + def get_admin_password
43 + value=lookup_hiera('keystone::admin_password')
47 def get_os_vars_from_env
49 @@ -17,7 +27,7 @@ module Puppet::Provider::Openstack::Auth
51 File.open(rcfile).readlines.delete_if{|l| l=~ /^#|^$/ }.each do |line|
52 # we only care about the OS_ vars from the file LP#1699950
54 + if line =~ /OS_/ and line.include?('=')
55 key, value = line.split('=')
56 key = key.split(' ').last
57 value = value.chomp.gsub(/'/, '')
58 @@ -38,6 +48,8 @@ module Puppet::Provider::Openstack::Auth
59 unless @credentials.set?
61 set_credentials(@credentials, get_os_vars_from_rcfile(rc_filename))
62 + # retrieves the password from hiera data since keyring is not yet available
63 + @credentials.password = get_admin_password
65 unless @credentials.set?
66 raise(Puppet::Error::OpenstackAuthInputError, 'Insufficient credentials to authenticate')
67 diff --git a/lib/puppet/provider/openstack/credentials.rb b/lib/puppet/provider/openstack/credentials.rb
68 index 2765b2b..9c831e3 100644
69 --- a/lib/puppet/provider/openstack/credentials.rb
70 +++ b/lib/puppet/provider/openstack/credentials.rb
71 @@ -70,11 +70,9 @@ class Puppet::Provider::Openstack::CredentialsV3 < Puppet::Provider::Openstack::