lib/dev-lxc.rb in dev-lxc-0.5.0 vs lib/dev-lxc.rb in dev-lxc-0.6.0

- old
+ new

@@ -1,62 +1,62 @@ require "fileutils" require "digest/sha1" require "lxc" require "dev-lxc/container" -require "dev-lxc/chef-server" -require "dev-lxc/chef-cluster" +require "dev-lxc/server" +require "dev-lxc/cluster" module DevLXC - def self.create_platform_container(platform_container_name) - platform_container = DevLXC::Container.new(platform_container_name) - if platform_container.defined? - puts "Using existing platform container #{platform_container.name}" - return platform_container + def self.create_platform_image(platform_image_name) + platform_image = DevLXC::Container.new(platform_image_name) + if platform_image.defined? + puts "Using existing platform image #{platform_image.name}" + return platform_image end - puts "Creating platform container #{platform_container.name}" - case platform_container.name + puts "Creating platform image #{platform_image.name}" + case platform_image.name when "p-ubuntu-1004" - platform_container.create("download", "btrfs", 0, ["-d", "ubuntu", "-r", "lucid", "-a", "amd64"]) + platform_image.create("download", "btrfs", {}, 0, ["-d", "ubuntu", "-r", "lucid", "-a", "amd64"]) when "p-ubuntu-1204" - platform_container.create("download", "btrfs", 0, ["-d", "ubuntu", "-r", "precise", "-a", "amd64"]) + platform_image.create("download", "btrfs", {}, 0, ["-d", "ubuntu", "-r", "precise", "-a", "amd64"]) when "p-ubuntu-1404" - platform_container.create("download", "btrfs", 0, ["-d", "ubuntu", "-r", "trusty", "-a", "amd64"]) + platform_image.create("download", "btrfs", {}, 0, ["-d", "ubuntu", "-r", "trusty", "-a", "amd64"]) when "p-centos-5" - platform_container.create("centos", "btrfs", 0, ["-R", "5"]) + platform_image.create("centos", "btrfs", {}, 0, ["-R", "5"]) when "p-centos-6" - platform_container.create("download", "btrfs", 0, ["-d", "centos", "-r", "6", "-a", "amd64"]) + platform_image.create("download", "btrfs", {}, 0, ["-d", "centos", "-r", "6", "-a", "amd64"]) end - unless platform_container.config_item("lxc.mount.auto").empty? - platform_container.set_config_item("lxc.mount.auto", "proc:rw sys:rw") + unless platform_image.config_item("lxc.mount.auto").nil? + platform_image.set_config_item("lxc.mount.auto", "proc:rw sys:rw") end hwaddr = '00:16:3e:' + Digest::SHA1.hexdigest(Time.now.to_s).slice(0..5).unpack('a2a2a2').join(':') - puts "Setting #{platform_container.name} platform container's lxc.network.0.hwaddr to #{hwaddr}" - platform_container.set_config_item("lxc.network.0.hwaddr", hwaddr) - platform_container.save_config - platform_container.start - puts "Installing packages in platform container #{platform_container.name}" - case platform_container.name + puts "Setting #{platform_image.name} platform image's lxc.network.0.hwaddr to #{hwaddr}" + platform_image.set_config_item("lxc.network.0.hwaddr", hwaddr) + platform_image.save_config + platform_image.start + puts "Installing packages in platform image #{platform_image.name}" + case platform_image.name when "p-ubuntu-1004" # Disable certain sysctl.d files in Ubuntu 10.04, they cause `start procps` to fail - if File.exist?("#{platform_container.config_item('lxc.rootfs')}/etc/sysctl.d/10-console-messages.conf") - FileUtils.mv("#{platform_container.config_item('lxc.rootfs')}/etc/sysctl.d/10-console-messages.conf", - "#{platform_container.config_item('lxc.rootfs')}/etc/sysctl.d/10-console-messages.conf.orig") + if File.exist?("#{platform_image.config_item('lxc.rootfs')}/etc/sysctl.d/10-console-messages.conf") + FileUtils.mv("#{platform_image.config_item('lxc.rootfs')}/etc/sysctl.d/10-console-messages.conf", + "#{platform_image.config_item('lxc.rootfs')}/etc/sysctl.d/10-console-messages.conf.orig") end - platform_container.run_command("apt-get update") - platform_container.run_command("apt-get install -y standard^ server^ vim-nox emacs23-nox curl tree") + platform_image.run_command("apt-get update") + platform_image.run_command("apt-get install -y standard^ server^ vim-nox emacs23-nox curl tree") when "p-ubuntu-1204", "p-ubuntu-1404" - platform_container.run_command("apt-get update") - platform_container.run_command("apt-get install -y standard^ server^ vim-nox emacs23-nox tree") + platform_image.run_command("apt-get update") + platform_image.run_command("apt-get install -y standard^ server^ vim-nox emacs23-nox tree") when "p-centos-5" # downgrade openssl temporarily to overcome an install bug # reference: http://www.hack.net.br/blog/2014/02/12/openssl-conflicts-with-file-from-package-openssl/ - platform_container.run_command("yum downgrade -y openssl") - platform_container.run_command("yum install -y @base @core vim-enhanced emacs-nox tree") + platform_image.run_command("yum downgrade -y openssl") + platform_image.run_command("yum install -y @base @core vim-enhanced emacs-nox tree") when "p-centos-6" - platform_container.run_command("yum install -y @base @core vim-enhanced emacs-nox tree") + platform_image.run_command("yum install -y @base @core vim-enhanced emacs-nox tree") end - platform_container.stop - return platform_container + platform_image.stop + return platform_image end def self.assign_ip_address(ipaddress, container_name, hwaddr) puts "Assigning IP address #{ipaddress} to #{container_name} container's lxc.network.hwaddr #{hwaddr}" search_file_delete_line("/etc/lxc/dhcp-hosts.conf", /(^#{hwaddr}|,#{ipaddress}$)/)