88 lines
2.9 KiB
YAML
88 lines
2.9 KiB
YAML
---
|
|
# Étape 4 : réseau pour OpenStack. N'est jamais exécuté seul : ce rôle tourne
|
|
# dans le même play que `durcissement` (voir ansible/reseau-openstack.yml),
|
|
# pour que le pare-feu soit re-rendu avec la règle qui autorise ce nouveau
|
|
# sous-réseau — et pour réutiliser son filet de sécurité anti-coupure.
|
|
|
|
- name: charger le module noyau dummy au démarrage
|
|
ansible.builtin.copy:
|
|
content: "dummy\n"
|
|
dest: /etc/modules-load.d/reseau-openstack.conf
|
|
mode: "0644"
|
|
|
|
- name: charger le module dummy maintenant (sans attendre le prochain redémarrage)
|
|
community.general.modprobe:
|
|
name: dummy
|
|
state: present
|
|
|
|
- name: déployer l'interface dummy0 (management interne Kolla)
|
|
ansible.builtin.template:
|
|
src: 10-dummy0.netdev.j2
|
|
dest: /etc/systemd/network/10-dummy0.netdev
|
|
mode: "0644"
|
|
notify: redémarrer systemd-networkd
|
|
|
|
- name: déployer le réseau de dummy0
|
|
ansible.builtin.template:
|
|
src: 10-dummy0.network.j2
|
|
dest: /etc/systemd/network/10-dummy0.network
|
|
mode: "0644"
|
|
notify: redémarrer systemd-networkd
|
|
|
|
- name: déployer la paire veth (externe OpenStack)
|
|
ansible.builtin.template:
|
|
src: 20-veth-ext.netdev.j2
|
|
dest: /etc/systemd/network/20-veth-ext.netdev
|
|
mode: "0644"
|
|
notify: redémarrer systemd-networkd
|
|
|
|
- name: déployer le réseau du bout OVS de la paire veth (pas d'IP, pour Neutron)
|
|
ansible.builtin.template:
|
|
src: 21-veth-ext-ovs.network.j2
|
|
dest: /etc/systemd/network/21-veth-ext-ovs.network
|
|
mode: "0644"
|
|
notify: redémarrer systemd-networkd
|
|
|
|
- name: déployer le réseau du bout passerelle de la paire veth
|
|
ansible.builtin.template:
|
|
src: 22-veth-ext-gw.network.j2
|
|
dest: /etc/systemd/network/22-veth-ext-gw.network
|
|
mode: "0644"
|
|
notify: redémarrer systemd-networkd
|
|
|
|
- name: "activer systemd-networkd (ne gère que les interfaces déclarées, eno1 reste sous ifupdown)"
|
|
ansible.builtin.systemd:
|
|
name: systemd-networkd
|
|
enabled: true
|
|
# Pas de state ici : le handler s'occupe du (re)démarrage une fois tous les
|
|
# fichiers en place, pour n'appliquer qu'une seule fois.
|
|
|
|
- name: appliquer les nouvelles interfaces réseau
|
|
ansible.builtin.meta: flush_handlers
|
|
|
|
- name: activer le routage IPv4 (nécessaire au NAT)
|
|
ansible.posix.sysctl:
|
|
name: net.ipv4.ip_forward
|
|
value: "1"
|
|
sysctl_file: /etc/sysctl.d/99-reseau-openstack.conf
|
|
state: present
|
|
reload: true
|
|
|
|
- name: créer le répertoire des règles nftables additionnelles
|
|
ansible.builtin.file:
|
|
path: /etc/nftables.d
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: "0750"
|
|
|
|
- name: déployer le NAT masquerade pour le réseau externe OpenStack
|
|
ansible.builtin.template:
|
|
src: 10-nat-openstack.conf.j2
|
|
dest: /etc/nftables.d/10-nat-openstack.conf
|
|
mode: "0640"
|
|
owner: root
|
|
group: root
|
|
# Handler défini dans le rôle durcissement (même play) : nft relit le fichier
|
|
# principal ET ses inclusions en une seule recharge.
|
|
notify: recharger nftables
|