kameleon-builder 2.1.0 → 2.1.1
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.
- data/.editorconfig +0 -0
- data/CHANGELOG.rst +87 -0
- data/docs/Makefile +1 -1
- data/docs/source/context.rst +3 -1
- data/docs/source/debian7.yaml +128 -0
- data/docs/source/debian_customized.yaml +28 -0
- data/docs/source/debian_customized_g5k.yaml +21 -0
- data/docs/source/grid5000_tutorial.rst +435 -32
- data/docs/source/installation.rst +8 -0
- data/docs/source/tau_install_g5k.yaml +24 -0
- data/ext/mkrf_conf.rb +58 -0
- data/kameleon-builder.gemspec +7 -6
- data/lib/kameleon.rb +6 -2
- data/lib/kameleon/compat.rb +23 -1
- data/lib/kameleon/context.rb +8 -2
- data/lib/kameleon/engine.rb +19 -17
- data/lib/kameleon/persistent_cache.rb +11 -6
- data/lib/kameleon/recipe.rb +15 -4
- data/lib/kameleon/shell.rb +12 -13
- data/lib/kameleon/step.rb +19 -6
- data/lib/kameleon/utils.rb +5 -2
- data/templates/debian7-g5k.yaml +2 -2
- data/templates/debian7-kameleon.yaml +43 -0
- data/templates/debian7.yaml +1 -1
- data/templates/docker-debian7.yaml +107 -0
- data/templates/steps/bootstrap/initialize_disk_chroot.yaml +1 -1
- data/templates/steps/bootstrap/initialize_disk_qemu.yaml +1 -1
- data/templates/steps/bootstrap/prepare_docker.yaml +37 -35
- data/templates/steps/bootstrap/prepare_qemu.yaml +1 -1
- data/templates/steps/bootstrap/start_docker.yaml +6 -2
- data/templates/steps/bootstrap/start_qemu.yaml +2 -2
- data/templates/steps/checkpoints/qemu.yaml +1 -1
- data/templates/steps/export/save_appliance_from_g5k.yaml +1 -1
- data/version.txt +1 -1
- metadata +15 -7
- data/templates/debian7-docker.yaml +0 -111
@@ -1,111 +0,0 @@
|
|
1
|
-
#==============================================================================
|
2
|
-
# vim: softtabstop=2 shiftwidth=2 expandtab fenc=utf-8 cc=81 tw=80
|
3
|
-
#==============================================================================
|
4
|
-
#
|
5
|
-
# DESCRIPTION: Build a debian wheezy appliance using Docker.
|
6
|
-
#
|
7
|
-
#==============================================================================
|
8
|
-
|
9
|
-
---
|
10
|
-
# Loads some helpful aliases
|
11
|
-
aliases: defaults.yaml
|
12
|
-
# Enables qcow2 checkpoint
|
13
|
-
checkpoint: docker.yaml
|
14
|
-
#== Global variables use by Kameleon engine and the steps
|
15
|
-
global:
|
16
|
-
## User varibales : used by the recipe
|
17
|
-
cachedir: /var/cache/kameleon
|
18
|
-
user_name: kameleon
|
19
|
-
arch: amd64
|
20
|
-
|
21
|
-
distrib: debian
|
22
|
-
release: wheezy
|
23
|
-
docker_image: kameleon-$${distrib}-$$release
|
24
|
-
# DNS servers : opendns
|
25
|
-
docker_dns: 208.67.222.222
|
26
|
-
|
27
|
-
## System variables. Required by kameleon engine
|
28
|
-
# Include specific steps
|
29
|
-
include_steps:
|
30
|
-
- $$distrib/$$release
|
31
|
-
- $$distrib
|
32
|
-
|
33
|
-
# Shell session from where we launch exec_out commands. There is often a
|
34
|
-
# local bash session, but it can be a remote shell on other machines or on
|
35
|
-
# any shell. (eg. bash, chroot, fakechroot, ssh, tmux, lxc...)
|
36
|
-
out_context:
|
37
|
-
cmd: bash
|
38
|
-
workdir: $$kameleon_cwd
|
39
|
-
|
40
|
-
# Shell session that allows us to connect to the building machine in order to
|
41
|
-
# configure it and setup additional programs
|
42
|
-
ssh_options: -o StrictHostKeyChecking=no -o ForwardAgent=yes
|
43
|
-
ssh_port: $(cat MAIN_CONTAINER_PORT)
|
44
|
-
insecure_ssh_key: insecure_ssh_dsa_key
|
45
|
-
in_context:
|
46
|
-
cmd: LC_ALL=POSIX ssh $$ssh_options root@localhost -p $$ssh_port -i $$insecure_ssh_key -t /bin/bash
|
47
|
-
workdir: /
|
48
|
-
|
49
|
-
#== Bootstrap the new system and create the 'in_context'
|
50
|
-
bootstrap:
|
51
|
-
- debootstrap:
|
52
|
-
- release: $$release
|
53
|
-
- arch: $$arch
|
54
|
-
- repository: http://ftp.debian.org/debian/
|
55
|
-
- rootfs_archive: $$cachedir/$$distrib/$$release/$$arch/debootstrap.tar.gz
|
56
|
-
- prepare_docker:
|
57
|
-
- image: $$docker_image
|
58
|
-
- dns: $$docker_dns
|
59
|
-
- rootfs_archive: $$cachedir/$$distrib/$$release/$$arch/debootstrap.tar.gz
|
60
|
-
- start_docker:
|
61
|
-
- image: $$docker_image
|
62
|
-
- dns: $$docker_dns
|
63
|
-
- hostname: kameleon-$$distrib
|
64
|
-
|
65
|
-
#== Install and configuration steps
|
66
|
-
# WARNING: this part should be independante from the build context (whenever
|
67
|
-
# possible...)
|
68
|
-
setup:
|
69
|
-
# Install
|
70
|
-
- software_install:
|
71
|
-
- packages: >
|
72
|
-
debian-keyring ntp zip unzip rsync sudo less vim bash-completion
|
73
|
-
- config_kernel
|
74
|
-
# Configuration
|
75
|
-
- system_config:
|
76
|
-
- locales: fr_FR en_US
|
77
|
-
- lang: fr_FR.UTF-8
|
78
|
-
- timezone: UTC
|
79
|
-
- keyboard_config:
|
80
|
-
- layout: "fr,us"
|
81
|
-
- create_user:
|
82
|
-
- name: $$user_name
|
83
|
-
- group: admin
|
84
|
-
- password: $$user_name
|
85
|
-
|
86
|
-
#== Export the generated appliance in the format of your choice
|
87
|
-
export:
|
88
|
-
- export_docker_image:
|
89
|
-
- image: $(cat MAIN_CONTAINER_ID)
|
90
|
-
- rootfs_archive: "$${kameleon_recipe_name}.tar.gz"
|
91
|
-
- create_disk_nbd:
|
92
|
-
- consider_checkpoint: false
|
93
|
-
- image_size: 2G
|
94
|
-
- filename: "$${kameleon_recipe_name}.qcow2"
|
95
|
-
- device: /dev/nbd1
|
96
|
-
- populate_disk:
|
97
|
-
- filename: "$${kameleon_recipe_name}.qcow2"
|
98
|
-
- device: /dev/nbd1
|
99
|
-
- mountdir: rootfs
|
100
|
-
- filesystem_type: ext4
|
101
|
-
- rootfs_archive: "$${kameleon_recipe_name}.tar.gz"
|
102
|
-
- start_chroot:
|
103
|
-
- rootfs: rootfs
|
104
|
-
- dns: $$docker_dns
|
105
|
-
- mount_chroot
|
106
|
-
- install_bootloader:
|
107
|
-
- mountdir: rootfs
|
108
|
-
- device: /dev/nbd1
|
109
|
-
- compact_qcow_img:
|
110
|
-
- mountdir: rootfs
|
111
|
-
- filename: "$${kameleon_recipe_name}.qcow2"
|