bug 9939: create 'default' security group for default "admin" user only after ensuring that it doesn't exist already

status 9939: resolved fixed

Conflicts:

	server/src/com/cloud/server/ConfigurationServerImpl.java
This commit is contained in:
alena 2011-05-19 11:22:17 -07:00
parent 770e317218
commit 016a50633c

View File

@ -33,6 +33,7 @@ import java.net.UnknownHostException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.List;
@ -366,16 +367,29 @@ public class ConfigurationServerImpl implements ConfigurationServer {
} catch (SQLException ex) {
}
//save default security group
insertSql = "INSERT INTO `cloud`.`security_group` (name, description, account_id, domain_id) " +
"VALUES ('default', 'Default Security Group', 2, 1)";
txn = Transaction.currentTxn();
try {
insertSql = "SELECT * FROM `cloud`.`security_group` where account_id=2 and name='default'";
PreparedStatement stmt = txn.prepareAutoCloseStatement(insertSql);
stmt.executeUpdate();
} catch (SQLException ex) {
ResultSet rs = stmt.executeQuery();
if (!rs.next()) {
//save default security group
insertSql = "INSERT INTO `cloud`.`security_group` (name, description, account_id, domain_id) " +
"VALUES ('default', 'Default Security Group', 2, 1)";
txn = Transaction.currentTxn();
try {
stmt = txn.prepareAutoCloseStatement(insertSql);
stmt.executeUpdate();
} catch (SQLException ex) {
s_logger.warn("Failed to create default security group for default admin account due to ", ex);
}
}
rs.close();
} catch (Exception ex) {
s_logger.warn("Failed to create default security group for default admin account due to ", ex);
}
}