From 7bb88aaa661dc6756e862562c47368de11657f44 Mon Sep 17 00:00:00 2001 From: Georg Date: Wed, 5 Jan 2022 23:59:13 +0100 Subject: Init Ansible NetBox DHCP POC deployment Signed-off-by: Georg --- ansible/deployment_poc/flow.svg | 321 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 321 insertions(+) create mode 100644 ansible/deployment_poc/flow.svg (limited to 'ansible/deployment_poc/flow.svg') diff --git a/ansible/deployment_poc/flow.svg b/ansible/deployment_poc/flow.svg new file mode 100644 index 0000000..d791ff2 --- /dev/null +++ b/ansible/deployment_poc/flow.svg @@ -0,0 +1,321 @@ + + + + + + + + START + + "User decides to provision a new virtual machine" + + + + + + + NetBox + (User) + + 1. User creates a "Virtual Machine" object + and enters the desired specifications + + + + + + + + + + + + Webhook + + 3. HTTPS POST is received and body data is parsed + + + + + + + NetBox + (System) + + 2. System creates a JSON object + and sends it out via HTTPS POST + + + + + + + YES + + Wehook + (System) + + 4. A shell script is executed, initiating + a SSH session + + + + + + + Does the received object contain valid JSON + with the required attributes? + + + + + + + Does the created object contain + the requireed fields? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ansible + (System) + + 5. A playbook is executed + + + + + + + + + + + + + NetBox + (System) + + 6. The Virtual Machine object is queried + + + + + + + + + + + + Does the Virtual Machine object contain the required + fields, is it in the correct state and + compliant?l + + + + + + + + + + + + NO + + (System) + + Received data is discarded, and the process is aborted + + + + + + + + + + + + Ansible + (System) + + 7. A virtual hard disk is created + he actual virtual machine is defined + + + + + + + Ansible + (System) + + 8. The virtual machine is started + + + + + + + Libvirt + (System) + + 9. The virtual machine is network booted + + + + + + + + + The DHCP/TFTP/NFS process + loads a network operating system + + + + + + + OpenSUSE + (System) + + 11. The installer initializes the disk + + + + + + + + + + + + + + + + + + + + + + OpenSUSE + (System) + + 10. Requested oftware specifications + are collected + + + + + + + + + + + + + + + + + OpenSUSE + (System) + + 12. The operating system is installed + + + + + + + + + + + + + + + + + + + + + + OpenSUSE + (System) + + 13. The system starts base daemons + and sends a report via emaill + + + + + + + + + + + + END + + Pipeline completed + + + + + + + + + + + + + -- cgit v1.2.3