--- # Install Packages - name: prereqs - install apt packages apt: name: "{{ item }}" state: present loop: "{{ lldp_packages }}" ############################################### # LLDP Python api ############################################### - name: LLDP API block: # Create API Folder - name: lldp - api - create api folder file: path: "{{ api_working_dir }}" state: directory mode: '0755' # Copy API Code - name: lldp - api - copy api code copy: src: lldp-api.py dest: "{{ api_working_dir }}/app.py" mode: 0644 # Create lldp-api python service - name: lldp - api - create service file vars: exec_start: "python3 {{ api_working_dir }}/app.py" svc_desc: "LLDP API" working_dir: "{{ api_working_dir }}" template: src: service_template.j2 dest: /etc/systemd/system/lldp_api.service mode: 0644 # enable and start lldp service - name: lldp - Restart LLDP service service: name: lldpd state: restarted enabled: yes # daemon reload - name: lldp - api - daemon reload systemd: daemon_reload: yes # Enable and start - name: lldp - api - enable and start api systemd: name: lldp_api.service state: started enabled: yes # Test - name: lldp - api - test shell: "curl -S 'http://127.0.0.1:5000/data'" register: api_test # Show test results - name: lldp - api - show result debug: msg: "{{ api_test.stdout }}" ############################################### # LLDP Project ############################################### # Create working dir - name: LLDP Project - Create Working Directory file: path: "{{ lldp_project_working_dir }}" state: directory owner: "{{ admin_username }}" group: "{{ admin_username }}" mode: '0755' # Copy python code - name: LLDP Project - copy app code copy: src: lldp-scan.py dest: "{{ lldp_project_working_dir }}/app.py" owner: "{{ admin_username }}" group: "{{ admin_username }}" mode: 0644 # Copy project file - name: LLDP Project - copy project code vars: project_title: "LLDP Scanner" working_dir: "{{ lldp_project_working_dir }}" template: src: project_template.j2 dest: "{{ lldp_project_working_dir }}/project.cfg" owner: "{{ admin_username }}" group: "{{ admin_username }}" mode: 0644 ...