README.md 2.76 KB
Newer Older
1
HOWTO
2
3
4
5
================

1. Informations diverses 

6
Ces rôles Ansible devraient vous permettre d'installer sur une ou deux machines, depuis un noeud de déploiement, la dernière version disponible d'iRODS ainsi que PostgreSQL 9.3 pour la base "ICAT". Les firewalls doivent être arrêtés avant de lancer le déploiement.
7
8
9
10
11
12
13
14

2. Dépôt Gitlab 

Ce dépôt Gitlab comprend deux rôles Ansible:

- iRODS
- postgresql

15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
3. Organisation du répertoire de travail sur la machine de déploiement

```
ansible
  |
  |_ irods.yml
  |_ irods_hosts
  |
  |_ group_vars
  |       |
  |       |_ iRODS
  |       |    |
  |       |    |_ main.yml
  |       |
  |       |_ all
  |           |
  |           |_ var_pass.yml
  |
  |_ roles
       |
       |_ iRODS
       |
       |_ postgresql
```

40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
3. Préparation du fichier de playbook irods.yml

```
---

- name: Installation serveur PostgreSQL
  hosts: irods_database
  roles:
    - postgresql
  become: true
  become_user: root
  become_method: sudo
  vars_files:
  - "group_vars/iRODS/main.yml"

- name: Installation serveur iRODS
  hosts: irods_server
  roles:
    - iRODS
  become: true
  become_user: root
  become_method: sudo
  vars_fles:
  - "group_vars/iRODS/main.yml"

...

```

4. Préparation du fichier d'inventaire irods_hosts

71
72
iRODS et PostgreSQL peuvent aussi être installés sur la même machine.

73
74
75
76
77
78
79
80
```
[irods_server]
myhost1.mydomain.tld

[irods_data]
myhost2.mydomain.tld

```
81
82
83

5. Préparation du fichier de variables cryptées

84
85
Les valeurs ci-dessous sont données en tant qu'exemples, vous pouvez bien entendu les changer.

86
87
```bash
cd ansible/group_vars/iRODS/
viscapi's avatar
viscapi committed
88
ansible-vault create --vault-id irods@prompt main.yml
89
90
```
```
91
irods_unix_user_name: irods
92
irods_unix_user_id: 
93
irods_unix_group_name: irods
94
95
irods_unix_group_id:
irods_unix_password:
96
selinux_mode: enforcing
97
admin_password:
98
99
100
101
102
irods_zone: TESTZONE
default_resource: demoResc
negotiation_key: "A 32-byte encryption key shared by the zone for use in the advanced negotiation handshake at the beginning of an iRODS client connection"
database_hostname: myhost2.mydomain.tld
database_name: ICAT
103
database_password:
104
105
106
107
108
database_user: irods
server_control_plane_key: "The encryption key required for communicating with the iRODS grid control plane. Must be 32 bytes long. This must be the same across all iRODS servers in a Zone."
zone_key: "The shared secret used for authentication and identification of server-to-server communication - this can be a string of any length, excluding the use of hyphens, for historical purposes. This must be the same across all iRODS servers in a Zone."
path_to_icat: /data/icat
irods_server: l'ip de myhost1.mydomain.tld
109
110
```

111
112
113
114
115
5. Lancement du playbook

```bash
ansible-playbook --key-file=/path/to/your/.ssh/id_rsa -i irods_hosts irods.yml --ask-vault-pass --vault-id irods@prompt
```