boxgrinder-build 0.9.2 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +21 -0
- data/Manifest +92 -0
- data/Rakefile +9 -0
- data/boxgrinder-build.gemspec +4 -4
- data/integ/appliances/_hardware_cpus.appl +13 -0
- data/integ/appliances/_hardware_memory.appl +13 -0
- data/integ/appliances/_hardware_partitions_home.appl +15 -0
- data/integ/appliances/_hardware_partitions_root.appl +15 -0
- data/integ/appliances/_os_password.appl +15 -0
- data/integ/appliances/_packages_groups_base.appl +13 -0
- data/integ/appliances/_packages_groups_core.appl +13 -0
- data/integ/appliances/_packages_squid.appl +13 -0
- data/integ/appliances/_packages_utils.appl +7 -0
- data/integ/appliances/_repos_boxgrinder_permanent_noarch.appl +14 -0
- data/integ/appliances/_repos_testlocal_ephemeral_noarch.appl +17 -0
- data/integ/appliances/_test_base.appl +22 -0
- data/integ/appliances/gnome-fedora.appl +19 -0
- data/integ/appliances/jeos-centos.appl +4 -0
- data/integ/appliances/jeos-fedora.appl +5 -0
- data/integ/appliances/modular.appl +16 -0
- data/integ/packages/ephemeral-repo-test-0.1-1.noarch.rpm +0 -0
- data/integ/packages/local-repo-test.spec +20 -0
- data/integ/spec/jeos-spec.rb +69 -0
- data/integ/spec/modular-spec.rb +71 -0
- data/lib/boxgrinder-build/appliance.rb +48 -48
- data/lib/boxgrinder-build/helpers/guestfs-helper.rb +11 -8
- data/lib/boxgrinder-build/helpers/plugin-helper.rb +1 -0
- data/lib/boxgrinder-build/helpers/qemu.wrapper +1 -1
- data/lib/boxgrinder-build/plugins/base-plugin.rb +55 -14
- data/lib/boxgrinder-build/plugins/delivery/ebs/ebs-plugin.rb +270 -54
- data/lib/boxgrinder-build/plugins/delivery/elastichosts/elastichosts-plugin.rb +3 -4
- data/lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb +20 -16
- data/lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb +57 -20
- data/lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb +6 -4
- data/lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb +2 -1
- data/lib/boxgrinder-build/plugins/os/rpm-based/kickstart.rb +2 -32
- data/lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb +29 -4
- data/lib/boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator.rb +15 -46
- data/lib/boxgrinder-build/plugins/os/sl/sl-plugin.rb +56 -0
- data/lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb +1 -0
- data/lib/boxgrinder-build/plugins/platform/ec2/src/rc_local +15 -8
- data/lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb +8 -6
- data/rubygem-boxgrinder-build.spec +23 -3
- data/spec/appliance-spec.rb +114 -73
- data/spec/helpers/guestfs-helper-spec.rb +12 -3
- data/spec/plugins/base-plugin-spec.rb +24 -18
- data/spec/plugins/delivery/ebs/ebs-plugin-spec.rb +206 -67
- data/spec/plugins/delivery/elastichosts/elastichosts-plugin-spec.rb +228 -225
- data/spec/plugins/delivery/local/local-plugin-spec.rb +13 -34
- data/spec/plugins/delivery/s3/s3-plugin-spec.rb +107 -50
- data/spec/plugins/os/centos/centos-plugin-spec.rb +1 -1
- data/spec/plugins/os/fedora/fedora-plugin-spec.rb +14 -8
- data/spec/plugins/os/rhel/rhel-plugin-spec.rb +1 -1
- data/spec/plugins/os/rpm-based/kickstart-spec.rb +0 -44
- data/spec/plugins/os/rpm-based/rpm-based-os-plugin-spec.rb +31 -2
- data/spec/plugins/os/rpm-based/rpm-dependency-validator-spec.rb +20 -7
- data/spec/plugins/os/sl/sl-plugin-spec.rb +44 -0
- data/spec/plugins/platform/ec2/ec2-plugin-spec.rb +1 -1
- data/spec/plugins/platform/virtualbox/virtualbox-plugin-spec.rb +6 -6
- data/spec/plugins/platform/vmware/vmware-plugin-spec.rb +14 -13
- metadata +27 -5
- data/spec/Rakefile +0 -32
data/CHANGELOG
CHANGED
@@ -1,3 +1,24 @@
|
|
1
|
+
v0.9.3
|
2
|
+
|
3
|
+
* [BGBUILD-232] boxgrinder doesn't validate config early enough
|
4
|
+
* [BGBUILD-237] Tilde characters break creation of yum.conf
|
5
|
+
* [BGBUILD-223] BoxGrinder hangs because qemu.wrapper does not detect x86_64 properly on CentOS 5.6
|
6
|
+
* [BGBUILD-241] Add Scientific Linux support
|
7
|
+
* [BGBUILD-220] Group names have spaces (to the user), this breaks schema rules for packages
|
8
|
+
* [BGBUILD-222] Allow overwrite of uploaded ec2 image
|
9
|
+
* [BGBUILD-225] Move PAE configuration parameter to operating system configuration
|
10
|
+
* [BGBUILD-224] EBS Plugin Support for CentOS v5.5 and fix for non-integer EBS disk sizes
|
11
|
+
* [BGBUILD-231] Cannot register Fedora 15 EC2 AMI with S3 delivery plugin in eu-west-1 availability zone
|
12
|
+
* [BGBUILD-193] EBS delivery plugin timing/concurrency issues
|
13
|
+
* [BGBUILD-247] ap-northeast-1 end-point is missing in S3 plugin (added Tokyo region)
|
14
|
+
* [BGBUILD-251] Add ap-northeast-1 (tokyo) region for EBS plugin
|
15
|
+
* [BGBUILD-248] Throw error in S3 plugin if invalid region is specified
|
16
|
+
* [BGBUILD-252] rc.local script fills ~/.ssh/authorized_keys with a duplicate key every boot
|
17
|
+
* [BGBUILD-250] EBS plugin incorrectly determines that non-US regions are not EC2 instances
|
18
|
+
* [BGBUILD-254] Not able to deliver EBS AMIs to regions other than us-east-1
|
19
|
+
* [BGBUILD-260] Wrong EC2 discovery causing libguestfs errors on non US regions
|
20
|
+
* [BGBUILD-261] Decrease amount of debug log when downloading or uploading file using guestfs
|
21
|
+
|
1
22
|
v0.9.2
|
2
23
|
|
3
24
|
* [BGBUILD-148] Add support for building CentOS/RHEL images on Fedora
|
data/Manifest
CHANGED
@@ -0,0 +1,92 @@
|
|
1
|
+
CHANGELOG
|
2
|
+
LICENSE
|
3
|
+
Manifest
|
4
|
+
README.md
|
5
|
+
Rakefile
|
6
|
+
bin/boxgrinder-build
|
7
|
+
boxgrinder-build.gemspec
|
8
|
+
integ/appliances/_hardware_cpus.appl
|
9
|
+
integ/appliances/_hardware_memory.appl
|
10
|
+
integ/appliances/_hardware_partitions_home.appl
|
11
|
+
integ/appliances/_hardware_partitions_root.appl
|
12
|
+
integ/appliances/_os_password.appl
|
13
|
+
integ/appliances/_packages_groups_base.appl
|
14
|
+
integ/appliances/_packages_groups_core.appl
|
15
|
+
integ/appliances/_packages_squid.appl
|
16
|
+
integ/appliances/_packages_utils.appl
|
17
|
+
integ/appliances/_repos_boxgrinder_permanent_noarch.appl
|
18
|
+
integ/appliances/_repos_testlocal_ephemeral_noarch.appl
|
19
|
+
integ/appliances/_test_base.appl
|
20
|
+
integ/appliances/gnome-fedora.appl
|
21
|
+
integ/appliances/jeos-centos.appl
|
22
|
+
integ/appliances/jeos-fedora.appl
|
23
|
+
integ/appliances/modular.appl
|
24
|
+
integ/packages/ephemeral-repo-test-0.1-1.noarch.rpm
|
25
|
+
integ/packages/local-repo-test.spec
|
26
|
+
integ/spec/jeos-spec.rb
|
27
|
+
integ/spec/modular-spec.rb
|
28
|
+
lib/boxgrinder-build.rb
|
29
|
+
lib/boxgrinder-build/appliance.rb
|
30
|
+
lib/boxgrinder-build/helpers/augeas-helper.rb
|
31
|
+
lib/boxgrinder-build/helpers/guestfs-helper.rb
|
32
|
+
lib/boxgrinder-build/helpers/image-helper.rb
|
33
|
+
lib/boxgrinder-build/helpers/linux-helper.rb
|
34
|
+
lib/boxgrinder-build/helpers/package-helper.rb
|
35
|
+
lib/boxgrinder-build/helpers/plugin-helper.rb
|
36
|
+
lib/boxgrinder-build/helpers/qemu.wrapper
|
37
|
+
lib/boxgrinder-build/managers/plugin-manager.rb
|
38
|
+
lib/boxgrinder-build/plugins/base-plugin.rb
|
39
|
+
lib/boxgrinder-build/plugins/delivery/ebs/ebs-plugin.rb
|
40
|
+
lib/boxgrinder-build/plugins/delivery/elastichosts/elastichosts-plugin.rb
|
41
|
+
lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb
|
42
|
+
lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb
|
43
|
+
lib/boxgrinder-build/plugins/delivery/s3/src/cert-ec2.pem
|
44
|
+
lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb
|
45
|
+
lib/boxgrinder-build/plugins/delivery/usb/usb-plugin.rb
|
46
|
+
lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb
|
47
|
+
lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb
|
48
|
+
lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb
|
49
|
+
lib/boxgrinder-build/plugins/os/rpm-based/kickstart.rb
|
50
|
+
lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb
|
51
|
+
lib/boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator.rb
|
52
|
+
lib/boxgrinder-build/plugins/os/rpm-based/src/appliance.ks.erb
|
53
|
+
lib/boxgrinder-build/plugins/os/rpm-based/src/base.repo
|
54
|
+
lib/boxgrinder-build/plugins/os/rpm-based/src/motd.init
|
55
|
+
lib/boxgrinder-build/plugins/os/sl/sl-plugin.rb
|
56
|
+
lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb
|
57
|
+
lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit
|
58
|
+
lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit
|
59
|
+
lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0
|
60
|
+
lib/boxgrinder-build/plugins/platform/ec2/src/menu.lst
|
61
|
+
lib/boxgrinder-build/plugins/platform/ec2/src/rc_local
|
62
|
+
lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb
|
63
|
+
lib/boxgrinder-build/plugins/platform/vmware/src/README-enterprise
|
64
|
+
lib/boxgrinder-build/plugins/platform/vmware/src/README-personal
|
65
|
+
lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk
|
66
|
+
lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx
|
67
|
+
lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb
|
68
|
+
rubygem-boxgrinder-build.spec
|
69
|
+
spec/appliance-spec.rb
|
70
|
+
spec/helpers/augeas-helper-spec.rb
|
71
|
+
spec/helpers/guestfs-helper-spec.rb
|
72
|
+
spec/helpers/image-helper-spec.rb
|
73
|
+
spec/helpers/linux-helper-spec.rb
|
74
|
+
spec/helpers/package-helper-spec.rb
|
75
|
+
spec/helpers/plugin-helper-spec.rb
|
76
|
+
spec/managers/plugin-manager-spec.rb
|
77
|
+
spec/plugins/base-plugin-spec.rb
|
78
|
+
spec/plugins/delivery/ebs/ebs-plugin-spec.rb
|
79
|
+
spec/plugins/delivery/ebs/ebs.yaml
|
80
|
+
spec/plugins/delivery/elastichosts/elastichosts-plugin-spec.rb
|
81
|
+
spec/plugins/delivery/local/local-plugin-spec.rb
|
82
|
+
spec/plugins/delivery/s3/s3-plugin-spec.rb
|
83
|
+
spec/plugins/delivery/sftp/sftp-plugin-spec.rb
|
84
|
+
spec/plugins/os/centos/centos-plugin-spec.rb
|
85
|
+
spec/plugins/os/fedora/fedora-plugin-spec.rb
|
86
|
+
spec/plugins/os/rhel/rhel-plugin-spec.rb
|
87
|
+
spec/plugins/os/rpm-based/kickstart-spec.rb
|
88
|
+
spec/plugins/os/rpm-based/rpm-based-os-plugin-spec.rb
|
89
|
+
spec/plugins/os/rpm-based/rpm-dependency-validator-spec.rb
|
90
|
+
spec/plugins/os/rpm-based/src/jeos-f13-plain.ks
|
91
|
+
spec/plugins/os/rpm-based/src/jeos-f13-without-version.ks
|
92
|
+
spec/plugins/os/rpm-based
|
data/Rakefile
CHANGED
@@ -40,6 +40,15 @@ Echoe.new("boxgrinder-build") do |p|
|
|
40
40
|
]
|
41
41
|
end
|
42
42
|
|
43
|
+
desc "Run all integration tests"
|
44
|
+
Spec::Rake::SpecTask.new('integ') do |t|
|
45
|
+
t.libs.unshift "../boxgrinder-core/lib"
|
46
|
+
t.rcov = false
|
47
|
+
t.spec_files = FileList["integ/**/*-spec.rb"]
|
48
|
+
t.spec_opts = ['--colour', '--format', 'specdoc', '-b']
|
49
|
+
t.verbose = true
|
50
|
+
end
|
51
|
+
|
43
52
|
desc "Run all tests"
|
44
53
|
Spec::Rake::SpecTask.new('spec') do |t|
|
45
54
|
t.libs.unshift "../boxgrinder-core/lib"
|
data/boxgrinder-build.gemspec
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{boxgrinder-build}
|
5
|
-
s.version = "0.9.
|
5
|
+
s.version = "0.9.3"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Marek Goldmann"]
|
9
|
-
s.date = %q{2011-
|
9
|
+
s.date = %q{2011-06-28}
|
10
10
|
s.default_executable = %q{boxgrinder-build}
|
11
11
|
s.description = %q{A tool for creating appliances from simple plain text files for various virtual environments.}
|
12
12
|
s.email = %q{info@boxgrinder.org}
|
13
13
|
s.executables = ["boxgrinder-build"]
|
14
|
-
s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README.md", "bin/boxgrinder-build", "lib/boxgrinder-build.rb", "lib/boxgrinder-build/appliance.rb", "lib/boxgrinder-build/helpers/augeas-helper.rb", "lib/boxgrinder-build/helpers/guestfs-helper.rb", "lib/boxgrinder-build/helpers/image-helper.rb", "lib/boxgrinder-build/helpers/linux-helper.rb", "lib/boxgrinder-build/helpers/package-helper.rb", "lib/boxgrinder-build/helpers/plugin-helper.rb", "lib/boxgrinder-build/helpers/qemu.wrapper", "lib/boxgrinder-build/managers/plugin-manager.rb", "lib/boxgrinder-build/plugins/base-plugin.rb", "lib/boxgrinder-build/plugins/delivery/ebs/ebs-plugin.rb", "lib/boxgrinder-build/plugins/delivery/elastichosts/elastichosts-plugin.rb", "lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb", "lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb", "lib/boxgrinder-build/plugins/delivery/s3/src/cert-ec2.pem", "lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb", "lib/boxgrinder-build/plugins/delivery/usb/usb-plugin.rb", "lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb", "lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb", "lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb", "lib/boxgrinder-build/plugins/os/rpm-based/kickstart.rb", "lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb", "lib/boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator.rb", "lib/boxgrinder-build/plugins/os/rpm-based/src/appliance.ks.erb", "lib/boxgrinder-build/plugins/os/rpm-based/src/base.repo", "lib/boxgrinder-build/plugins/os/rpm-based/src/motd.init", "lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb", "lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit", "lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit", "lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0", "lib/boxgrinder-build/plugins/platform/ec2/src/menu.lst", "lib/boxgrinder-build/plugins/platform/ec2/src/rc_local", "lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb", "lib/boxgrinder-build/plugins/platform/vmware/src/README-enterprise", "lib/boxgrinder-build/plugins/platform/vmware/src/README-personal", "lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk", "lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx", "lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb"]
|
15
|
-
s.files = ["CHANGELOG", "LICENSE", "Manifest", "README.md", "Rakefile", "bin/boxgrinder-build", "boxgrinder-build.gemspec", "lib/boxgrinder-build.rb", "lib/boxgrinder-build/appliance.rb", "lib/boxgrinder-build/helpers/augeas-helper.rb", "lib/boxgrinder-build/helpers/guestfs-helper.rb", "lib/boxgrinder-build/helpers/image-helper.rb", "lib/boxgrinder-build/helpers/linux-helper.rb", "lib/boxgrinder-build/helpers/package-helper.rb", "lib/boxgrinder-build/helpers/plugin-helper.rb", "lib/boxgrinder-build/helpers/qemu.wrapper", "lib/boxgrinder-build/managers/plugin-manager.rb", "lib/boxgrinder-build/plugins/base-plugin.rb", "lib/boxgrinder-build/plugins/delivery/ebs/ebs-plugin.rb", "lib/boxgrinder-build/plugins/delivery/elastichosts/elastichosts-plugin.rb", "lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb", "lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb", "lib/boxgrinder-build/plugins/delivery/s3/src/cert-ec2.pem", "lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb", "lib/boxgrinder-build/plugins/delivery/usb/usb-plugin.rb", "lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb", "lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb", "lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb", "lib/boxgrinder-build/plugins/os/rpm-based/kickstart.rb", "lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb", "lib/boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator.rb", "lib/boxgrinder-build/plugins/os/rpm-based/src/appliance.ks.erb", "lib/boxgrinder-build/plugins/os/rpm-based/src/base.repo", "lib/boxgrinder-build/plugins/os/rpm-based/src/motd.init", "lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb", "lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit", "lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit", "lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0", "lib/boxgrinder-build/plugins/platform/ec2/src/menu.lst", "lib/boxgrinder-build/plugins/platform/ec2/src/rc_local", "lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb", "lib/boxgrinder-build/plugins/platform/vmware/src/README-enterprise", "lib/boxgrinder-build/plugins/platform/vmware/src/README-personal", "lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk", "lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx", "lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb", "rubygem-boxgrinder-build.spec", "spec/
|
14
|
+
s.extra_rdoc_files = ["CHANGELOG", "LICENSE", "README.md", "bin/boxgrinder-build", "lib/boxgrinder-build.rb", "lib/boxgrinder-build/appliance.rb", "lib/boxgrinder-build/helpers/augeas-helper.rb", "lib/boxgrinder-build/helpers/guestfs-helper.rb", "lib/boxgrinder-build/helpers/image-helper.rb", "lib/boxgrinder-build/helpers/linux-helper.rb", "lib/boxgrinder-build/helpers/package-helper.rb", "lib/boxgrinder-build/helpers/plugin-helper.rb", "lib/boxgrinder-build/helpers/qemu.wrapper", "lib/boxgrinder-build/managers/plugin-manager.rb", "lib/boxgrinder-build/plugins/base-plugin.rb", "lib/boxgrinder-build/plugins/delivery/ebs/ebs-plugin.rb", "lib/boxgrinder-build/plugins/delivery/elastichosts/elastichosts-plugin.rb", "lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb", "lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb", "lib/boxgrinder-build/plugins/delivery/s3/src/cert-ec2.pem", "lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb", "lib/boxgrinder-build/plugins/delivery/usb/usb-plugin.rb", "lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb", "lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb", "lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb", "lib/boxgrinder-build/plugins/os/rpm-based/kickstart.rb", "lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb", "lib/boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator.rb", "lib/boxgrinder-build/plugins/os/rpm-based/src/appliance.ks.erb", "lib/boxgrinder-build/plugins/os/rpm-based/src/base.repo", "lib/boxgrinder-build/plugins/os/rpm-based/src/motd.init", "lib/boxgrinder-build/plugins/os/sl/sl-plugin.rb", "lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb", "lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit", "lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit", "lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0", "lib/boxgrinder-build/plugins/platform/ec2/src/menu.lst", "lib/boxgrinder-build/plugins/platform/ec2/src/rc_local", "lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb", "lib/boxgrinder-build/plugins/platform/vmware/src/README-enterprise", "lib/boxgrinder-build/plugins/platform/vmware/src/README-personal", "lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk", "lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx", "lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb"]
|
15
|
+
s.files = ["CHANGELOG", "LICENSE", "Manifest", "README.md", "Rakefile", "bin/boxgrinder-build", "boxgrinder-build.gemspec", "integ/appliances/_hardware_cpus.appl", "integ/appliances/_hardware_memory.appl", "integ/appliances/_hardware_partitions_home.appl", "integ/appliances/_hardware_partitions_root.appl", "integ/appliances/_os_password.appl", "integ/appliances/_packages_groups_base.appl", "integ/appliances/_packages_groups_core.appl", "integ/appliances/_packages_squid.appl", "integ/appliances/_packages_utils.appl", "integ/appliances/_repos_boxgrinder_permanent_noarch.appl", "integ/appliances/_repos_testlocal_ephemeral_noarch.appl", "integ/appliances/_test_base.appl", "integ/appliances/gnome-fedora.appl", "integ/appliances/jeos-centos.appl", "integ/appliances/jeos-fedora.appl", "integ/appliances/modular.appl", "integ/packages/ephemeral-repo-test-0.1-1.noarch.rpm", "integ/packages/local-repo-test.spec", "integ/spec/jeos-spec.rb", "integ/spec/modular-spec.rb", "lib/boxgrinder-build.rb", "lib/boxgrinder-build/appliance.rb", "lib/boxgrinder-build/helpers/augeas-helper.rb", "lib/boxgrinder-build/helpers/guestfs-helper.rb", "lib/boxgrinder-build/helpers/image-helper.rb", "lib/boxgrinder-build/helpers/linux-helper.rb", "lib/boxgrinder-build/helpers/package-helper.rb", "lib/boxgrinder-build/helpers/plugin-helper.rb", "lib/boxgrinder-build/helpers/qemu.wrapper", "lib/boxgrinder-build/managers/plugin-manager.rb", "lib/boxgrinder-build/plugins/base-plugin.rb", "lib/boxgrinder-build/plugins/delivery/ebs/ebs-plugin.rb", "lib/boxgrinder-build/plugins/delivery/elastichosts/elastichosts-plugin.rb", "lib/boxgrinder-build/plugins/delivery/local/local-plugin.rb", "lib/boxgrinder-build/plugins/delivery/s3/s3-plugin.rb", "lib/boxgrinder-build/plugins/delivery/s3/src/cert-ec2.pem", "lib/boxgrinder-build/plugins/delivery/sftp/sftp-plugin.rb", "lib/boxgrinder-build/plugins/delivery/usb/usb-plugin.rb", "lib/boxgrinder-build/plugins/os/centos/centos-plugin.rb", "lib/boxgrinder-build/plugins/os/fedora/fedora-plugin.rb", "lib/boxgrinder-build/plugins/os/rhel/rhel-plugin.rb", "lib/boxgrinder-build/plugins/os/rpm-based/kickstart.rb", "lib/boxgrinder-build/plugins/os/rpm-based/rpm-based-os-plugin.rb", "lib/boxgrinder-build/plugins/os/rpm-based/rpm-dependency-validator.rb", "lib/boxgrinder-build/plugins/os/rpm-based/src/appliance.ks.erb", "lib/boxgrinder-build/plugins/os/rpm-based/src/base.repo", "lib/boxgrinder-build/plugins/os/rpm-based/src/motd.init", "lib/boxgrinder-build/plugins/os/sl/sl-plugin.rb", "lib/boxgrinder-build/plugins/platform/ec2/ec2-plugin.rb", "lib/boxgrinder-build/plugins/platform/ec2/src/fstab_32bit", "lib/boxgrinder-build/plugins/platform/ec2/src/fstab_64bit", "lib/boxgrinder-build/plugins/platform/ec2/src/ifcfg-eth0", "lib/boxgrinder-build/plugins/platform/ec2/src/menu.lst", "lib/boxgrinder-build/plugins/platform/ec2/src/rc_local", "lib/boxgrinder-build/plugins/platform/virtualbox/virtualbox-plugin.rb", "lib/boxgrinder-build/plugins/platform/vmware/src/README-enterprise", "lib/boxgrinder-build/plugins/platform/vmware/src/README-personal", "lib/boxgrinder-build/plugins/platform/vmware/src/base.vmdk", "lib/boxgrinder-build/plugins/platform/vmware/src/base.vmx", "lib/boxgrinder-build/plugins/platform/vmware/vmware-plugin.rb", "rubygem-boxgrinder-build.spec", "spec/appliance-spec.rb", "spec/helpers/augeas-helper-spec.rb", "spec/helpers/guestfs-helper-spec.rb", "spec/helpers/image-helper-spec.rb", "spec/helpers/linux-helper-spec.rb", "spec/helpers/package-helper-spec.rb", "spec/helpers/plugin-helper-spec.rb", "spec/managers/plugin-manager-spec.rb", "spec/plugins/base-plugin-spec.rb", "spec/plugins/delivery/ebs/ebs-plugin-spec.rb", "spec/plugins/delivery/ebs/ebs.yaml", "spec/plugins/delivery/elastichosts/elastichosts-plugin-spec.rb", "spec/plugins/delivery/local/local-plugin-spec.rb", "spec/plugins/delivery/s3/s3-plugin-spec.rb", "spec/plugins/delivery/sftp/sftp-plugin-spec.rb", "spec/plugins/os/centos/centos-plugin-spec.rb", "spec/plugins/os/fedora/fedora-plugin-spec.rb", "spec/plugins/os/rhel/rhel-plugin-spec.rb", "spec/plugins/os/rpm-based/kickstart-spec.rb", "spec/plugins/os/rpm-based/rpm-based-os-plugin-spec.rb", "spec/plugins/os/rpm-based/rpm-dependency-validator-spec.rb", "spec/plugins/os/rpm-based/src/jeos-f13-plain.ks", "spec/plugins/os/rpm-based/src/jeos-f13-without-version.ks", "spec/plugins/os/rpm-based/src/jeos-f13.ks", "spec/plugins/os/sl/sl-plugin-spec.rb", "spec/plugins/platform/ec2/ec2-plugin-spec.rb", "spec/plugins/platform/virtualbox/virtualbox-plugin-spec.rb", "spec/plugins/platform/vmware/vmware-plugin-spec.rb"]
|
16
16
|
s.homepage = %q{http://boxgrinder.org/}
|
17
17
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Boxgrinder-build", "--main", "README.md"]
|
18
18
|
s.require_paths = ["lib"]
|
@@ -0,0 +1,13 @@
|
|
1
|
+
name: hardware-cpus
|
2
|
+
summary: Assign number of CPUs
|
3
|
+
hardware:
|
4
|
+
cpus: 2
|
5
|
+
post:
|
6
|
+
base:
|
7
|
+
- "/bin/echo 'true' > /hardware-cpus-boxgrinder-test"
|
8
|
+
ec2:
|
9
|
+
- "/bin/echo 'true' > /hardware-cpus-ec2-boxgrinder-test"
|
10
|
+
vmware:
|
11
|
+
- "/bin/echo 'true' > /hardware-cpus-vmware-boxgrinder-test"
|
12
|
+
virtualbox:
|
13
|
+
- "/bin/echo 'true' > /hardware-cpus-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
name: hardware-memory
|
2
|
+
summary: Assign memory
|
3
|
+
hardware:
|
4
|
+
memory: 2048
|
5
|
+
post:
|
6
|
+
base:
|
7
|
+
- "/bin/echo 'true' > /hardware-memory-boxgrinder-test"
|
8
|
+
ec2:
|
9
|
+
- "/bin/echo 'true' > /hardware-memory-ec2-boxgrinder-test"
|
10
|
+
vmware:
|
11
|
+
- "/bin/echo 'true' > /hardware-memory-vmware-boxgrinder-test"
|
12
|
+
virtualbox:
|
13
|
+
- "/bin/echo 'true' > /hardware-memory-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,15 @@
|
|
1
|
+
name: hardware-partitions-home
|
2
|
+
summary: create 2GB home partition
|
3
|
+
hardware:
|
4
|
+
partitions:
|
5
|
+
"/home":
|
6
|
+
size: 2
|
7
|
+
post:
|
8
|
+
base:
|
9
|
+
- "/bin/echo 'true' > /hardware-partitions-home-boxgrinder-test"
|
10
|
+
ec2:
|
11
|
+
- "/bin/echo 'true' > /hardware-partitions-home-ec2-boxgrinder-test"
|
12
|
+
vmware:
|
13
|
+
- "/bin/echo 'true' > /hardware-partitions-home-vmware-boxgrinder-test"
|
14
|
+
virtualbox:
|
15
|
+
- "/bin/echo 'true' > /hardware-partitions-home-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,15 @@
|
|
1
|
+
name: hardware-partitions-root
|
2
|
+
summary: set 2GB root partition
|
3
|
+
hardware:
|
4
|
+
partitions:
|
5
|
+
"/":
|
6
|
+
size: 2
|
7
|
+
post:
|
8
|
+
base:
|
9
|
+
- "/bin/echo 'true' > /hardware-partitions-root-boxgrinder-test"
|
10
|
+
ec2:
|
11
|
+
- "/bin/echo 'true' > /hardware-partitions-root-ec2-boxgrinder-test"
|
12
|
+
vmware:
|
13
|
+
- "/bin/echo 'true' > /hardware-partitions-root-vmware-boxgrinder-test"
|
14
|
+
virtualbox:
|
15
|
+
- "/bin/echo 'true' > /hardware-partitions-root-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,15 @@
|
|
1
|
+
name: os-password
|
2
|
+
summary: create password
|
3
|
+
os:
|
4
|
+
name: dummy-os
|
5
|
+
version: 14
|
6
|
+
password: boxgrinder-pw
|
7
|
+
post:
|
8
|
+
base:
|
9
|
+
- "/bin/echo 'true' > /os-password-boxgrinder-test"
|
10
|
+
ec2:
|
11
|
+
- "/bin/echo 'true' > /os-password-ec2-boxgrinder-test"
|
12
|
+
vmware:
|
13
|
+
- "/bin/echo 'true' > /os-password-vmware-boxgrinder-test"
|
14
|
+
virtualbox:
|
15
|
+
- "/bin/echo 'true' > /os-password-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
name: packages-groups-base
|
2
|
+
summary: Require "Base" group of packages (e.g. In YUM). Minimal additional packages for small setups like routers, small VMs etc.
|
3
|
+
packages:
|
4
|
+
- @base
|
5
|
+
post:
|
6
|
+
base:
|
7
|
+
- "/bin/echo 'true' > /packages-groups-base-boxgrinder-test"
|
8
|
+
ec2:
|
9
|
+
- "/bin/echo 'true' > /packages-groups-base-ec2-boxgrinder-test"
|
10
|
+
vmware:
|
11
|
+
- "/bin/echo 'true' > /packages-groups-base-vmware-boxgrinder-test"
|
12
|
+
virtualbox:
|
13
|
+
- "/bin/echo 'true' > /packages-groups-base-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
name: packages-groups-core
|
2
|
+
summary: Require "Core" group of packages (e.g. In YUM). The minimal packages for a functional OS.
|
3
|
+
packages:
|
4
|
+
- @core
|
5
|
+
post:
|
6
|
+
base:
|
7
|
+
- "/bin/echo 'true' > /packages-groups-core-boxgrinder-test"
|
8
|
+
ec2:
|
9
|
+
- "/bin/echo 'true' > /packages-groups-core-ec2-boxgrinder-test"
|
10
|
+
vmware:
|
11
|
+
- "/bin/echo 'true' > /packages-groups-core-vmware-boxgrinder-test"
|
12
|
+
virtualbox:
|
13
|
+
- "/bin/echo 'true' > /packages-groups-core-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
name: packages-squid
|
2
|
+
summary: Require Squid individual package
|
3
|
+
packages:
|
4
|
+
- squid
|
5
|
+
post:
|
6
|
+
base:
|
7
|
+
- "/bin/echo 'true' > /packages-squid-boxgrinder-test"
|
8
|
+
ec2:
|
9
|
+
- "/bin/echo 'true' > /packages-squid-ec2-boxgrinder-test"
|
10
|
+
vmware:
|
11
|
+
- "/bin/echo 'true' > /packages-squid-vmware-boxgrinder-test"
|
12
|
+
virtualbox:
|
13
|
+
- "/bin/echo 'true' > /packages-squid-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,14 @@
|
|
1
|
+
name: repos-boxgrinder-permanent-noarch
|
2
|
+
summary: Add an external repository (BG-CI)
|
3
|
+
repos:
|
4
|
+
- name: "boxgrinder-ci-noarch"
|
5
|
+
baseurl: "http://repo.ci.boxgrinder.org/#OS_NAME#/#OS_VERSION#/RPMS/"
|
6
|
+
post:
|
7
|
+
base:
|
8
|
+
- "/bin/echo 'true' > /repos-boxgrinder-noarch-boxgrinder-test"
|
9
|
+
ec2:
|
10
|
+
- "/bin/echo 'true' > /repos-boxgrinder-noarch-ec2-boxgrinder-test"
|
11
|
+
vmware:
|
12
|
+
- "/bin/echo 'true' > /repos-boxgrinder-noarch-vmware-boxgrinder-test"
|
13
|
+
virtualbox:
|
14
|
+
- "/bin/echo 'true' > /repos-boxgrinder-noarch-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,17 @@
|
|
1
|
+
name: repos-testlocal-ephemeral-noarch
|
2
|
+
summary: Local ephemeral test repository with dummy file - Please note the fixed URI.
|
3
|
+
packages:
|
4
|
+
- ephemeral-repo-test
|
5
|
+
repos:
|
6
|
+
- name: "BoxGrinder-Test-ephemeral-localrepo-noarch"
|
7
|
+
baseurl: file:///tmp/boxgrinder-repo/
|
8
|
+
ephemeral: true
|
9
|
+
post:
|
10
|
+
base:
|
11
|
+
- "/bin/echo 'true' > /repos-noarch-ephemeral-boxgrinder-test"
|
12
|
+
ec2:
|
13
|
+
- "/bin/echo 'true' > /repos-noarch-ephemeral-ec2-boxgrinder-test"
|
14
|
+
vmware:
|
15
|
+
- "/bin/echo 'true' > /repos-noarch-ephemeral-vmware-boxgrinder-test"
|
16
|
+
virtualbox:
|
17
|
+
- "/bin/echo 'true' > /repos-noarch-ephemeral-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
name: test-base
|
2
|
+
summary: Bare common test-base, requires all modular appls
|
3
|
+
appliances:
|
4
|
+
- _hardware_cpus
|
5
|
+
- _hardware_memory
|
6
|
+
- _hardware_partitions_home
|
7
|
+
- _hardware_partitions_root
|
8
|
+
- _os_password
|
9
|
+
- _packages_groups_base
|
10
|
+
- _packages_groups_core
|
11
|
+
- _packages_squid
|
12
|
+
- _packages_utils
|
13
|
+
- _repos_testlocal_ephemeral_noarch
|
14
|
+
post:
|
15
|
+
base:
|
16
|
+
- "/bin/echo 'true' > /common-test-base-boxgrinder-test"
|
17
|
+
ec2:
|
18
|
+
- "/bin/echo 'true' > /common-test-base-ec2-boxgrinder-test"
|
19
|
+
vmware:
|
20
|
+
- "/bin/echo 'true' > /common-test-base-vmware-boxgrinder-test"
|
21
|
+
virtualbox:
|
22
|
+
- "/bin/echo 'true' > /common-test-base-virtualbox-boxgrinder-test"
|
@@ -0,0 +1,19 @@
|
|
1
|
+
name: gnome-fedora
|
2
|
+
summary: Fedora with GNOME
|
3
|
+
hardware:
|
4
|
+
partitions:
|
5
|
+
"/":
|
6
|
+
size: 8
|
7
|
+
appliances:
|
8
|
+
- jeos-fedora
|
9
|
+
packages:
|
10
|
+
- @base
|
11
|
+
- @base-x
|
12
|
+
- @fonts
|
13
|
+
- @gnome-desktop
|
14
|
+
- @critical-path-gnome
|
15
|
+
post:
|
16
|
+
base:
|
17
|
+
- "ln -s --force /lib/systemd/system/graphical.target /etc/systemd/system/default.target"
|
18
|
+
- "useradd boxgrinder && echo boxgrinder | passwd boxgrinder --stdin"
|
19
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
name: modular
|
2
|
+
summary: Modular appliance
|
3
|
+
version: 1
|
4
|
+
release: 2
|
5
|
+
appliances:
|
6
|
+
- _test_base
|
7
|
+
- jeos-fedora
|
8
|
+
post:
|
9
|
+
base:
|
10
|
+
- "/bin/echo 'true' > /fedora-boxgrinder-test"
|
11
|
+
ec2:
|
12
|
+
- "/bin/echo 'true' > /fedora-ec2-boxgrinder-test"
|
13
|
+
vmware:
|
14
|
+
- "/bin/echo 'true' > /fedora-vmware-boxgrinder-test"
|
15
|
+
virtualbox:
|
16
|
+
- "/bin/echo 'true' > /fedora-virtualbox-boxgrinder-test"
|
Binary file
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Summary: A test spec for use in verifying ephemeral repo functionality of BoxGrinder
|
2
|
+
Name: ephemeral-repo-test
|
3
|
+
Version: 0.1
|
4
|
+
Release: 1
|
5
|
+
License: GPLv3
|
6
|
+
Packager: Marc Savy
|
7
|
+
BuildArch: noarch
|
8
|
+
|
9
|
+
%description
|
10
|
+
A test spec for use in verifying ephemeral repo functionality in BoxGrinder
|
11
|
+
|
12
|
+
%install
|
13
|
+
rm -rf $RPM_BUILD_ROOT
|
14
|
+
mkdir $RPM_BUILD_ROOT
|
15
|
+
|
16
|
+
touch $RPM_BUILD_ROOT/repos-boxgrinder-noarch-ephemeral-boxgrinder-test
|
17
|
+
|
18
|
+
%files
|
19
|
+
%defattr(-,root,root)
|
20
|
+
/
|
@@ -0,0 +1,69 @@
|
|
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 'rubygems'
|
20
|
+
require 'boxgrinder-build/appliance'
|
21
|
+
require 'boxgrinder-core/models/config'
|
22
|
+
require 'boxgrinder-core/helpers/log-helper'
|
23
|
+
require 'boxgrinder-build/helpers/guestfs-helper'
|
24
|
+
require 'fileutils'
|
25
|
+
|
26
|
+
module BoxGrinder
|
27
|
+
describe 'BoxGrinder Build' do
|
28
|
+
before(:all) do
|
29
|
+
# Cleaning up before build
|
30
|
+
FileUtils.rm_rf('build/')
|
31
|
+
end
|
32
|
+
|
33
|
+
after(:all) do
|
34
|
+
# Cleaning up after build
|
35
|
+
FileUtils.rm_rf('build/')
|
36
|
+
end
|
37
|
+
|
38
|
+
before(:each) do
|
39
|
+
# Deliver the packaged appliance to CloudFront
|
40
|
+
@config = Config.new(:delivery => :cloudfront)
|
41
|
+
@log = LogHelper.new(:level => :trace, :type => :stdout)
|
42
|
+
end
|
43
|
+
|
44
|
+
after(:each) do
|
45
|
+
# Make sure all deliverables really exists
|
46
|
+
@appliance.plugin_chain.last[:plugin].deliverables.each_value do |file|
|
47
|
+
File.exists?(file).should == true
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
context "operating system plugin" do
|
52
|
+
it "should build Fedora JEOS" do
|
53
|
+
@appliance = Appliance.new("#{File.dirname(__FILE__)}/../appliances/jeos-fedora.appl", @config, :log => @log).create
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should build CentOS JEOS" do
|
57
|
+
@appliance = Appliance.new("#{File.dirname(__FILE__)}/../appliances/jeos-centos.appl", @config, :log => @log).create
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
context "platform plugin" do
|
62
|
+
it "should create Fedora JEOS appliance and convert it to VMware personal platform" do
|
63
|
+
@config.merge!(:platform => :vmware, :platform_config => {'type' => 'personal'})
|
64
|
+
@appliance = Appliance.new("#{File.dirname(__FILE__)}/../appliances/jeos-fedora.appl", @config, :log => @log).create
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|