Skip to content

Commit ef24d83

Browse files
committed
fix: improve mongo and mysql delete commands
Include the ReplicaSet configuration in the mongosh command. Delete the notes user if the notes plugin is enabled.
1 parent b03c579 commit ef24d83

File tree

1 file changed

+52
-12
lines changed

1 file changed

+52
-12
lines changed

drydock/plugin.py

Lines changed: 52 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -245,21 +245,61 @@ def delete_dbs_command():
245245

246246
MONGO_DROP_COMMAND = """
247247
mongosh \
248-
{% if MONGODB_ROOT_USERNAME and MONGODB_ROOT_PASSWORD %} \
249-
mongodb://{{ MONGODB_ROOT_USERNAME }}:{{ MONGODB_ROOT_PASSWORD }}@{{ MONGODB_HOST }}:{{ MONGODB_PORT }}/{{ MONGODB_DATABASE }}?authSource={{ MONGODB_AUTH_SOURCE }} --eval 'db.dropDatabase()'
250-
{% else %} \
251-
mongodb://{{ MONGODB_HOST }}:{{ MONGODB_PORT }}/{{ MONGODB_DATABASE }}?authSource={{ MONGODB_AUTH_SOURCE }} --eval 'db.dropDatabase()'
252-
{% if 'forum' in PLUGINS %}
253-
mongodb://{{ MONGODB_HOST }}:{{ MONGODB_PORT }}/{{ FORUM_MONGODB_DATABASE }}?authSource={{ MONGODB_AUTH_SOURCE }} --eval 'db.dropDatabase()'
254-
{% endif %}
255-
{% endif %}
248+
--host {% if MONGODB_REPLICA_SET %}{{ MONGODB_REPLICA_SET }}/{% endif %}{{ MONGODB_HOST }} \
249+
--port {{ MONGODB_PORT }} \
250+
{% if MONGODB_ROOT_USERNAME %} \
251+
--username {{ MONGODB_ROOT_USERNAME }} \
252+
{% endif %} \
253+
{% if MONGODB_ROOT_PASSWORD %} \
254+
--password {{ MONGODB_ROOT_PASSWORD }} \
255+
{% endif %} \
256+
--authenticationDatabase {{ MONGODB_AUTH_SOURCE }} \
257+
{% if MONGODB_USE_SSL %} --tls true {% endif %} \
258+
{{ MONGODB_DATABASE }} \
259+
--eval 'db.dropDatabase()'
260+
261+
{% if 'forum' in PLUGINS %}
262+
mongosh \
263+
--host {% if MONGODB_REPLICA_SET %}{{ MONGODB_REPLICA_SET }}/{% endif %}{{ MONGODB_HOST }} \
264+
--port {{ MONGODB_PORT }} \
265+
{% if MONGODB_ROOT_USERNAME %} \
266+
--username {{ MONGODB_ROOT_USERNAME }} \
267+
{% endif %} \
268+
{% if MONGODB_ROOT_PASSWORD %} \
269+
--password {{ MONGODB_ROOT_PASSWORD }} \
270+
{% endif %} \
271+
--authenticationDatabase {{ MONGODB_AUTH_SOURCE }} \
272+
{% if MONGODB_USE_SSL %} --tls true {% endif %} \
273+
{{ FORUM_MONGODB_DATABASE }} \
274+
--eval 'db.dropDatabase()'
275+
{% endif %}
256276
"""
257277
MYSQL_DROP_COMMAND = """
258-
mysql -u {{ MYSQL_ROOT_USERNAME }} --password="{{ MYSQL_ROOT_PASSWORD }}" --host "{{ MYSQL_HOST }}" --port {{ MYSQL_PORT }} -e "DROP DATABASE IF EXISTS {{ OPENEDX_MYSQL_DATABASE }};"
259-
mysql -u {{ MYSQL_ROOT_USERNAME }} --password="{{ MYSQL_ROOT_PASSWORD }}" --host "{{ MYSQL_HOST }}" --port {{ MYSQL_PORT }} -e "DROP USER IF EXISTS '{{ OPENEDX_MYSQL_USERNAME }}';"
278+
mysql \
279+
--user {{ MYSQL_ROOT_USERNAME }} \
280+
--password="{{ MYSQL_ROOT_PASSWORD }}" \
281+
--host "{{ MYSQL_HOST }}" \
282+
--port {{ MYSQL_PORT }} \
283+
--execute "DROP DATABASE IF EXISTS {{ OPENEDX_MYSQL_DATABASE }};"
284+
mysql \
285+
--user {{ MYSQL_ROOT_USERNAME }} \
286+
--password="{{ MYSQL_ROOT_PASSWORD }}" \
287+
--host "{{ MYSQL_HOST }}" \
288+
--port {{ MYSQL_PORT }} \
289+
--execute "DROP USER IF EXISTS '{{ OPENEDX_MYSQL_USERNAME }}';" \
260290
{% if 'notes' in PLUGINS %}
261-
mysql -u {{ MYSQL_ROOT_USERNAME }} --password="{{ MYSQL_ROOT_PASSWORD }}" --host "{{ MYSQL_HOST }}" --port {{ MYSQL_PORT }} -e 'DROP DATABASE IF EXISTS {{ NOTES_MYSQL_DATABASE }};'
262-
mysql -u {{ MYSQL_ROOT_USERNAME }} --password="{{ MYSQL_ROOT_PASSWORD }}" --host "{{ MYSQL_HOST }}" --port {{ MYSQL_PORT }} -e "DROP USER IF EXISTS '{{ NOTES_MYSQL_USERNAME }}';"
291+
mysql \
292+
--user {{ MYSQL_ROOT_USERNAME }} \
293+
--password="{{ MYSQL_ROOT_PASSWORD }}" \
294+
--host "{{ MYSQL_HOST }}" \
295+
--port {{ MYSQL_PORT }} \
296+
--execute 'DROP DATABASE IF EXISTS {{ NOTES_MYSQL_DATABASE }};' \
297+
mysql \
298+
--user {{ MYSQL_ROOT_USERNAME }} \
299+
--password="{{ MYSQL_ROOT_PASSWORD }}" \
300+
--host "{{ MYSQL_HOST }}" \
301+
--port {{ MYSQL_PORT }} \
302+
--execute 'DROP USER IF EXISTS {{ NOTES_MYSQL_USERNAME }};' \
263303
{% endif %}
264304
"""
265305
do_callback(

0 commit comments

Comments
 (0)