(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<X> (DQ ($ Id.VSub_Number '$1'))} {<Id.Lit_Equals '='>} {<X>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(DQ <' ** one argument required (environment name)'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<-1>}) ] spids: [4 20] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<environments/> ($ Id.VSub_Number '$1') <.json>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(DQ <' ** must create environments/'> ($ Id.VSub_Number '$1') <'.json first...'>)} ) (C {<echo>} { (DQ <" (try 'cp environments/Test-Laptop.json environments/"> ($ Id.VSub_Number '$1') <".json' and editing)"> ) } ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<-1>}) ] spids: [37 52] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<data_bags/configs/> ($ Id.VSub_Number '$1') <.json>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(DQ <' ** file data_bags/configs/'> ($ Id.VSub_Number '$1') <'.json already exists'>)} ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<-1>}) ] spids: [80 93] ) ] ) (C {<./make_secret.sh>}) (command.Pipeline children: [ (command.Simple words: [{<erubis>} {<-c>} {(DQ <"context['environ']='"> ($ Id.VSub_Number '$1') <"'">)}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<EOH>} here_end_span_id: 1101 stdin_parts: [ <'<%\n'> <"require 'openssl'\n"> <"require 'json'\n"> <"require 'net/ssh'\n"> <"require 'erubis'\n"> <'\n'> <'JSON.create_id = nil\n'> <'node = JSON.parse(IO.read('> <Id.Right_DoubleQuote '"'> <'environments/#{@environ}.json'> <Id.Right_DoubleQuote '"'> <"))['override_attributes']\n"> <"node['bcpc']['region_name'] = @environ\n"> <'\n'> <"load 'cookbooks/bcpc/libraries/utils.rb'\n"> <'\n'> <'ssl_conf = Erubis::Eruby.new(IO.read('> <Id.Right_DoubleQuote '"'> <cookbooks/bcpc/templates/default/openssl.cnf.erb> <Id.Right_DoubleQuote '"'> <')).result(:node=>node)\n'> <'File.open('> <Id.Right_DoubleQuote '"'> </tmp/openssl.cnf> <Id.Right_DoubleQuote '"'> <", 'w') {|f| f.write(ssl_conf)}\n"> <'%>\n'> <'{\n'> <' '> <Id.Right_DoubleQuote '"'> <id> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <"#{node['bcpc']['region_name']}"> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <ceilometer-secret> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <ceph-fs-uuid> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{%x[uuidgen].strip.downcase}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <ceph-mon-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{ceph_keygen}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <contrail-api-passwd> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <contrail-control-passwd> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <contrail-dns-passwd> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <contrail-metadata-secret> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <contrail-schema-passwd> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <contrail-svc-monitor-passwd> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <glance-cloudpipe-uuid> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{%x[uuidgen].strip.downcase}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <graphite-secret-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <haproxy-stats-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <haproxy-stats-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <haproxy> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <horizon-secret-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <keepalived-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <keepalived-router-id> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{(rand * 1000).to_i%254/2*2+1}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <keystone-admin-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <keystone-admin-token> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <keystone-admin-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <admin> <Id.Right_DoubleQuote '"'> <',\n'> < ' <% temp = %x[openssl req -new -x509 -passout pass:temp_passwd -newkey rsa:2048 -out /dev/stdout -keyout /dev/stdout -days 1095 -subj ' > <Id.Right_DoubleQuote '"'> < "/C=#{node['bcpc']['country']}/ST=#{node['bcpc']['state']}/L=#{node['bcpc']['location']}/O=#{node['bcpc']['organization']}/OU=#{node['bcpc']['region_name']}/CN=keystone.#{node['bcpc']['cluster_domain']}/emailAddress=#{node['bcpc']['admin_email']}" > <Id.Right_DoubleQuote '"'> <'] %>\n'> <' '> <Id.Right_DoubleQuote '"'> <keystone-pki-certificate> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{%x[echo '> <Id.Right_DoubleQuote '"'> <'#{temp}'> <Id.Right_DoubleQuote '"'> <' | openssl x509].gsub(/'> <Id.Lit_Other '\\'> <"n/,'"> <Id.Lit_Other '\\'> <"n')}"> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <keystone-pki-private-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{%x[echo '> <Id.Right_DoubleQuote '"'> <'#{temp}'> <Id.Right_DoubleQuote '"'> <' | openssl rsa -passin pass:temp_passwd -out /dev/stdout].gsub(/'> <Id.Lit_Other '\\'> <"n/,'"> <Id.Lit_Other '\\'> <"n')}"> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <keystone-test-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <keystone-test-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <tester> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <libvirt-secret-uuid> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{%x[uuidgen].strip.downcase}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-ceilometer-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-ceilometer-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <ceilometer> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-check-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-check-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <check> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-cinder-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-cinder-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <cinder> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-galera-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-galera-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <sst> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-glance-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-glance-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <glance> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-graphite-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-graphite-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <graphite> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-heat-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-heat-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <heat> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-horizon-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-horizon-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <horizon> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-keystone-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-keystone-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <keystone> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-neutron-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-neutron-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <neutron> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-nova-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-nova-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <nova> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-pdns-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-pdns-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <pdns> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-root-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-root-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <root> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-zabbix-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <mysql-zabbix-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <zabbix> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rabbitmq-cookie> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rabbitmq-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <rabbitmq-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <guest> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <radosgw-admin-access-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password_alphanum_upper}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <radosgw-admin-secret-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password(40)}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <radosgw-admin-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <radosgw> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <radosgw-test-access-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password_alphanum_upper}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <radosgw-test-secret-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password(40)}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <radosgw-test-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <tester> <Id.Right_DoubleQuote '"'> <',\n'> <' <% key = OpenSSL::PKey::RSA.new 2048; pubkey = '> <Id.Right_DoubleQuote '"'> <"#{key.ssh_type} #{[ key.to_blob ].pack('m0')}"> <Id.Right_DoubleQuote '"'> <' %>\n'> <' '> <Id.Right_DoubleQuote '"'> <ssh-nova-private-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{key.to_pem.gsub(/'> <Id.Lit_Other '\\'> <"n/,'"> <Id.Lit_Other '\\'> <"n')}"> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <ssh-nova-public-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{pubkey.gsub(/'> <Id.Lit_Other '\\'> <"n/,'')}"> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' <% key = OpenSSL::PKey::RSA.new 2048; pubkey = '> <Id.Right_DoubleQuote '"'> <"#{key.ssh_type} #{[ key.to_blob ].pack('m0')}"> <Id.Right_DoubleQuote '"'> <' %>\n'> <' '> <Id.Right_DoubleQuote '"'> <ssh-private-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{key.to_pem.gsub(/'> <Id.Lit_Other '\\'> <"n/,'"> <Id.Lit_Other '\\'> <"n')}"> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <ssh-public-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{pubkey.gsub(/'> <Id.Lit_Other '\\'> <"n/,'')}"> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> < ' <% temp = %x[openssl req -config /tmp/openssl.cnf -extensions v3_req -new -x509 -passout pass:temp_passwd -newkey rsa:4096 -out /dev/stdout -keyout /dev/stdout -days 1095 -subj ' > <Id.Right_DoubleQuote '"'> < "/C=#{node['bcpc']['country']}/ST=#{node['bcpc']['state']}/L=#{node['bcpc']['location']}/O=#{node['bcpc']['organization']}/OU=#{node['bcpc']['region_name']}/CN=openstack.#{node['bcpc']['cluster_domain']}/emailAddress=#{node['bcpc']['admin_email']}" > <Id.Right_DoubleQuote '"'> <'] %>\n'> <' '> <Id.Right_DoubleQuote '"'> <ssl-certificate> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{%x[echo '> <Id.Right_DoubleQuote '"'> <'#{temp}'> <Id.Right_DoubleQuote '"'> <' | openssl x509].gsub(/'> <Id.Lit_Other '\\'> <"n/,'"> <Id.Lit_Other '\\'> <"n')}"> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <ssl-private-key> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{%x[echo '> <Id.Right_DoubleQuote '"'> <'#{temp}'> <Id.Right_DoubleQuote '"'> <' | openssl rsa -passin pass:temp_passwd -out /dev/stdout].gsub(/'> <Id.Lit_Other '\\'> <"n/,'"> <Id.Lit_Other '\\'> <"n')}"> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <zabbix-admin-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <zabbix-admin-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <admin> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <zabbix-guest-password> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <'<%='> <Id.Right_DoubleQuote '"'> <'#{secure_password}'> <Id.Right_DoubleQuote '"'> <'%>'> <Id.Right_DoubleQuote '"'> <',\n'> <' '> <Id.Right_DoubleQuote '"'> <zabbix-guest-user> <Id.Right_DoubleQuote '"'> <': '> <Id.Right_DoubleQuote '"'> <guest> <Id.Right_DoubleQuote '"'> <'\n'> <'}\n'> ] ) (redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>}) ] ) (C {<knife>} {<solo>} {<data>} {<bag>} {<create>} {<configs>} {($ Id.VSub_Number '$1')} {<--json-file>} {</dev/stdin>} {<--data-bag-path>} {<data_bags>} {<--secret-file>} {<secret_file>} ) ] negated: F ) (command.Pipeline children: [ (C {<cat>} {<data_bags/configs/> ($ Id.VSub_Number '$1') <.json>}) (command.Simple words: [{<python>} {<-mjson.tool>}] redirects: [ (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {<data_bags/configs/> ($ Id.VSub_Number '$1') <.json.new>} ) ] ) ] negated: F ) (C {<mv>} {<-f>} {<data_bags/configs/> ($ Id.VSub_Number '$1') <.json.new>} {<data_bags/configs/> ($ Id.VSub_Number '$1') <.json>} ) (C {<echo>} {(DQ <' ** created data_bags/configs/'> ($ Id.VSub_Number '$1') <.json>)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<id_rsa>} {<Id.Lit_RBracket ']'>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<touch>} {<id_rsa>}) (C {<chmod>} {<600>} {<id_rsa>}) (command.Simple words: [{<erubis>}] redirects: [ (redir.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<EOH>} here_end_span_id: 1195 stdin_parts: [ <'<%\n'> <"require 'json'\n"> <'JSON.create_id = nil\n'> <'bag = JSON.parse(%x[knife solo data bag show configs '> ($ Id.VSub_Number '$1') <' --data-bag-path data_bags --secret-file secret_file -fjson])\n'> <'%>\n'> <'<%='> <Id.Right_DoubleQuote '"'> <"#{bag['ssh-private-key']}"> <Id.Right_DoubleQuote '"'> <'%>\n'> ] ) (redir.Redir op:<Id.Redir_Great '2>'> fd:2 arg_word:{</dev/null>}) (redir.Redir op:<Id.Redir_DGreat '>>'> fd:-1 arg_word:{<id_rsa>}) ] ) (C {<echo>} {(DQ <' ** created ./id_rsa with ssh key for BCPC nodes'>)}) ] spids: [1142 1155] ) ] ) ] )