vagabond 0.2.6 → 0.2.8

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.
Files changed (39) hide show
  1. data/CHANGELOG.md +5 -0
  2. data/Vagrantfile +34 -0
  3. data/lib/vagabond/cookbooks/apt/Berksfile +8 -0
  4. data/lib/vagabond/cookbooks/apt/CHANGELOG.md +97 -0
  5. data/lib/vagabond/cookbooks/apt/CONTRIBUTING +29 -0
  6. data/lib/vagabond/cookbooks/apt/LICENSE +201 -0
  7. data/lib/vagabond/cookbooks/apt/README.md +243 -0
  8. data/lib/vagabond/cookbooks/apt/TESTING.md +25 -0
  9. data/lib/vagabond/cookbooks/apt/attributes/default.rb +4 -0
  10. data/lib/vagabond/cookbooks/apt/files/default/apt-proxy-v2.conf +50 -0
  11. data/lib/vagabond/cookbooks/apt/metadata.rb +30 -0
  12. data/lib/vagabond/cookbooks/apt/providers/preference.rb +61 -0
  13. data/lib/vagabond/cookbooks/apt/providers/repository.rb +132 -0
  14. data/lib/vagabond/cookbooks/apt/recipes/cacher-client.rb +59 -0
  15. data/lib/vagabond/cookbooks/apt/recipes/cacher-ng.rb +40 -0
  16. data/lib/vagabond/cookbooks/apt/recipes/default.rb +68 -0
  17. data/lib/vagabond/cookbooks/apt/resources/preference.rb +30 -0
  18. data/lib/vagabond/cookbooks/apt/resources/repository.rb +40 -0
  19. data/lib/vagabond/cookbooks/apt/templates/debian-6.0/acng.conf.erb +174 -0
  20. data/lib/vagabond/cookbooks/apt/templates/default/01proxy.erb +2 -0
  21. data/lib/vagabond/cookbooks/apt/templates/default/acng.conf.erb +276 -0
  22. data/lib/vagabond/cookbooks/apt/templates/ubuntu-10.04/acng.conf.erb +270 -0
  23. data/lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/README.md +1 -0
  24. data/lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/files/default/tests/minitest/cacher-ng_test.rb +28 -0
  25. data/lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/files/default/tests/minitest/default_test.rb +28 -0
  26. data/lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/files/default/tests/minitest/lwrps_test.rb +48 -0
  27. data/lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/files/default/tests/minitest/support/helpers.rb +29 -0
  28. data/lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/metadata.rb +6 -0
  29. data/lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/recipes/cacher-ng.rb +20 -0
  30. data/lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/recipes/default.rb +20 -0
  31. data/lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/recipes/lwrps.rb +66 -0
  32. data/lib/vagabond/cookbooks/vagabond/metadata.rb +1 -0
  33. data/lib/vagabond/cookbooks/vagabond/recipes/default.rb +9 -0
  34. data/lib/vagabond/vagabond.rb +5 -1
  35. data/lib/vagabond/version.rb +1 -1
  36. data/test/Vagrantfile +48 -0
  37. data/vagabond-0.2.6.gem +0 -0
  38. data/vagabond.gemspec +1 -1
  39. metadata +36 -4
