kameleon-builder 2.1.1 → 2.1.3
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/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'],
|