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
2dd906e3
Commit
2dd906e3
authored
Aug 07, 2014
by
Feanil Patel
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1346 from edx/feanil/update_create_dbs
Feanil/update create dbs
parents
f31e0613
052e4e33
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
5 additions
and
132 deletions
+5
-132
playbooks/edx-east/create_dbs.yml
+2
-8
playbooks/edx-east/update_edxapp_db_users.yml
+0
-122
util/vpc-tools/db-clone.py
+3
-2
No files found.
playbooks/edx-east/create_dbs.yml
View file @
2dd906e3
...
...
@@ -30,17 +30,11 @@
ora_db_root_user
:
'
None'
discern_db_root_user
:
'
None'
vars_prompt
:
# passwords use vars_prompt so they aren't in the
# bash history
-
name
:
"
db_root_pass"
prompt
:
"
Password
for
root
mysql
user"
private
:
True
tasks
:
-
fail
:
msg="COMMON_ENVIRONMENT and COMMON_DEPLOYMENT need to be defined to use this play"
when
:
COMMON_ENVIRONMENT is not defined or COMMON_DEPLOYMENT is not defined
-
fail
:
msg="db_root_pass is not defined"
when
:
db_root_pass is not defined
-
name
:
install python mysqldb module
apt
:
pkg={{item}} install_recommends=no state=present update_cache=yes
sudo
:
yes
...
...
playbooks/edx-east/update_edxapp_db_users.yml
deleted
100644 → 0
View file @
f31e0613
# This is a utility play to setup the db users on the edxapp db
#
# The mysql root user MUST be passed in as an extra var
#
# the environment and deployment must be passed in as COMMON_ENVIRONMENT
# and COMMON_DEPLOYMENT. These two vars should be set in the secret
# var file for the corresponding vpc stack
#
# Example invocation:
#
# Create the databases for edxapp and xqueue:
#
# ansible-playbook -i localhost, create_db_users.yml -e@/path/to/secrets.yml -e "edxapp_db_root_user=root edxapp_db_root_pass=password"
#
-
name
:
Update db users on the edxapp db
hosts
:
all
gather_facts
:
False
vars
:
edxapp_db_root_user
:
'
None'
edxapp_db_root_pass
:
'
None'
tasks
:
-
fail
:
msg="COMMON_ENVIRONMENT and COMMON_DEPLOYMENT need to be defined to use this play"
when
:
COMMON_ENVIRONMENT is not defined or COMMON_DEPLOYMENT is not defined
-
name
:
assign mysql user permissions for read_only user
mysql_user
:
name
:
"
{{
COMMON_MYSQL_READ_ONLY_USER
}}"
priv
:
"
*.*:SELECT"
password
:
"
{{
COMMON_MYSQL_READ_ONLY_PASS
}}"
login_host
:
"
{{
item.db_host
}}"
login_user
:
"
{{
item.db_user
}}"
login_password
:
"
{{
item.db_pass
}}"
append_privs
:
yes
host
:
'
%'
when
:
item.db_user != 'None'
with_items
:
-
db_host
:
"
{{
EDXAPP_MYSQL_HOST|default('None')
}}"
db_name
:
"
{{
EDXAPP_MYSQL_DB_NAME|default('None')
}}"
db_user
:
"
{{
edxapp_db_root_user
}}"
db_pass
:
"
{{
edxapp_db_root_pass
}}"
-
name
:
assign mysql user permissions for migrate user
mysql_user
:
name
:
"
{{
COMMON_MYSQL_MIGRATE_USER
}}"
priv
:
"
{{
item.db_name
}}.*:SELECT,INSERT,UPDATE,DELETE,ALTER,CREATE,DROP,INDEX"
password
:
"
{{
COMMON_MYSQL_MIGRATE_PASS
}}"
login_host
:
"
{{
item.db_host
}}"
login_user
:
"
{{
item.db_user
}}"
login_password
:
"
{{
item.db_pass
}}"
append_privs
:
yes
host
:
'
%'
when
:
item.db_user != 'None'
with_items
:
-
db_host
:
"
{{
EDXAPP_MYSQL_HOST|default('None')
}}"
db_name
:
"
{{
EDXAPP_MYSQL_DB_NAME|default('None')
}}"
db_user
:
"
{{
edxapp_db_root_user
}}"
db_pass
:
"
{{
edxapp_db_root_pass
}}"
-
name
:
assign mysql user permissions for admin user
mysql_user
:
name
:
"
{{
COMMON_MYSQL_ADMIN_USER
}}"
priv
:
"
*.*:CREATE
USER"
password
:
"
{{
COMMON_MYSQL_ADMIN_PASS
}}"
login_host
:
"
{{
item.db_host
}}"
login_user
:
"
{{
item.db_user
}}"
login_password
:
"
{{
item.db_pass
}}"
append_privs
:
yes
host
:
'
%'
when
:
item.db_user != 'None'
with_items
:
-
db_host
:
"
{{
EDXAPP_MYSQL_HOST|default('None')
}}"
db_user
:
"
{{
edxapp_db_root_user
}}"
db_pass
:
"
{{
edxapp_db_root_pass
}}"
-
name
:
assign mysql user permissions for db users
mysql_user
:
name
:
"
{{
item.db_user_to_modify
}}"
priv
:
"
{{
item.db_name
}}.*:SELECT,INSERT,UPDATE,DELETE"
password
:
"
{{
item.db_user_to_modify_pass
}}"
login_host
:
"
{{
item.db_host
}}"
login_user
:
"
{{
item.db_user
}}"
login_password
:
"
{{
item.db_pass
}}"
host
:
'
%'
when
:
item.db_user != 'None'
with_items
:
# These defaults are needed, otherwise ansible will throw
# variable undefined errors for when they are not defined
# in secret vars
-
db_name
:
"
{{
EDXAPP_MYSQL_DB_NAME|default('None')
}}"
db_host
:
"
{{
EDXAPP_MYSQL_HOST|default('None')
}}"
db_user
:
"
{{
edxapp_db_root_user|default('None')
}}"
db_pass
:
"
{{
edxapp_db_root_pass|default('None')
}}"
db_user_to_modify
:
"
{{
EDXAPP_MYSQL_USER
}}"
db_user_to_modify_pass
:
"
{{
EDXAPP_MYSQL_PASSWORD
}}"
# The second call to mysql_user needs to have append_privs set to
# yes otherwise it will overwrite the previous run.
# This means that both tasks will report changed on every ansible
# run
-
name
:
assign mysql user permissions for db test user
mysql_user
:
append_privs
:
yes
name
:
"
{{
item.db_user_to_modify
}}"
priv
:
"
{{
COMMON_ENVIRONMENT
}}_{{
COMMON_DEPLOYMENT
}}_test_{{
item.db_name
}}.*:ALL"
password
:
"
{{
item.db_user_to_modify_pass
}}"
login_host
:
"
{{
item.db_host
}}"
login_user
:
"
{{
item.db_user
}}"
login_password
:
"
{{
item.db_pass
}}"
host
:
'
%'
when
:
item.db_user != 'None'
with_items
:
# These defaults are needed, otherwise ansible will throw
# variable undefined errors for when they are not defined
# in secret vars
-
db_name
:
"
{{
EDXAPP_MYSQL_DB_NAME|default('None')
}}"
db_host
:
"
{{
EDXAPP_MYSQL_HOST|default('None')
}}"
db_user
:
"
{{
edxapp_db_root_user|default('None')
}}"
db_pass
:
"
{{
edxapp_db_root_pass|default('None')
}}"
db_user_to_modify
:
"
{{
EDXAPP_MYSQL_USER
}}"
db_user_to_modify_pass
:
"
{{
EDXAPP_MYSQL_PASSWORD
}}"
util/vpc-tools/db-clone.py
View file @
2dd906e3
...
...
@@ -154,8 +154,9 @@ if __name__ == '__main__':
for
secret_var_file
in
args
.
secret_var_files
:
extra_args
+=
" -e@{}"
.
format
(
secret_var_file
)
db_cmd
=
"""cd {play_path} && ansible-playbook -c local -i 127.0.0.1, update_edxapp_db_users.yml """
\
"""{extra_args} -e "edxapp_db_root_user=root edxapp_db_root_pass={root_pass} """
\
db_cmd
=
"""cd {play_path} && ansible-playbook -c local -i 127.0.0.1, create_dbs.yml """
\
"""{extra_args} -e "edxapp_db_root_user=root xqueue_db_root_user=root" """
\
""" -e "db_root_pass={root_pass}" """
\
"""EDXAPP_MYSQL_HOST={db_host}" """
.
format
(
root_pass
=
args
.
password
,
extra_args
=
extra_args
,
...
...
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