Repository: incubator-trafficcontrol Updated Branches: refs/heads/psql-rebase 570d605e1 -> 33e55026b
add another step to convert bools Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/624f1ba1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/624f1ba1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/624f1ba1 Branch: refs/heads/psql-rebase Commit: 624f1ba16d99bb0fc3d00dee4e5e363e2e8d4fdd Parents: 140ca3e Author: Dan Kirkwood <dang...@gmail.com> Authored: Sun Dec 4 01:44:03 2016 +0000 Committer: Dan Kirkwood <dang...@gmail.com> Committed: Sun Dec 4 05:42:17 2016 +0000 ---------------------------------------------------------------------- traffic_ops/app/db/pg-migration/Dockerfile-convert | 4 +++- traffic_ops/app/db/pg-migration/docker-compose.yml | 16 +++++++++++++++- .../mysql/initdb.d/AAA-wait-for-data.sh | 6 ------ traffic_ops/app/db/pg-migration/mysql/run.sh | 8 -------- traffic_ops/app/db/pg-migration/runconvert.sh | 17 +++++++++++++++++ traffic_ops/app/db/pg-migration/runpgloader.sh | 8 ++++++++ 6 files changed, 43 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/624f1ba1/traffic_ops/app/db/pg-migration/Dockerfile-convert ---------------------------------------------------------------------- diff --git a/traffic_ops/app/db/pg-migration/Dockerfile-convert b/traffic_ops/app/db/pg-migration/Dockerfile-convert index 7f96523..b1a7dd5 100644 --- a/traffic_ops/app/db/pg-migration/Dockerfile-convert +++ b/traffic_ops/app/db/pg-migration/Dockerfile-convert @@ -2,6 +2,8 @@ FROM postgres:9.6 MAINTAINER Dan Kirkwood +RUN apt-get update && apt-get -y install netcat +ADD pg-migration/runconvert.sh . ADD convert_bools.sql . -CMD psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB < ./convert_bools.sql +CMD ./runconvert.sh http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/624f1ba1/traffic_ops/app/db/pg-migration/docker-compose.yml ---------------------------------------------------------------------- diff --git a/traffic_ops/app/db/pg-migration/docker-compose.yml b/traffic_ops/app/db/pg-migration/docker-compose.yml index fc327fa..74b5bd8 100644 --- a/traffic_ops/app/db/pg-migration/docker-compose.yml +++ b/traffic_ops/app/db/pg-migration/docker-compose.yml @@ -1,5 +1,8 @@ version: '2' +volumes: + sync: + services: # dataimport reads data from an existing traffic_ops server running mysql thru the API dataimport: @@ -41,7 +44,7 @@ services: - POSTGRES_PASSWORD=twelve - POSTGRES_USER=traffic_ops volumes: - - /var/lib/postgresql/data:/var/lib/postgresql/data + - /opt/traffic_ops-db:/var/lib/postgresql/data ports: - 5432 @@ -63,6 +66,8 @@ services: - POSTGRES_DB=traffic_ops - POSTGRES_PASSWORD=twelve - POSTGRES_USER=traffic_ops + volumes: + - sync:/sync # convert runs necessary post-import conversion(s) in postgres convert: @@ -70,3 +75,12 @@ services: context: .. dockerfile: pg-migration/Dockerfile-convert restart: "no" + depends_on: + - postgres_host + environment: + - POSTGRES_HOST=postgres_host + - POSTGRES_DB=traffic_ops + - POSTGRES_PASSWORD=twelve + - POSTGRES_USER=traffic_ops + volumes: + - sync:/sync http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/624f1ba1/traffic_ops/app/db/pg-migration/mysql/initdb.d/AAA-wait-for-data.sh ---------------------------------------------------------------------- diff --git a/traffic_ops/app/db/pg-migration/mysql/initdb.d/AAA-wait-for-data.sh b/traffic_ops/app/db/pg-migration/mysql/initdb.d/AAA-wait-for-data.sh deleted file mode 100755 index 69681ab..0000000 --- a/traffic_ops/app/db/pg-migration/mysql/initdb.d/AAA-wait-for-data.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -x - -# wait for traffic_ops.sql file to appear -while [[ ! -f /docker-entrypoint-initdb.d/traffic_ops.sql ]]; do - sleep 1 -done http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/624f1ba1/traffic_ops/app/db/pg-migration/mysql/run.sh ---------------------------------------------------------------------- diff --git a/traffic_ops/app/db/pg-migration/mysql/run.sh b/traffic_ops/app/db/pg-migration/mysql/run.sh deleted file mode 100644 index 50c149d..0000000 --- a/traffic_ops/app/db/pg-migration/mysql/run.sh +++ /dev/null @@ -1,8 +0,0 @@ -docker run \ - --name mysql \ - -p 3306:3306 \ - -v $(pwd)/mysql/conf.d:/etc/mysql/conf.d \ - -v $(pwd)/mysql/initdb.d:/docker-entrypoint-initdb.d \ - -d mysql - - http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/624f1ba1/traffic_ops/app/db/pg-migration/runconvert.sh ---------------------------------------------------------------------- diff --git a/traffic_ops/app/db/pg-migration/runconvert.sh b/traffic_ops/app/db/pg-migration/runconvert.sh new file mode 100755 index 0000000..6b27f97 --- /dev/null +++ b/traffic_ops/app/db/pg-migration/runconvert.sh @@ -0,0 +1,17 @@ +#!/bin/bash -x + +set -x + +waiting=/sync/waiting-for-pgloader +touch $waiting + +# Wait for pgloader to finish +while [[ -f $waiting ]]; do + ls -l $waiting + sleep 3 +done + +echo "Looks like pgloader is finished.. Converting.." + +# Load required conversion of booleans +psql postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB < ./convert_bools.sql http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/624f1ba1/traffic_ops/app/db/pg-migration/runpgloader.sh ---------------------------------------------------------------------- diff --git a/traffic_ops/app/db/pg-migration/runpgloader.sh b/traffic_ops/app/db/pg-migration/runpgloader.sh index 9f698f3..cbbf8e3 100755 --- a/traffic_ops/app/db/pg-migration/runpgloader.sh +++ b/traffic_ops/app/db/pg-migration/runpgloader.sh @@ -16,3 +16,11 @@ pgloader -v \ --cast 'type double to numeric drop typemod' \ mysql://$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST/traffic_ops_db \ postgresql://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST/$POSTGRES_DB + +waiting=/sync/waiting-for-pgloader +while [[ ! -f $waiting ]]; do + echo "Nothing waiting for pgloader?" + sleep 3 +done + +rm $waiting