From f2de2883779402f22342c92fc31dc2e88fbb1781 Mon Sep 17 00:00:00 2001 From: leesoh Date: Fri, 5 Oct 2018 16:15:38 -0600 Subject: [PATCH] Multi-OS udpate and housekeeping --- .travis.yml | 2 ++ defaults/main.yml | 2 -- tasks/main.yml | 33 ++++++++++++++++++++++----------- vars/debian.yml | 3 +++ vars/main.yml | 2 -- vars/ubuntu-17.10.yml | 5 +++++ 6 files changed, 32 insertions(+), 15 deletions(-) delete mode 100644 defaults/main.yml create mode 100644 vars/debian.yml delete mode 100644 vars/main.yml create mode 100644 vars/ubuntu-17.10.yml diff --git a/.travis.yml b/.travis.yml index 798c96c..e19ff8f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,8 +10,10 @@ install: - pip install ansible script: + - ansible-galaxy install leesoh.pipenv - ansible-playbook -i tests/inventory tests/test.yml --syntax-check - ansible-playbook -i tests/inventory tests/test.yml --connection=local + - pipenv --help notifications: webhooks: https://galaxy.ansible.com/api/v1/notifications/ diff --git a/defaults/main.yml b/defaults/main.yml deleted file mode 100644 index e73a279..0000000 --- a/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -# defaults file for ansible-role-pipenv \ No newline at end of file diff --git a/tasks/main.yml b/tasks/main.yml index 09ce6dd..23d0ef7 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,25 +1,38 @@ --- -- name: Install pip3 +- set_fact: + ansible_distro: "{{ ansible_distribution|lower|replace(' ', '_')|replace('/', '-') }}" + +- name: Gather OS-specific variables + include_vars: "{{ item }}" + with_first_found: + - files: + - "{{ ansible_distro }}-{{ansible_distribution_version|lower|replace('/', '_') }}.yml" + - "{{ ansible_distro }}-{{ ansible_distribution_release }}.yml" + - "{{ ansible_distro }}-{{ansible_distribution_major_version|lower|replace('/', '_') }}.yml" + - "{{ ansible_distro }}.yml" + - "{{ ansible_os_family|lower }}.yml" + +- name: Install packages become: true - when: ansible_os_family == "Debian" - apt: - name: python3-pip - update_cache: true + with_items: "{{ pipenv_packages }}" + package: + name: "{{ item }}" state: latest - + - name: Install pipenv become: true pip: name: pipenv executable: pip3 -- name: Check path for $HOME/.local/lib (Ubuntu) +- name: Check path for $HOME/.local/lib + when: ansible_distro == "ubuntu" command: "awk /.local/ {{ ansible_env.HOME }}/.profile" register: check_path changed_when: False -- name: Update path (Ubuntu) - when: (ansible_lsb['description'] == "Ubuntu 17.10") and +- name: Update path + when: is_ubuntu_1710 is defined and (check_path.stdout is not undefined) blockinfile: path: "{{ ansible_env.HOME }}/.profile" @@ -27,5 +40,3 @@ if [ -d "$HOME/.local/bin" ] ; then PATH="$HOME/.local/bin:$PATH" fi - - diff --git a/vars/debian.yml b/vars/debian.yml new file mode 100644 index 0000000..7189f70 --- /dev/null +++ b/vars/debian.yml @@ -0,0 +1,3 @@ +--- +pipenv_packages: + - python3-pip \ No newline at end of file diff --git a/vars/main.yml b/vars/main.yml deleted file mode 100644 index f867772..0000000 --- a/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -# vars file for ansible-role-pipenv \ No newline at end of file diff --git a/vars/ubuntu-17.10.yml b/vars/ubuntu-17.10.yml new file mode 100644 index 0000000..d9c3e15 --- /dev/null +++ b/vars/ubuntu-17.10.yml @@ -0,0 +1,5 @@ +--- +pipenv_packages: + - python3-pip + +is_ubuntu_1710: "" \ No newline at end of file