README.markdown 1.92 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Software-management of the Argo test infrastructure
---------------------------------------------------

This repository contains scripts and configuration files to manage an Argo
testbed. Most of the contents are aimed at the Chameleoncloud infrastructure in
particular.

# Requirements

All the necessary requirements are managed by the python `Pipfile`. You will
need `pipenv` to use it. See `https://github.com/pypa/pipenv` for how to
install it.

# Environment Setup

Enter the pipenv environment:

> pipenv shell

20
21
22
23
Install required packages

> pipenv install

24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Create the required secure.yaml file with your Chameleon credentials

> sed -e 's/USERNAME/myuser/g' -e 's/PASSWORD/mypass/g' secure.yaml.templ > secure.yaml

**DO NOT COMMIT THIS FILE** git will ignore it by default, but remember that
this repository is public and these are private credentials to Chameleon.

# Lease Management

Chameleon requires that a lease is created before we can boot nodes. You can
create a lease on the Chameleon web interface, or use the `chi-lease.py` script
in this repo.

*Remenber that we have limited node-hours on Chameleon, so try to keep lease
allocations to the minimal amount of hours. You can always extend a lease if
required*

> ./chi-lease.py list
> ./chi-lease.py create
> ./chi-lease.py show
> ./chi-lease.py delete
45
46
47

# Appliance Management

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
Once a lease is active, you can manage an appliance on it.

> ./chi-appliance list
> ./chi-appliance create
> ./chi-appliance show
> ./chi-appliance configure
> ./chi-appliance delete

In particular, `configure` will use ansible to reconfigure the appliance nodes.
The playbook used for this configuration is available in the `ansible`
directory.

You can add tasks and make this playbook as complex as you need. Over time, the
common bits used by everyone in the project should be available here. Launching
`configure` again will reconfigure the nodes entirely, you don't have to delete
an appliance to reconfigure it.