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:40:13 UTC

[24/44] incubator-trafficcontrol git commit: added existence check on the create_user

added existence check on the create_user

(cherry picked from commit 3b53fbfb18f0a6557e7f93aeaeedf0905bcea40d)


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

Branch: refs/heads/2.0.x
Commit: c7368b9b0f718214bdda319fe2f4545fb021d800
Parents: 971d0a3
Author: Dewayne Richardson <de...@apache.org>
Authored: Thu Apr 13 13:52:23 2017 -0600
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Wed Apr 19 15:35:19 2017 -0600

----------------------------------------------------------------------
 traffic_ops/app/db/admin.pl | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/c7368b9b/traffic_ops/app/db/admin.pl
----------------------------------------------------------------------
diff --git a/traffic_ops/app/db/admin.pl b/traffic_ops/app/db/admin.pl
index 4788a2a..c11fffb 100755
--- a/traffic_ops/app/db/admin.pl
+++ b/traffic_ops/app/db/admin.pl
@@ -202,7 +202,6 @@ sub dropdb {
 }
 
 sub createdb {
-	create_user();
 	my $db_exists = `psql -h $host_ip -U $db_user -p $host_port -tAc "SELECT 1 FROM pg_database WHERE datname='$db_name'"`;
 	if ($db_exists) {
 		print "Database $db_name already exists\n";
@@ -216,11 +215,14 @@ sub createdb {
 }
 
 sub create_user {
-	my $user_exists = `psql -h $host_ip -p $host_port -U $db_user -tAc "SELECT 1 FROM pg_roles WHERE rolname='$db_user'"`;
+	print "Creating user: $db_user\n";
+	my $user_exists = `psql -h $host_ip -p $host_port -U $db_super_user -tAc "SELECT 1 FROM pg_roles WHERE rolname='$db_user'"`;
 
-	my $cmd = "CREATE USER $db_user WITH LOGIN ENCRYPTED PASSWORD '$db_password'";
-	if ( system(qq{psql -h $host_ip -p $host_port -U $db_super_user -tAc "$cmd"}) != 0 ) {
-		die "Can't create user $db_user\n";
+	if (!$user_exists) {
+		my $cmd = "CREATE USER $db_user WITH CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD '$db_password'";
+		if ( system(qq{psql -h $host_ip -p $host_port -U $db_super_user -tAc "$cmd"}) != 0 ) {
+			die "Can't create user $db_user\n";
+		}
 	}
 }