dev-lxc 1.3.1 → 1.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 21945c23e47ac1accdf2ca5b7306d1cd17432c48
4
- data.tar.gz: d2f766cc7eb50e63054c990fc390548fb0867f6e
3
+ metadata.gz: fea4ad6ddf4d00a8b9ae50752739377968e9148e
4
+ data.tar.gz: e3690d903aa0ddd0fc4ec5fc82432684293e57a9
5
5
  SHA512:
6
- metadata.gz: 97e7697f28fe8aaa171d3741789c6435e8f0cbb6639f43b4ffbd3fdf6a1a5f8fd8b195a606d2405a509cde5420c1457803f555a5755a0a1ab07ba4e709bfcfe0
7
- data.tar.gz: 6d4fd975ac261a43405b18ae6ce4ec2045608810f40f9cdf2507dc63cbb25f6144cbf92dd4ba181f0f209623bc28b2bb52c673d9e77aeb617d065d535b94e48f
6
+ metadata.gz: 091700cdc50e548222eff1ddd74a627075624d906a9e3efb04c05dfd92a5c67783e5370baed064888384fda2ed932a8f6cc64a4b8f6e033eb5b7f89fbbb8d683
7
+ data.tar.gz: e72904c833aa229875e06499a843d674ca64608a0f2bf8efeb266252a704f6f97049dcc001fcb7c34e3574866b8fd2698a2115c3e27d4738ab7af072d8802fef
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # dev-lxc Change Log
2
2
 
3
+ ## 1.4.0 (2015-12-08)
4
+
5
+ * Add ability to build and use Ubuntu 15.04 and Centos 7 platform containers
6
+
7
+ * Update versions of Chef packages
8
+
9
+ * Refactor removal of container config's mount entries
10
+
3
11
  ## 1.3.1 (2015-05-21)
4
12
 
5
13
  * Allow adhoc servers time to generate SSH Server Host Keys
data/README.md CHANGED
@@ -490,7 +490,7 @@ dev-lxc init
490
490
 
