Switch mailman role to docker-compose exec
We were running docker exec for a number of deployment status checks. As we look forward to switching to docker compose over docker-compose container names are expected to change which makes using docker exec a bit painful in a backward and forward compatible manner. Instead we can use docker-compose to interact with the containers using their logical names and have it map to the correct container for us. Change-Id: Id078ba8952acfea525d6633c7fbc88b11a9a03b8
This commit is contained in:
parent
d6ae4516f2
commit
6b2bb4a3a9
@ -223,8 +223,8 @@
|
||||
# can identify a single method that is reliable this list can be trimmed.
|
||||
- name: Wait for DB to be populated
|
||||
command: >
|
||||
docker exec mailman-compose_database_1 bash -c
|
||||
'mysql -u mailman -p"$MYSQL_PASSWORD" -D mailmandb -e
|
||||
/usr/local/bin/docker-compose -f /etc/mailman-compose/docker-compose.yaml exec -T database
|
||||
bash -c 'mysql -u mailman -p"$MYSQL_PASSWORD" -D mailmandb -e
|
||||
"SHOW TABLES LIKE \"auth_user\";"'
|
||||
register: django_db_exists
|
||||
delay: 1
|
||||
@ -233,7 +233,8 @@
|
||||
|
||||
- name: Wait for DB to be populated second approach
|
||||
command: >
|
||||
docker exec mailman-core sh -c 'alembic -c /usr/lib/python*/site-packages/mailman/config/alembic.cfg current'
|
||||
/usr/local/bin/docker-compose -f /etc/mailman-compose/docker-compose.yaml exec -T mailman-core
|
||||
sh -c 'alembic -c /usr/lib/python*/site-packages/mailman/config/alembic.cfg current'
|
||||
register: alembic_version
|
||||
delay: 1
|
||||
retries: 300
|
||||
@ -241,9 +242,8 @@
|
||||
|
||||
- name: Wait for DB to be populated third approach
|
||||
shell: >
|
||||
docker exec mailman-web bash -c
|
||||
'python3 manage.py showmigrations' |
|
||||
grep -q '^ \[ \] [0-9]\+_.*'
|
||||
/usr/local/bin/docker-compose -f /etc/mailman-compose/docker-compose.yaml exec -T mailman-web
|
||||
bash -c 'python3 manage.py showmigrations' | grep -q '^ \[ \] [0-9]\+_.*'
|
||||
register: django_db_migrations
|
||||
delay: 1
|
||||
retries: 300
|
||||
@ -255,16 +255,16 @@
|
||||
|
||||
- name: Check if django admin user exists
|
||||
command: >
|
||||
docker exec mailman-compose_database_1 bash -c
|
||||
'mysql -u mailman -p"$MYSQL_PASSWORD" -D mailmandb -e
|
||||
/usr/local/bin/docker-compose -f /etc/mailman-compose/docker-compose.yaml exec -T database
|
||||
bash -c 'mysql -u mailman -p"$MYSQL_PASSWORD" -D mailmandb -e
|
||||
"SELECT COUNT(id) FROM auth_user WHERE id = 1 AND is_superuser = 1;"'
|
||||
register: django_admin_exists
|
||||
|
||||
- name: Create django admin user
|
||||
when: django_admin_exists.stdout_lines[1] == "0"
|
||||
command: >
|
||||
docker exec mailman-web bash -c
|
||||
"DJANGO_SUPERUSER_PASSWORD={{ mailman3_admin_password }}
|
||||
/usr/local/bin/docker-compose -f /etc/mailman-compose/docker-compose.yaml exec -T mailman-web
|
||||
bash -c "DJANGO_SUPERUSER_PASSWORD={{ mailman3_admin_password }}
|
||||
python3 manage.py createsuperuser --no-input
|
||||
--username {{ mailman3_admin_user }}
|
||||
--email '{{ mailman3_admin_email }}'"
|
||||
|
Loading…
x
Reference in New Issue
Block a user