kameleon-builder 2.1.1 → 2.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rst +10 -0
- data/docs/source/_static/centos.png +0 -0
- data/docs/source/_static/debian.png +0 -0
- data/docs/source/_static/ubuntu.png +0 -0
- data/docs/source/_themes/sphinx_rtd_theme/__init__.py +17 -0
- data/docs/source/_themes/sphinx_rtd_theme/breadcrumbs.html +19 -0
- data/docs/source/_themes/sphinx_rtd_theme/footer.html +32 -0
- data/docs/source/_themes/sphinx_rtd_theme/layout.html +160 -0
- data/docs/source/_themes/sphinx_rtd_theme/layout_old.html +205 -0
- data/docs/source/_themes/sphinx_rtd_theme/search.html +50 -0
- data/docs/source/_themes/sphinx_rtd_theme/searchbox.html +7 -0
- data/docs/source/_themes/sphinx_rtd_theme/static/css/badge_only.css +1 -0
- data/docs/source/_themes/sphinx_rtd_theme/static/css/theme.css +4 -0
- data/docs/source/_themes/sphinx_rtd_theme/static/fonts/FontAwesome.otf +0 -0
- data/docs/source/_themes/sphinx_rtd_theme/static/fonts/fontawesome-webfont.eot +0 -0
- data/docs/source/_themes/sphinx_rtd_theme/static/fonts/fontawesome-webfont.svg +414 -0
- data/docs/source/_themes/sphinx_rtd_theme/static/fonts/fontawesome-webfont.ttf +0 -0
- data/docs/source/_themes/sphinx_rtd_theme/static/fonts/fontawesome-webfont.woff +0 -0
- data/docs/source/_themes/sphinx_rtd_theme/static/js/theme.js +47 -0
- data/docs/source/_themes/sphinx_rtd_theme/theme.conf +8 -0
- data/docs/source/_themes/sphinx_rtd_theme/versions.html +37 -0
- data/docs/source/aliases.rst +2 -2
- data/docs/source/atlas_debian_g5k.yaml +36 -0
- data/docs/source/checkpoint.rst +1 -1
- data/docs/source/conf.py +4 -6
- data/docs/source/debian7.yaml +2 -2
- data/docs/source/getting_started.rst +132 -104
- data/docs/source/grid5000_tutorial.rst +36 -24
- data/docs/source/install_atlas.yaml +25 -0
- data/docs/source/install_hpl.yaml +24 -0
- data/docs/source/installation.rst +30 -16
- data/docs/source/persistent_cache.rst +3 -3
- data/docs/source/recipe.rst +6 -92
- data/docs/source/tau_install.yaml +19 -0
- data/docs/source/tau_install_g5k.yaml +13 -12
- data/docs/source/workspace.rst +2 -2
- data/lib/kameleon/cli.rb +3 -3
- data/lib/kameleon/recipe.rb +5 -6
- data/lib/kameleon/utils.rb +3 -4
- data/templates/{old-debian7.yaml → debian7-chroot.yaml} +1 -1
- data/version.txt +1 -1
- metadata +27 -3
@@ -202,6 +202,7 @@ The recipe looks like this:
|
|
202
202
|
|
203
203
|
.. literalinclude:: debian7.yaml
|
204
204
|
:lines: 69-125
|
205
|
+
:language: yaml
|
205
206
|
|
206
207
|
The previous recipe build a debian wheezy using qemu.
|
207
208
|
It looks verbose but normally you as user you wont see it.
|
@@ -223,9 +224,9 @@ That you can try out by executing::
|
|
223
224
|
$ sudo qemu-system-x86_64 -enable-kvm builds/debian7/debian7.qcow2
|
224
225
|
|
225
226
|
|
226
|
-
|
227
|
+
--------------------------------
|
227
228
|
Customizing a software appliance
|
228
|
-
|
229
|
+
--------------------------------
|
229
230
|
|
230
231
|
Now, lets customize a given template in order to create a software appliance that have OpenMPI, Taktuk and tools necessary to compile source code.
|
231
232
|
Kameleon allows us to extend a given template. We will use this for adding the necessary software. Type the following::
|
@@ -279,27 +280,11 @@ For building execute::
|
|
279
280
|
|
280
281
|
Then, you can follow the same steps as before to try it out and verify that the software was installed.
|
281
282
|
Now, let's make things a little more complicated. We will now compile and install TAU in our system.
|
282
|
-
So, for that let's create a step file that will look like this
|
283
|
-
|
284
|
-
- get_tau:
|
285
|
-
- exec_in: cd /tmp/
|
286
|
-
- exec_in: wget -q http://www.cs.uoregon.edu/research/tau/tau_releases/tau-2.22.2.tar.gz
|
287
|
-
- exec_in: wget -q http://www.cs.uoregon.edu/research/tau/pdt_releases/pdt-3.19.tar.gz
|
283
|
+
So, for that let's create a step file that will look like this:
|
288
284
|
|
289
|
-
- pdt_install:
|
290
|
-
- exec_in: cd /tmp/
|
291
|
-
- exec_in: tar -xzf pdt-3.19.tar.gz
|
292
|
-
- exec_in: cd /tmp/pdtoolkit-3.19
|
293
|
-
- exec_in: ./configure -prefix=/usr/local/pdt-install
|
294
|
-
- exec_in: make clean install
|
295
|
-
|
296
|
-
- tau_install:
|
297
|
-
- exec_in: cd /tmp/
|
298
|
-
- exec_in: tar -xzf tau-2.22.2.tar.gz
|
299
|
-
- exec_in: cd /tmp/tau-2.22.2
|
300
|
-
- exec_in: ./configure -prefix=/usr/local/tau-install -pdt=/usr/local/pdt-install/ -mpiinc=/usr/local/openmpi-install/include -mpilib=/usr/local/openmpi-install/lib
|
301
|
-
- exec_in: make install
|
302
285
|
|
286
|
+
.. literalinclude:: tau_install.yaml
|
287
|
+
:language: yaml
|
303
288
|
|
304
289
|
You have to put it under the directory *steps/setup/* and you can call it tau_install.
|
305
290
|
In order to use it in your recipe, modify it as follows::
|
@@ -371,7 +356,7 @@ If you carry out the building again you will see that now everything goes smooth
|
|
371
356
|
Again Kameleon will use the checkpoint system to avoid starting from scratch.
|
372
357
|
|
373
358
|
---------------------------------
|
374
|
-
Creating a Grid'5000 environment
|
359
|
+
Creating a Grid'5000 environment
|
375
360
|
---------------------------------
|
376
361
|
|
377
362
|
Now, let's use the extend and export functionalities for creating a Grid'5000 environment.
|
@@ -459,6 +444,7 @@ deploy the image using kadeploy::
|
|
459
444
|
With luck the image will be deployed on baremetal after some few minutes.
|
460
445
|
|
461
446
|
|
447
|
+
------------------------------
|
462
448
|
Playing with Kameleon contexts
|
463
449
|
------------------------------
|
464
450
|
|
@@ -471,7 +457,7 @@ provided by Grid'5000. This can be done by using Kameleon contexts.
|
|
471
457
|
The idea is to re-utilize the same recipe we have written before.
|
472
458
|
|
473
459
|
Kameleon already provides a recipe for interacting with Grid'5000 where
|
474
|
-
the configuration of the
|
460
|
+
the configuration of the contexts is as follows:
|
475
461
|
|
476
462
|
* Local context: it is the user's machine.
|
477
463
|
|
@@ -491,7 +477,7 @@ we call it for instance debian_customized_g5k.yaml.
|
|
491
477
|
This recipe will look like this:
|
492
478
|
|
493
479
|
.. literalinclude:: debian_customized_g5k.yaml
|
494
|
-
|
480
|
+
:language: yaml
|
495
481
|
|
496
482
|
But there will be a problem with the installation of TAU. Because
|
497
483
|
we download the tarball directly from its web site which is an
|
@@ -500,6 +486,7 @@ using a web proxy.
|
|
500
486
|
To solve this we have to modify the step *tau_install* like this:
|
501
487
|
|
502
488
|
.. literalinclude:: tau_install_g5k.yaml
|
489
|
+
:language: yaml
|
503
490
|
|
504
491
|
Here, we change the context for performing the operation of download.
|
505
492
|
For now on, it will be the local context that is going to download the
|
@@ -511,3 +498,28 @@ With those changes we will be able to build a G5k environment with
|
|
511
498
|
our already tested configuration. The recipe saves
|
512
499
|
the environment on the Kameleon workdir on the frontend.
|
513
500
|
Thus the environment is accessible to be deployed the number of times needed.
|
501
|
+
|
502
|
+
-------------
|
503
|
+
Atlas example
|
504
|
+
-------------
|
505
|
+
|
506
|
+
Here, a more complicated example, where we install the benchmark HPL which
|
507
|
+
is used to benchmark and rank supercomputers for the TOP500 list:
|
508
|
+
|
509
|
+
.. literalinclude:: atlas_debian_g5k.yaml
|
510
|
+
:language: yaml
|
511
|
+
|
512
|
+
We have to add to the *steps/setup* directory the following files *install_atlas.yaml* and *install_hpl.yaml* for installing atlas and hpl respectively,
|
513
|
+
Atlas:
|
514
|
+
|
515
|
+
.. literalinclude:: install_atlas.yaml
|
516
|
+
:language: yaml
|
517
|
+
|
518
|
+
HPL:
|
519
|
+
|
520
|
+
.. literalinclude:: install_hpl.yaml
|
521
|
+
:language: yaml
|
522
|
+
|
523
|
+
|
524
|
+
.. note::
|
525
|
+
The building of this appliance could take around half an hour.
|
@@ -0,0 +1,25 @@
|
|
1
|
+
|
2
|
+
- download_tarball:
|
3
|
+
- exec_local: |
|
4
|
+
cd /tmp/
|
5
|
+
wget -q $$repository/$$version/atlas$$version.tar.bz2/download -O atlas$$version.tar.bz2
|
6
|
+
- local2in:
|
7
|
+
- /tmp/atlas$$version.tar.bz2
|
8
|
+
- /root/atlas$$version.tar.bz2
|
9
|
+
|
10
|
+
- deactivating_cpu_throttling:
|
11
|
+
- exec_in: cpufreq-selector -g performance
|
12
|
+
|
13
|
+
- install:
|
14
|
+
- exec_in: cd /root/
|
15
|
+
- exec_in: bash -c "bunzip2 -c atlas$$version.tar.bz2 | tar xfm - "
|
16
|
+
- exec_in: |
|
17
|
+
mv ATLAS ATLAS$$version # get unique dir name
|
18
|
+
mkdir ATLAS$$version/Linux_test # create BLDdir
|
19
|
+
cd ATLAS$$version/Linux_test/
|
20
|
+
../configure -b 64 -D c -DPentiumCPS=2400
|
21
|
+
make build
|
22
|
+
make check
|
23
|
+
make ptcheck ## this is for parallel tests
|
24
|
+
make time ## this is interactive
|
25
|
+
make install
|
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
- download_tarball:
|
3
|
+
- exec_local: |
|
4
|
+
cd /tmp/
|
5
|
+
wget -q $$repository/hpl-$$version.tar.gz
|
6
|
+
- local2in:
|
7
|
+
- /tmp/hpl-$$version.tar.gz
|
8
|
+
- /root/hpl-$$version.tar.gz
|
9
|
+
|
10
|
+
|
11
|
+
- install:
|
12
|
+
- exec_in: cd /root/
|
13
|
+
- exec_in: |
|
14
|
+
tar -xvf hpl-$$version.tar.gz
|
15
|
+
mv hpl-$$version hpl
|
16
|
+
|
17
|
+
- local2in:
|
18
|
+
- $$hpl_makefile
|
19
|
+
- /root/hpl/Make.Linux
|
20
|
+
|
21
|
+
- exec_in: |
|
22
|
+
rm /usr/lib/libf2c.so
|
23
|
+
ln -s /usr/lib/libf2c.a /usr/lib/libf2c.so
|
24
|
+
make -C /root/hpl/ arch=Linux
|
@@ -4,13 +4,8 @@
|
|
4
4
|
Installation
|
5
5
|
------------
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
.. _kameleon_deb: http://kameleon.imag.fr/pkg/kameleon_2.1.0+20140612204940-1_amd64.deb
|
11
|
-
|
12
|
-
.. note::
|
13
|
-
On debian based distribution be sure to install the ``ruby-dev`` package first
|
7
|
+
Gem package
|
8
|
+
-----------
|
14
9
|
|
15
10
|
To install the latest release from `RubyGems`_:
|
16
11
|
|
@@ -18,20 +13,39 @@ To install the latest release from `RubyGems`_:
|
|
18
13
|
|
19
14
|
::
|
20
15
|
|
21
|
-
gem install kameleon-builder
|
16
|
+
gem install kameleon-builder
|
22
17
|
|
23
18
|
Or from source::
|
24
19
|
|
25
|
-
git clone https://github.com/oar-team/kameleon.git
|
26
|
-
cd kameleon
|
20
|
+
git clone https://github.com/oar-team/kameleon.git && cd kameleon
|
27
21
|
gem build kameleon-builder.gemspec
|
28
|
-
gem install kameleon-builder
|
22
|
+
gem install kameleon-builder-*.gem
|
23
|
+
|
24
|
+
On debian based distribution be sure to install the ``ruby-dev`` package first
|
25
|
+
|
26
|
+
|
27
|
+
Dist packages
|
28
|
+
-------------
|
29
|
+
|
30
|
+
These packages contain Kameleon and all its dependencies (Ruby, polipo and all
|
31
|
+
gems with their native extensions already compiled). These packages are made
|
32
|
+
with `omnibus project`_.
|
29
33
|
|
34
|
+
.. _`omnibus project`: https://github.com/opscode/omnibus-ruby
|
30
35
|
|
31
|
-
|
32
|
-
|
33
|
-
|
36
|
+
+-------------------------------+------------------------+--------------------------------------------+----------------------------------+
|
37
|
+
| | Platform | Download | MD5 |
|
38
|
+
+-------------------------------+------------------------+--------------------------------------------+----------------------------------+
|
39
|
+
| .. image:: _static/debian.png | **Debian 7 64bit** | `kameleon_2.1.3-omnibus-1_amd64.deb`_ | dc69d6386b1acb5b9434e8c186ad962c |
|
40
|
+
| :align: center | | | |
|
41
|
+
+-------------------------------+------------------------+--------------------------------------------+----------------------------------+
|
42
|
+
| .. image:: _static/ubuntu.png | **Ubuntu 12.04 64bit** | `kameleon_2.1.3-omnibus-1_amd64.deb`_ | dc69d6386b1acb5b9434e8c186ad962c |
|
43
|
+
| :align: center | | | |
|
44
|
+
+-------------------------------+------------------------+--------------------------------------------+----------------------------------+
|
45
|
+
| .. image:: _static/centos.png | **CentOS 6.5 64bit** | `kameleon-2.1.3_omnibus-1.el6.x86_64.rpm`_ | 7bc5cee07249f5d4c316e5ea885a2949 |
|
46
|
+
| :align: center | | | |
|
47
|
+
+-------------------------------+------------------------+--------------------------------------------+----------------------------------+
|
34
48
|
|
35
|
-
``/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)``
|
36
49
|
|
37
|
-
|
50
|
+
.. _`kameleon_2.1.3-omnibus-1_amd64.deb`: http://kameleon.imag.fr/pkg/kameleon_2.1.3-omnibus-1_amd64.deb
|
51
|
+
.. _`kameleon-2.1.3_omnibus-1.el6.x86_64.rpm`: http://kameleon.imag.fr/pkg/kameleon-2.1.3_omnibus-1.el6.x86_64.rpm
|
@@ -22,13 +22,13 @@ generated binary using the option ``--proxy_path``. To use, you just have to
|
|
22
22
|
add the option ``--cache`` as an argument of the build command.
|
23
23
|
For example::
|
24
24
|
|
25
|
-
kameleon build
|
25
|
+
kameleon build my_recipe.yaml -b /tmp/kameleon/ --cache
|
26
26
|
|
27
27
|
This will create a tar file in the build directory ``/tmp/kameleon`` called
|
28
|
-
``
|
28
|
+
``my_recipe-cache.tar``. In order to use this generated cache file in
|
29
29
|
another build, we have just to use the options ``--from_cache`` as follows::
|
30
30
|
|
31
|
-
kameleon build
|
31
|
+
kameleon build my_recipe.yaml -b /tmp/kameleon/ --from_cache /tmp/my_recipe-cache.tar
|
32
32
|
|
33
33
|
|
34
34
|
.. [1] http://www.pps.univ-paris-diderot.fr/~jch/software/polipo/
|
data/docs/source/recipe.rst
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
Recipe
|
3
3
|
------
|
4
4
|
|
5
|
-
Kameleon
|
5
|
+
Kameleon reads YAML files, named *recipes*, that describes how you will
|
6
6
|
build your appliance. These files are stored in the root of your :ref:`workspace`.
|
7
7
|
A recipe is a hierarchical structure of `Section`_, `Step`_, `Microstep`_ and
|
8
8
|
:ref:`commands`. Here is an overview of this structure:
|
@@ -22,108 +22,22 @@ A recipe is a hierarchical structure of `Section`_, `Step`_, `Microstep`_ and
|
|
22
22
|
The recipe also contains set of `Global variables`_ declaration and some
|
23
23
|
imports like :ref:`aliases` and :ref:`checkpoint`.
|
24
24
|
|
25
|
-
|
25
|
+
Here is an example of a recipe:
|
26
26
|
|
27
|
-
..
|
28
|
-
|
29
|
-
---
|
30
|
-
# Loads some helpful aliases
|
31
|
-
aliases: defaults.yaml
|
32
|
-
# Enables qcow2 checkpoint
|
33
|
-
checkpoint: qcow2.yaml
|
34
|
-
#== Global variables use by Kameleon engine and the steps
|
35
|
-
global:
|
36
|
-
## User varibales : used by the recipe
|
37
|
-
cachedir: /var/cache/kameleon
|
38
|
-
rootfs: $$kameleon_cwd/rootfs
|
39
|
-
user_name: kameleon
|
40
|
-
arch: amd64
|
41
|
-
|
42
|
-
nbd_device: /dev/nbd10
|
43
|
-
container: "$${kameleon_recipe_name}_temp.qcow2"
|
44
|
-
|
45
|
-
distrib: debian
|
46
|
-
release: wheezy
|
47
|
-
|
48
|
-
## System variables. Required by kameleon engine
|
49
|
-
# Include specific steps
|
50
|
-
include_steps: [$$distrib/$$release, $$distrib]
|
51
|
-
|
52
|
-
# Shell session from where we launch exec_out commands. There is often a
|
53
|
-
# local bash session, but it can be a remote shell on other machines or on
|
54
|
-
# any shell. (eg. bash, chroot, fakechroot, ssh, tmux, lxc...)
|
55
|
-
out_context:
|
56
|
-
cmd: bash
|
57
|
-
workdir: $$kameleon_cwd
|
58
|
-
|
59
|
-
# Shell session that allows us to connect to the building machine in order to
|
60
|
-
# configure it and setup additional programs
|
61
|
-
default_env: "USER=root HOME=/root LC_ALL=POSIX"
|
62
|
-
in_context:
|
63
|
-
cmd: $$default_env chroot $$rootfs bash
|
64
|
-
workdir: /
|
65
|
-
|
66
|
-
#== Bootstrap the new system and create the 'in_context'
|
67
|
-
bootstrap:
|
68
|
-
- debootstrap:
|
69
|
-
- release: $$release
|
70
|
-
- arch: $$arch
|
71
|
-
- repository: http://ftp.fr.debian.org/debian/
|
72
|
-
- rootfs_archive: $$cachedir/$$distrib/$$release/$$arch/debootstrap.tar.gz
|
73
|
-
- prepare_appliance_with_nbd:
|
74
|
-
- mountdir: $$rootfs
|
75
|
-
- image_size: 2G
|
76
|
-
- filesystem_type: ext4
|
77
|
-
- rootfs_archive: $$cachedir/$$distrib/$$release/$$arch/debootstrap.tar.gz
|
78
|
-
- start_chroot:
|
79
|
-
- rootfs: $$rootfs
|
80
|
-
|
81
|
-
|
82
|
-
#== Install and configuration steps
|
83
|
-
# WARNING: this part should be independante from the build context (whenever
|
84
|
-
# possible...)
|
85
|
-
setup:
|
86
|
-
# Install
|
87
|
-
- software_install:
|
88
|
-
- packages: >
|
89
|
-
debian-keyring ntp zip unzip rsync sudo less vim bash-completion
|
90
|
-
- kernel_install:
|
91
|
-
- arch: $$arch
|
92
|
-
# Configuration
|
93
|
-
- system_config:
|
94
|
-
- locales: fr_FR en_US
|
95
|
-
- lang: fr_FR.UTF-8
|
96
|
-
- timezone: UTC
|
97
|
-
- keyboard_config:
|
98
|
-
- layout: "fr,us"
|
99
|
-
- network_config:
|
100
|
-
- hostname: kameleon-$$distrib
|
101
|
-
- create_user:
|
102
|
-
- name: $$user_name
|
103
|
-
- group: admin
|
104
|
-
- password: $$user_name
|
105
|
-
|
106
|
-
#== Export the generated appliance in the format of your choice
|
107
|
-
export:
|
108
|
-
- save_appliance_from_nbd:
|
109
|
-
- filename: "$${kameleon_recipe_name}"
|
110
|
-
- save_as_qcow2
|
111
|
-
# - save_as_tgz
|
112
|
-
# - save_as_raw
|
113
|
-
# - save_as_vmdk
|
114
|
-
# - save_as_vdi
|
27
|
+
.. literalinclude:: debian7.yaml
|
28
|
+
:language: yaml
|
115
29
|
|
116
30
|
Section
|
117
31
|
-------
|
118
32
|
|
119
|
-
Each section is a
|
33
|
+
Each section is a group of steps. Currently, there are 3 sections:
|
120
34
|
|
121
35
|
bootstrap
|
122
36
|
This section contains the bootstrap of the new system and create the *in*
|
123
37
|
context (see :ref:`context`).
|
124
38
|
|
125
39
|
setup
|
126
|
-
|
40
|
+
It is dedicated to install and configuration steps.
|
127
41
|
|
128
42
|
export
|
129
43
|
Export the generated appliance in the format of your choice.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
- tau_version: "2.22.2"
|
2
|
+
- pdt_version: "3.19"
|
3
|
+
- get_tau:
|
4
|
+
- exec_in: cd /tmp/
|
5
|
+
- exec_in: wget -q http://www.cs.uoregon.edu/research/tau/tau_releases/tau-$$tau_version.tar.gz
|
6
|
+
- exec_in: wget -q http://www.cs.uoregon.edu/research/tau/pdt_releases/pdt-$$pdt_version.tar.gz
|
7
|
+
- pdt_install:
|
8
|
+
- exec_in: cd /tmp/
|
9
|
+
- exec_in: tar -xzf pdt-$$pdt_version.tar.gz
|
10
|
+
- exec_in: cd /tmp/pdtoolkit-$$pdt_version
|
11
|
+
- exec_in: ./configure -prefix=/usr/local/pdt-install
|
12
|
+
- exec_in: make clean install
|
13
|
+
|
14
|
+
- tau_install:
|
15
|
+
- exec_in: cd /tmp/
|
16
|
+
- exec_in: tar -xzf tau-$$tau_version.tar.gz
|
17
|
+
- exec_in: cd /tmp/tau-$$tau_version
|
18
|
+
- exec_in: ./configure -prefix=/usr/local/tau-install -pdt=/usr/local/pdt-install/ -mpiinc=/usr/local/openmpi-install/include -mpilib=/usr/local/openmpi-install/lib
|
19
|
+
- exec_in: make install
|
@@ -1,24 +1,25 @@
|
|
1
|
+
- tau_version: "2.22.2"
|
2
|
+
- pdt_version: "3.19"
|
1
3
|
- get_tau:
|
2
4
|
- exec_local: cd /tmp/
|
3
|
-
- exec_local: wget -q http://www.cs.uoregon.edu/research/tau/tau_releases/tau
|
4
|
-
- exec_local: wget -q http://www.cs.uoregon.edu/research/tau/pdt_releases/pdt
|
5
|
+
- exec_local: wget -q http://www.cs.uoregon.edu/research/tau/tau_releases/tau-$$tau_version.tar.gz
|
6
|
+
- exec_local: wget -q http://www.cs.uoregon.edu/research/tau/pdt_releases/pdt-$$pdt_version.tar.gz
|
5
7
|
- local2in:
|
6
|
-
- /tmp/tau
|
7
|
-
- /tmp/tau
|
8
|
+
- /tmp/tau-$$tau_version.tar.gz
|
9
|
+
- /tmp/tau-$$tau_version.tar.gz
|
8
10
|
- local2in:
|
9
|
-
- /tmp/pdt
|
10
|
-
- /tmp/pdt
|
11
|
+
- /tmp/pdt-$$pdt_version.tar.gz
|
12
|
+
- /tmp/pdt-$$pdt_version.tar.gz
|
11
13
|
- pdt_install:
|
12
14
|
- exec_in: cd /tmp/
|
13
|
-
- exec_in: tar -xzf pdt
|
14
|
-
- exec_in: cd /tmp/pdtoolkit
|
15
|
+
- exec_in: tar -xzf pdt-$$pdt_version.tar.gz
|
16
|
+
- exec_in: cd /tmp/pdtoolkit-$$pdt_version
|
15
17
|
- exec_in: ./configure -prefix=/usr/local/pdt-install
|
16
18
|
- exec_in: make clean install
|
17
19
|
|
18
20
|
- tau_install:
|
19
21
|
- exec_in: cd /tmp/
|
20
|
-
- exec_in: tar -xzf tau
|
21
|
-
- exec_in: cd /tmp/tau
|
22
|
-
|
23
|
-
- exec_in: ./configure -prefix=/usr/local/tau-install -pdt=/usr/local/pdt-install/ -mpiinc=/usr/include/openmpi/ -mpilib=/usr/lib/openmpi/
|
22
|
+
- exec_in: tar -xzf tau-$$tau_version.tar.gz
|
23
|
+
- exec_in: cd /tmp/tau-$$tau_version
|
24
|
+
- exec_in: ./configure -prefix=/usr/local/tau-install -pdt=/usr/local/pdt-install/ -mpiinc=/usr/local/openmpi-install/include -mpilib=/usr/local/openmpi-install/lib
|
24
25
|
- exec_in: make install
|
data/docs/source/workspace.rst
CHANGED
@@ -4,8 +4,8 @@
|
|
4
4
|
Workspace
|
5
5
|
---------
|
6
6
|
|
7
|
-
The workspaces are the folders containing your Kameleon recipes and builds.
|
8
|
-
you use ``kameleon new``
|
7
|
+
The workspaces are the folders containing your Kameleon recipes and builds.
|
8
|
+
When you use ``kameleon new`` the current directory is the workspace. A
|
9
9
|
workspace may contains several recipes.
|
10
10
|
|
11
11
|
*Be careful*: All the *steps are shared between recipes within a workspace*. So
|
data/lib/kameleon/cli.rb
CHANGED
@@ -26,7 +26,7 @@ module Kameleon
|
|
26
26
|
templates_path = Kameleon.env.templates_path
|
27
27
|
template_path = File.join(templates_path, template_name) + '.yaml'
|
28
28
|
begin
|
29
|
-
template_recipe = RecipeTemplate.new(template_path)
|
29
|
+
template_recipe = RecipeTemplate.new(template_path, :strict => false)
|
30
30
|
rescue
|
31
31
|
raise TemplateNotFound, "Template '#{template_name}' not found. " \
|
32
32
|
"To see all templates, run the command "\
|
@@ -49,7 +49,7 @@ module Kameleon
|
|
49
49
|
templates_path = Kameleon.env.templates_path
|
50
50
|
template_path = File.join(templates_path, template_name) + '.yaml'
|
51
51
|
begin
|
52
|
-
template_recipe = RecipeTemplate.new(template_path)
|
52
|
+
template_recipe = RecipeTemplate.new(template_path, :strict => false)
|
53
53
|
rescue
|
54
54
|
raise TemplateNotFound, "Template '#{template_name}' not found. " \
|
55
55
|
"To see all templates, run the command "\
|
@@ -71,7 +71,7 @@ module Kameleon
|
|
71
71
|
templates_hash = []
|
72
72
|
Kameleon.templates_files.each do |f|
|
73
73
|
begin
|
74
|
-
recipe = RecipeTemplate.new(f)
|
74
|
+
recipe = RecipeTemplate.new(f, :strict => false)
|
75
75
|
templates_hash.push({
|
76
76
|
"name" => recipe.name,
|
77
77
|
"description" => recipe.metainfo['description'],
|