mirror of
https://github.com/ansible/awx.git
synced 2026-01-10 15:32:07 -03:30
- removes local_docker installer and points community users to our development environment (make docker-compose) - provides a migration path from Local Docker Compose installations --> the dev environment - the dev env can now be configured to use an external database - consolidated the Local Docker and dev env docker-compose.yml files into one template file, used by the dockerfile role - added a 'sources' role to template out config files - the postgres data dir is no longer a bind-mount, it is a docker volume - the redis socket is not longer a bind-mount, it is a docker volume - the local_settings.py.docker-compose file no longer needs to be copied over in the dev env - Create tmp rsyslog.conf in rsyslog volume to avoid cross-linking. Previously, the tmp code-generated rsyslog.conf was being written to /tmp (by default). As a result, we were attempting to shutil.move() across volumes. - move k8s image build and push roles under tools/ansible - See tools/docker-compose/README.md for usage of these changes
61 lines
2.2 KiB
Markdown
61 lines
2.2 KiB
Markdown
# Migrating Data from Local Docker
|
|
|
|
If you are migrating data from a Local Docker installation (17.0.1 and prior), you can
|
|
migrate your data to the development environment via the migrate.yml playbook, or by using the manual steps described below.
|
|
|
|
> Note: This will also convert your postgresql bind-mount into a docker volume.
|
|
|
|
### Migrate data with migrate.yml
|
|
|
|
If you had a custom pgdocker or awxcompose location, you will need to set the `postgres_data_dir` and `old_docker_compose_dir` variables.
|
|
|
|
1. Run the [migrate playbook](./ansible/migrate.yml) to migrate your data to the new postgresql container and convert the data directory to a volume mount.
|
|
```bash
|
|
$ ansible-playbook migrate.yml -e "migrate_local_docker=true" -e "postgres_data_dir=~/.awx/pgdocker" -e "old_docker_compose_dir=~/.awx/awxcompose"
|
|
```
|
|
|
|
2. Change directory to the top of your awx checkout and start your containers
|
|
```bash
|
|
$ make docker-compose
|
|
```
|
|
|
|
3. After ensuring your data has been successfully migrated, you may delete your old data directory (typically stored at `~/.awx/pgdocker`).
|
|
|
|
|
|
### Migrating data manually
|
|
|
|
1. With Local Docker still running, perform a pg_dumpall:
|
|
> Note: If Local Docker is no longer running
|
|
`docker-compose -f ~/.awx/awxcompose/docker-compose.yml up postgres`
|
|
|
|
```bash
|
|
$ docker-compose -f ~/.awx/awxcompose/docker-compose.yml exec postgres pg_dumpall -U awx > awx_dump.sql
|
|
```
|
|
|
|
2. Remove all local docker containers (specifically awx_postgres)
|
|
```bash
|
|
$ docker -f rm awx_postgres
|
|
```
|
|
|
|
3. Template the new docker-compose.yml
|
|
```bash
|
|
$ ansible-playbook -i tools/ansible/inventory tools/ansible/sources.yml
|
|
```
|
|
|
|
4. Start a container with a volume (using the new tools/docker-compose/_sources/docker-compose.yml)
|
|
```bash
|
|
$ docker-compose -f ../docker-compose/_sources/docker-compose.yml up postgres
|
|
```
|
|
|
|
5. Restore to new `awx_postgres`
|
|
```bash
|
|
$ docker-compose -f ../docker-compose/_sources/docker-compose.yml exec -T postgres psql -U awx -d awx -p 5432 < awx_dump.sql
|
|
```
|
|
|
|
6. Run the docker-compose.yml to start the containers
|
|
```bash
|
|
$ docker-compose -f ../docker-compose/_sources/docker-compose.yml up task
|
|
```
|
|
|
|
7. Check to ensure your data migration was successful, then you can delete your the `awx_dump.sql` backup and your old data directory.
|