Skip to content

Commit 9ad5a1c

Browse files
giuseppe-carboniaorlati
authored andcommitted
Fix #20, updated deployment guide documentation. (#21)
1 parent 66a6390 commit 9ad5a1c

16 files changed

Lines changed: 422 additions & 159 deletions

developer/howto/installing/dependencies.rst

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,28 @@
44
Dependencies
55
************
66

7-
To automatically deploy DISCOS, you need to install four dependencies:
7+
To automatically deploy DISCOS, you need to install some dependencies:
8+
`Python 2.7 <https://www.python.org/download/releases/2.7/>`_,
89
`Git <https://git-scm.com/>`_, `Ansible <https://www.ansible.com/>`_,
910
`Vagrant <https://www.vagrantup.com/>`_ and `VirtualBox
1011
<https://www.virtualbox.org/>`_. It usually takes about 15 minutes.
1112

1213

13-
.. note:: If you are accustomed to python virtual environments
14-
(like `pyenv` or similar), you can install the required pip packages
15-
mentioned in the procedure below in your preferred environment,
16-
without the need of administrator permissions.
14+
Install Python 2.7
15+
==================
16+
Verify if Python 2.7 is already installed on your system:
17+
18+
.. code-block:: shell
19+
20+
$ python --version
21+
Python 2.7.15rc1
22+
23+
If your system comes bundled with a different Python version, you may want to
24+
consider installing a Python 2.7 environment such as
25+
`Anaconda <https://www.anaconda.com/download/#linux>`_,
26+
`Miniconda <https://conda.io/miniconda.html>`_ or
27+
`Pyenv <https://github.com/pyenv/pyenv>`_ and its
28+
`Virtualenv <https://github.com/pyenv/pyenv-virtualenv>`_ plugin.
1729

1830

1931
Install Git
@@ -23,20 +35,21 @@ Before installing Git, verify if it is already installed:
2335
.. code-block:: shell
2436
2537
$ git --version
26-
git version 1.9.1
38+
git version 2.17.1
2739
2840
You do not need a particular version of Git, but if the command ``git --version``
2941
fails, than you have to install Git by following the instructions at the `official Git
3042
website <https://git-scm.com/book/en/v1/Getting-Started-Installing-Git>`_.
3143

44+
3245
Install Ansible
3346
===============
3447
Verify if Ansible is already installed:
3548

3649
.. code-block:: shell
3750
3851
ansible --version
39-
ansible 2.6.3
52+
ansible 2.7.2
4053
4154
If the command ``ansible --version`` fails, than you have to install Ansible.
4255

@@ -46,16 +59,19 @@ The suggested way to do this is via `pip`:
4659
4760
$ sudo pip install ansible
4861
49-
In case the last command fails, or if you want to install Ansible in a different way,
50-
check out the `official ansible website
62+
.. note:: If you are using a Python virtual environment, you do not need
63+
administration permissions to install Ansible.
64+
65+
In case the command fails, or if you want to install Ansible in a different
66+
way, check out the `official ansible website
5167
<http://docs.ansible.com/ansible/intro_installation.html#installation>`_.
5268

5369

5470
Install VirtualBox and Vagrant
5571
==============================
5672
You need to install VirtualBox and Vagrant only if you want to
57-
deploy DISCOS on VMs, as in the case of a development environment.
58-
As a first step, check if VirtualBox is already installed:
73+
deploy DISCOS on virtual machines, as in the case of a development
74+
environment. As a first step, check if VirtualBox is already installed:
5975

6076
.. code-block:: shell
6177
@@ -65,12 +81,20 @@ As a first step, check if VirtualBox is already installed:
6581
In case it is not, download the binary file from the
6682
`official website <https://www.virtualbox.org/wiki/Downloads>`_
6783
and install it.
68-
Now verify if Vagrant is already installed:
84+
85+
86+
.. note:: The suggested VirtualBox version to install is the 5.1. As of today,
87+
the latest release of VirtualBox, version 5.2, seems to introduce some lag
88+
in SSH sessions to the deployed virtual machines. Version 5.1 also matches
89+
the VirtualBox guest additions already installed in the virtual machines.
90+
91+
92+
Now verify if Vagrant is installed:
6993

7094
.. code-block:: shell
7195
7296
$ vagrant --version
73-
Vagrant 1.8.6
97+
Vagrant 2.2.1
7498
7599
If it is not, download the binary file from
76100
the `vagrant official website <https://www.vagrantup.com/downloads.html>`_

