Commit a809daa6 by Ned Batchelder

We need a custom edX PPA for all versions of Debian

(cherry picked from commit b8ed4f49)
parent 59b091d9
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
- "install:configuration" - "install:configuration"
# ubuntu # ubuntu
- stat: - stat:
path: "/usr/sbin/update-ca-certificates" path: "/usr/sbin/update-ca-certificates"
register: update_ca_certificates register: update_ca_certificates
...@@ -52,25 +52,22 @@ ...@@ -52,25 +52,22 @@
when: ansible_distribution in common_debian_variants when: ansible_distribution in common_debian_variants
# Ensure that we get the latest version of python 2.7 # Ensure that we can install old software if need be.
- name: add edx ppa apt key - name: Add edX PPA apt key
apt_key: apt_key:
id: "{{ COMMON_EDX_PPA_KEY_ID }}" id: "{{ COMMON_EDX_PPA_KEY_ID }}"
keyserver: "{{ COMMON_EDX_PPA_KEY_SERVER }}" keyserver: "{{ COMMON_EDX_PPA_KEY_SERVER }}"
state: "present" state: "present"
when: > when: >
ansible_distribution in common_debian_variants and ansible_distribution in common_debian_variants
ansible_distribution_release in common_custom_ppa_releases
- name: Add custom edX PPA - name: Add custom edX PPA
# Ensure that we get a current version of Git and latest version of python 2.7 # Ensure that we get the latest version of python 2.7
# GitHub requires version 1.7.10 or later # MySQL 5.6 is from our own PPA: https://bugs.mysql.com/bug.php?id=84848
# https://help.github.com/articles/https-cloning-errors
apt_repository: apt_repository:
repo: "{{ COMMON_EDX_PPA }}" repo: "{{ COMMON_EDX_PPA }}"
when: > when: >
ansible_distribution in common_debian_variants and ansible_distribution in common_debian_variants
ansible_distribution_release in common_custom_ppa_releases
- name: Install role-independent useful system packages - name: Install role-independent useful system packages
...@@ -78,7 +75,7 @@ ...@@ -78,7 +75,7 @@
apt: apt:
name: "{{ item }}" name: "{{ item }}"
install_recommends: yes install_recommends: yes
state: present state: present
update_cache: yes update_cache: yes
with_items: "{{ common_debian_pkgs }}" with_items: "{{ common_debian_pkgs }}"
when: ansible_distribution in common_debian_variants when: ansible_distribution in common_debian_variants
...@@ -89,15 +86,15 @@ ...@@ -89,15 +86,15 @@
install_recommends: yes install_recommends: yes
state: present state: present
update_cache: yes update_cache: yes
with_items: "{{ common_custom_debian_pkgs }}" with_items: "{{ old_python_debian_pkgs }}"
when: > when: >
ansible_distribution in common_debian_variants and ansible_distribution in common_debian_variants and
ansible_distribution_release in common_custom_ppa_releases ansible_distribution_release in old_python_ppa_releases
- name: Install role-independent useful system packages - name: Install role-independent useful system packages
yum: yum:
name: "{{ item }}" name: "{{ item }}"
state: present state: present
update_cache: yes update_cache: yes
with_items: "{{ common_redhat_pkgs }}" with_items: "{{ common_redhat_pkgs }}"
when: ansible_distribution in common_redhat_variants when: ansible_distribution in common_redhat_variants
...@@ -106,24 +103,24 @@ ...@@ -106,24 +103,24 @@
- name: Create common directories - name: Create common directories
file: file:
path: "{{ item.path }}" path: "{{ item.path }}"
state: "{{ item.state | default('directory') }}" state: "{{ item.state | default('directory') }}"
owner: "{{ item.owner | default('root') }}" owner: "{{ item.owner | default('root') }}"
group: "{{ item.group | default('root') }}" group: "{{ item.group | default('root') }}"
mode: "0755" mode: "0755"
with_items: "{{ common_directories }}" with_items: "{{ common_directories }}"
- name: upload sudo config for key forwarding as root - name: upload sudo config for key forwarding as root
copy: copy:
src: ssh_key_forward src: ssh_key_forward
dest: /etc/sudoers.d/ssh_key_forward dest: /etc/sudoers.d/ssh_key_forward
validate: 'visudo -c -f %s' validate: 'visudo -c -f %s'
owner: root owner: root
group: root group: root
mode: "0440" mode: "0440"
- name: pip install virtualenv - name: pip install virtualenv
pip: pip:
name: "{{ item }}" name: "{{ item }}"
state: present state: present
extra_args: "-i {{ COMMON_PYPI_MIRROR_URL }}" extra_args: "-i {{ COMMON_PYPI_MIRROR_URL }}"
with_items: "{{ common_pip_pkgs }}" with_items: "{{ common_pip_pkgs }}"
...@@ -131,8 +128,8 @@ ...@@ -131,8 +128,8 @@
- name: update /etc/hosts - name: update /etc/hosts
template: template:
src: hosts.j2 src: hosts.j2
dest: /etc/hosts dest: /etc/hosts
when: COMMON_HOSTNAME|length > 0 when: COMMON_HOSTNAME|length > 0
register: etc_hosts register: etc_hosts
...@@ -152,8 +149,8 @@ ...@@ -152,8 +149,8 @@
template: template:
dest: "{{ item.dest }}" dest: "{{ item.dest }}"
src: "{{ item.src }}" src: "{{ item.src }}"
owner: root owner: root
group: root group: root
mode: "{{ item.mode | default(0644) }}" mode: "{{ item.mode | default(0644) }}"
register: config_templates register: config_templates
with_items: with_items:
...@@ -165,8 +162,8 @@ ...@@ -165,8 +162,8 @@
# TODO: restarts no matter which template has changed, need to examine # TODO: restarts no matter which template has changed, need to examine
# the results # the results
- name: restart rsyslogd - name: restart rsyslogd
service: service:
name: rsyslog name: rsyslog
state: restarted state: restarted
become: True become: True
when: config_templates.changed when: config_templates.changed
......
...@@ -119,7 +119,7 @@ common_debian_pkgs: ...@@ -119,7 +119,7 @@ common_debian_pkgs:
- python2.7-dev - python2.7-dev
# Packages that should be installed from our custom PPA, i.e. COMMON_EDX_PPA # Packages that should be installed from our custom PPA, i.e. COMMON_EDX_PPA
common_custom_debian_pkgs: old_python_debian_pkgs:
- "python2.7=2.7.10-0+{{ ansible_distribution_release }}1" - "python2.7=2.7.10-0+{{ ansible_distribution_release }}1"
common_pip_pkgs: common_pip_pkgs:
...@@ -153,8 +153,8 @@ common_debian_variants: ...@@ -153,8 +153,8 @@ common_debian_variants:
- Ubuntu - Ubuntu
- Debian - Debian
# Only attempt to use our custom PPA for these releases # We only have to install old Python for these releases:
common_custom_ppa_releases: old_python_ppa_releases:
- precise - precise
- trusty - trusty
......
...@@ -107,13 +107,9 @@ apt-get install -y software-properties-common python-software-properties ...@@ -107,13 +107,9 @@ apt-get install -y software-properties-common python-software-properties
# Add git PPA # Add git PPA
add-apt-repository -y ppa:git-core/ppa add-apt-repository -y ppa:git-core/ppa
# For older distributions we need to install a PPA for Python 2.7.10 # For older software we need to install our own PPA.
if [[ "precise" = "${SHORT_DIST}" || "trusty" = "${SHORT_DIST}" ]]; then apt-key adv --keyserver "${EDX_PPA_KEY_SERVER}" --recv-keys "${EDX_PPA_KEY_ID}"
add-apt-repository -y "${EDX_PPA}"
# Add python PPA
apt-key adv --keyserver "${EDX_PPA_KEY_SERVER}" --recv-keys "${EDX_PPA_KEY_ID}"
add-apt-repository -y "${EDX_PPA}"
fi
# Install python 2.7 latest, git and other common requirements # Install python 2.7 latest, git and other common requirements
# NOTE: This will install the latest version of python 2.7 and # NOTE: This will install the latest version of python 2.7 and
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment