From 2448c98206dda09bad00e16f635d7ec1c843bbd3 Mon Sep 17 00:00:00 2001 From: ckonstanski Date: Sat, 9 Dec 2017 00:37:55 +0000 Subject: autocommit Sat Dec 9 00:37:55 UTC 2017 --- inventory_json_unstable_db.rb | 49 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100755 inventory_json_unstable_db.rb (limited to 'inventory_json_unstable_db.rb') diff --git a/inventory_json_unstable_db.rb b/inventory_json_unstable_db.rb new file mode 100755 index 0000000..4a41f97 --- /dev/null +++ b/inventory_json_unstable_db.rb @@ -0,0 +1,49 @@ +#!/usr/bin/ruby + +require "json" +require "yaml" + +def doit() + env_yaml_path = "#{File.dirname($0)}/conf/env.yaml" + if ! File.file?(env_yaml_path) + STDERR.puts "Unable to find env.yaml. Exiting." + exit(1) + end + environ = "" + ["unstable_db", "unstable", "develop_db", "develop", "stage_db", "stage", "master_db", "master"].each do |env| + if File.basename($0).include?(env) + environ = env + break + end + end + if environ == "" + STDERR.puts "Unable to determine environment. Exiting." + exit(1) + end + globs = {} + hostvars = {} + outobj = {} + hosts_arr = [] + yml = YAML.load_file(env_yaml_path) + yml["globals"].each do |key, value| + globs[key] = value + end + yml["environments"].each do |ee| + ee.each do |e, hosts| + if e == environ + hosts.each do |host_hash| + host_hash.each do |host, attributes| + hosts_arr.push(host) + hostvars[host] = globs.merge(attributes) + end + end + end + end + end + outobj["target"] = {"hosts" => hosts_arr} + outobj["_meta"] = {"hostvars" => hostvars} + puts outobj.to_json +end + +doit() +exit(0) -- cgit v1.3