diff options
Diffstat (limited to 'lib/chef/knife/bootstrap/centos5-gems.erb')
-rw-r--r-- | lib/chef/knife/bootstrap/centos5-gems.erb | 39 |
1 files changed, 15 insertions, 24 deletions
diff --git a/lib/chef/knife/bootstrap/centos5-gems.erb b/lib/chef/knife/bootstrap/centos5-gems.erb index f9626c3c2b..5db3c1a0e8 100644 --- a/lib/chef/knife/bootstrap/centos5-gems.erb +++ b/lib/chef/knife/bootstrap/centos5-gems.erb @@ -2,6 +2,11 @@ bash -c ' <%= "export http_proxy=\"#{knife_config[:bootstrap_proxy]}\"" if knife_config[:bootstrap_proxy] -%> if [ ! -f /usr/bin/chef-client ]; then + tmp_dir=$(mktemp -d) || exit 1 + pushd "$tmp_dir" + + yum install -y wget + wget <%= "--proxy=on " if knife_config[:bootstrap_proxy] %>http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm rpm -Uvh epel-release-5-4.noarch.rpm wget <%= "--proxy=on " if knife_config[:bootstrap_proxy] %>http://rpm.aegisco.com/aegisco/rhel/aegisco-rhel.rpm @@ -9,11 +14,11 @@ if [ ! -f /usr/bin/chef-client ]; then yum install -y ruby ruby-devel gcc gcc-c++ automake autoconf make - cd /tmp - wget <%= "--proxy=on " if knife_config[:bootstrap_proxy] %>http://production.cf.rubygems.org/rubygems/rubygems-1.6.2.tgz - tar zxf rubygems-1.6.2.tgz - cd rubygems-1.6.2 - ruby setup.rb --no-format-executable + wget <%= "--proxy=on " if knife_config[:bootstrap_proxy] %>http://production.cf.rubygems.org/rubygems/rubygems-1.6.2.tgz -O - | tar zxf - + (cd rubygems-1.6.2 && ruby setup.rb --no-format-executable) + + popd + rm -r "$tmp_dir" fi gem update --system @@ -23,23 +28,15 @@ gem install chef --no-rdoc --no-ri --verbose <%= bootstrap_version_string %> mkdir -p /etc/chef -( -cat <<'EOP' +awk NF > /etc/chef/validation.pem <<'EOP' <%= validation_key %> EOP -) > /tmp/validation.pem -awk NF /tmp/validation.pem > /etc/chef/validation.pem -rm /tmp/validation.pem chmod 0600 /etc/chef/validation.pem <% if @chef_config[:encrypted_data_bag_secret] -%> -( -cat <<'EOP' +awk NF > /etc/chef/encrypted_data_bag_secret <<'EOP' <%= encrypted_data_bag_secret %> EOP -) > /tmp/encrypted_data_bag_secret -awk NF /tmp/encrypted_data_bag_secret > /etc/chef/encrypted_data_bag_secret -rm /tmp/encrypted_data_bag_secret chmod 0600 /etc/chef/encrypted_data_bag_secret <% end -%> @@ -48,24 +45,18 @@ chmod 0600 /etc/chef/encrypted_data_bag_secret mkdir -p /etc/chef/ohai/hints <% @chef_config[:knife][:hints].each do |name, hash| -%> -( -cat <<'EOP' +cat > /etc/chef/ohai/hints/<%= name %>.json <<'EOP' <%= hash.to_json %> EOP -) > /etc/chef/ohai/hints/<%= name %>.json <% end -%> <% end -%> -( -cat <<'EOP' +cat > /etc/chef/client.rb <<'EOP' <%= config_content %> EOP -) > /etc/chef/client.rb -( -cat <<'EOP' +cat > /etc/chef/first-boot.json <<'EOP' <%= first_boot.to_json %> EOP -) > /etc/chef/first-boot.json <%= start_chef %>' |