Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
configuration
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
configuration
Commits
92acf889
Commit
92acf889
authored
Jun 22, 2016
by
Arbab Nazar
Committed by
GitHub
Jun 22, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #3145 from edx/arbab/xqueue-rewrite
use YAML syntax to write ansible tasks
parents
e9ad371e
db8625ee
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
97 additions
and
99 deletions
+97
-99
playbooks/roles/xqueue/tasks/deploy.yml
+76
-79
playbooks/roles/xqueue/tasks/main.yml
+21
-20
No files found.
playbooks/roles/xqueue/tasks/deploy.yml
View file @
92acf889
-
name
:
"
writing
supervisor
scripts
-
xqueue,
xqueue
consumer"
---
template
:
>
-
name
:
"
Writing
supervisor
scripts
-
xqueue,
xqueue
consumer"
src={{ item }}.conf.j2 dest={{ supervisor_available_dir }}/{{ item }}.conf
template
:
owner={{ supervisor_user }} group={{ common_web_user }} mode=0644
src
:
"
{{
item
}}.conf.j2"
with_items
:
[
'
xqueue'
,
'
xqueue_consumer'
]
dest
:
"
{{
supervisor_available_dir
}}/{{
item
}}.conf"
owner
:
"
{{
supervisor_user
}}"
group
:
"
{{
common_web_user
}}"
mode
:
"
0644"
with_items
:
-
xqueue
-
xqueue_consumer
tags
:
tags
:
-
install
-
install
-
install:configuration
-
install:configuration
-
name
:
"
enabling
supervisor
scripts
-
xqueue,
xqueue
consumer"
-
name
:
"
Enabling
supervisor
scripts
-
xqueue,
xqueue
consumer"
file
:
>
file
:
src={{ supervisor_available_dir }}/{{ item }}.conf
src
:
"
{{
supervisor_available_dir
}}/{{
item
}}.conf"
dest={{ supervisor_cfg_dir }}/{{ item }}.conf
dest
:
"
{{
supervisor_cfg_dir
}}/{{
item
}}.conf"
owner={{ supervisor_user }} group={{ common_web_user }}
owner
:
"
{{
supervisor_user
}}"
mode=0644 state=link force=yes
group
:
"
{{
common_web_user
}}"
with_items
:
[
'
xqueue'
,
'
xqueue_consumer'
]
mode
:
"
0644"
state
:
link
force
:
yes
with_items
:
-
xqueue
-
xqueue_consumer
when
:
not disable_edx_services
when
:
not disable_edx_services
tags
:
tags
:
-
install
-
install
-
install:configuration
-
install:configuration
-
name
:
"
add
gunicorn
configuration
file"
-
name
:
Copy the configurations to the desired directory
template
:
>
template
:
src=xqueue_gunicorn.py.j2 dest={{ xqueue_app_dir }}/xqueue_gunicorn.py
src
:
"
{{
item.src
}}"
become_user
:
"
{{
xqueue_user
}}"
dest
:
"
{{
xqueue_app_dir
}}/{{
item.dest
}}"
tags
:
mode
:
"
{{
item.mode
}}"
-
install
-
install:configuration
-
name
:
create xqueue application config
template
:
src=xqueue.env.json.j2 dest={{ xqueue_app_dir }}/xqueue.env.json mode=0644
become_user
:
"
{{
xqueue_user
}}"
tags
:
-
install
-
install:configuration
-
name
:
create xqueue auth file
template
:
src=xqueue.auth.json.j2 dest={{ xqueue_app_dir }}/xqueue.auth.json mode=0644
become_user
:
"
{{
xqueue_user
}}"
become_user
:
"
{{
xqueue_user
}}"
with_items
:
-
{
src
:
'
xqueue_gunicorn.py.j2'
,
dest
:
'
xqueue_gunicorn.py'
,
mode
:
'
0644'
}
-
{
src
:
'
xqueue.env.json.j2'
,
dest
:
'
xqueue.env.json'
,
mode
:
'
0644'
}
-
{
src
:
'
xqueue.auth.json.j2'
,
dest
:
'
xqueue.auth.json'
,
mode
:
'
0644'
}
tags
:
tags
:
-
install
-
install
-
install:configuration
-
install:configuration
# Do A Checkout
# Do A Checkout
-
name
:
git checkout xqueue repo into xqueue_code_dir
-
name
:
"
Git
checkout
xqueue
repo
into
{{
xqueue_code_dir
}}"
git_2_0_1
:
>
git_2_0_1
:
dest={{ xqueue_code_dir }} repo={{ xqueue_source_repo }} version={{ xqueue_version }}
repo
:
"
{{
xqueue_source_repo
}}"
accept_hostkey=yes
dest
:
"
{{
xqueue_code_dir
}}"
version
:
"
{{
xqueue_version
}}"
accept_hostkey
:
yes
become_user
:
"
{{
xqueue_user
}}"
become_user
:
"
{{
xqueue_user
}}"
register
:
xqueue_checkout
register
:
xqueue_checkout
tags
:
tags
:
-
install
-
install
-
install:code
-
install:code
# Install the python pre requirements and post requirements into {{ xqueue_venv_dir }}
# Install the python pre requirements into {{ xqueue_venv_dir }}
-
name
:
"
Install
python
pre-requirements
and
post-requirements"
-
name
:
install python pre-requirements
pip
:
pip
:
>
requirements
:
"
{{
item
}}"
requirements="{{ xqueue_pre_requirements_file }}" virtualenv="{{ xqueue_venv_dir }}" state=present
virtualenv
:
"
{{
xqueue_venv_dir
}}"
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }} --exists-action w"
state
:
present
become_user
:
"
{{
xqueue_user
}}"
extra_args
:
"
-i
{{
COMMON_PYPI_MIRROR_URL
}}
--exists-action
w"
tags
:
-
install
-
install:app-requirements
# Install the python post requirements into {{ xqueue_venv_dir }}
-
name
:
install python post-requirements
pip
:
>
requirements="{{ xqueue_post_requirements_file }}" virtualenv="{{ xqueue_venv_dir }}" state=present
extra_args="-i {{ COMMON_PYPI_MIRROR_URL }} --exists-action w"
become_user
:
"
{{
xqueue_user
}}"
become_user
:
"
{{
xqueue_user
}}"
with_items
:
-
"
{{
xqueue_pre_requirements_file
}}"
-
"
{{
xqueue_post_requirements_file
}}"
tags
:
tags
:
-
install
-
install
-
install:app-requirements
-
install:app-requirements
# If there is a common user for migrations run migrations using his username
# If there is a common user for migrations run migrations using his username
# and credentials. If not we use the xqueue mysql user
# and credentials. If not we use the xqueue mysql user
-
name
:
migrate
-
name
:
Migrate
shell
:
>
shell
:
"
SERVICE_VARIANT=xqueue
{{
xqueue_venv_bin
}}/django-admin.py
migrate
--noinput
--settings=xqueue.aws_migrate
--pythonpath={{
xqueue_code_dir
}}"
SERVICE_VARIANT=xqueue {{ xqueue_venv_bin }}/django-admin.py migrate --noinput --settings=xqueue.aws_migrate --pythonpath={{ xqueue_code_dir }}
become_user
:
"
{{
xqueue_user
}}"
become_user
:
"
{{
xqueue_user
}}"
environment
:
environment
:
DB_MIGRATION_USER
:
"
{{
COMMON_MYSQL_MIGRATE_USER
}}"
DB_MIGRATION_USER
:
"
{{
COMMON_MYSQL_MIGRATE_USER
}}"
...
@@ -87,9 +85,8 @@
...
@@ -87,9 +85,8 @@
-
migrate
-
migrate
-
migrate:db
-
migrate:db
-
name
:
create users
-
name
:
Create users
shell
:
>
shell
:
"
SERVICE_VARIANT=xqueue
{{
xqueue_venv_bin
}}/django-admin.py
update_users
--settings=xqueue.aws_settings
--pythonpath={{
xqueue_code_dir
}}"
SERVICE_VARIANT=xqueue {{ xqueue_venv_bin }}/django-admin.py update_users --settings=xqueue.aws_settings --pythonpath={{ xqueue_code_dir }}
become_user
:
"
{{
xqueue_user
}}"
become_user
:
"
{{
xqueue_user
}}"
tags
:
tags
:
-
manage
-
manage
...
@@ -100,45 +97,45 @@
...
@@ -100,45 +97,45 @@
# the services if any of the configurations
# the services if any of the configurations
# have changed.
# have changed.
#
#
-
name
:
u
pdate supervisor configuration
-
name
:
U
pdate supervisor configuration
shell
:
"
{{
supervisor_ctl
}}
-c
{{
supervisor_cfg
}}
update"
shell
:
"
{{
supervisor_ctl
}}
-c
{{
supervisor_cfg
}}
update"
register
:
supervisor_update
register
:
supervisor_update
changed_when
:
supervisor_update.stdout is defined and supervisor_update.stdout != ""
changed_when
:
supervisor_update.stdout is defined and supervisor_update.stdout != ""
when
:
not disable_edx_services
when
:
not disable_edx_services
-
name
:
e
nsure xqueue, consumer is running
-
name
:
E
nsure xqueue, consumer is running
supervisorctl
:
>
supervisorctl
:
name
={{ item }}
name
:
"
{{
item
}}"
supervisorctl_path
={{ supervisor_ctl }}
supervisorctl_path
:
"
{{
supervisor_ctl
}}"
config
={{ supervisor_cfg }}
config
:
"
{{
supervisor_cfg
}}"
state
=
started
state
:
started
with_items
:
with_items
:
-
xqueue
-
xqueue
-
xqueue_consumer
-
xqueue_consumer
when
:
not disable_edx_services
when
:
not disable_edx_services
tags
:
tags
:
-
manage
-
manage
-
manage:start
-
manage:start
-
name
:
c
reate a symlink for venv python
-
name
:
C
reate a symlink for venv python
file
:
>
file
:
src
=
"{{ xqueue_venv_bin }}/{{ item }}"
src
:
"
{{
xqueue_venv_bin
}}/{{
item
}}"
dest
={{ COMMON_BIN_DIR }}/{{ item }}.xqueue
dest
:
"
{{
COMMON_BIN_DIR
}}/{{
item
}}.xqueue"
state
=
link
state
:
link
with_items
:
with_items
:
-
python
-
python
-
pip
-
pip
tags
:
tags
:
-
install
-
install
-
install:app-requirements
-
install:app-requirements
-
name
:
r
estart xqueue
-
name
:
R
estart xqueue
supervisorctl
:
>
supervisorctl
:
name
={{ item }}
name
:
"
{{
item
}}"
supervisorctl_path
={{ supervisor_ctl }}
supervisorctl_path
:
"
{{
supervisor_ctl
}}"
config
={{ supervisor_cfg }}
config
:
"
{{
supervisor_cfg
}}"
state
=
restarted
state
:
restarted
when
:
not disable_edx_services
when
:
not disable_edx_services
with_items
:
with_items
:
-
xqueue
-
xqueue
-
xqueue_consumer
-
xqueue_consumer
playbooks/roles/xqueue/tasks/main.yml
View file @
92acf889
...
@@ -5,23 +5,22 @@
...
@@ -5,23 +5,22 @@
# Check out xqueue repo to {{ xqueue_code_dir }}
# Check out xqueue repo to {{ xqueue_code_dir }}
#
#
#
#
-
name
:
Create application user
-
name
:
create application user
user
:
user
:
>
name
:
"
{{
xqueue_user
}}"
name="{{ xqueue_user }}"
home
:
"
{{
xqueue_app_dir
}}"
home="{{ xqueue_app_dir }}"
createhome
:
no
createhome=no
shell
:
/bin/false
shell=/bin/false
tags
:
tags
:
-
install
-
install
-
install:base
-
install:base
-
name
:
c
reate xqueue app and venv dir
-
name
:
C
reate xqueue app and venv dir
file
:
>
file
:
path
=
"{{ item }}"
path
:
"
{{
item
}}"
state
=
directory
state
:
directory
owner
=
"{{ xqueue_user }}"
owner
:
"
{{
xqueue_user
}}"
group
=
"{{ common_web_group }}"
group
:
"
{{
common_web_group
}}"
with_items
:
with_items
:
-
"
{{
xqueue_app_dir
}}"
-
"
{{
xqueue_app_dir
}}"
-
"
{{
xqueue_venvs_dir
}}"
-
"
{{
xqueue_venvs_dir
}}"
...
@@ -29,14 +28,15 @@
...
@@ -29,14 +28,15 @@
-
install
-
install
-
install:base
-
install:base
-
name
:
install a bunch of system packages on which xqueue relies
-
name
:
Install a bunch of system packages on which xqueue relies
apt
:
pkg={{','.join(xqueue_debian_pkgs)}} state=present
apt
:
name
:
"
{{
item
}}"
state
:
present
with_items
:
"
{{
xqueue_debian_pkgs
}}"
tags
:
tags
:
-
install
-
install
-
install:system-requirements
-
install:system-requirements
-
include
:
deploy.yml tags=deploy
-
include
:
deploy.yml
tags
:
-
deploy
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment