You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by mi...@apache.org on 2017/01/19 15:22:07 UTC

[1/3] incubator-trafficcontrol git commit: createdb creates user if doesn't exist; relies on user connected as db admin

Repository: incubator-trafficcontrol
Updated Branches:
  refs/heads/master 03f565fa0 -> 6f8a062c7


createdb creates user if doesn't exist; relies on user connected as db admin


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

Branch: refs/heads/master
Commit: c104ceffcc209e8a6c0a745bf1b1c442202f92bd
Parents: 3d43215
Author: Dan Kirkwood <da...@gmail.com>
Authored: Wed Jan 18 15:32:06 2017 -0700
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Wed Jan 18 15:34:57 2017 -0700

----------------------------------------------------------------------
 traffic_ops/app/db/admin.pl | 51 ++++++++++++++++++++++++++++++----------
 1 file changed, 38 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/c104ceff/traffic_ops/app/db/admin.pl
----------------------------------------------------------------------
diff --git a/traffic_ops/app/db/admin.pl b/traffic_ops/app/db/admin.pl
index dd19b0f..d1cd85d 100755
--- a/traffic_ops/app/db/admin.pl
+++ b/traffic_ops/app/db/admin.pl
@@ -93,6 +93,7 @@ if ( defined($argument) ) {
 		seed();
 	}
 	elsif ( $argument eq 'setup' ) {
+		createuser();
 		dropdb();
 		createdb();
 		load_schema();
@@ -158,43 +159,67 @@ sub migrate {
 	my ($command) = @_;
 
 	print "Migrating database...\n";
-	system( 'goose --env=' . $environment . ' ' . $command );
+	if ( system( "goose --env=$environment $command" ) != 0 ) {
+		die "Can't run goose\n";
+	}
 }
 
 sub seed {
 	print "Seeding database.\n";
-	system("psql -h $host_ip -p $host_port -d $db_name -U $db_username -e < db/seeds.sql");
+	if ( system("psql -h $host_ip -p $host_port -d $db_name -U $db_username -e < db/seeds.sql") != 0 ) {
+		die "Can't seed database\n";
+	}
 }
 
 sub load_schema {
 	print "Creating database tables.\n";
-	system("psql -h $host_ip -p $host_port -d $db_name -U $db_username -e < db/create_tables.sql");
+	if ( system("psql -h $host_ip -p $host_port -d $db_name -U $db_username -e < db/create_tables.sql") != 0 ) {
+		die "Can't create database tables\n";
+	}
 }
 
 sub dropdb {
-	system("dropdb -h $host_ip -p $host_port -U $db_username -e --if-exists $db_name;");
+	if ( system("dropdb -h $host_ip -p $host_port -U $db_username -e --if-exists $db_name;") != 0 ) {
+		die "Can't drop db $db_name\n";
+	}
 }
 
 sub createdb {
-	system("createdb -h $host_ip -p $host_port -U $db_username -e $db_name;");
+	createuser();
+	my $db_exists = `psql -tAc "SELECT 1 FROM pg_database WHERE datname='$db_name'"`;
+	if ( $db_exists ) {
+		print "Database $db_name already exists\n";
+		return;
+	}
+
+	if ( system("createdb -h $host_ip -p $host_port -U $db_username -e $db_name;") != 0 ) {
+		die "Can't create db $db_name\n";
+	}
 }
 
 sub createuser {
-	my $user_exists = system("psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'" | grep -q 1 || createuser ...
-
-	system("createuser -U traffic_ops -h $host_ip -p $host_port -P -e --superuser $db_username;");
-	system("createdb -U traffic_ops -h $host_ip -p $host_port -U $db_username -e $db_name;");
-	system("psql -U traffic_ops -h  $host_ip -p $host_port -e -c 'GRANT ALL PRIVILEGES ON DATABASE $db_name TO $db_username;'");
-	system("psql $db_name -U traffic_ops -h  $host_ip -p $host_port -e -c 'GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO $db_username;'");
+	my $user_exists = `psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='$db_username'"`;
+	if ( $user_exists ) {
+		print "Role $db_username already exists\n";
+		return;
+	}
 
+	my $cmd = "CREATE USER $db_username WITH SUPERUSER CREATEROLE CREATEDB ENCRYPTED PASSWORD '$db_password'";
+	if ( system( qq{psql -h $host_ip -p $host_port -tAc "$cmd"} ) != 0 ) {
+		die "Can't create user $db_username\n";
+	}
 }
 
 sub dropuser {
-	system("dropuser -U traffic_ops -h $host_ip -p $host_port -i -e $db_username;");
+	if ( system("dropuser -h $host_ip -p $host_port -i -e $db_username;") != 0 ) {
+		die "Can't drop user $db_username\n";
+	}
 }
 
 sub showusers {
-	system("psql postgres -c '\\du';");
+	if ( system("psql postgres -ec '\\du';") != 0 ) {
+		die "Can't show users";
+	}
 }
 
 sub reverse_schema {


[3/3] incubator-trafficcontrol git commit: This closes #198

Posted by mi...@apache.org.
This closes #198


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

Branch: refs/heads/master
Commit: 6f8a062c7294948ebf4a4d4dbfd223b3de62a629
Parents: c104cef
Author: Jeremy Mitchell <mi...@gmail.com>
Authored: Thu Jan 19 08:21:56 2017 -0700
Committer: Jeremy Mitchell <mi...@gmail.com>
Committed: Thu Jan 19 08:21:56 2017 -0700

----------------------------------------------------------------------

----------------------------------------------------------------------



[2/3] incubator-trafficcontrol git commit: createuser creates db and sets perms in psql

Posted by mi...@apache.org.
createuser creates db and sets perms in psql


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

Branch: refs/heads/master
Commit: 3d432154dd1c47df9ca82e8555f28dc9b61b5c26
Parents: 03f565f
Author: Dan Kirkwood <da...@gmail.com>
Authored: Mon Jan 16 16:04:28 2017 -0700
Committer: Dan Kirkwood <da...@gmail.com>
Committed: Wed Jan 18 15:34:57 2017 -0700

----------------------------------------------------------------------
 traffic_ops/app/db/admin.pl | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafficcontrol/blob/3d432154/traffic_ops/app/db/admin.pl
----------------------------------------------------------------------
diff --git a/traffic_ops/app/db/admin.pl b/traffic_ops/app/db/admin.pl
index 324044e..dd19b0f 100755
--- a/traffic_ops/app/db/admin.pl
+++ b/traffic_ops/app/db/admin.pl
@@ -180,11 +180,17 @@ sub createdb {
 }
 
 sub createuser {
-	system("createuser -h $host_ip -p $host_port -P -e --superuser $db_username;");
+	my $user_exists = system("psql postgres -tAc "SELECT 1 FROM pg_roles WHERE rolname='USR_NAME'" | grep -q 1 || createuser ...
+
+	system("createuser -U traffic_ops -h $host_ip -p $host_port -P -e --superuser $db_username;");
+	system("createdb -U traffic_ops -h $host_ip -p $host_port -U $db_username -e $db_name;");
+	system("psql -U traffic_ops -h  $host_ip -p $host_port -e -c 'GRANT ALL PRIVILEGES ON DATABASE $db_name TO $db_username;'");
+	system("psql $db_name -U traffic_ops -h  $host_ip -p $host_port -e -c 'GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO $db_username;'");
+
 }
 
 sub dropuser {
-	system("dropuser -h $host_ip -p $host_port -i -e $db_username;");
+	system("dropuser -U traffic_ops -h $host_ip -p $host_port -i -e $db_username;");
 }
 
 sub showusers {