kameleon-builder 2.2.3 → 2.2.4

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.
Files changed (37) hide show
  1. data/CHANGELOG.rst +13 -0
  2. data/contrib/kameleon_bashrc.sh +6 -6
  3. data/lib/kameleon/engine.rb +5 -2
  4. data/lib/kameleon/persistent_cache.rb +43 -25
  5. data/lib/kameleon/recipe.rb +12 -7
  6. data/lib/kameleon/step.rb +2 -0
  7. data/templates/qemu/centos6.5-x86_64.yaml +18 -9
  8. data/templates/qemu/centos7-x86_64.yaml +4 -1
  9. data/templates/qemu/fedora20-x86_64.yaml +4 -1
  10. data/templates/steps/bootstrap/centos/6.5/yum_bootstrap.yaml +65 -0
  11. data/templates/steps/bootstrap/start_qemu.yaml +4 -2
  12. data/templates/steps/bootstrap/start_virtualbox.yaml +3 -2
  13. data/templates/steps/bootstrap/switch_context_qemu.yaml +5 -4
  14. data/templates/steps/bootstrap/switch_context_virtualbox.yaml +4 -3
  15. data/templates/steps/export/save_appliance_from_g5k.yaml +1 -1
  16. data/templates/steps/export/vagrant_save_appliance.yaml +7 -0
  17. data/templates/steps/export/virtualbox_save_appliance.yaml +0 -6
  18. data/templates/steps/setup/centos/6.5/configure_repo.yaml +9 -0
  19. data/templates/steps/setup/centos/6.5/configure_system.yaml +19 -0
  20. data/templates/steps/setup/centos/6.5/minimal_install.yaml +3 -0
  21. data/templates/steps/setup/centos/6.5/setup_vagrant_box.yaml +76 -0
  22. data/templates/steps/setup/debian/setup_vagrant_box.yaml +6 -8
  23. data/templates/steps/setup/fedora/configure_system.yaml +18 -0
  24. data/templates/steps/setup/fedora/install_bootloader.yaml +1 -6
  25. data/templates/steps/setup/fedora/update_system.yaml +1 -1
  26. data/templates/virtualbox/archlinux-x86_64.yaml +0 -1
  27. data/templates/virtualbox/centos6.5-vagrant-x86_64.yaml +33 -0
  28. data/templates/virtualbox/centos6.5-x86_64.yaml +20 -10
  29. data/templates/virtualbox/centos7-x86_64.yaml +4 -2
  30. data/templates/virtualbox/debian7-amd64.yaml +11 -13
  31. data/templates/virtualbox/debian7-vagrant-amd64.yaml +32 -0
  32. data/templates/virtualbox/fedora20-x86_64.yaml +4 -2
  33. data/templates/virtualbox/ubuntu-12.04-amd64.yaml +2 -2
  34. data/version.txt +1 -1
  35. metadata +26 -12
  36. checksums.yaml +0 -7
  37. data/templates/vagrant/debian7-amd64.yaml +0 -130
@@ -0,0 +1,32 @@
1
+ #==============================================================================
2
+ # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
+ #==============================================================================
4
+ #
5
+ # DESCRIPTION: A standard Debian 7 vagrant base box (amd64)
6
+ #
7
+ #==============================================================================
8
+
9
+ ---
10
+ extend: debian7-amd64.yaml
11
+
12
+ global:
13
+ ## User varibales : used by the recipe
14
+ user_name: vagrant
15
+
16
+ #== Bootstrap the new system and create the 'in_context'
17
+ bootstrap:
18
+ - "@base"
19
+
20
+ #== Install and configuration steps
21
+ setup:
22
+ - "@base"
23
+ - install_software:
24
+ - packages: >
25
+ linux-headers-$(uname -r) nfs-common dkms rsync
26
+ - setup_vagrant_box
27
+
28
+ #== Export the generated appliance in the format of your choice
29
+ export:
30
+ - disable_checkpoint
31
+ - vagrant_save_appliance:
32
+ - output: "$$kameleon_cwd/$${kameleon_recipe_name}"
@@ -46,7 +46,10 @@ global:
46
46
  - $$distrib/$$release
47
47
  - $$distrib
48
48
 
49
- disable_selinux: true
49
+ # SELinux configuration
50
+ selinux: permissive ## Can take one of these three values: enforcing, permissive or disabled
51
+ selinuxtype: targeted # Possible values are: strict, targeted
52
+
50
53
  ssh_config_file: $$kameleon_cwd/ssh_config
51
54
  out_context:
52
55
  cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
@@ -113,4 +116,3 @@ export:
113
116
  # - save_as_raw
114
117
  # - save_as_qcow2
115
118
  # - save_as_qed