developer/howto/installing/development.rst

Lines changed: 60 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,73 @@
44
Development
55
***********
66

7-
In the :ref:`deploy_quickstart` section we have seen how
8-
to deploy a ``manager`` virtual machine. You can also deploy
9-
the whole system. For instance, to deploy a development system
10-
composed of three virtual machines (``manager``, ``as`` and ``ms``),
11-
pass ``discos:development`` to the ``discos-deploy`` script:
7+
Machines deployment
8+
===================
9+
In the :ref:`deploy_quickstart` section we have seen how to deploy a
10+
``manager`` virtual machine. You can also deploy the whole control system.
11+
For instance, to deploy a development system composed of three virtual machines
12+
(``manager``, ``console`` and ``storage``), pass the ``discos`` *cluster*,
13+
followed by the ``development`` system, to the ``discos-deploy`` script:
1214

1315
.. code-block:: shell
1416
1517
$ discos-deploy discos:development
1618
17-
This command will connect via SSH to all development machines
18-
and provision the whole system (create users, configure networking,
19-
install yum packages, ACS and its dependencies, utilities, and
20-
eventually the DISCOS dependencies). To get a particular
21-
DISCOS branch you have two options: you can manually execute
22-
the ``discos-get`` command, as we did in the :ref:`deploy_quickstart`
23-
section, or you can do it by passing the ``--deploy`` argument,
24-
followed by the branch you want to deploy, and, in the case of
25-
development environment, the ``--station`` argument, followed
26-
by the name of the station, to the ``discos-deploy`` script.
19+
This command will connect via SSH to all development machines and provision the
20+
whole system (create users, configure networking, install yum packages,
21+
configure NIS, Lustre, ACS and its dependencies, install some utilities, and
22+
finally the DISCOS dependencies).
23+
24+
25+
Working without Vagrant
26+
-----------------------
27+
If you wish to deploy a development environment on physical machines, or you
28+
simply want to install the virtual machines by yourself using VirtualBox or
29+
another virtual machine provider, you can still use the ``discos-deploy``
30+
script to perform the automatic deployment procedure. You first have to setup
31+
the machines' network interfaces, in order to enable Ansible access to them via
32+
the correct IP address, and then start the deployment procedure by passing the
33+
``--no-vagrant``, ``-n`` flag to the ``discos-deploy`` script:
34+
35+
.. code-block:: shell
36+
37+
$ discos-deploy discos:development --no-vagrant
38+
39+
This will let the script know that you do not want to create any (other)
40+
virtual machine on your system, and that you want to apply the whole
41+
configuration onto an existing, physical or virtual, set of machines.
42+
43+
44+
DISCOS setup
45+
============
46+
47+
Manual setup
48+
------------
49+
To download the DISCOS control software, you can use the ``discos-get`` command,
50+
covered in the :ref:`get_a_discos_branch` section.
51+
52+
.. figure:: images/discos-get.png
53+
:figwidth: 100%
54+
:align: center
55+
56+
Once the download of the repository is completed, you have to perform the setup
57+
procedure like we have seen in the :ref:`install_discos` section.
58+
59+
.. figure:: images/make.png
60+
61+
Automatic setup
62+
---------------
63+
You can let the deployment procedure perform the DISCOS control system setup
64+
for you by specifying the ``--branch`` argument to the ``discos-deploy``
65+
script, followed by the branch name you want to deploy and install. Since the
66+
procedure will internally call the ``discos-get`` script for you, if you are
67+
deploying in a development environment, you also have to provide to the script
68+
the ``--station`` argument, followed by the name of the desired station.
2769

2870
.. code-block:: shell
2971
30-
$ discos-deploy discos:development --deploy latest64 --station noto
72+
$ discos-deploy discos:development --tag discos1.0-rc02 --station noto
3173
3274
You can choose a station among ``medicina``, ``noto`` and ``srt``.
33-
This command executes the ``discos-get latest64 -s noto`` command on
34-
all machines of the system, in parallel.
75+
The ``discos-get`` command gets executed on all machines of the system at the
76+
same time.
-664 Bytes
Loading
9.28 KB
Loading
-1.08 KB
Loading
154 KB
Loading
-826 Bytes
Loading
-91.5 KB
Binary file not shown.
92 KB
Loading
-174 KB
Binary file not shown.

0 commit comments

Comments
 (0)