chef-vpc-toolkit 2.5.1 → 2.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/CHANGELOG
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
* Thu Apr 24 2011 Dan Prince <dan.prince@rackspace.com> - 2.5.2
|
2
|
+
- Raise an error in the chef:poll_clients task if a timeout occurs.
|
3
|
+
- Use CDN to install Chef for Ubuntu.
|
4
|
+
|
1
5
|
* Thu Apr 16 2011 Dan Prince <dan.prince@rackspace.com> - 2.5.1
|
2
6
|
- Updates to support Ruby 1.9.2.
|
3
7
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.5.
|
1
|
+
2.5.2
|
@@ -0,0 +1,34 @@
|
|
1
|
+
function install_chef {
|
2
|
+
|
3
|
+
CODENAME=$(cat /etc/*release | grep CODENAME | sed -e "s|^.*=\([^$]*\)$|\1|")
|
4
|
+
[[ "$CODENAME" == "maverick" ]] && CODENAME="lucid"
|
5
|
+
local INSTALL_TYPE=${1:-"CLIENT"} # CLIENT/SERVER
|
6
|
+
|
7
|
+
[ -f /etc/apt/sources.list.d/opscode.list ] || echo "deb http://apt.opscode.com $CODENAME main" > /etc/apt/sources.list.d/opscode.list
|
8
|
+
wget -q -O- http://apt.opscode.com/packages@opscode.com.gpg.key | apt-key add - &> /dev/null || { echo "Failed to configure Apt repo."; exit 1; }
|
9
|
+
|
10
|
+
dpkg -L rsync &> /dev/null || apt-get install -y rsync &> /dev/null
|
11
|
+
|
12
|
+
if ! dpkg -L chef &> /dev/null; then
|
13
|
+
|
14
|
+
if [[ "$INSTALL_TYPE" == "SERVER" ]]; then
|
15
|
+
|
16
|
+
[[ "$CODENAME" == "lucid" ]] || { echo "Ubuntu 10.0.4 lucid is required for Chef server installations."; exit 1; }
|
17
|
+
apt-get update &> /dev/null || { echo "Failed to apt-get update."; exit 1; }
|
18
|
+
echo "chef-solr chef-solr/amqp_password password YA1B2C301234Z" | debconf-set-selections &> /dev/null || { echo "Failed to set debconf selections for chef-solr."; exit 1; }
|
19
|
+
echo "chef chef/chef_server_url string http://localhost:4000" | debconf-set-selections &> /dev/null || { echo "Failed to set debconf selections for chef."; exit 1; }
|
20
|
+
DEBIAN_FRONTEND=noninteractive apt-get install -y chef-server chef &> /dev/null || { echo "Failed to install the Chef Server via apt-get on $HOSTNAME."; exit 1; }
|
21
|
+
else
|
22
|
+
apt-get update &> /dev/null || { echo "Failed to apt-get update."; exit 1; }
|
23
|
+
echo "chef chef/chef_server_url string http://localhost:4000" | debconf-set-selections &> /dev/null || { echo "Failed to set debconf selections for chef."; exit 1; }
|
24
|
+
DEBIAN_FRONTEND=noninteractive apt-get install -y chef &> /dev/null || { echo "Failed to install Chef via apt-get on $HOSTNAME."; exit 1; }
|
25
|
+
fi
|
26
|
+
|
27
|
+
/etc/init.d/chef-client stop &> /dev/null
|
28
|
+
sleep 2
|
29
|
+
kill -9 $(pgrep chef-client) &> /dev/null || true
|
30
|
+
rm /var/log/chef/client.log
|
31
|
+
|
32
|
+
fi
|
33
|
+
|
34
|
+
}
|
@@ -1,28 +1,46 @@
|
|
1
1
|
function install_chef {
|
2
2
|
|
3
3
|
CODENAME=$(cat /etc/*release | grep CODENAME | sed -e "s|^.*=\([^$]*\)$|\1|")
|
4
|
-
[[ "$CODENAME" == "maverick" ]] && CODENAME="lucid"
|
5
4
|
local INSTALL_TYPE=${1:-"CLIENT"} # CLIENT/SERVER
|
6
5
|
|
7
|
-
|
8
|
-
|
6
|
+
local CDN_BASE="http://c2521002.cdn.cloudfiles.rackspacecloud.com"
|
7
|
+
local TARBALL="chef-client-0.9.16-ubuntu.10.10-x86_64.tar.gz"
|
9
8
|
|
9
|
+
if [[ "$CODENAME" == "lucid" ]]; then
|
10
|
+
if [[ "$INSTALL_TYPE" == "SERVER" ]]; then
|
11
|
+
TARBALL="chef-server-0.9.16-ubuntu.10.04-x86_64.tar.gz"
|
12
|
+
else
|
13
|
+
TARBALL="chef-client-0.9.16-ubuntu.10.04-x86_64.tar.gz"
|
14
|
+
fi
|
15
|
+
elif [[ "$CODENAME" == "maverick" ]]; then
|
16
|
+
if [[ "$INSTALL_TYPE" == "SERVER" ]]; then
|
17
|
+
TARBALL="chef-server-0.9.16-ubuntu.10.10-x86_64.tar.gz"
|
18
|
+
else
|
19
|
+
TARBALL="chef-client-0.9.16-ubuntu.10.10-x86_64.tar.gz"
|
20
|
+
fi
|
21
|
+
else
|
22
|
+
echo "Only Ubuntu 10.04 and 10.10 are supported Chef clients."; exit 1;
|
23
|
+
fi
|
24
|
+
|
25
|
+
apt-get update &> /dev/null || { echo "Failed to apt-get update."; exit 1; }
|
10
26
|
dpkg -L rsync &> /dev/null || apt-get install -y rsync &> /dev/null
|
11
27
|
|
12
28
|
if ! dpkg -L chef &> /dev/null; then
|
13
29
|
|
14
|
-
|
30
|
+
local CHEF_PACKAGES_DIR=$(mktemp -d)
|
15
31
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
32
|
+
wget "$CDN_BASE/$TARBALL" -O "$CHEF_PACKAGES_DIR/chef.tar.gz" &> /dev/null \
|
33
|
+
|| { echo "Failed to download Chef RPM tarball."; exit 1; }
|
34
|
+
cd $CHEF_PACKAGES_DIR
|
35
|
+
tar xzf chef.tar.gz || { echo "Failed to extract Chef tarball."; exit 1; }
|
36
|
+
rm chef.tar.gz
|
37
|
+
|
38
|
+
echo "chef-solr chef-solr/amqp_password password YA1B2C301234Z" | debconf-set-selections &> /dev/null || { echo "Failed to set debconf selections for chef-solr."; exit 1; }
|
39
|
+
echo "chef chef/chef_server_url string http://localhost:4000" | debconf-set-selections &> /dev/null || { echo "Failed to set debconf selections for chef."; exit 1; }
|
40
|
+
DEBIAN_FRONTEND=noninteractive dpkg -i -R chef* &> /dev/null || { echo "Failed to install the Chef Server via apt-get on $HOSTNAME."; exit 1; }
|
41
|
+
|
42
|
+
cd /tmp
|
43
|
+
rm -Rf $CHEF_PACKAGES_DIR
|
26
44
|
|
27
45
|
/etc/init.d/chef-client stop &> /dev/null
|
28
46
|
sleep 2
|
data/rake/chef_vpc_toolkit.rake
CHANGED
@@ -230,7 +230,9 @@ namespace :chef do
|
|
230
230
|
configs=ChefInstaller.load_configs
|
231
231
|
configs["ssh_gateway_ip"]=group.vpn_gateway_ip
|
232
232
|
puts "Polling for Chef clients to finish running..."
|
233
|
-
ChefInstaller.poll_clients(configs, server_list, timeout)
|
233
|
+
if not ChefInstaller.poll_clients(configs, server_list, timeout) then
|
234
|
+
raise "Chef client timeout."
|
235
|
+
end
|
234
236
|
|
235
237
|
end
|
236
238
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chef-vpc-toolkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 2.5.
|
9
|
+
- 2
|
10
|
+
version: 2.5.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Dan Prince
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-04-
|
18
|
+
date: 2011-04-27 00:00:00 -07:00
|
19
19
|
default_executable: chef-vpc-toolkit
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -119,6 +119,7 @@ files:
|
|
119
119
|
- lib/chef-vpc-toolkit/chef_bootstrap/centos.bash
|
120
120
|
- lib/chef-vpc-toolkit/chef_bootstrap/fedora.bash
|
121
121
|
- lib/chef-vpc-toolkit/chef_bootstrap/rhel.bash
|
122
|
+
- lib/chef-vpc-toolkit/chef_bootstrap/ubuntu-opscode.bash
|
122
123
|
- lib/chef-vpc-toolkit/chef_bootstrap/ubuntu.bash
|
123
124
|
- lib/chef-vpc-toolkit/chef_installer.rb
|
124
125
|
- lib/chef-vpc-toolkit/cloud-servers-vpc/client.rb
|