From 690f2d6ab09b9c6afb8861178571d5e7343e65b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20M=C3=BCller?= <daniel.q.mueller@stud.h-da.de>
Date: Wed, 24 Nov 2021 14:28:33 +0000
Subject: [PATCH] General Update

- Lock jupyterlab to version 3.2.4
- Change venv tasks to execute as target_user
- Remove whitespaces
- Remove unneeded comments
---
 local.yml                                     | 61 +++++++---------
 roles/jupyter-lab/files/jupyter.service       | 30 ++++----
 roles/jupyter-lab/tasks/main.yml              | 69 ++++++++++---------
 roles/misc-applications/tasks/main.yml        | 21 +++---
 .../ml-python-packages/files/requirements.txt |  1 -
 roles/ml-python-packages/tasks/main.yml       | 43 ++++++------
 6 files changed, 108 insertions(+), 117 deletions(-)

diff --git a/local.yml b/local.yml
index 4a61bae..52a6d83 100644
--- a/local.yml
+++ b/local.yml
@@ -1,35 +1,26 @@
----
-- hosts: localhost
-  vars:
-    target_user: pi
-    jupyter_service: true
-    ignore_python_version: false 
-
-  pre_tasks:
-    - name: Check python version
-      fail:
-        msg: Python version is not supported. Set ignore_python_version to true to ignore this.
-      when: (not ignore_python_version) and not (ansible_python_version is version('3.7.0', '>=') and ansible_python_version is version('3.10.0', '<'))
-
-    # - name: Upgrade packages
-    #   become: true
-    #   apt:
-    #     upgrade: true
-    #     update_cache: true
-    #     force_apt_get: true
-
-    - name: Update apt cache & install base requirements
-      become: true
-      apt:
-        update_cache: true
-        state: present
-        name:
-          - python3-pip
-          - python3-venv
-    #     - libffi-dev # This is needed for jupyter on aarch64 to compile its C backend
-    
-
-  roles:
-    - jupyter-lab
-    - ml-python-packages
-    - misc-applications
+---
+- hosts: localhost
+  vars:
+    target_user: pi
+    jupyter_service: true
+    ignore_python_version: false 
+
+  pre_tasks:
+    - name: Check python version
+      fail:
+        msg: Python version is not supported. Set ignore_python_version to true to ignore this.
+      when: (not ignore_python_version) and not (ansible_python_version is version('3.7.0', '>=') and ansible_python_version is version('3.10.0', '<'))
+
+    - name: Update apt cache & install base requirements
+      become: true
+      apt:
+        update_cache: true
+        state: present
+        name:
+          - python3-pip
+          - python3-venv
+
+  roles:
+    - jupyter-lab
+    - ml-python-packages
+    - misc-applications
diff --git a/roles/jupyter-lab/files/jupyter.service b/roles/jupyter-lab/files/jupyter.service
index bdbf447..462c8df 100644
--- a/roles/jupyter-lab/files/jupyter.service
+++ b/roles/jupyter-lab/files/jupyter.service
@@ -1,15 +1,15 @@
-[Unit]
-Description=Jupyter Lab
-
-[Service]
-Type=simple
-PIDFile=/run/jupyter.pid
-# Password: [empty string]
-ExecStart=/home/{{ target_user }}/.ml-venv/bin/jupyter-lab --ip="0.0.0.0" --notebook-dir=/home/{{ target_user }}/notebooks --no-browser --NotebookApp.password='sha1:9a2d316959ac:843b251c27024afb46174ce40ce0ebebcf29217b'
-User={{ target_user }}
-Group={{ target_user }}
-Restart=always
-RestartSec=10
-
-[Install]
-WantedBy=multi-user.target
+[Unit]
+Description=Jupyter Lab
+
+[Service]
+Type=simple
+PIDFile=/run/jupyter.pid
+# Password: [empty string]
+ExecStart=/home/{{ target_user }}/.ml-venv/bin/jupyter-lab --ip="0.0.0.0" --notebook-dir=/home/{{ target_user }}/notebooks --no-browser --NotebookApp.password='sha1:9a2d316959ac:843b251c27024afb46174ce40ce0ebebcf29217b'
+User={{ target_user }}
+Group={{ target_user }}
+Restart=always
+RestartSec=10
+
+[Install]
+WantedBy=multi-user.target
diff --git a/roles/jupyter-lab/tasks/main.yml b/roles/jupyter-lab/tasks/main.yml
index f7ded5a..c98db86 100644
--- a/roles/jupyter-lab/tasks/main.yml
+++ b/roles/jupyter-lab/tasks/main.yml
@@ -1,34 +1,35 @@
----
-# roles/jupyter-lab
-
-- name: Notebooks dir
-  file:
-    path: "/home/{{ target_user }}/notebooks"
-    state: directory
-    owner: "{{ target_user }}"
-    group: "{{ target_user }}"
-
-- name: Install jupyter-lab
-  pip:
-    virtualenv_command: /usr/bin/python3 -m venv
-    virtualenv: "/home/{{ target_user }}/.ml-venv"
-    name: jupyterlab
-    state: present
-
-- name: Install systemd service
-  become: true
-  template:
-    src: files/jupyter.service
-    dest: /etc/systemd/system/jupyter.service
-    mode: '0644'
-  when: jupyter_service
-
-- name: Start Jupyter-Lab service
-  become: true
-  systemd:
-    name: jupyter
-    state: started
-    enabled: true
-    daemon_reload: true
-  when: jupyter_service
-
+---
+# roles/jupyter-lab
+
+- name: Notebooks dir
+  file:
+    path: "/home/{{ target_user }}/notebooks"
+    state: directory
+    owner: "{{ target_user }}"
+    group: "{{ target_user }}"
+
+- name: Install jupyter-lab
+  become: true
+  become_user: "{{ target_user }}"
+  pip:
+    virtualenv_command: /usr/bin/python3 -m venv
+    virtualenv: "/home/{{ target_user }}/.ml-venv"
+    name: jupyterlab==3.2.4
+    state: present
+
+- name: Install systemd service
+  become: true
+  template:
+    src: files/jupyter.service
+    dest: /etc/systemd/system/jupyter.service
+    mode: '0644'
+  when: jupyter_service
+
+- name: Start Jupyter-Lab service
+  become: true
+  systemd:
+    name: jupyter
+    state: started
+    enabled: true
+    daemon_reload: true
+  when: jupyter_service
diff --git a/roles/misc-applications/tasks/main.yml b/roles/misc-applications/tasks/main.yml
index 13052db..3eab415 100644
--- a/roles/misc-applications/tasks/main.yml
+++ b/roles/misc-applications/tasks/main.yml
@@ -1,11 +1,10 @@
----
-# roles/misc-applications
-
-- name: Install useful cli applications
-  become: true
-  apt:
-    name:
-      - neovim
-      - tmux
-    state: present
-
+---
+# roles/misc-applications
+
+- name: Install useful cli applications
+  become: true
+  apt:
+    name:
+      - neovim
+      - tmux
+    state: present
diff --git a/roles/ml-python-packages/files/requirements.txt b/roles/ml-python-packages/files/requirements.txt
index 4a89ed4..e0c328c 100644
--- a/roles/ml-python-packages/files/requirements.txt
+++ b/roles/ml-python-packages/files/requirements.txt
@@ -3,4 +3,3 @@ matplotlib==3.4.*
 pandas==1.3.*
 Pillow==8.4.*
 scikit-learn==1.0.*