491
491
  ```
492
492
  ## platform_image can be one of the following:
493
- ## p-centos-5, p-centos-6, p-ubuntu-1204 or p-ubuntu-1404
493
+ ## p-centos-5, p-centos-6, p-centos-7, p-ubuntu-1204, p-ubuntu-1404 or p-ubuntu-1504
494
494
 
495
495
  ## Make sure a mount's source directory exists in the LXC host
496
496
 
@@ -508,9 +508,9 @@ chef-server:
508
508
  mounts:
509
509
  - /root/dev root/dev
510
510
  packages:
511
- server: /root/dev/chef-packages/cs/chef-server-core_12.0.7-1_amd64.deb
512
- manage: /root/dev/chef-packages/manage/opscode-manage_1.11.2-1_amd64.deb
513
- # reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.2.3-1_amd64.deb
511
+ server: /root/dev/chef-packages/cs/chef-server-core_12.3.1-1_amd64.deb
512
+ manage: /root/dev/chef-packages/manage/chef-manage_2.1.1-1_amd64.deb
513
+ # reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.5.5-1_amd64.deb
514
514
  # push-jobs-server: /root/dev/chef-packages/push-jobs-server/opscode-push-jobs-server_1.1.6-1_amd64.deb
515
515
  # sync: /root/dev/chef-packages/sync/chef-sync_1.0.0~rc.6-1_amd64.deb
516
516
 
@@ -536,7 +536,7 @@ analytics:
536
536
  mounts:
537
537
  - /root/dev root/dev
538
538
  packages:
539
- analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.1.2-1_amd64.deb
539
+ analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.2.0-1_amd64.deb
540
540
 
541
541
  analytics_fqdn: analytics.lxc
542
542
  topology: tier
@@ -1,5 +1,5 @@
1
1
  ## platform_image can be one of the following:
2
- ## p-centos-5, p-centos-6, p-ubuntu-1204 or p-ubuntu-1404
2
+ ## p-centos-5, p-centos-6, p-centos-7, p-ubuntu-1204, p-ubuntu-1404 or p-ubuntu-1504
3
3
 
4
4
  ## Make sure a mount's source directory exists in the LXC host
5
5
 
@@ -1,5 +1,5 @@
1
1
  ## platform_image can be one of the following:
2
- ## p-centos-5, p-centos-6, p-ubuntu-1204 or p-ubuntu-1404
2
+ ## p-centos-5, p-centos-6, p-centos-7, p-ubuntu-1204, p-ubuntu-1404 or p-ubuntu-1504
3
3
 
4
4
  ## Make sure a mount's source directory exists in the LXC host
5
5
 
@@ -1,5 +1,5 @@
1
1
  ## platform_image can be one of the following:
2
- ## p-centos-5, p-centos-6, p-ubuntu-1204 or p-ubuntu-1404
2
+ ## p-centos-5, p-centos-6, p-centos-7, p-ubuntu-1204, p-ubuntu-1404 or p-ubuntu-1504
3
3
 
4
4
  ## Make sure a mount's source directory exists in the LXC host
5
5
 
@@ -17,9 +17,9 @@ chef-server:
17
17
  mounts:
18
18
  - /root/dev root/dev
19
19
  packages:
20
- server: /root/dev/chef-packages/cs/chef-server-core_12.0.8-1_amd64.deb
21
- manage: /root/dev/chef-packages/manage/opscode-manage_1.13.0-1_amd64.deb
22
- # reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.3.0-1_amd64.deb
20
+ server: /root/dev/chef-packages/cs/chef-server-core_12.3.1-1_amd64.deb
21
+ manage: /root/dev/chef-packages/manage/chef-manage_2.1.1-1_amd64.deb
22
+ # reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.5.5-1_amd64.deb
23
23
  # push-jobs-server: /root/dev/chef-packages/push-jobs-server/opscode-push-jobs-server_1.1.6-1_amd64.deb
24
24
  # sync: /root/dev/chef-packages/sync/chef-sync_1.0.0~rc.6-1_amd64.deb
25
25
 
@@ -37,7 +37,7 @@ analytics:
37
37
  mounts:
38
38
  - /root/dev root/dev
39
39
  packages:
40
- analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.1.3-1_amd64.deb
40
+ analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.2.0-1_amd64.deb
41
41
 
42
42
  analytics_fqdn: analytics.lxc
43
43
  topology: standalone
@@ -1,5 +1,5 @@
1
1
  ## platform_image can be one of the following:
2
- ## p-centos-5, p-centos-6, p-ubuntu-1204 or p-ubuntu-1404
2
+ ## p-centos-5, p-centos-6, p-centos-7, p-ubuntu-1204, p-ubuntu-1404 or p-ubuntu-1504
3
3
 
4
4
  ## Make sure a mount's source directory exists in the LXC host
5
5
 
@@ -17,9 +17,9 @@ chef-server:
17
17
  mounts:
18
18
  - /root/dev root/dev
19
19
  packages:
20
- server: /root/dev/chef-packages/cs/chef-server-core_12.0.8-1_amd64.deb
21
- manage: /root/dev/chef-packages/manage/opscode-manage_1.13.0-1_amd64.deb
22
- # reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.3.0-1_amd64.deb
20
+ server: /root/dev/chef-packages/cs/chef-server-core_12.3.1-1_amd64.deb
21
+ manage: /root/dev/chef-packages/manage/chef-manage_2.1.1-1_amd64.deb
22
+ # reporting: /root/dev/chef-packages/reporting/opscode-reporting_1.5.5-1_amd64.deb
23
23
  # push-jobs-server: /root/dev/chef-packages/push-jobs-server/opscode-push-jobs-server_1.1.6-1_amd64.deb
24
24
  # sync: /root/dev/chef-packages/sync/chef-sync_1.0.0~rc.6-1_amd64.deb
25
25
 
@@ -45,7 +45,7 @@ analytics:
45
45
  mounts:
46
46
  - /root/dev root/dev
47
47
  packages:
48
- analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.1.3-1_amd64.deb
48
+ analytics: /root/dev/chef-packages/analytics/opscode-analytics_1.2.0-1_amd64.deb
49
49
 
50
50
  analytics_fqdn: analytics.lxc
51
51
  topology: tier
data/lib/dev-lxc/cli.rb CHANGED
@@ -28,7 +28,7 @@ module DevLXC::CLI
28
28
  desc "create [PLATFORM_IMAGE_NAME]", "Create a platform image"
29
29
  def create(platform_image_name=nil)
30
30
  start_time = Time.now
31
- platform_image_names = %w(p-ubuntu-1204 p-ubuntu-1404 p-centos-5 p-centos-6)
31
+ platform_image_names = %w(p-ubuntu-1204 p-ubuntu-1404 p-ubuntu-1504 p-centos-5 p-centos-6 p-centos-7)
32
32
  if platform_image_name.nil? || ! platform_image_names.include?(platform_image_name)
33
33
  platform_image_names_with_index = platform_image_names.map.with_index{ |a, i| [i+1, *a]}
34
34
  print_table platform_image_names_with_index
@@ -47,7 +47,10 @@ module DevLXC
47
47
  existing_mounts = self.config_item("lxc.mount.entry")
48
48
  unless existing_mounts.nil?
49
49
  preserved_mounts = existing_mounts.delete_if { |m| m.end_with?("## dev-lxc ##") }
50
- self.clear_config_item('lxc.mount.entries')
50
+ # self.clear_config_item('lxc.mount.entries') doesn't work as of liblxc 1.1.2 and at least up to 1.1.5-0ubuntu3~ubuntu15.04.1~ppa1
51
+ DevLXC.search_file_delete_line(self.config_file_name, /^lxc.mount.entry/)
52
+ self.clear_config
53
+ self.load_config
51
54
  self.set_config_item("lxc.mount.entry", preserved_mounts)
52
55
  end
53
56
  mounts.each do |mount|
@@ -1,3 +1,3 @@
1
1
  module DevLXC
2
- VERSION = "1.3.1"
2
+ VERSION = "1.4.0"
3
3
  end
data/lib/dev-lxc.rb CHANGED
@@ -20,10 +20,21 @@ module DevLXC
20
20
  platform_image.create("download", "btrfs", {}, 0, ["-d", "ubuntu", "-r", "precise", "-a", "amd64"])
21
21
  when "p-ubuntu-1404"
22
22
  platform_image.create("download", "btrfs", {}, 0, ["-d", "ubuntu", "-r", "trusty", "-a", "amd64"])
23
+ when "p-ubuntu-1504"
24
+ platform_image.create("download", "btrfs", {}, 0, ["-d", "ubuntu", "-r", "vivid", "-a", "amd64"])
23
25
  when "p-centos-5"
24
26
  platform_image.create("centos", "btrfs", {}, 0, ["-R", "5"])
25
27
  when "p-centos-6"
26
28
  platform_image.create("download", "btrfs", {}, 0, ["-d", "centos", "-r", "6", "-a", "amd64"])
29
+ when "p-centos-7"
30
+ platform_image.create("download", "btrfs", {}, 0, ["-d", "centos", "-r", "7", "-a", "amd64"])
31
+ # Centos 7 needs setpcap capabilities
32
+ # ref: https://bugzilla.redhat.com/show_bug.cgi?id=1176816
33
+ # ref: https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1339781
34
+ # ref: http://vfamilyserver.org/blog/2015/05/centos-7-lxc-container-slow-boot/
35
+ DevLXC.search_file_replace(platform_image.config_file_name, /centos.common.conf/, 'fedora.common.conf')
36
+ platform_image.clear_config
37
+ platform_image.load_config
27
38
  end
28
39
  unless platform_image.config_item("lxc.mount.auto").nil?
29
40
  platform_image.set_config_item("lxc.mount.auto", "proc:rw sys:rw")
@@ -43,12 +54,19 @@ module DevLXC
43
54
  end
44
55
  platform_image.run_command("apt-get update")
45
56
  platform_image.run_command("apt-get install -y standard^ server^ vim-nox emacs23-nox curl tree openssh-server")
46
- IO.write("#{platform_image.config_item('lxc.rootfs')}/etc/rc.local", "/usr/sbin/dpkg-reconfigure openssh-server\n")
57
+ IO.write("#{platform_image.config_item('lxc.rootfs')}/etc/rc.local", "#!/usr/bin/env bash\n\n/usr/sbin/dpkg-reconfigure openssh-server\n")
47
58
  FileUtils.chmod(0755, "#{platform_image.config_item('lxc.rootfs')}/etc/rc.local")
48
59
  when "p-ubuntu-1204", "p-ubuntu-1404"
49
60
  platform_image.run_command("apt-get update")
50
61
  platform_image.run_command("apt-get install -y standard^ server^ vim-nox emacs23-nox tree openssh-server")
51
- IO.write("#{platform_image.config_item('lxc.rootfs')}/etc/rc.local", "/usr/sbin/dpkg-reconfigure openssh-server\n")
62
+ IO.write("#{platform_image.config_item('lxc.rootfs')}/etc/rc.local", "#!/usr/bin/env bash\n\n/usr/sbin/dpkg-reconfigure openssh-server\n")
63
+ FileUtils.chmod(0755, "#{platform_image.config_item('lxc.rootfs')}/etc/rc.local")
64
+ when "p-ubuntu-1504"
65
+ platform_image.run_command("apt-get update")
66
+ # install policykit-1 first Ref: https://bugs.launchpad.net/ubuntu/+source/policykit-1/+bug/1447654/
67
+ platform_image.run_command("apt-get install -y policykit-1")
68
+ platform_image.run_command("apt-get install -y standard^ server^ vim-nox emacs24-nox tree openssh-server")
69
+ IO.write("#{platform_image.config_item('lxc.rootfs')}/etc/rc.local", "#!/usr/bin/env bash\n\n/usr/sbin/dpkg-reconfigure openssh-server\n")
52
70
  FileUtils.chmod(0755, "#{platform_image.config_item('lxc.rootfs')}/etc/rc.local")
53
71
  when "p-centos-5"
54
72
  # downgrade openssl temporarily to overcome an install bug
@@ -60,6 +78,8 @@ module DevLXC
60
78
  append_line_to_file("#{platform_image.config_item('lxc.rootfs')}/etc/sudoers", "\n#includedir /etc/sudoers.d\n")
61
79
  when "p-centos-6"
62
80
  platform_image.run_command("yum install -y @base @core vim-enhanced emacs-nox tree openssh-server")
81
+ when "p-centos-7"
82
+ platform_image.run_command("yum install -y @base @core vim-enhanced emacs-nox tree openssh-server")
63
83
  end
64
84
  platform_image.run_command("useradd --create-home --shell /bin/bash --password $6$q3FDMpMZ$zfahCxEWHbzuEV98QPzhGZ7fLtGcLNZrbKK7OAYGXmJXZc07WbcxVnDwrMyX/cL6vSp4/IjlrVUZFBp7Orhyu1 dev-lxc")
65
85
 
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.3.1
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremiah Snapp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-21 00:00:00.000000000 Z
11
+ date: 2015-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  version: '0'
113
113
  requirements: []
114
114
  rubyforge_project:
115
- rubygems_version: 2.4.4
115
+ rubygems_version: 2.4.8
116
116
  signing_key:
117
117
  specification_version: 4
118
118
  summary: A tool for creating Chef server clusters using LXC containers