boxgrinder-build 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. data/CHANGELOG +14 -0
  2. data/README.md +136 -0
  3. data/Rakefile +11 -6
  4. data/bin/boxgrinder-build +199 -0
  5. data/boxgrinder-build.gemspec +26 -14
  6. data/lib/boxgrinder-build/appliance.rb +6 -6
  7. data/lib/boxgrinder-build/helpers/guestfs-helper.rb +5 -3
  8. data/lib/boxgrinder-build/helpers/image-helper.rb +6 -0
  9. data/lib/boxgrinder-build/helpers/plugin-helper.rb +15 -4
  10. data/lib/boxgrinder-build/plugins/base-plugin.rb +1 -0
  11. data/lib/boxgrinder-build/plugins/delivery/ebs/ebs-plugin.rb +280 -0
  12. data/lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb +66 -0
  13. data/lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb +242 -0
  14. data/lib/boxgrinder-build/plugins/delivery/s3/src/cert-ec2.pem +23 -0
  15. data/lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb +152 -0
  16. data/lib/boxgrinder-build/plugins/delivery/usb/usb-plugin.rb +43 -0
  17. data/lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb +46 -0
  18. data/lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb +61 -0
  19. data/lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb +67 -0
  20. data/lib/boxgrinder-build/plugins/os/rpm-based/kickstart.rb +118 -0
  21. data/lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb +202 -0
  22. data/lib/boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator.rb +153 -0
  23. data/lib/boxgrinder-build/plugins/os/rpm-based/src/appliance.ks.erb +37 -0
  24. data/lib/boxgrinder-build/plugins/os/rpm-based/src/base.repo +4 -0
  25. data/lib/boxgrinder-build/plugins/os/rpm-based/src/motd.init +21 -0
  26. data/lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb +239 -0
  27. data/lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit +7 -0
  28. data/lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit +7 -0
  29. data/lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0 +7 -0
  30. data/lib/boxgrinder-build/plugins/platform/ec2/src/menu.lst +6 -0
  31. data/lib/boxgrinder-build/plugins/platform/ec2/src/rc_local +19 -0
  32. data/lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb +62 -0
  33. data/lib/boxgrinder-build/plugins/platform/vmware/src/README-enterprise +18 -0
  34. data/lib/boxgrinder-build/plugins/platform/vmware/src/README-personal +16 -0
  35. data/lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk +20 -0
  36. data/lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx +45 -0
  37. data/lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb +194 -0
  38. data/rubygem-boxgrinder-build.spec +73 -10
  39. data/spec/appliance-spec.rb +2 -2
  40. data/spec/helpers/guestfs-helper-spec.rb +4 -2
  41. data/spec/helpers/image-helper-spec.rb +4 -0
  42. data/spec/helpers/plugin-helper-spec.rb +0 -38
  43. data/spec/managers/plugin-manager-spec.rb +6 -6
  44. data/spec/plugins/delivery/ebs/ebs-plugin-spec.rb +230 -0
  45. data/spec/plugins/delivery/ebs/ebs.yaml +3 -0
  46. data/spec/plugins/delivery/local/local-plugin-spec.rb +133 -0
  47. data/spec/plugins/delivery/s3/s3-plugin-spec.rb +351 -0
  48. data/spec/plugins/delivery/sftp/sftp-plugin-spec.rb +26 -0
  49. data/spec/plugins/os/centos/centos-plugin-spec.rb +52 -0
  50. data/spec/plugins/os/fedora/fedora-plugin-spec.rb +73 -0
  51. data/spec/plugins/os/rhel/rhel-plugin-spec.rb +158 -0
  52. data/spec/plugins/os/rpm-based/kickstart-spec.rb +129 -0
  53. data/spec/plugins/os/rpm-based/rpm-based-os-plugin-spec.rb +162 -0
  54. data/spec/plugins/os/rpm-based/rpm-dependency-validator-spec.rb +50 -0
  55. data/spec/plugins/os/rpm-based/src/jeos-f13-plain.ks +20 -0
  56. data/spec/plugins/os/rpm-based/src/jeos-f13-without-version.ks +22 -0
  57. data/spec/plugins/os/rpm-based/src/jeos-f13.ks +23 -0
  58. data/spec/plugins/platform/ec2/ec2-plugin-spec.rb +339 -0
  59. data/spec/plugins/platform/virtualbox/virtualbox-plugin-spec.rb +118 -0
  60. data/spec/plugins/platform/vmware/vmware-plugin-spec.rb +299 -0
  61. metadata +149 -25
  62. data/README +0 -7
  63. data/bin/boxgrinder +0 -128
  64. data/lib/boxgrinder-build/helpers/thor-helper.rb +0 -85