@@ -0,0 +1,66 @@
1
+ #
2
+ # Cookbook Name:: apt_test
3
+ # Recipe:: lwrps
4
+ #
5
+ # Copyright 2012, Opscode, Inc.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ include_recipe "apt"
21
+
22
+ # Apt Repository
23
+ apt_repository "opscode" do
24
+ uri "http://apt.opscode.com"
25
+ components ["main"]
26
+ distribution "#{node['lsb']['codename']}-0.10"
27
+ key "2940ABA983EF826A"
28
+ keyserver "pgpkeys.mit.edu"
29
+ action :add
30
+ end
31
+
32
+ # Apt Repository with arch
33
+ apt_repository "cloudera" do
34
+ uri "http://archive.cloudera.com/cdh4/ubuntu/precise/amd64/cdh"
35
+ arch "amd64"
36
+ distribution "precise-cdh4"
37
+ components ["contrib"]
38
+ key "http://archive.cloudera.com/debian/archive.key"
39
+ action :add
40
+ end
41
+
42
+ # Apt repository and install a package it contains
43
+ apt_repository "nginx" do
44
+ uri "http://nginx.org/packages/ubuntu"
45
+ distribution node['lsb']['codename']
46
+ components ["nginx"]
47
+ key "http://nginx.org/keys/nginx_signing.key"
48
+ deb_src true
49
+ end
50
+
51
+ package "nginx-debug" do
52
+ action :upgrade
53
+ end
54
+
55
+ # Apt Preferences
56
+ apt_preference "chef" do
57
+ pin "version 10.16.2-1"
58
+ pin_priority "700"
59
+ end
60
+
61
+ # COOK-2338
62
+ apt_preference "dotdeb" do
63
+ glob "*"
64
+ pin "origin packages.dotdeb.org "
65
+ pin_priority "700"
66
+ end
@@ -5,3 +5,4 @@ maintainer 'Chris Roberts'
5
5
  maintainer_email 'chrisroberts.code@gmail.com'
6
6
 
7
7
  depends 'lxc'
8
+ depends 'apt'
@@ -33,6 +33,7 @@ unless(node[:network][:interfaces][:lxcbr0])
33
33
  end
34
34
  =end
35
35
 
36
+ include_recipe 'apt::cacher-ng'
36
37
  include_recipe 'lxc'
37
38
 
38
39
  ruby_block 'LXC template: lxc-centos' do
@@ -66,6 +67,8 @@ node[:vagabond][:bases].each do |name, options|
66
67
  ]
67
68
  if(!options[:template].scan(%r{debian|ubuntu}).empty?)
68
69
  pkg_man = 'apt-get'
70
+ proxy = ["echo \"Acquire::http::Proxy \\\"http://#{node[:lxc][:addr]}:#{node[:apt][:cacher_port]}\\\";\" > /etc/apt/apt.conf.d/01proxy"]
71
+ proxy << "echo \"Acquire::https::Proxy \\\"DIRECT\\\";\" >> /etc/apt/apt.conf.d/01proxy"
69
72
  elsif(!options[:template].scan(%r{fedora|centos}).empty?)
70
73
  pkg_man = 'yum'
71
74
  end
@@ -76,6 +79,7 @@ node[:vagabond][:bases].each do |name, options|
76
79
  else
77
80
  pkg_coms = []
78
81
  end
82
+ pkg_coms = proxy + pkg_coms if proxy
79
83
 
80
84
  lxc_container name do
81
85
  template options[:template]
@@ -83,6 +87,8 @@ node[:vagabond][:bases].each do |name, options|
83
87
  default_config false if options[:memory]
84
88
  create_environment options[:environment] if options[:environment]
