Sha256: cafba69c350c0ee6321ecf9b4614268d63a3aaa83a9a7cbe6178d4fcf9f1fa88
Contents?: true
Size: 1.45 KB
Versions: 21
Compression:
Stored size: 1.45 KB
Contents
module Scooter module Utilities module BeakerUtilities extend Beaker::DSL # Beaker and ec2 don't play nice with getting the public ip. It is only set during # initial provision and can be over-ridden. If you also have to run the script several times, # or are using an existing set of nodes for testing, beaker has no way to get the # ec2 instanes public ip address, mostly because the box it self does not expose it anywhere. # According to the docs, you can curl the below to get it # http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html def self.get_public_ip(host) if host['hypervisor'] == 'ec2' on(host, "curl http://169.254.169.254/latest/meta-data/public-ipv4").stdout else host.ip end end def self.pe_ca_cert_file(master) ca_cert = on(master, "cat `puppet agent --configprint localcacert`", :silent => true).stdout cert_dir = Dir.mktmpdir("pe_certs") ca_cert_file = File.join(cert_dir, "cacert.pem") File.open(ca_cert_file, "w+") do |f| f.write(ca_cert) end ca_cert_file end def self.pe_private_key(master) on(master, "cat `puppet agent --configprint hostprivkey`", :silent => true).stdout end def self.pe_hostcert(master) on(master, "cat `puppet agent --configprint hostcert`", :silent => true).stdout end end end end
Version data entries
21 entries across 21 versions & 1 rubygems