@@ -0,0 +1,129 @@
1
+ #
2
+ # Copyright 2010 Red Hat, Inc.
3
+ #
4
+ # This is free software; you can redistribute it and/or modify it
5
+ # under the terms of the GNU Lesser General Public License as
6
+ # published by the Free Software Foundation; either version 3 of
7
+ # the License, or (at your option) any later version.
8
+ #
9
+ # This software is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this software; if not, write to the Free
16
+ # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
17
+ # 02110-1301 USA, or see the FSF site: http://www.fsf.org.
18
+
19
+ require 'boxgrinder-build/plugins/os/rpm-based/kickstart'
20
+ require 'hashery/opencascade'
21
+
22
+ module BoxGrinder
23
+ describe Kickstart do
24
+ KICKSTART_FEDORA_REPOS = {
25
+ "11" => {
26
+ "base" => {"mirrorlist" => "http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-11&arch=#BASE_ARCH#"},
27
+ "updates" => {"mirrorlist" => "http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f11&arch=#BASE_ARCH#"}
28
+ }
29
+ }
30
+
31
+ def prepare_kickstart(repos = {})
32
+ @config = mock('Config')
33
+ @appliance_config = mock('ApplianceConfig')
34
+
35
+ @appliance_config.stub!(:path).and_return(OpenCascade.new({:build => 'build/path'}))
36
+ @appliance_config.stub!(:name).and_return('full')
37
+ @appliance_config.stub!(:version).and_return(1)
38
+ @appliance_config.stub!(:release).and_return(0)
39
+ @appliance_config.stub!(:os).and_return(OpenCascade.new({:name => 'fedora', :version => '11', :password => 'boxgrinder'}))
40
+ @appliance_config.stub!(:packages).and_return(["gcc-c++", "wget"])
41
+
42
+ @kickstart = Kickstart.new(@config, @appliance_config, repos, OpenCascade.new(:base => 'a/base/dir'))
43
+ end
44
+
45
+ describe ".build_definition" do
46
+ it "should prepare valid definition" do
47
+ prepare_kickstart(KICKSTART_FEDORA_REPOS)
48
+
49
+ @appliance_config.stub!(:hardware).and_return(
50
+ OpenCascade.new({
51
+ :partitions =>
52
+ {
53
+ '/' => {'size' => 2},
54
+ '/home' => {'size' => 3},
55
+ },
56
+ :arch => 'i686',
57
+ :base_arch => 'i386'
58
+ })
59
+ )
60
+
61
+ @appliance_config.should_receive(:repos).and_return(
62
+ [
63
+ {'name' => 'cirras', 'baseurl' => "http://repo.boxgrinder.org/packages/fedora/11/RPMS/i686"},
64
+ {'name' => 'abc', 'baseurl' => 'http://abc', 'mirrorlist' => "http://abc.org/packages/fedora/11/RPMS/i686"},
65
+ ]
66
+ )
67
+
68
+ @appliance_config.should_receive(:default_repos).and_return(true)
69
+
70
+ definition = @kickstart.build_definition
71
+
72
+ definition['repos'].size.should == 4
73
+
74
+ definition['repos'][0].should == "repo --name=fedora-11-base --cost=40 --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-11&arch=i386"
75
+ definition['repos'][1].should == "repo --name=fedora-11-updates --cost=41 --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f11&arch=i386"
76
+ definition['repos'][2].should == "repo --name=cirras --cost=42 --baseurl=http://repo.boxgrinder.org/packages/fedora/11/RPMS/i686"
77
+ definition['repos'][3].should == "repo --name=abc --cost=43 --mirrorlist=http://abc.org/packages/fedora/11/RPMS/i686"
78
+
79
+ definition['appliance_config'].packages.size.should == 2
80
+ definition['appliance_config'].packages.should == ["gcc-c++", "wget"]
81
+
82
+ definition['appliance_config'].os.password.should == "boxgrinder"
83
+ definition['appliance_config'].hardware.partitions.size.should == 2
84
+ definition['appliance_config'].hardware.partitions['/']['size'].should == 2
85
+ definition['appliance_config'].hardware.partitions['/home']['size'].should == 3
86
+ end
87
+
88
+ it "should prepare valid definition without default repos" do
89
+ prepare_kickstart(KICKSTART_FEDORA_REPOS)
90
+
91
+ @appliance_config.stub!(:hardware).and_return(
92
+ OpenCascade.new({
93
+ :partitions =>
94
+ {
95
+ '/' => {'size' => 2},
96
+ '/home' => {'size' => 3},
97
+ },
98
+ :arch => 'i686',
99
+ :base_arch => 'i386'
100
+ })
101
+ )
102
+
103
+ @appliance_config.should_receive(:default_repos).and_return(false)
104
+
105
+ @appliance_config.should_receive(:repos).and_return(
106
+ [
107
+ {'name' => 'cirras', 'baseurl' => "http://repo.boxgrinder.org/packages/fedora/11/RPMS/i686"},
108
+ {'name' => 'abc', 'baseurl' => 'http://abc', 'mirrorlist' => "http://abc.org/packages/fedora/11/RPMS/i686"},
109
+ ]
110
+ )
111
+
112
+ definition = @kickstart.build_definition
113
+
114
+ definition['repos'].size.should == 2
115
+
116
+ definition['repos'][0].should == "repo --name=cirras --cost=40 --baseurl=http://repo.boxgrinder.org/packages/fedora/11/RPMS/i686"
117
+ definition['repos'][1].should == "repo --name=abc --cost=41 --mirrorlist=http://abc.org/packages/fedora/11/RPMS/i686"
118
+
119
+ definition['appliance_config'].packages.size.should == 2
120
+ definition['appliance_config'].packages.should == ["gcc-c++", "wget"]
121
+
122
+ definition['appliance_config'].os.password.should == "boxgrinder"
123
+ definition['appliance_config'].hardware.partitions.size.should == 2
124
+ definition['appliance_config'].hardware.partitions['/']['size'].should == 2
125
+ definition['appliance_config'].hardware.partitions['/home']['size'].should == 3
126
+ end
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,162 @@
1
+ #
2
+ # Copyright 2010 Red Hat, Inc.
3
+ #
4
+ # This is free software; you can redistribute it and/or modify it
5
+ # under the terms of the GNU Lesser General Public License as
6
+ # published by the Free Software Foundation; either version 3 of
7
+ # the License, or (at your option) any later version.
8
+ #
9
+ # This software is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this software; if not, write to the Free
16
+ # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
17
+ # 02110-1301 USA, or see the FSF site: http://www.fsf.org.
18
+
19
+ require 'boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin'
20
+ require 'hashery/opencascade'
21
+
22
+ module BoxGrinder
23
+ describe RPMBasedOSPlugin do
24
+ before(:each) do
25
+ @config = mock('Config')
26
+ @appliance_config = mock('ApplianceConfig')
27
+ plugins = mock('Plugins')
28
+ plugins.stub!(:[]).with('rpm_based').and_return({})
29
+ @config.stub!(:[]).with(:plugins).and_return(plugins)
30
+
31
+ @appliance_config.stub!(:path).and_return(OpenCascade.new({:build => 'build/path'}))
32
+ @appliance_config.stub!(:name).and_return('full')
33
+ @appliance_config.stub!(:version).and_return(1)
34
+ @appliance_config.stub!(:release).and_return(0)
35
+ @appliance_config.stub!(:os).and_return(OpenCascade.new({:name => 'fedora', :version => '11'}))
36
+
37
+ @plugin = RPMBasedOSPlugin.new
38
+
39
+ @plugin.stub!(:merge_plugin_config)
40
+
41
+ @plugin.init(@config, @appliance_config, :log => Logger.new('/dev/null'), :plugin_info => {:name => :rpm_based})
42
+
43
+ @config = @plugin.instance_variable_get(:@config)
44
+ @appliance_config = @plugin.instance_variable_get(:@appliance_config)
45
+ @exec_helper = @plugin.instance_variable_get(:@exec_helper)
46
+ @log = @plugin.instance_variable_get(:@log)
47
+ end
48
+
49
+ it "should install repos" do
50
+ @appliance_config.should_receive(:repos).and_return(
51
+ [
52
+ {'name' => 'cirras', 'baseurl' => "http://repo.boxgrinder.org/packages/fedora/11/RPMS/x86_64"},
53
+ {'name' => 'abc', 'baseurl' => 'http://abc', 'mirrorlist' => "http://abc.org/packages/fedora/11/RPMS/x86_64"},
54
+ ])
55
+
56
+ guestfs = mock("guestfs")
57
+ guestfs.should_receive(:write_file).with("/etc/yum.repos.d/cirras.repo", "[cirras]\nname=cirras\nenabled=1\ngpgcheck=0\nbaseurl=http://repo.boxgrinder.org/packages/fedora/11/RPMS/x86_64\n", 0)
58
+ guestfs.should_receive(:write_file).with("/etc/yum.repos.d/abc.repo", "[abc]\nname=abc\nenabled=1\ngpgcheck=0\nbaseurl=http://abc\nmirrorlist=http://abc.org/packages/fedora/11/RPMS/x86_64\n", 0)
59
+
60
+ @plugin.install_repos(guestfs)
61
+ end
62
+
63
+ it "should not install ephemeral repos" do
64
+ @appliance_config.should_receive(:repos).and_return(
65
+ [
66
+ {'name' => 'abc', 'baseurl' => 'http://abc', 'mirrorlist' => "http://abc.org/packages/fedora/11/RPMS/x86_64"},
67
+ {'name' => 'cirras', 'baseurl' => "http://repo.boxgrinder.org/packages/fedora/11/RPMS/x86_64", 'ephemeral' => true}
68
+ ])
69
+
70
+ guestfs = mock("guestfs")
71
+ guestfs.should_receive(:write_file).with("/etc/yum.repos.d/abc.repo", "[abc]\nname=abc\nenabled=1\ngpgcheck=0\nbaseurl=http://abc\nmirrorlist=http://abc.org/packages/fedora/11/RPMS/x86_64\n", 0)
72
+
73
+ @plugin.install_repos(guestfs)
74
+ end
75
+
76
+ it "should read kickstart definition file" do
77
+ @plugin.should_receive(:read_kickstart).with('file.ks')
78
+ @plugin.read_file('file.ks')
79
+ end
80
+
81
+ it "should read other definition file" do
82
+ @plugin.should_not_receive(:read_kickstart)
83
+ @plugin.read_file('file.other')
84
+ end
85
+
86
+ describe ".read_kickstart" do
87
+ it "should read and parse valid kickstart file with bg comments" do
88
+ appliance_config = @plugin.read_kickstart("#{File.dirname(__FILE__)}/src/jeos-f13.ks")
89
+ appliance_config.should be_an_instance_of(ApplianceConfig)
90
+ appliance_config.os.name.should == 'fedora'
91
+ appliance_config.os.version.should == '13'
92
+ end
93
+
94
+ it "should raise while parsing kickstart file *without* bg comments" do
95
+ lambda {
96
+ @plugin.read_kickstart("#{File.dirname(__FILE__)}/src/jeos-f13-plain.ks")
97
+ }.should raise_error("No operating system name specified, please add comment to you kickstrt file like this: # bg_os_name: fedora")
98
+ end
99
+
100
+ it "should raise while parsing kickstart file *without* bg version comment" do
101
+ lambda {
102
+ @plugin.read_kickstart("#{File.dirname(__FILE__)}/src/jeos-f13-without-version.ks")
103
+ }.should raise_error("No operating system version specified, please add comment to you kickstrt file like this: # bg_os_version: 14")
104
+ end
105
+ end
106
+
107
+ it "should fix partition labels" do
108
+ guestfs = mock("guestfs")
109
+
110
+ guestfs.should_receive(:list_partitions).and_return(['/dev/vda1', '/dev/vda2'])
111
+ guestfs.should_receive(:vfs_label).with('/dev/vda1').and_return('_/')
112
+ guestfs.should_receive(:vfs_label).with('/dev/vda2').and_return('_/boot')
113
+
114
+ guestfs.should_receive(:sh).with('/sbin/e2label /dev/vda1 /')
115
+ guestfs.should_receive(:sh).with('/sbin/e2label /dev/vda2 /boot')
116
+
117
+ @plugin.fix_partition_labels(guestfs)
118
+ end
119
+
120
+ describe ".use_labels_for_partitions" do
121
+ it "should use labels for partitions instead of paths" do
122
+ guestfs = mock("guestfs")
123
+
124
+ guestfs.should_receive(:list_devices).and_return(['/dev/hda'])
125
+
126
+ guestfs.should_receive(:read_file).with('/etc/fstab').and_return("/dev/sda1 / something\nLABEL=/boot /boot something\n")
127
+ guestfs.should_receive(:vfs_label).with('/dev/hda1').and_return('/')
128
+ guestfs.should_receive(:write_file).with('/etc/fstab', "LABEL=/ / something\nLABEL=/boot /boot something\n", 0)
129
+
130
+ guestfs.should_receive(:read_file).with('/boot/grub/grub.conf').and_return("default=0\ntimeout=5\nsplashimage=(hd0,0)/boot/grub/splash.xpm.gz\nhiddenmenu\ntitle f14-core (2.6.35.10-74.fc14.x86_64)\nroot (hd0,0)\nkernel /boot/vmlinuz-2.6.35.10-74.fc14.x86_64 ro root=/dev/sda1\ninitrd /boot/initramfs-2.6.35.10-74.fc14.x86_64.img")
131
+ guestfs.should_receive(:vfs_label).with('/dev/hda1').and_return('/')
132
+ guestfs.should_receive(:write_file).with('/boot/grub/grub.conf', "default=0\ntimeout=5\nsplashimage=(hd0,0)/boot/grub/splash.xpm.gz\nhiddenmenu\ntitle f14-core (2.6.35.10-74.fc14.x86_64)\nroot (hd0,0)\nkernel /boot/vmlinuz-2.6.35.10-74.fc14.x86_64 ro root=LABEL=/\ninitrd /boot/initramfs-2.6.35.10-74.fc14.x86_64.img", 0)
133
+
134
+ @plugin.use_labels_for_partitions(guestfs)
135
+ end
136
+
137
+ it "should not change anything" do
138
+ guestfs = mock("guestfs")
139
+
140
+ guestfs.should_receive(:list_devices).and_return(['/dev/sda'])
141
+
142
+ guestfs.should_receive(:read_file).with('/etc/fstab').and_return("LABEL=/ / something\nLABEL=/boot /boot something\n")
143
+ guestfs.should_not_receive(:vfs_label)
144
+ guestfs.should_not_receive(:write_file)
145
+
146
+ guestfs.should_receive(:read_file).with('/boot/grub/grub.conf').and_return("default=0\ntimeout=5\nsplashimage=(hd0,0)/boot/grub/splash.xpm.gz\nhiddenmenu\ntitle f14-core (2.6.35.10-74.fc14.x86_64)\nroot (hd0,0)\nkernel /boot/vmlinuz-2.6.35.10-74.fc14.x86_64 ro root=LABEL=/\ninitrd /boot/initramfs-2.6.35.10-74.fc14.x86_64.img")
147
+ guestfs.should_not_receive(:vfs_label)
148
+ guestfs.should_not_receive(:write_file)
149
+
150
+ @plugin.use_labels_for_partitions(guestfs)
151
+ end
152
+ end
153
+
154
+ it "should disable the firewall" do
155
+ guestfs = mock("guestfs")
156
+ guestfs.should_receive(:sh).with('lokkit -q --disabled')
157
+
158
+ @plugin.disable_firewall(guestfs)
159
+ end
160
+ end
161
+ end
162
+
@@ -0,0 +1,50 @@
1
+ #
2
+ # Copyright 2010 Red Hat, Inc.
3
+ #
4
+ # This is free software; you can redistribute it and/or modify it
5
+ # under the terms of the GNU Lesser General Public License as
6
+ # published by the Free Software Foundation; either version 3 of
7
+ # the License, or (at your option) any later version.
8
+ #
9
+ # This software is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
+ # Lesser General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU Lesser General Public
15
+ # License along with this software; if not, write to the Free
16
+ # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
17
+ # 02110-1301 USA, or see the FSF site: http://www.fsf.org.
18
+
19
+ require 'boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator'
20
+ require 'hashery/opencascade'
21
+
22
+ module BoxGrinder
23
+ describe RPMDependencyValidator do
24
+ before(:each) do
25
+ @config = mock('Config')
26
+ @appliance_config = mock('ApplianceConfig')
27
+ plugins = mock('Plugins')
28
+ plugins.stub!(:[]).with('rpm_based').and_return({})
29
+ @config.stub!(:[]).with(:plugins).and_return(plugins)
30
+
31
+ @appliance_config.stub!(:path).and_return(OpenCascade.new({:build => 'build/path'}))
32
+ @appliance_config.stub!(:name).and_return('full')
33
+ @appliance_config.stub!(:version).and_return(1)
34
+ @appliance_config.stub!(:release).and_return(0)
35
+ @appliance_config.stub!(:os).and_return(OpenCascade.new({:name => 'fedora', :version => '11'}))
36
+
37
+ @plugin = RPMBasedOSPlugin.new
38
+
39
+ @plugin.stub!(:merge_plugin_config)
40
+
41
+ @plugin.init(@config, @appliance_config, :log => Logger.new('/dev/null'), :plugin_info => {:name => :rpm_based})
42
+
43
+ @config = @plugin.instance_variable_get(:@config)
44
+ @appliance_config = @plugin.instance_variable_get(:@appliance_config)
45
+ @exec_helper = @plugin.instance_variable_get(:@exec_helper)
46
+ @log = @plugin.instance_variable_get(:@log)
47
+ end
48
+ end
49
+ end
50
+
@@ -0,0 +1,20 @@
1
+ lang en_US.UTF-8
2
+ keyboard us
3
+ timezone US/Eastern
4
+ auth --useshadow --enablemd5
5
+ selinux --permissive
6
+ firewall --disabled
7
+ bootloader --timeout=1 --append="acpi=force scsi_mod.scan=sync"
8
+ firstboot --disabled
9
+ network --bootproto=dhcp --device=eth0 --onboot=on
10
+ services --enabled=network
11
+ rootpw boxgrinder
12
+
13
+ part / --size 2048 --fstype ext4 --ondisk sda
14
+
15
+ repo --name=fedora-14-base --cost=40 --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-13&arch=x86_64
16
+ repo --name=fedora-14-updates --cost=41 --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f13&arch=x86_64
17
+
18
+ %packages --excludedocs --nobase
19
+ @core
20
+ %end
@@ -0,0 +1,22 @@
1
+ # bg_os_name: fedora
2
+
3
+ lang en_US.UTF-8
4
+ keyboard us
5
+ timezone US/Eastern
6
+ auth --useshadow --enablemd5
7
+ selinux --permissive
8
+ firewall --disabled
9
+ bootloader --timeout=1 --append="acpi=force scsi_mod.scan=sync"
10
+ firstboot --disabled
11
+ network --bootproto=dhcp --device=eth0 --onboot=on
12
+ services --enabled=network
13
+ rootpw boxgrinder
14
+
15
+ part / --size 2048 --fstype ext4 --ondisk sda
16
+
17
+ repo --name=fedora-14-base --cost=40 --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-13&arch=x86_64
18
+ repo --name=fedora-14-updates --cost=41 --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f13&arch=x86_64
19
+
20
+ %packages --excludedocs --nobase
21
+ @core
22
+ %end
@@ -0,0 +1,23 @@
1
+ # bg_os_name: fedora
2
+ # bg_os_version: 13
3
+
4
+ lang en_US.UTF-8
5
+ keyboard us
6
+ timezone US/Eastern
7
+ auth --useshadow --enablemd5
8
+ selinux --permissive
9
+ firewall --disabled
10
+ bootloader --timeout=1 --append="acpi=force scsi_mod.scan=sync"
11
+ firstboot --disabled
12
+ network --bootproto=dhcp --device=eth0 --onboot=on
13
+ services --enabled=network
14
+ rootpw boxgrinder
15
+
16
+ part / --size 2048 --fstype ext4 --ondisk sda
17
+
18
+ repo --name=fedora-14-base --cost=40 --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-13&arch=x86_64
19
+ repo --name=fedora-14-updates --cost=41 --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f13&arch=x86_64
20
+
21
+ %packages --excludedocs --nobase
22
+ @core
23
+ %end