85
89
  initialize_commands [
90
+ 'locale-gen en_US.UTF-8',
91
+ 'update-locale LANG="en_US.UTF-8"',
86
92
  'rm -f /etc/sysctl.d/10-console-messages.conf',
87
93
  'rm -f /etc/sysctl.d/10-ptrace.conf',
88
94
  'rm -f /etc/sysctl.d/10-kernel-hardening.conf'
@@ -92,6 +98,8 @@ node[:vagabond][:bases].each do |name, options|
92
98
  end
93
99
  end
94
100
 
101
+ =begin
102
+ # TODO: This will be the base for building ephemeral servers
95
103
  lxc_container 'chef-server' do
96
104
  clone 'ubuntu_1204'
97
105
  initialize_commands [
@@ -101,6 +109,7 @@ lxc_container 'chef-server' do
101
109
  node[:vagabond][:server_base]
102
110
  end
103
111
  end
112
+ =end
104
113
 
105
114
  node[:vagabond][:customs].each do |name, options|
106
115
 
@@ -159,10 +159,14 @@ module Vagabond
159
159
  def load_configurations
160
160
  @vagabondfile = Vagabondfile.new(options[:vagabond_file], :allow_missing)
161
161
  options[:sudo] = sudo
162
- options[:disable_solo] = true if @action.to_s == 'status' && lxc_installed?
162
+ # TODO: provide action call back for full or partial solo disable
163
+ if((@action.to_s == 'status' && lxc_installed?) || @action.to_s == 'init')
164
+ options[:disable_solo] = true
165
+ end
163
166
  Chef::Log.init('/dev/null') unless options[:debug]
164
167
  Lxc.use_sudo = @vagabondfile[:sudo].nil? ? true : @vagabondfile[:sudo]
165
168
  @internal_config = InternalConfiguration.new(@vagabondfile, ui, options)
169
+ options[:disable_solo] = false if @action.to_s == 'init'
166
170
  @config = @vagabondfile[:boxes][name]
167
171
  @lxc = Lxc.new(@internal_config[mappings_key][name] || '____nonreal____')
168
172
  if(options[:local_server] && lxc_installed?)
@@ -6,5 +6,5 @@ module Vagabond
6
6
  super(v)
7
7
  end
8
8
  end
9
- VERSION = Version.new('0.2.6', 'gutterpup')
9
+ VERSION = Version.new('0.2.8', 'nomad')
10
10
  end
@@ -0,0 +1,48 @@
1
+ # -*- mode: ruby -*-
2
+ # vi: set ft=ruby :
3
+
4
+ Vagrant.configure("2") do |config|
5
+ config.vm.hostname = "sensu-lxc-host"
6
+ config.vm.box = 'precise-64-lxc-preseed'
7
+ config.vm.box_url = 'http://vagrant.hw-ops.com/precise-64-lxc-preseed.box'
8
+
9
+ if(ENV['ENABLE_APT_PROXY'])
10
+ proxy = [
11
+ "echo \"Acquire::http::Proxy \\\"http://#{ENV['ENABLE_APT_PROXY']}:3142\\\";\" > /etc/apt/apt.conf.d/01proxy",
12
+ "echo \"Acquire::https::Proxy \\\"DIRECT\\\";\" >> /etc/apt/apt.conf.d/01proxy"
13
+ ]
14
+ else
15
+ proxy = []
16
+ end
17
+
18
+
19
+ config.vm.provision :shell do |shell|
20
+ shell.inline = (
21
+ proxy + [
22
+ "lxc-destroy -n ubuntu_1204",
23
+ "apt-get update",
24
+ "apt-get install -y -q ruby1.9.1-full git",
25
+ "gem install --no-ri --no-rdoc bundler",
26
+ "git clone git://github.com/chrisroberts/vagabond-test-cookbook.git",
27
+ "cd vagabond-test-repo",
28
+ "bundle install --binstubs",
29
+ "bin/vagabond kitchen test --debug",
30
+ "bin/vagabond kitchen test --cluster cacher --debug",
31
+ "cd ..",
32
+ "git clone git://github.com/chrisroberts/vagabond-test-repo.git",
33
+ "cd vagabond-test-repo",
34
+ "bundle install --binstubs",
35
+ "bin/vagabond up test_node --debug",
36
+ "bin/vagabond cluster test_cluster --debug",
37
+ "bin/vagabond cluster test_cluster --parallel --debug",
38
+ "bin/vagabond destroy test_cluster --cluster --debug",
39
+ "bin/vagabond server destroy --debug"
40
+ ]
41
+ ).join("\n")
42
+ end
43
+
44
+ config.vm.provider :virtualbox do |vb|
45
+ vb.customize ["modifyvm", :id, "--cpus", "2"]
46
+ vb.customize ["modifyvm", :id, "--memory", "2048"]
47
+ end
48
+ end
Binary file
@@ -19,6 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.add_dependency 'test-kitchen', '>= 1.0.0.alpha'
20
20
  s.add_dependency 'thor'
21
21
  s.add_dependency 'uuidtools'
22
- s.add_dependency 'elecksee', '>= 1.0.3'
22
+ s.add_dependency 'elecksee', '>= 1.0.6'
23
23
  s.add_dependency 'serverspec', '>= 0.6.3'
24
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagabond
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-26 00:00:00.000000000 Z
12
+ date: 2013-06-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: chef
@@ -98,7 +98,7 @@ dependencies:
98
98
  requirements:
99
99
  - - ! '>='
100
100
  - !ruby/object:Gem::Version
101
- version: 1.0.3
101
+ version: 1.0.6
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,7 +106,7 @@ dependencies:
106
106
  requirements:
107
107
  - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
- version: 1.0.3
109
+ version: 1.0.6
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: serverspec
112
112
  requirement: !ruby/object:Gem::Requirement
@@ -173,6 +173,35 @@ files:
173
173
  - lib/vagabond/cookbooks/vagabond/libraries/vagabond.rb
174
174
  - lib/vagabond/cookbooks/vagabond/recipes/default.rb
175
175
  - lib/vagabond/cookbooks/vagabond/recipes/zero.rb
176
+ - lib/vagabond/cookbooks/apt/files/default/apt-proxy-v2.conf
177
+ - lib/vagabond/cookbooks/apt/metadata.rb
178
+ - lib/vagabond/cookbooks/apt/templates/default/01proxy.erb
179
+ - lib/vagabond/cookbooks/apt/templates/default/acng.conf.erb
180
+ - lib/vagabond/cookbooks/apt/templates/debian-6.0/acng.conf.erb
181
+ - lib/vagabond/cookbooks/apt/templates/ubuntu-10.04/acng.conf.erb
182
+ - lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/files/default/tests/minitest/cacher-ng_test.rb
183
+ - lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/files/default/tests/minitest/lwrps_test.rb
184
+ - lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/files/default/tests/minitest/default_test.rb
185
+ - lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/files/default/tests/minitest/support/helpers.rb
186
+ - lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/metadata.rb
187
+ - lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/README.md
188
+ - lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/recipes/default.rb
189
+ - lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/recipes/cacher-ng.rb
190
+ - lib/vagabond/cookbooks/apt/test/cookbooks/apt_test/recipes/lwrps.rb
191
+ - lib/vagabond/cookbooks/apt/Berksfile
192
+ - lib/vagabond/cookbooks/apt/attributes/default.rb
193
+ - lib/vagabond/cookbooks/apt/README.md
194
+ - lib/vagabond/cookbooks/apt/LICENSE
195
+ - lib/vagabond/cookbooks/apt/CONTRIBUTING
196
+ - lib/vagabond/cookbooks/apt/providers/repository.rb
197
+ - lib/vagabond/cookbooks/apt/providers/preference.rb
198
+ - lib/vagabond/cookbooks/apt/TESTING.md
199
+ - lib/vagabond/cookbooks/apt/resources/repository.rb
200
+ - lib/vagabond/cookbooks/apt/resources/preference.rb
201
+ - lib/vagabond/cookbooks/apt/CHANGELOG.md
202
+ - lib/vagabond/cookbooks/apt/recipes/default.rb
203
+ - lib/vagabond/cookbooks/apt/recipes/cacher-ng.rb
204
+ - lib/vagabond/cookbooks/apt/recipes/cacher-client.rb
176
205
  - lib/vagabond/errors.rb
177
206
  - lib/vagabond/server.rb
178
207
  - lib/vagabond/kitchen.rb
@@ -206,9 +235,12 @@ files:
206
235
  - lib/vagabond/actions/ssh.rb
207
236
  - lib/vagabond/uploader.rb
208
237
  - lib/vagabond.rb
238
+ - test/Vagrantfile
239
+ - vagabond-0.2.6.gem
209
240
  - README.md
210
241
  - LICENSE
211
242
  - vagabond.gemspec
243
+ - Vagrantfile
212
244
  - bin/vagabond
213
245
  - USAGE.md
214
246
  - CHANGELOG.md