You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by fr...@apache.org on 2017/04/20 18:39:55 UTC

[06/44] incubator-trafficcontrol git commit: Check connection to database

Check connection to database

(cherry picked from commit 6316bb33586b7b5e240bfc86ee307c076aec5023)


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

Branch: refs/heads/2.0.x
Commit: 8dcc72d4519c5408de2a39807e46778c8f79ab3b
Parents: 64dc3be
Author: PeterRyder <pe...@gmail.com>
Authored: Mon Feb 6 17:06:13 2017 -0500
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Wed Apr 19 15:34:01 2017 -0600

----------------------------------------------------------------------
 traffic_ops/install/bin/postinstall | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/8dcc72d4/traffic_ops/install/bin/postinstall
----------------------------------------------------------------------
diff --git a/traffic_ops/install/bin/postinstall b/traffic_ops/install/bin/postinstall
index 0c1d51b..ecffe08 100755
--- a/traffic_ops/install/bin/postinstall
+++ b/traffic_ops/install/bin/postinstall
@@ -22,6 +22,7 @@ use strict;
 use warnings;
 
 use Safe;
+use DBI;
 use POSIX;
 use File::Basename qw{dirname};
 use File::Path qw{make_path};
@@ -558,6 +559,9 @@ sub setupDatabase {
     my $todbconf     = shift;
     my $opensslconf  = shift;
     my $setupMaxmind = shift;
+    my $databaseConfFile = shift;
+
+    my $dbconf = InstallUtils::readJson( $databaseConfFile );
 
     InstallUtils::logger( "Setting up database", "info" );
     chdir("/opt/traffic_ops/app");
@@ -570,6 +574,18 @@ sub setupDatabase {
         InstallUtils::logger( "Database initialization succeeded", "info" );
     }
 
+    my $dsn = sprintf( "DBI:mysql:%s:%s:%s", "mysql", $dbconf->{"hostname"}, $dbconf->{"port"} );
+    my $dbh = DBI->connect( $dsn, $todbconf->{"dbAdminUser"}, $todbconf->{"dbAdminPw"} );
+    if ($dbh) {
+        InstallUtils::logger("Database connection succeeded", "info");
+        # Success!
+        $dbh->disconnect();
+    }
+    else {
+        InstallUtils::logger("Error connecting to database", "error");
+        exit(-1)
+    }
+
     if ( $setupMaxmind =~ /^y(?:es)?/ ) {
         InstallUtils::logger( "Downloading Maxmind data", "info" );
         chdir("/opt/traffic_ops/app/public/routing");
@@ -750,7 +766,7 @@ sub main {
 
     # if reconfigure is set then setup the database
     if ($reconfigure) {
-        setupDatabase( $todbconf, $opensslconf, $todbconf->{"maxmind"} );
+        setupDatabase( $todbconf, $opensslconf, $todbconf->{"maxmind"}, $databaseConfFile );
     }
 
     InstallUtils::logger( "Starting Traffic Ops", "info" );