You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by ne...@apache.org on 2016/11/21 16:38:08 UTC

[3/4] incubator-trafficcontrol git commit: add traffic ops client container to grab TO from old server

add traffic ops client container to grab TO from old server


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/commit/be813150
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/tree/be813150
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/diff/be813150

Branch: refs/heads/psql-rebase
Commit: be813150e0a2d86acd19ee1091760325f10a1f7d
Parents: 0305073
Author: Dan Kirkwood <da...@gmail.com>
Authored: Wed Nov 16 16:44:08 2016 -0700
Committer: David Neuman <da...@gmail.com>
Committed: Mon Nov 21 09:36:16 2016 -0700

----------------------------------------------------------------------
 .../db/pg-migration/Dockerfile-traffic_ops-client | 14 ++++++++++++++
 .../app/db/pg-migration/docker-compose.yml        | 18 ++++++++++++++++++
 traffic_ops/app/db/pg-migration/get-to-data.sh    | 15 +++++++++++++++
 .../mysql/initdb.d/AAA-wait-for-data.sh           |  6 ++++++
 4 files changed, 53 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/be813150/traffic_ops/app/db/pg-migration/Dockerfile-traffic_ops-client
----------------------------------------------------------------------
diff --git a/traffic_ops/app/db/pg-migration/Dockerfile-traffic_ops-client b/traffic_ops/app/db/pg-migration/Dockerfile-traffic_ops-client
new file mode 100644
index 0000000..f8a6018
--- /dev/null
+++ b/traffic_ops/app/db/pg-migration/Dockerfile-traffic_ops-client
@@ -0,0 +1,14 @@
+FROM debian
+MAINTAINER Dan Kirkwood <da...@apache.org>
+
+# install nc to check that postgres and mysql are ready..
+RUN apt-get -y update && apt-get -y install curl
+
+ENV TO_SERVER=$TO_SERVER
+ENV TO_USER=$TO_USER
+ENV TO_PASSWORD=$TO_PASSWORD
+
+ADD get-to-data.sh /
+
+# get data, trigger mysql startup
+CMD /get-to-data.sh /docker-entrypoint-initdb.d/traffic_ops.sql

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/be813150/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 2d0a0b8..ef17488 100644
--- a/traffic_ops/app/db/pg-migration/docker-compose.yml
+++ b/traffic_ops/app/db/pg-migration/docker-compose.yml
@@ -1,5 +1,18 @@
 version: '2'
 services:
+  dataimport:
+    build:
+        dockerfile: Dockerfile-traffic_ops-client
+        context: .
+    restart: "no"
+    environment:
+      - TO_USER
+      - TO_PASSWORD
+      - TO_SERVER
+
+    volumes:
+      - ./mysql/initdb.d:/docker-entrypoint-initdb.d
+
   mysql_host:
     image: mysql:5.6
     restart: "no"
@@ -8,6 +21,8 @@ services:
       - MYSQL_RANDOM_ROOT_PASSWORD=yes
       - MYSQL_PASSWORD=twelve
       - MYSQL_USER=to_user
+    depends_on:
+      - dataimport
     volumes:
       - ./mysql/conf.d:/etc/mysql/conf.d
       - ./mysql/initdb.d:/docker-entrypoint-initdb.d
@@ -29,6 +44,9 @@ services:
       dockerfile: Dockerfile-pgloader
       context: .
     restart: "no"
+    depends_on:
+      - mysql_host
+      - postgres_host
     environment:
       - MYSQL_HOST=mysql_host
       - MYSQL_DATABASE=traffic_ops_db

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/be813150/traffic_ops/app/db/pg-migration/get-to-data.sh
----------------------------------------------------------------------
diff --git a/traffic_ops/app/db/pg-migration/get-to-data.sh b/traffic_ops/app/db/pg-migration/get-to-data.sh
new file mode 100755
index 0000000..a4676fe
--- /dev/null
+++ b/traffic_ops/app/db/pg-migration/get-to-data.sh
@@ -0,0 +1,15 @@
+#!/bin/bash -x
+
+output=$1
+[[ -n $output ]] && output="-o $output"
+
+
+cookiejar=/tmp/cookiejar
+cred=/tmp/cred.json
+
+cat >$cred <<-CREDS
+	{ "u" : "$TO_USER", "p" : "$TO_PASSWORD" }
+CREDS
+
+curl -k -H "Accept: application/json" --cookie "$cookiejar" --cookie-jar "$cookiejar" -X POST --data @"$cred" "$TO_SERVER/api/1.2/user/login"
+curl $output -k -s --cookie "$cookiejar" -X GET "$TO_SERVER/dbdump"

http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/be813150/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
new file mode 100755
index 0000000..69681ab
--- /dev/null
+++ b/traffic_ops/app/db/pg-migration/mysql/initdb.d/AAA-wait-for-data.sh
@@ -0,0 +1,6 @@
+#!/bin/bash -x
+
+# wait for traffic_ops.sql file to appear
+while [[ ! -f /docker-entrypoint-initdb.d/traffic_ops.sql ]]; do
+	sleep 1
+done