Commit 11d2dd89 by John Jarvis

renaming ansible->edx_ansible

parent bf6a000f
......@@ -8,13 +8,13 @@
# license: https://github.com/edx/configuration/blob/master/LICENSE.TXT
#
##
# Defaults for role ansible, an ansible role to install ansible
# Defaults for role edx_ansible, an edx_ansible role to install edx_ansible
#
#
# OS packages
#
ansible_debian_pkgs:
edx_ansible_debian_pkgs:
- python-pip
- python-apt
- git-core
......@@ -23,12 +23,12 @@ ansible_debian_pkgs:
- libxml2-dev
- libxslt-dev
- curl
ansible_app_dir: "{{ COMMON_APP_DIR }}/ansible"
ansible_code_dir: "{{ ansible_app_dir }}/ansible"
ansible_data_dir: "{{ COMMON_DATA_DIR }}/ansible"
ansible_venvs_dir: "{{ ansible_app_dir }}/venvs"
ansible_venv_dir: "{{ ansible_venvs_dir }}/ansible"
ansible_venv_bin: "{{ ansible_venv_dir }}/bin"
ansible_user: "ansible"
edx_ansible_app_dir: "{{ COMMON_APP_DIR }}/edx_ansible"
edx_ansible_code_dir: "{{ edx_ansible_app_dir }}/edx_ansible"
edx_ansible_data_dir: "{{ COMMON_DATA_DIR }}/edx_ansible"
edx_ansible_venvs_dir: "{{ edx_ansible_app_dir }}/venvs"
edx_ansible_venv_dir: "{{ edx_ansible_venvs_dir }}/edx_ansible"
edx_ansible_venv_bin: "{{ edx_ansible_venv_dir }}/bin"
edx_ansible_user: "edx_ansible"
ansible_source_repo: https://github.com/ansible/ansible.git
edx_ansible_source_repo: https://github.com/edx/configuration.git
......@@ -8,6 +8,6 @@
# license: https://github.com/edx/configuration/blob/master/LICENSE.TXT
#
##
# Role includes for role ansible
# Role includes for role edx_ansible
dependencies:
- supervisor
......@@ -8,56 +8,56 @@
# license: https://github.com/edx/configuration/blob/master/LICENSE.TXT
#
#
# Tasks for role ansible
# Tasks for role edx_ansible
#
# Overview:
#
# This is an ansible role that installs ansible :)
# The purpose is to install ansible on a server so
# This is an edx_ansible role that installs edx_ansible :)
# The purpose is to install edx_ansible on a server so
# that it can be updated locally.
#
# This role will also drop some helper scripts that
# for running ansible tasks
# for running edx_ansible tasks
#
# Example play:
#
#
#
- name: ansible | create application user
- name: edx_ansible | create application user
user: >
name="{{ ansible_user }}"
home="{{ ansible_app_dir }}"
name="{{ edx_ansible_user }}"
home="{{ edx_ansible_app_dir }}"
createhome=no
shell=/bin/false
- name: ansible | create ansible app and venv dir
- name: edx_ansible | create edx_ansible app and venv dir
file: >
path="{{ item }}"
state=directory
owner="{{ ansible_user }}"
owner="{{ edx_ansible_user }}"
group="{{ common_web_group }}"
with_items:
- "{{ ansible_app_dir }}"
- "{{ ansible_venvs_dir }}"
- "{{ edx_ansible_app_dir }}"
- "{{ edx_ansible_venvs_dir }}"
- name: ansible | install a bunch of system packages on which ansible relies
apt: pkg={{','.join(ansible_debian_pkgs)}} state=present
- name: edx_ansible | install a bunch of system packages on which edx_ansible relies
apt: pkg={{','.join(edx_ansible_debian_pkgs)}} state=present
- name: ansible | git checkout ansible repo into ansible_code_dir
git: dest={{ ansible_code_dir }} repo={{ ansible_source_repo }} version={{ ansible_version }}
sudo_user: "{{ ansible_user }}"
- name: edx_ansible | git checkout edx_ansible repo into edx_ansible_code_dir
git: dest={{ edx_ansible_code_dir }} repo={{ edx_ansible_source_repo }} version={{ edx_ansible_version }}
sudo_user: "{{ edx_ansible_user }}"
- name : ansible | install ansible venv requirements
pip: requirements="{{ ansible_requirements_file }}" virtualenv="{{ ansible_venv_dir }}" state=present
sudo_user: "{{ ansible_user }}"
- name : edx_ansible | install edx_ansible venv requirements
pip: requirements="{{ edx_ansible_requirements_file }}" virtualenv="{{ edx_ansible_venv_dir }}" state=present
sudo_user: "{{ edx_ansible_user }}"
- name: ansible | create update script
- name: edx_ansible | create update script
template: >
dest={{ ansible_app_dir}}/update
src=update owner=ansible group=ansible mode=755
dest={{ edx_ansible_app_dir}}/update
src=update owner=edx_ansible group=edx_ansible mode=755
- name: edxapp | create a symlink for update.sh
file: >
src={{ ansible_app_dir }}/update
src={{ edx_ansible_app_dir }}/update
dest={{ COMMON_BIN_DIR }}/update
state=link
#!/usr/bin/env bash
# This script runs ansible locally
# This script runs edx_ansible locally
set -e
usage() {
......@@ -9,7 +9,7 @@ IFS=","
cat<<EO
Usage: $PROG <repo> <version>
-v add verbosity to ansible run
-v add verbosity to edx_ansible run
-h this
<repo> - must be one of [${!repos_to_cmd[*]}]
......@@ -20,14 +20,14 @@ IFS=$SAVE_IFS
}
declare -A repos_to_cmd
ansible_cmd="ansible-playbook -c local -vvvv --tags deploy"
repos_to_cmd["edx-platform"]="$ansible_cmd edxapp.yml -e 'edx_platform_version=$2'"
repos_to_cmd["xqueue"]="$ansible_cmd xqueue.yml -e 'xqueue_version=$2'"
repos_to_cmd["forums"]="$ansible_cmd forums.yml -e 'forum_version=$2'"
repos_to_cmd["xserver"]="$ansible_cmd forums.yml -e 'xserver_version=$2'"
repos_to_cmd["ease"]="$ansible_cmd discern.yml -e 'discern_ease_version=$2' && $ansible_cmd ora.yml -e 'ora_ease_version=$2'"
repos_to_cmd["discern"]="$ansible_cmd discern.yml -e 'discern_version=$2'"
repos_to_cmd["edx-ora"]="$ansible_cmd ora.yml -e 'ora_version=$2'"
edx_ansible_cmd="edx_ansible-playbook -c local -vvvv --tags deploy"
repos_to_cmd["edx-platform"]="$edx_ansible_cmd edxapp.yml -e 'edx_platform_version=$2'"
repos_to_cmd["xqueue"]="$edx_ansible_cmd xqueue.yml -e 'xqueue_version=$2'"
repos_to_cmd["forums"]="$edx_ansible_cmd forums.yml -e 'forum_version=$2'"
repos_to_cmd["xserver"]="$edx_ansible_cmd forums.yml -e 'xserver_version=$2'"
repos_to_cmd["ease"]="$edx_ansible_cmd discern.yml -e 'discern_ease_version=$2' && $edx_ansible_cmd ora.yml -e 'ora_ease_version=$2'"
repos_to_cmd["discern"]="$edx_ansible_cmd discern.yml -e 'discern_version=$2'"
repos_to_cmd["edx-ora"]="$edx_ansible_cmd ora.yml -e 'ora_version=$2'"
PROG=${0##*/}
while getopts "vh" opt; do
......@@ -57,5 +57,5 @@ if [[ -z $2 ]]; then
exit 1
fi
cd {{ ansible_code_dir }}/playbooks/edx-east
cd {{ edx_ansible_code_dir }}/playbooks/edx-east
eval "sudo ${repos_to_cmd["$1"]} $verbose"
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