116
- # - save_as_vagrant_box
@@ -37,6 +37,7 @@ global:
37
37
  insecure_ssh_key_url: http://kameleon.imag.fr/iso/boot2debian/keys/insecure_id_rsa
38
38
 
39
39
  # rootfs options
40
+ disk_device: /dev/sda
40
41
  rootfs: /rootfs
41
42
  filesystem_type: ext4
42
43
 
@@ -71,7 +72,7 @@ bootstrap:
71
72
  - packages: parted e2fsprogs debootstrap extlinux
72
73
  - initialize_disk
73
74
  - debootstrap:
74
- - include_pkg: >
75
+ - include_pkg: >
75
76
  apt-transport-https ca-certificates less acpid acpi-support kbd bzip2 udev
76
77
  locales psmisc linux-image-generic ifupdown iptables iputils-ping
77
78
  iproute pciutils isc-dhcp-client openssh-server
@@ -125,4 +126,3 @@ export:
125
126
  # - save_as_raw
126
127
  # - save_as_qcow2
127
128
  # - save_as_qed
128
- # - save_as_vagrant_box
@@ -1 +1 @@
1
- 2.2.3
1
+ 2.2.4
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kameleon-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.3
4
+ version: 2.2.4
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Salem Harrache
@@ -11,51 +12,56 @@ authors:
11
12
  autorequire:
12
13
  bindir: bin
13
14
  cert_chain: []
14
- date: 2014-08-19 00:00:00.000000000 Z
15
+ date: 2014-09-02 00:00:00.000000000 Z
15
16
  dependencies:
16
17
  - !ruby/object:Gem::Dependency
17
18
  name: childprocess
18
19
  requirement: !ruby/object:Gem::Requirement
20
+ none: false
19
21
  requirements:
20
22
  - - ~>
21
23
  - !ruby/object:Gem::Version
22
24
  version: 0.5.3
23
- - - '>='
25
+ - - ! '>='
24
26
  - !ruby/object:Gem::Version
25
27
  version: 0.3.0
26
28
  type: :runtime
27
29
  prerelease: false
28
30
  version_requirements: !ruby/object:Gem::Requirement
31
+ none: false
29
32
  requirements:
30
33
  - - ~>
31
34
  - !ruby/object:Gem::Version
32
35
  version: 0.5.3
33
- - - '>='
36
+ - - ! '>='
34
37
  - !ruby/object:Gem::Version
35
38
  version: 0.3.0
36
39
  - !ruby/object:Gem::Dependency
37
40
  name: thor
38
41
  requirement: !ruby/object:Gem::Requirement
42
+ none: false
39
43
  requirements:
40
44
  - - ~>
41
45
  - !ruby/object:Gem::Version
42
46
  version: '0.19'
43
- - - '>='
47
+ - - ! '>='
44
48
  - !ruby/object:Gem::Version
45
49
  version: 0.15.0
46
50
  type: :runtime
47
51
  prerelease: false
48
52
  version_requirements: !ruby/object:Gem::Requirement
53
+ none: false
49
54
  requirements:
50
55
  - - ~>
51
56
  - !ruby/object:Gem::Version
52
57
  version: '0.19'
53
- - - '>='
58
+ - - ! '>='
54
59
  - !ruby/object:Gem::Version
55
60
  version: 0.15.0
56
61
  - !ruby/object:Gem::Dependency
57
62
  name: table_print
58
63
  requirement: !ruby/object:Gem::Requirement
64
+ none: false
59
65
  requirements:
60
66
  - - ~>
61
67
  - !ruby/object:Gem::Version
@@ -63,6 +69,7 @@ dependencies:
63
69
  type: :runtime
64
70
  prerelease: false
65
71
  version_requirements: !ruby/object:Gem::Requirement
72
+ none: false
66
73
  requirements:
67
74
  - - ~>
68
75
  - !ruby/object:Gem::Version
@@ -153,6 +160,7 @@ files:
153
160
  - templates/qemu/ubuntu-14.04-desktop-amd64.yaml
154
161
  - templates/steps/aliases/defaults.yaml
155
162
  - templates/steps/bootstrap/archlinux/arch_bootstrap.yaml
163
+ - templates/steps/bootstrap/centos/6.5/yum_bootstrap.yaml
156
164
  - templates/steps/bootstrap/debian/debootstrap.yaml
157
165
  - templates/steps/bootstrap/debian/debootstrap_arm.yaml
158
166
  - templates/steps/bootstrap/fedora/init_pxeboot.yaml
@@ -182,6 +190,7 @@ files:
182
190
  - templates/steps/export/compact_qcow_img.yaml
183
191
  - templates/steps/export/qemu_save_appliance.yaml
184
192
  - templates/steps/export/save_appliance_from_g5k.yaml
