op114=>operation: result['msg'] = 'Etab {} not created: {}'.format(module.params['libelle'], proxy_msg)
sub116=>subroutine: module.fail_json(**result)
st3->io5
io5->op8
op8->op10
op10->op12
op12->op14
op14->cond17
cond17->op27
op27->op29
op29->op31
op31->op33
op33->cond36
cond36->cond47
cond47(yes)->op51
op51->op53
op53->cond56
cond56(yes)->cond73
cond73->cond56
cond56(no)->cond86
cond86->op99
op99->cond102
cond102(yes)->op106
op106->op108
op108->op110
op110->sub119
sub119->e121
cond102(no)->op114
op114->sub116
sub116->sub119
cond47(no)->op99
```
### zephir_serveur
### zephir_module
### zephir_variante
## Configuration d’un serveur
### creoleset
Le module a pour but de permettre la modification des variables de configuration creole.
La difficulté réside dans les liens de dépendances qui peuvent exister entre variables et la nécessité de pouvoir faire des modifications par bloc, de façon atomique.
``` flowchart
start=>start: début d’exécution
e=>end: fin d’exécution
creole_loader=>operation: Création de l’objet config en lecture/écriture
tri_variables=>operation: Tri des variables à modifier
start->creole_loader
creole_loader->tri_variables
tri_variables->e
```
``` yaml
---
- hosts: module_test
tasks:
- name: Test if minimal config is already done
stat:
path: "/etc/eole/config.eol"
register: configeol
- name: Configuration minimale
creoleset:
variables:
- name: "numero_etab"
value: "0000000B"
- name: "libelle_etab"
value: "bbohard_etab"
- name: "nom_academie"
value: "bbohard"
- name: "nom_domaine_local"
value: "bbohard.lan"
- name: "eth0_method"
value: "dhcp"
- name: "ip_ssh_eth0"
value:
- "192.168.122.0"
- name: "netmask_ssh_eth0"
value:
- "255.255.255.0"
- name: "ip_admin_eth0"
value: "192.168.122.0"
- name: "netmask_admin_eth0"
value: "255.255.255.0"
- name: "activer_exim_relay_smtp"
value: "non"
- name: "nom_machine"
value: "{{ hostname }}"
when: not configeol.stat.exists
- name: Set some hostnames
creoleset:
variables:
- name: activer_ajout_hosts
value: oui
- name: nom_court_hosts
value:
- minio-a1
- minio-a2
- minio-b1
- minio-b2
- name: nom_long_hosts
value:
- minio-a1.cadoles.lan
- minio-a2.cadoles.lan
- minio-b1.cadoles.lan
- minio-b2.cadoles.lan
- name: adresse_ip_hosts
value:
- 10.10.0.1
- 10.10.0.2
- 10.10.0.3
- 10.10.0.4
- name: Configuration d’une variable isolée simple
creoleset:
variables:
- name: "libelle_etab"
value: "etab_test"
- name: Configuration d’une variable isolée multi
creoleset:
variables:
- name: "adresse_ip_dns"
value:
- "1.1.1.1"
- "8.8.8.8"
- name: Configuration d’un groupe de variables
creoleset:
variables:
- name: "ip_ssh_eth0"
value:
- "192.168.0.0"
- name: "netmask_ssh_eth0"
value:
- "255.255.0.0"
- name: Debug
shell:
cmd: "CreoleGet ip_ssh_eth0"
- name: Configuration avec variable nécessitant activation