(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: (Token id:Id.Op_Semi val:';' span_id:18) ) ] action: [ (C {(echo)} {(DQ (' ** one argument required (environment name)'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:30) 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: (Token id:Id.Op_Semi val:';' span_id:50) ) ] 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: (Token id:Id.ControlFlow_Exit val:exit span_id:73) 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: (Token id:Id.Op_Semi val:';' span_id:91) ) ] action: [ (C {(echo)} {(DQ (' ** file data_bags/configs/') ($ Id.VSub_Number '$1') ('.json already exists'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:105) 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: (Token id:Id.Redir_DLess val:'<<' span_id:125) 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: (Token id:Id.Redir_Great val:'2>' span_id:128) 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: (Token id:Id.Redir_Great val:'>' span_id:1115) 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: (Token id:Id.Op_Semi val:';' span_id:1153) ) ] action: [ (C {(touch)} {(id_rsa)}) (C {(chmod)} {(600)} {(id_rsa)}) (command.Simple words: [{(erubis)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:1172) 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: (Token id:Id.Redir_Great val:'2>' span_id:1175) fd: 2 arg_word: {(/dev/null)} ) (redir.Redir op: (Token id:Id.Redir_DGreat val:'>>' span_id:1178) fd: -1 arg_word: {(id_rsa)} ) ] ) (C {(echo)} {(DQ (' ** created ./id_rsa with ssh key for BCPC nodes'))}) ] spids: [1142 1155] ) ] ) ] )