193
+ - templates/steps/export/vagrant_save_appliance.yaml
185
194
  - templates/steps/export/virtualbox_save_appliance.yaml
186
195
  - templates/steps/setup/archlinux/configure_keyboard.yaml
187
196
  - templates/steps/setup/archlinux/configure_network.yaml
@@ -194,7 +203,10 @@ files:
194
203
  - templates/steps/setup/archlinux/install_yaourt.yaml
195
204
  - templates/steps/setup/autologin.yaml
196
205
  - templates/steps/setup/centos/6.5/configure_network.yaml
206
+ - templates/steps/setup/centos/6.5/configure_repo.yaml
197
207
  - templates/steps/setup/centos/6.5/configure_system.yaml
208
+ - templates/steps/setup/centos/6.5/minimal_install.yaml
209
+ - templates/steps/setup/centos/6.5/setup_vagrant_box.yaml
198
210
  - templates/steps/setup/create_group.yaml
199
211
  - templates/steps/setup/create_user.yaml
200
212
  - templates/steps/setup/debian/configure_apt.yaml
@@ -228,12 +240,12 @@ files:
228
240
  - templates/steps/setup/oar/oar_devel_prereq_install.yaml
229
241
  - templates/steps/setup/oar/oar_git_install.yaml
230
242
  - templates/steps/setup/ubuntu/configure_apt.yaml
231
- - templates/vagrant/debian7-amd64.yaml
232
243
  - templates/virtualbox/archlinux-desktop-i686.yaml
233
244
  - templates/virtualbox/archlinux-desktop-x86_64.yaml
234
245
  - templates/virtualbox/archlinux-i686.yaml
235
246
  - templates/virtualbox/archlinux-x86_64.yaml
236
247
  - templates/virtualbox/centos6.5-i386.yaml
248
+ - templates/virtualbox/centos6.5-vagrant-x86_64.yaml
237
249
  - templates/virtualbox/centos6.5-x86_64.yaml
238
250
  - templates/virtualbox/centos7-x86_64.yaml
239
251
  - templates/virtualbox/debian7-amd64.yaml
@@ -241,6 +253,7 @@ files:
241
253
  - templates/virtualbox/debian7-i386.yaml
242
254
  - templates/virtualbox/debian7-kameleon-amd64.yaml
243
255
  - templates/virtualbox/debian7-oar-amd64.yaml
256
+ - templates/virtualbox/debian7-vagrant-amd64.yaml
244
257
  - templates/virtualbox/debian8-amd64.yaml
245
258
  - templates/virtualbox/debian8-i386.yaml
246
259
  - templates/virtualbox/fedora20-x86_64.yaml
@@ -261,26 +274,27 @@ files:
261
274
  homepage: http://kameleon.readthedocs.org/
262
275
  licenses:
263
276
  - GPL-2
264
- metadata: {}
265
277
  post_install_message:
266
278
  rdoc_options: []
267
279
  require_paths:
268
280
  - lib
269
281
  required_ruby_version: !ruby/object:Gem::Requirement
282
+ none: false
270
283
  requirements:
271
- - - '>='
284
+ - - ! '>='
272
285
  - !ruby/object:Gem::Version
273
286
  version: '0'
274
287
  required_rubygems_version: !ruby/object:Gem::Requirement
288
+ none: false
275
289
  requirements:
276
- - - '>='
290
+ - - ! '>='
277
291
  - !ruby/object:Gem::Version
278
292
  version: '0'
279
293
  requirements: []
280
294
  rubyforge_project:
281
- rubygems_version: 2.1.11
295
+ rubygems_version: 1.8.23
282
296
  signing_key:
283
- specification_version: 4
297
+ specification_version: 3
284
298
  summary: Kameleon is a tool to build virtual machines from scratch
285
299
  test_files:
286
300
  - tests/helper.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: a2dd769a06842822d30b2bdbf697bafdac743992
