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