kameleon-builder 2.2.3 → 2.2.4

Sign up to get free protection for your applications and to get access to all the features.
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