4
- data.tar.gz: 940236d90915c6cfbd083279268bb2ce32f8a2ba
5
- SHA512:
6
- metadata.gz: 2870bb6011c52bca58978b58b5a1fb93314e7ef976bb8cc32d7b5a9042b11c33f36c9834e7cc949d1be4694fbcdec47c737d3c290b44c1dac2fb4885f3a1ea95
7
- data.tar.gz: ad3aa91cee5f93ca7ae94d2651212ece607e1ca305083832023a76c99801d62da511da18692c9e258a8d72308d6202e50d97fe24ecb1bf431a673be586c5f2f4
@@ -1,130 +0,0 @@
1
- #==============================================================================
2
- # vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
3
- #==============================================================================
4
- #
5
- # DESCRIPTION: A standard Debian 7 vagrant base box (amd64)
6
- #
7
- #==============================================================================
8
-
9
- ---
10
- # Loads some helpful aliases
11
- aliases: defaults.yaml
12
- # Enables virtualbox checkpoint
13
- checkpoint: virtualbox.yaml
14
- #== Global variables use by Kameleon engine and the steps
15
- global:
16
- ## User varibales : used by the recipe
17
- user_name: vagrant
18
- user_password: $$user_name
19
-
20
- # Distribution
21
- distrib: debian
22
- release: wheezy
23
- arch: amd64
24
- kernel_arch: $$arch
25
- hostname: kameleon-$$distrib
26
-
27
- ## VirtualBox options
28
- virtualbox_memory_size: 768
29
- virtualbox_ssh_port: 55423
30
- virtualbox_os_type: Debian_64
31
- virtualbox_vmid: $${kameleon_recipe_name}_$${kameleon_short_uuid}
32
- virtualbox_image_size: 10000 ## megabytes
33
- virtualbox_image_disk: $$kameleon_cwd/base_$$kameleon_recipe_name.vdi
34
-
35
- ## Kameleon iso bootstrap
36
- boot2kameleon_url: http://kameleon.imag.fr/iso/boot2debian/debian-jessie-x86_64-insecure.iso
37
- insecure_ssh_key_url: http://kameleon.imag.fr/iso/boot2debian/keys/insecure_id_rsa
38
-
39
- ## Rootfs options
40
- disk_device: /dev/sda
41
- rootfs: /rootfs
42
- filesystem_type: ext4
43
-
44
- ## System variables. Required by kameleon engine
45
- # Include specific steps
46
- include_steps:
47
- - $$distrib/$$release
48
- - $$distrib
49
-
50
- # Apt options
51
- apt_repository: http://ftp.debian.org/debian/
52
- apt_enable_contrib: true
53
- apt_enable_nonfree: true
54
-
55
- ssh_config_file: $$kameleon_cwd/ssh_config
56
- out_context:
57
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
58
- workdir: /root/kameleon_workdir
59
- proxy_cache: 10.0.2.2
60
-
61
- in_context:
62
- cmd: ssh -F $$ssh_config_file $${kameleon_recipe_name} -t /bin/bash
63
- workdir: /root/kameleon_workdir
64
- proxy_cache: 10.0.2.2
65
-
66
- #== Bootstrap the new system and create the 'in_context'
67
- bootstrap:
68
- - enable_checkpoint
69
- - prepare_virtualbox
70
- - start_virtualbox
71
- - install_requirements:
72
- - packages: parted e2fsprogs debootstrap extlinux
73
- - initialize_disk
74
- - debootstrap:
75
- - include_pkg: >
76
- apt-utils ca-certificates locales less linux-image-$$kernel_arch
77
- isc-dhcp-client ifupdown iptables iputils-ping iproute pciutils
78
- psmisc acpid acpi-support-base openssh-server
79
- - release: $$release
80
- - arch: $$arch
81
- - repository: $$apt_repository
82
- - variant: minbase
83
- - switch_context_virtualbox
84
-
85
- #== Install and configuration steps
86
- setup:
87
- # Install
88
- - configure_apt:
89
- - repository: $$apt_repository
90
- - enable_contrib_repo: $$apt_enable_contrib
91
- - enable_nonfree_repo: $$apt_enable_nonfree
92
- - upgrade_system:
93
- - dist_upgrade: true
94
- - install_software:
95
- - packages: >
96
- debian-keyring ntp sudo less vim bash-completion curl less bzip2 wget
97
- dialog htop tree extlinux build-essential dkms rsync unzip nfs-common
98
- linux-headers-$(uname -r)
99
- - install_bootloader
100
- # Configuration
101
- - configure_system:
102
- - locales: POSIX C en_US fr_FR de_DE
103
- - lang: en_US.UTF-8
104
- - timezone: UTC
105
- - configure_keyboard:
106
- - layout: "us,fr,de"
107
- - configure_network
108
- - create_group:
109
- - name: admin
110
- - create_user:
111
- - name: $$user_name
112
- - groups: sudo admin
113
- - password: $$user_password
114
- - setup_vagrant_box
115
-
116
- #== Export the generated appliance in the format of your choice
117
- export:
118
- - disable_checkpoint
119
- - virtualbox_save_appliance:
120
- - output: "$$kameleon_cwd/$${kameleon_recipe_name}"
121
- # - save_as_ova
122
- # - save_as_vdi
123
- # - save_as_vmdk
124
- # - save_as_tar_gz
125
- # - save_as_tar_xz
126
- # - save_as_tar_bz2
127
- # - save_as_raw
128
- # - save_as_qcow2
129
- # - save_as_qed
130
- - save_as_vagrant_box