Chore: Adding python3-ncclient for 20.04
[ci-management.git] / packer / provision / local-builder.yaml
index ddfe3a9..1b92859 100644 (file)
@@ -1,2 +1,153 @@
 ---
 - import_playbook: ../common-packer/provision/baseline.yaml
+
+- hosts: all
+  become_user: root
+  become_method: sudo
+
+  tasks:
+    - apt_repository:
+        repo: ppa:deadsnakes/ppa
+        state: present
+      become: true
+      when: ansible_distribution == 'Ubuntu'
+
+    - name: Update and upgrade apt packages
+      apt:
+        upgrade: 'yes'
+        update_cache: yes
+      become: true
+      when: ansible_distribution == 'Ubuntu'
+
+    - name: Install python-tox and deps
+      pip:
+        name:
+          - tox
+          - tox-pyenv
+          - virtualenv
+          - more-itertools~=5.0.0
+          - zipp==1.0.0
+        state: present
+      become: true
+
+    - name: Install Python 3.6 and packages
+      apt:
+        name:
+          - python3.6
+          - python3.6-dev
+          - python3.6-tk
+          - libssl-dev
+          - libmysqlclient-dev
+          - gcc
+          - python3-venv
+      become: true
+      when: ansible_distribution == 'Ubuntu'
+
+    - name: Install Python 3.7
+      apt:
+        name:
+          - python3.7
+          - python3.7-dev
+          - python3.7-tk
+      become: true
+      when: ansible_distribution == 'Ubuntu'
+
+    - name: Install Python 3.8
+      apt:
+        name:
+          - python3.8
+          - python3.8-dev
+          - python3.8-tk
+      become: true
+      when: ansible_distribution == 'Ubuntu'
+
+    - name: Install Python 3.9
+      apt:
+        name:
+          - python3.9
+          - python3.9-dev
+          - python3.9-tk
+          - python3.9-distutils
+      become: true
+      when: ansible_distribution == 'Ubuntu'
+
+    - name: Install libssl1.0-dev dep
+      apt:
+        name: libssl1.0-dev
+        update_cache: yes
+        state: fixed
+      become: true
+      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '18.04'
+
+    - name: Install nodejs-dev dep for npm
+      apt:
+        name: nodejs-dev
+        update_cache: yes
+        state: fixed
+      become: true
+      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '18.04'
+
+    - name: Install libnode-dev dep for npm
+      apt:
+        name: libnode-dev
+        update_cache: yes
+        state: fixed
+      become: true
+      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '20.04'
+
+    - name: Install supporting packages (Ubuntu 18.04)
+      apt:
+        name:
+          - unzip
+          - xz-utils
+          - libxml-xpath-perl
+          - wget
+          - make
+          - sshuttle
+          - netcat
+          - libssl-dev
+          - libffi-dev
+          - xmlstarlet
+          - xvfb
+          - crudini
+          - maven
+          - python-ncclient
+        update_cache: yes
+        state: fixed
+      become: true
+      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '18.04'
+
+    - name: Install supporting packages (Ubuntu 20.04)
+      apt:
+        name:
+          - unzip
+          - xz-utils
+          - libxml-xpath-perl
+          - wget
+          - make
+          - sshuttle
+          - netcat
+          - libssl-dev
+          - libffi-dev
+          - xmlstarlet
+          - xvfb
+          - crudini
+          - maven
+          - python3-ncclient
+        update_cache: yes
+        state: fixed
+      become: true
+      when: ansible_distribution == 'Ubuntu' and ansible_distribution_version == '20.04'
+
+    - name: Install npm and addon packages
+      apt:
+        name:
+          - nodejs
+          - npm
+          - node-gyp
+        update_cache: yes
+        state: fixed
+      become: true
+      when: ansible_distribution == 'Ubuntu'
+
+