-
diff --git a/roles/ml-python-packages/tasks/main.yml b/roles/ml-python-packages/tasks/main.yml
index 168e1ae..ccfc690 100644
--- a/roles/ml-python-packages/tasks/main.yml
+++ b/roles/ml-python-packages/tasks/main.yml
@@ -1,21 +1,22 @@
----
-# roles/ml-python-packages
-
-- name: Install dependecies
-  become: true
-  apt:
-    name:
-      - libatlas-base-dev
-    state: present
-
-- name: Copy requirements.txt to remote fs
-  copy:
-    src: files/requirements.txt
-    dest: /tmp/ml-requirements.txt
-
-- name: Install ml python packages
-  pip:
-    virtualenv_command: /usr/bin/python3 -m venv
-    requirements: /tmp/ml-requirements.txt
-    virtualenv: "/home/{{ target_user }}/.ml-venv"
-
+---
+# roles/ml-python-packages
+
+- name: Install APT dependecies
+  become: true
+  apt:
+    name:
+      - libatlas-base-dev
+    state: present
+
+- name: Copy requirements.txt to remote fs
+  copy:
+    src: files/requirements.txt
+    dest: /tmp/ml-requirements.txt
+
+- name: Install ml python packages
+  become: true
+  become_user: "{{ target_user }}"
+  pip:
+    virtualenv_command: /usr/bin/python3 -m venv
+    requirements: /tmp/ml-requirements.txt
+    virtualenv: "/home/{{ target_user }}/.ml-venv"
-- 
GitLab