chef-vpc-toolkit 2.8.0 → 2.8.1
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 +7 -0
- data/VERSION +1 -1
- data/lib/chef-vpc-toolkit/chef_functions.bash +31 -7
- data/rake/chef_vpc_toolkit.rake +5 -0
- metadata +4 -4
data/CHANGELOG
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
* Tue Dec 8 2011 Dan Prince <dan.prince@rackspace.com> - 2.8.1
|
2
|
+
- Add JSON option for chef:install task to specify custom nodes.json files.
|
3
|
+
- Don't re-add the notification handler to the config file if it already
|
4
|
+
exists.
|
5
|
+
- Add support for cloning git:// cookbook repo URL's.
|
6
|
+
- Add restart check for Rabbit which sometimes fails or is slow to start.
|
7
|
+
|
1
8
|
* Tue Nov 8 2011 Dan Prince <dan.prince@rackspace.com> - 2.8.0
|
2
9
|
- Add chef_interval option to chef_installer.conf.
|
3
10
|
- Add RESTART_ON_FAILURE and RESTART_TIMEOUT options to poll_clients task.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.8.
|
1
|
+
2.8.1
|
@@ -38,6 +38,7 @@ local CHEF_NOTIFICATION_HANDLER=/var/lib/chef/handlers/netcat.rb
|
|
38
38
|
sed -e "s|localhost|$SERVER_NAME|g" -i $CLIENT_CONFIG
|
39
39
|
sed -e "s|^chef_server_url.*|chef_server_url \"http://$SERVER_NAME:4000\"|g" -i $CLIENT_CONFIG
|
40
40
|
sed -e "s|^log_location.*|log_location \"\/var/log/chef/client.log\"|g" -i $CLIENT_CONFIG
|
41
|
+
if ! grep "$CHEF_NOTIFICATION_HANDLER" $CLIENT_CONFIG &> /dev/null; then
|
41
42
|
cat >> $CLIENT_CONFIG <<-EOF_CAT_CHEF_CLIENT_CONF
|
42
43
|
# custom Chef notification handler
|
43
44
|
require "$CHEF_NOTIFICATION_HANDLER"
|
@@ -45,7 +46,7 @@ netcat_handler = NetcatHandler.new
|
|
45
46
|
report_handlers << netcat_handler
|
46
47
|
exception_handlers << netcat_handler
|
47
48
|
EOF_CAT_CHEF_CLIENT_CONF
|
48
|
-
|
49
|
+
fi
|
49
50
|
|
50
51
|
local CHEF_SYSCONFIG=/etc/default/chef-client
|
51
52
|
[ -d /etc/sysconfig/ ] && CHEF_SYSCONFIG=/etc/sysconfig/chef-client
|
@@ -206,16 +207,30 @@ for CB_REPO in $COOKBOOK_URLS; do
|
|
206
207
|
echo -n "Downloading $CB_REPO..."
|
207
208
|
if [ "http:" == ${CB_REPO:0:5} ] || [ "https:" == ${CB_REPO:0:6} ]; then
|
208
209
|
wget --no-check-certificate "$CB_REPO" -O "/tmp/cookbook-repo.tar.gz" &> /dev/null || { echo "Failed to download cookbook tarball."; return 1; }
|
210
|
+
elif [ "git:" == ${CB_REPO:0:4} ]; then
|
211
|
+
if [ -f /usr/bin/yum ]; then
|
212
|
+
rpm -q git &> /dev/null || yum install -y -q git
|
213
|
+
elif [ -f /usr/bin/dpkg ]; then
|
214
|
+
dpkg -L git > /dev/null 2>&1 || apt-get install -y --quiet git > /dev/null 2>&1
|
215
|
+
else
|
216
|
+
echo "Failed to install git."
|
217
|
+
exit 1
|
218
|
+
fi
|
219
|
+
pushd $REPOS_BASEDIR
|
220
|
+
git clone "$CB_REPO"
|
221
|
+
popd
|
209
222
|
else
|
210
223
|
download_cloud_file "$CB_REPO" "/tmp/cookbook-repo.tar.gz"
|
211
224
|
fi
|
212
225
|
echo "OK"
|
213
|
-
[ -
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
226
|
+
if [ -f /tmp/cookbook-repo.tar.gz ]; then
|
227
|
+
[ -d "$REPOS_BASEDIR" ] || mkdir -p "$REPOS_BASEDIR"
|
228
|
+
cd $REPOS_BASEDIR
|
229
|
+
echo -n "Extracting $CB_REPO..."
|
230
|
+
tar xzf /tmp/cookbook-repo.tar.gz
|
231
|
+
rm /tmp/cookbook-repo.tar.gz
|
232
|
+
echo "OK"
|
233
|
+
fi
|
219
234
|
done
|
220
235
|
|
221
236
|
}
|
@@ -253,6 +268,14 @@ function start_chef_server {
|
|
253
268
|
/sbin/chkconfig couchdb on &> /dev/null
|
254
269
|
$SERVICE_BIN rabbitmq-server start </dev/null &> /dev/null
|
255
270
|
/sbin/chkconfig rabbitmq-server on &> /dev/null
|
271
|
+
sleep 3
|
272
|
+
|
273
|
+
local RABBIT_ERR_SIZE=$(stat -c%s "/var/log/rabbitmq/startup_err")
|
274
|
+
if (( $RABBIT_ERR_SIZE > 0 )); then
|
275
|
+
$SERVICE_BIN rabbitmq-server stop </dev/null &> /dev/null
|
276
|
+
$SERVICE_BIN rabbitmq-server start </dev/null &> /dev/null
|
277
|
+
sleep 3
|
278
|
+
fi
|
256
279
|
|
257
280
|
# Chef 0.9: chef-solr chef-solr-indexer chef-server chef-server-webui
|
258
281
|
# Chef 0.10: chef-solr chef-expander chef-server chef-server-webui
|
@@ -260,6 +283,7 @@ function start_chef_server {
|
|
260
283
|
if [ -f /etc/init.d/$svc ]; then
|
261
284
|
$SERVICE_BIN $svc start
|
262
285
|
/sbin/chkconfig $svc on &> /dev/null
|
286
|
+
sleep 3
|
263
287
|
fi
|
264
288
|
done
|
265
289
|
fi
|
data/rake/chef_vpc_toolkit.rake
CHANGED
@@ -177,6 +177,11 @@ namespace :chef do
|
|
177
177
|
group=ServerGroup.fetch(:source => "cache")
|
178
178
|
configs["ssh_gateway_ip"]=group.vpn_gateway_ip
|
179
179
|
|
180
|
+
json_config_file=ENV['JSON']
|
181
|
+
if not json_config_file.nil? then
|
182
|
+
configs["chef_json_file"] = json_config_file
|
183
|
+
end
|
184
|
+
|
180
185
|
server_name=ENV['SERVER_NAME']
|
181
186
|
if server_name.nil? then
|
182
187
|
client_validation_key=ChefInstaller.install_chef_server(configs, group.os_types)
|
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: 45
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 2.8.
|
9
|
+
- 1
|
10
|
+
version: 2.8.1
|
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-
|
18
|
+
date: 2011-12-08 00:00:00 -05:00
|
19
19
|
default_executable: chef-vpc-toolkit
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|