dev-lxc 1.5.0 → 1.5.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +11 -4
- data/files/configs/adhoc.yml +5 -0
- data/files/configs/open-source.yml +5 -0
- data/files/configs/standalone.yml +9 -4
- data/files/configs/tier.yml +9 -4
- data/lib/dev-lxc/cli.rb +2 -1
- data/lib/dev-lxc/server.rb +4 -3
- data/lib/dev-lxc/version.rb +1 -1
- data/lib/dev-lxc.rb +14 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: adb1cdf6e7713709e685315f22141444da1bd719
|
4
|
+
data.tar.gz: cf3f3f6ee779b6f28a3b59c9f598b407a5c17072
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dfc37aab34c3fda3b8dcb78512308479e3491453b337174e4729d7de1f2d8c2c2f325dabf226629a9f16e5619dadb18d37b843ace3a835bae473efca1f2ed5c4
|
7
|
+
data.tar.gz: 5ac66bb4a2669895356442ecc5c5e58f97d36d10cc3845c1008716d2353fb401e62c38ef00620253dbebcc79317051bcb5ae12f9efa44acd5754c6315a037380
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# dev-lxc Change Log
|
2
2
|
|
3
|
+
## 1.5.1 (2015-04-15)
|
4
|
+
|
5
|
+
* Add ability to pass options to LXC create calls
|
6
|
+
For example, this lets users pass the following options for more control over the creation process.
|
7
|
+
https://github.com/lxc/lxc/blob/lxc-2.0.0/templates/lxc-download.in#L200-L207
|
8
|
+
|
3
9
|
## 1.5.0 (2015-04-14)
|
4
10
|
|
5
11
|
* Set lxc.network.hwaddr, if one doesn’t exist, instead of lxc.network.0.hwaddr
|
data/README.md
CHANGED
@@ -393,6 +393,13 @@ an Ubuntu 14.04 image now.
|
|
393
393
|
dev-lxc create p-ubuntu-1404
|
394
394
|
```
|
395
395
|
|
396
|
+
Note: It is possible to pass additional arguments to the underlying LXC create command.
|
397
|
+
For example:
|
398
|
+
|
399
|
+
```
|
400
|
+
dev-lxc create p-ubuntu-1404 -o -- '--no-validate --keyserver http://my.key.server.com'
|
401
|
+
```
|
402
|
+
|
396
403
|
#### Install Chef Client in a Container
|
397
404
|
|
398
405
|
Use the `-v` option to specify a particular version of Chef Client.
|
@@ -507,9 +514,9 @@ chef-server:
|
|
507
514
|
mounts:
|
508
515
|
- /root/dev root/dev
|
509
516
|
packages:
|
510
|
-
server: /root/dev/chef-packages/cs/chef-server-core_12.
|
511
|
-
manage: /root/dev/chef-packages/manage/chef-manage_2.
|
512
|
-
# reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.5.
|
517
|
+
server: /root/dev/chef-packages/cs/chef-server-core_12.5.0-1_amd64.deb
|
518
|
+
manage: /root/dev/chef-packages/manage/chef-manage_2.2.1-1_amd64.deb
|
519
|
+
# reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.5.6-1_amd64.deb
|
513
520
|
# push-jobs-server: /root/dev/chef-packages/push-jobs-server/opscode-push-jobs-server_1.1.6-1_amd64.deb
|
514
521
|
|
515
522
|
api_fqdn: chef.lxc
|
@@ -531,7 +538,7 @@ analytics:
|
|
531
538
|
mounts:
|
532
539
|
- /root/dev root/dev
|
533
540
|
packages:
|
534
|
-
analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.
|
541
|
+
analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.3.1-1_amd64.deb
|
535
542
|
|
536
543
|
analytics_fqdn: analytics.lxc
|
537
544
|
topology: tier
|
data/files/configs/adhoc.yml
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
## platform_image can be one of the following:
|
2
2
|
## p-centos-5, p-centos-6, p-centos-7, p-ubuntu-1204, p-ubuntu-1404 or p-ubuntu-1504
|
3
3
|
|
4
|
+
## platform_image_options can be set to provide additional arguments to the LXC create command.
|
5
|
+
## reference arg examples: https://github.com/lxc/lxc/blob/lxc-2.0.0/templates/lxc-download.in#L200-L207
|
6
|
+
## for example:
|
7
|
+
## platform_image_options: --no-validate --keyserver http://my.key.server.com
|
8
|
+
|
4
9
|
## Make sure a mount's source directory exists in the LXC host
|
5
10
|
|
6
11
|
## Make sure a package's path is correct
|
@@ -1,6 +1,11 @@
|
|
1
1
|
## platform_image can be one of the following:
|
2
2
|
## p-centos-5, p-centos-6, p-centos-7, p-ubuntu-1204, p-ubuntu-1404 or p-ubuntu-1504
|
3
3
|
|
4
|
+
## platform_image_options can be set to provide additional arguments to the LXC create command.
|
5
|
+
## reference arg examples: https://github.com/lxc/lxc/blob/lxc-2.0.0/templates/lxc-download.in#L200-L207
|
6
|
+
## for example:
|
7
|
+
## platform_image_options: --no-validate --keyserver http://my.key.server.com
|
8
|
+
|
4
9
|
## Make sure a mount's source directory exists in the LXC host
|
5
10
|
|
6
11
|
## Make sure a package's path is correct
|
@@ -1,6 +1,11 @@
|
|
1
1
|
## platform_image can be one of the following:
|
2
2
|
## p-centos-5, p-centos-6, p-centos-7, p-ubuntu-1204, p-ubuntu-1404 or p-ubuntu-1504
|
3
3
|
|
4
|
+
## platform_image_options can be set to provide additional arguments to the LXC create command.
|
5
|
+
## reference arg examples: https://github.com/lxc/lxc/blob/lxc-2.0.0/templates/lxc-download.in#L200-L207
|
6
|
+
## for example:
|
7
|
+
## platform_image_options: --no-validate --keyserver http://my.key.server.com
|
8
|
+
|
4
9
|
## Make sure a mount's source directory exists in the LXC host
|
5
10
|
|
6
11
|
## Make sure a package's path is correct
|
@@ -17,9 +22,9 @@ chef-server:
|
|
17
22
|
mounts:
|
18
23
|
- /root/dev root/dev
|
19
24
|
packages:
|
20
|
-
server: /root/dev/chef-packages/cs/chef-server-core_12.
|
21
|
-
manage: /root/dev/chef-packages/manage/chef-manage_2.
|
22
|
-
# reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.5.
|
25
|
+
server: /root/dev/chef-packages/cs/chef-server-core_12.5.0-1_amd64.deb
|
26
|
+
manage: /root/dev/chef-packages/manage/chef-manage_2.2.1-1_amd64.deb
|
27
|
+
# reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.5.6-1_amd64.deb
|
23
28
|
# push-jobs-server: /root/dev/chef-packages/push-jobs-server/opscode-push-jobs-server_1.1.6-1_amd64.deb
|
24
29
|
|
25
30
|
api_fqdn: chef.lxc
|
@@ -33,7 +38,7 @@ analytics:
|
|
33
38
|
mounts:
|
34
39
|
- /root/dev root/dev
|
35
40
|
packages:
|
36
|
-
analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.
|
41
|
+
analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.3.1-1_amd64.deb
|
37
42
|
|
38
43
|
analytics_fqdn: analytics.lxc
|
39
44
|
topology: standalone
|
data/files/configs/tier.yml
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
## platform_image can be one of the following:
|
2
2
|
## p-centos-5, p-centos-6, p-centos-7, p-ubuntu-1204, p-ubuntu-1404 or p-ubuntu-1504
|
3
3
|
|
4
|
+
## platform_image_options can be set to provide additional arguments to the LXC create command.
|
5
|
+
## reference arg examples: https://github.com/lxc/lxc/blob/lxc-2.0.0/templates/lxc-download.in#L200-L207
|
6
|
+
## for example:
|
7
|
+
## platform_image_options: --no-validate --keyserver http://my.key.server.com
|
8
|
+
|
4
9
|
## Make sure a mount's source directory exists in the LXC host
|
5
10
|
|
6
11
|
## Make sure a package's path is correct
|
@@ -17,9 +22,9 @@ chef-server:
|
|
17
22
|
mounts:
|
18
23
|
- /root/dev root/dev
|
19
24
|
packages:
|
20
|
-
server: /root/dev/chef-packages/cs/chef-server-core_12.
|
21
|
-
manage: /root/dev/chef-packages/manage/chef-manage_2.
|
22
|
-
# reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.5.
|
25
|
+
server: /root/dev/chef-packages/cs/chef-server-core_12.5.0-1_amd64.deb
|
26
|
+
manage: /root/dev/chef-packages/manage/chef-manage_2.2.1-1_amd64.deb
|
27
|
+
# reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.5.6-1_amd64.deb
|
23
28
|
# push-jobs-server: /root/dev/chef-packages/push-jobs-server/opscode-push-jobs-server_1.1.6-1_amd64.deb
|
24
29
|
|
25
30
|
api_fqdn: chef.lxc
|
@@ -41,7 +46,7 @@ analytics:
|
|
41
46
|
mounts:
|
42
47
|
- /root/dev root/dev
|
43
48
|
packages:
|
44
|
-
analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.
|
49
|
+
analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.3.1-1_amd64.deb
|
45
50
|
|
46
51
|
analytics_fqdn: analytics.lxc
|
47
52
|
topology: tier
|
data/lib/dev-lxc/cli.rb
CHANGED
@@ -26,6 +26,7 @@ module DevLXC::CLI
|
|
26
26
|
}
|
27
27
|
|
28
28
|
desc "create [PLATFORM_IMAGE_NAME]", "Create a platform image"
|
29
|
+
option :options, :aliases => "-o", :desc => "Specify additional options for the lxc create"
|
29
30
|
def create(platform_image_name=nil)
|
30
31
|
start_time = Time.now
|
31
32
|
platform_image_names = %w(p-ubuntu-1204 p-ubuntu-1404 p-ubuntu-1504 p-centos-5 p-centos-6 p-centos-7)
|
@@ -35,7 +36,7 @@ module DevLXC::CLI
|
|
35
36
|
selection = ask("Which platform image do you want to create?", :limited_to => platform_image_names_with_index.map{|c| c[0].to_s})
|
36
37
|
platform_image_name = platform_image_names[selection.to_i - 1]
|
37
38
|
end
|
38
|
-
::DevLXC.create_platform_image(platform_image_name)
|
39
|
+
::DevLXC.create_platform_image(platform_image_name, options[:options])
|
39
40
|
puts
|
40
41
|
print_elapsed_time(Time.now - start_time)
|
41
42
|
end
|
data/lib/dev-lxc/server.rb
CHANGED
@@ -3,7 +3,7 @@ require "dev-lxc/cluster"
|
|
3
3
|
|
4
4
|
module DevLXC
|
5
5
|
class Server
|
6
|
-
attr_reader :server, :platform_image_name, :shared_image_name
|
6
|
+
attr_reader :server, :platform_image_name, :platform_image_options, :shared_image_name
|
7
7
|
|
8
8
|
def initialize(name, server_type, cluster_config)
|
9
9
|
unless cluster_config[server_type]["servers"].keys.include?(name)
|
@@ -26,6 +26,7 @@ module DevLXC
|
|
26
26
|
@role = @config["role"] ? @config["role"] : cluster_config[@server_type]['topology']
|
27
27
|
@mounts = cluster_config[@server_type]["mounts"]
|
28
28
|
@platform_image_name = cluster_config[@server_type]["platform_image"]
|
29
|
+
@platform_image_options = cluster_config[@server_type]["platform_image_options"]
|
29
30
|
@packages = cluster_config[@server_type]["packages"]
|
30
31
|
|
31
32
|
case @server_type
|
@@ -163,7 +164,7 @@ module DevLXC
|
|
163
164
|
else
|
164
165
|
puts "Creating container '#{@server.name}'"
|
165
166
|
if @server_type == 'adhoc'
|
166
|
-
platform_image = DevLXC.create_platform_image(@platform_image_name, @lxc_config_path)
|
167
|
+
platform_image = DevLXC.create_platform_image(@platform_image_name, @platform_image_options, @lxc_config_path)
|
167
168
|
puts "Cloning platform image '#{platform_image.name}' into container '#{@server.name}'"
|
168
169
|
platform_image.clone(@server.name, {:flags => LXC::LXC_CLONE_SNAPSHOT})
|
169
170
|
else
|
@@ -232,7 +233,7 @@ module DevLXC
|
|
232
233
|
puts "Using existing shared image '#{shared_image.name}'"
|
233
234
|
return shared_image
|
234
235
|
end
|
235
|
-
platform_image = DevLXC.create_platform_image(@platform_image_name, @lxc_config_path)
|
236
|
+
platform_image = DevLXC.create_platform_image(@platform_image_name, @platform_image_options, @lxc_config_path)
|
236
237
|
puts "Cloning platform image '#{platform_image.name}' into shared image '#{shared_image.name}'"
|
237
238
|
platform_image.clone(shared_image.name, {:flags => LXC::LXC_CLONE_SNAPSHOT})
|
238
239
|
shared_image = DevLXC::Container.new(shared_image.name, @lxc_config_path)
|
data/lib/dev-lxc/version.rb
CHANGED
data/lib/dev-lxc.rb
CHANGED
@@ -6,28 +6,34 @@ require "dev-lxc/server"
|
|
6
6
|
require "dev-lxc/cluster"
|
7
7
|
|
8
8
|
module DevLXC
|
9
|
-
def self.create_platform_image(platform_image_name, lxc_config_path='/var/lib/lxc')
|
9
|
+
def self.create_platform_image(platform_image_name, platform_image_options, lxc_config_path='/var/lib/lxc')
|
10
10
|
platform_image = DevLXC::Container.new(platform_image_name, lxc_config_path)
|
11
11
|
if platform_image.defined?
|
12
12
|
puts "Using existing platform image '#{platform_image.name}'"
|
13
13
|
return platform_image
|
14
14
|
end
|
15
15
|
puts "Creating platform image '#{platform_image.name}'"
|
16
|
+
template = "download"
|
16
17
|
case platform_image.name
|
17
18
|
when "p-ubuntu-1004"
|
18
|
-
|
19
|
+
options = ["-d", "ubuntu", "-r", "lucid", "-a", "amd64"]
|
19
20
|
when "p-ubuntu-1204"
|
20
|
-
|
21
|
+
options = ["-d", "ubuntu", "-r", "precise", "-a", "amd64"]
|
21
22
|
when "p-ubuntu-1404"
|
22
|
-
|
23
|
+
options = ["-d", "ubuntu", "-r", "trusty", "-a", "amd64"]
|
23
24
|
when "p-ubuntu-1504"
|
24
|
-
|
25
|
+
options = ["-d", "ubuntu", "-r", "vivid", "-a", "amd64"]
|
25
26
|
when "p-centos-5"
|
26
|
-
|
27
|
+
template = "centos"
|
28
|
+
options = ["-R", "5"]
|
27
29
|
when "p-centos-6"
|
28
|
-
|
30
|
+
options = ["-d", "centos", "-r", "6", "-a", "amd64"]
|
29
31
|
when "p-centos-7"
|
30
|
-
|
32
|
+
options = ["-d", "centos", "-r", "7", "-a", "amd64"]
|
33
|
+
end
|
34
|
+
options.concat(platform_image_options.split) unless platform_image_options.nil?
|
35
|
+
platform_image.create(template, "btrfs", {}, 0, options)
|
36
|
+
if platform_image.name == "p-centos-7"
|
31
37
|
# Centos 7 needs setpcap capabilities
|
32
38
|
# ref: https://bugzilla.redhat.com/show_bug.cgi?id=1176816
|
33
39
|
# ref: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1339781
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dev-lxc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremiah Snapp
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|