From 111d0fc5321c078448a985e5a388798a9a8e95d6 Mon Sep 17 00:00:00 2001 From: Alessandro Rabiti Date: Wed, 14 Aug 2024 17:05:35 +0200 Subject: [PATCH] feat: aggiunti playbook --- 5_primi_playbooks/12_playbook.yaml | 12 ------- 5_primi_playbooks/13_playbook.yaml | 56 ++++++++++++++++++++++++++++++ 5_primi_playbooks/README.md | 14 +++++++- 5_primi_playbooks/inventory | 7 +++- 4 files changed, 75 insertions(+), 14 deletions(-) create mode 100644 5_primi_playbooks/13_playbook.yaml diff --git a/5_primi_playbooks/12_playbook.yaml b/5_primi_playbooks/12_playbook.yaml index 0bd02b3..e38f330 100644 --- a/5_primi_playbooks/12_playbook.yaml +++ b/5_primi_playbooks/12_playbook.yaml @@ -25,15 +25,3 @@ owner: root # owner group: root # gruppo mode: '0644' # acl del file - - - name: Verifico che il file sia stato copiato correttamente - ansible.builtin.stat: - path: /tmp/example/example.txt - register: file_status - - - name: Stampo lo stato del file copiato - ansible.builtin.debug: - msg: "Il file è stato copiato con successo!" - when: file_status.stat.exists - - diff --git a/5_primi_playbooks/13_playbook.yaml b/5_primi_playbooks/13_playbook.yaml new file mode 100644 index 0000000..cb3f3a5 --- /dev/null +++ b/5_primi_playbooks/13_playbook.yaml @@ -0,0 +1,56 @@ +--- +- name: Installazione httpd, creazione directory e copia files su un gruppo di vm # nome di questo play + hosts: OL_hosts # specifica su quali hosts o gruppi di hosts deve essere eseguito questo play + become: true # utilizza i privilegi di root (default false) + gather_facts: true # raccoglie i dati sull'host (default true) + + tasks: + - name: Installo httpd + ansible.builtin.dnf: + name: httpd # nome del pacchetto da installare + state: latest # desiderata (latest per ultima versione aggiornata, present se è sufficiente che sia presente) + + - name: Creo la directory + ansible.builtin.file: + path: /etc/httpd/conf.vhosts # percorso dove deve essere presente la directory + state: directory # tipologia di file richiesto + owner: root # owner + group: root # gruppo + mode: '0755' # acl del file + + - name: Copio il file di testo + ansible.builtin.copy: + src: example.txt # percorso del file in locale + dest: /etc/httpd/conf.vhosts/ # destinazione del file sulla macchina remota + owner: root # owner + group: root # gruppo + mode: '0644' # acl del file + + +- name: Installazione apache2, creazione directory e copia files # nome di questo play + hosts: debian_hosts # specifica su quali hosts o gruppi di hosts deve essere eseguito questo play + become: true # utilizza i privilegi di root (default false) + gather_facts: true # raccoglie i dati sull'host (default true) + + tasks: + - name: Installo apache2 + ansible.builtin.apt: + name: apache2 # nome del pachetto da installare + state: latest # desiderata (latest per ultima versione aggiornata, present se è sufficiente che sia presente) + update_cache: yes # equivalente di apt-get update + + - name: Creo la directory + ansible.builtin.file: + path: /etc/apache2/conf.vhosts # percorso dove deve essere presente la directory + state: directory # tipologia di file richiesto + owner: root # owner + group: root # gruppo + mode: '0755' # acl del file + + - name: Copio il file di testo + ansible.builtin.copy: + src: example.txt # percorso del file in locale + dest: /etc/apache2/conf.vhosts/ # destinazione del file sulla macchina remota + owner: root # owner + group: root # gruppo + mode: '0644' # acl del file diff --git a/5_primi_playbooks/README.md b/5_primi_playbooks/README.md index dda8d7e..c293242 100644 --- a/5_primi_playbooks/README.md +++ b/5_primi_playbooks/README.md @@ -11,5 +11,17 @@ ansible-playbook 1_playbook.yaml -u user -k -iinventory 1.1) Esempio di playbook che esegue su tutti gli hosts dell'inventory la creazione di una directory, la copia di un file di testo all'interno della directory ed il controllo della presenza del file copiato - per lanciare il playbook: ``` -ansible-playbook 1.1_playbook.yaml -u user -k -iinventory +ansible-playbook 11_playbook.yaml -u user -k -iinventory +``` + +1.2) Esempio di playbook che esegue su tutti gli hosts dell'inventory l'installazione del pacchetto httpd, la creazione di una directoy e la copia di un file di testo +- per lanciare il playbook: +``` +ansible-playbook 12_playbook.yaml -u user -k -iinventory +``` + +1.3) Esempio di playbook con due play: esegue su tutti gli hosts dell'inventory del gruppo OL_hostsl'installazione del pacchetto httpd, la creazione di una directoy e la copia di un file di testo, mentre per gli hosts del gruppo debian_hosts installa il pacchetto apache2 +- per lanciare il playbook: +``` +ansible-playbook 13_playbook.yaml -u user -k -iinventory ``` diff --git a/5_primi_playbooks/inventory b/5_primi_playbooks/inventory index 8523cb2..752768e 100644 --- a/5_primi_playbooks/inventory +++ b/5_primi_playbooks/inventory @@ -1,4 +1,9 @@ +#[OL_hosts] #host1 #host2 #host3 -asdevstage01vm.ad.lepida.it + +#[debian_hosts] +#host4 +#host5 +#host6