feat(conda): Add conda env setup basics
This commit is contained in:
parent
eaec41da1e
commit
f75eb11d66
@ -1,7 +1,12 @@
|
|||||||
miniconda_install_dir: '/opt/miniconda3'
|
miniconda_install_dir: '/opt/miniconda3'
|
||||||
miniconda_bin_dir: '{{ miniconda_install_dir }}/bin'
|
miniconda_bin_dir: '{{ miniconda_install_dir }}/bin'
|
||||||
|
miniconda_envs_dir: '{{ miniconda_install_dir }}/envs'
|
||||||
|
miniconda_conda_binary: '{{ miniconda_bin_dir }}/conda'
|
||||||
miniconda_installer_dl_dir: '{{ miniconda_install_dir }}/_downloaded-installer'
|
miniconda_installer_dl_dir: '{{ miniconda_install_dir }}/_downloaded-installer'
|
||||||
miniconda_dl_uri_base: 'https://repo.anaconda.com/miniconda/'
|
miniconda_dl_uri_base: 'https://repo.anaconda.com/miniconda/'
|
||||||
miniconda_dl_uri_file: 'Miniconda3-latest-Linux-x86_64.sh'
|
miniconda_dl_uri_file: 'Miniconda3-latest-Linux-x86_64.sh'
|
||||||
miniconda_dl_uri: '{{ miniconda_dl_uri_base }}{{ miniconda_dl_uri_file }}'
|
miniconda_dl_uri: '{{ miniconda_dl_uri_base }}{{ miniconda_dl_uri_file }}'
|
||||||
miniconda_dl_local_abs: '{{ miniconda_installer_dl_dir }}/{{ miniconda_dl_uri_file }}'
|
miniconda_dl_local_abs: '{{ miniconda_installer_dl_dir }}/{{ miniconda_dl_uri_file }}'
|
||||||
|
conda_envs_template_dir: '_conda_envs_dir_'
|
||||||
|
conda_python_version: '3'
|
||||||
|
conda_package_spec: 'pip'
|
||||||
|
@ -1,3 +1,55 @@
|
|||||||
|
- name: 'Set conda env file basename'
|
||||||
|
tags:
|
||||||
|
- 'testing'
|
||||||
|
set_fact:
|
||||||
|
conda_env_file_base: '{{ conda_env_file | basename }}'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- name: 'Set conda env file absolute path'
|
||||||
|
tags:
|
||||||
|
- 'testing'
|
||||||
|
set_fact:
|
||||||
|
conda_env_file_abs: '{{ miniconda_envs_dir }}/{{ conda_env_file_base | regex_search(''.*?\.yml'', ''\0'') | first }}'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- name: 'Set conda env name'
|
||||||
|
tags:
|
||||||
|
- 'testing'
|
||||||
|
set_fact:
|
||||||
|
conda_env_name: '{{ conda_env_file_base | regex_search(''(.*?)(_conda_environment.yml)'', ''\1'') | first }}'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- name: 'Store conda environment.yml file'
|
||||||
|
ansible.builtin.template:
|
||||||
|
src: '{{ conda_env_file }}'
|
||||||
|
dest: '{{ conda_env_file_abs }}'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
- name: 'Set up conda env ''{{ conda_env_name }}'''
|
||||||
|
tags:
|
||||||
|
- 'testing'
|
||||||
|
register: 'rv_conda_env_install'
|
||||||
|
changed_when: 'not rv_conda_env_install.stderr'
|
||||||
|
failed_when: 'false'
|
||||||
|
ansible.builtin.shell: '{{ miniconda_conda_binary }} env create --quiet --file ''{{ conda_env_file_abs }}'''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
#- name: Display paths of all .txt files in dir
|
||||||
|
# tags:
|
||||||
|
# - 'testing'
|
||||||
|
# ansible.builtin.debug: msg={{ lookup('ansible.builtin.fileglob', '_conda_envs_dir_/**', wantlist=True) }}
|
||||||
|
|
||||||
|
- name: 'Debug vars'
|
||||||
|
tags:
|
||||||
|
- 'testing'
|
||||||
|
debug:
|
||||||
|
msg: 'asd'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1 +1,10 @@
|
|||||||
- import_tasks: '50-setup-miniconda-env.yml'
|
- import_tasks: '40-install-miniconda.yml'
|
||||||
|
- name: 'Set up conda environment'
|
||||||
|
tags:
|
||||||
|
- 'testing'
|
||||||
|
loop_control:
|
||||||
|
loop_var: 'conda_env'
|
||||||
|
loop: '{{ lookup(''ansible.builtin.fileglob'', ''{{ role_path }}/templates/{{ conda_envs_template_dir }}/*'', wantlist=True) | map(''regex_search'', conda_envs_template_dir + ''/.*?_conda_environment.yml.j2'') }}'
|
||||||
|
vars:
|
||||||
|
conda_env_file: '{{ conda_env }}'
|
||||||
|
include_tasks: '50-setup-miniconda-env.yml'
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
name: cookiecutter
|
||||||
|
channels:
|
||||||
|
- defaults
|
||||||
|
dependencies:
|
||||||
|
- python=3
|
||||||
|
- pip
|
||||||
|
prefix: {{ miniconda_envs_dir }}/cookiecutter
|
@ -0,0 +1,7 @@
|
|||||||
|
name: update-firewall-source
|
||||||
|
channels:
|
||||||
|
- defaults
|
||||||
|
dependencies:
|
||||||
|
- python=3
|
||||||
|
- pip
|
||||||
|
prefix: {{ miniconda_envs_dir }}/update-firewall-source
|
@ -26,27 +26,28 @@
|
|||||||
|
|
||||||
- name: 'Install Miniconda'
|
- name: 'Install Miniconda'
|
||||||
tags:
|
tags:
|
||||||
'testing'
|
- 'testing'
|
||||||
ansible.builtin.include_role:
|
ansible.builtin.include_role:
|
||||||
name: '10-include-50-miniconda'
|
name: '10-include-50-miniconda'
|
||||||
tasks_from: '40-install-miniconda'
|
# tasks_from: '40-install-miniconda'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- name: 'Install Miniconda'
|
#- name: 'Set up Miniconda env'
|
||||||
loop_control:
|
# tags:
|
||||||
loop_var: 'conda'
|
# - 'testing'
|
||||||
loop:
|
# loop_control:
|
||||||
- { task: 'setup', data: 'alter' }
|
# loop_var: 'conda'
|
||||||
- { task: 'setup', data: 'wasn' }
|
# loop:
|
||||||
- { task: 'setup', data: 'digger' }
|
# - { env_name: 'cookiecutter', python_version: '3', package_spec: 'pip' }
|
||||||
vars:
|
# - { env_name: 'update-firewall-source', python_version: '3', package_spec: 'pip' }
|
||||||
task: '{{ conda.task }}'
|
# vars:
|
||||||
data: '{{ conda.data }}'
|
# env_name: '{{ conda.env_name }}'
|
||||||
ansible.builtin.include_role:
|
# python_version: '{{ conda.python_version }}'
|
||||||
name: '10-include-50-miniconda'
|
# package_spec: '{{ conda.package_spec }}'
|
||||||
tasks_from: '40-install-miniconda'
|
# ansible.builtin.include_role:
|
||||||
|
# name: '10-include-50-miniconda'
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
- name: 'Populate service facts'
|
- name: 'Populate service facts'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user