Merge "Wait for ACL creation in manage-projects"
diff --git a/jeepyb/cmd/manage_projects.py b/jeepyb/cmd/manage_projects.py
index 98d0acb..2c4eec7 100644
--- a/jeepyb/cmd/manage_projects.py
+++ b/jeepyb/cmd/manage_projects.py
@@ -115,32 +115,6 @@
return (status, out)
-def write_acl_config(project, acl_dir, acl_base, acl_append, parameters):
- project_parts = os.path.split(project)
- if len(project_parts) > 1:
- repo_base = os.path.join(acl_dir, *project_parts[:-1])
- if not os.path.exists(repo_base):
- os.makedirs(repo_base)
- if not os.path.isdir(repo_base):
- return 1
- project = project_parts[-1]
- config_file = os.path.join(repo_base, "%s.config" % project)
- else:
- config_file = os.path.join(acl_dir, "%s.config" % project)
- if 'project' not in parameters:
- parameters['project'] = project
- with open(config_file, 'w') as config:
- if acl_base and os.path.exists(acl_base):
- config.write(open(acl_base, 'r').read())
- for acl_snippet in acl_append:
- if not os.path.exists(acl_snippet):
- acl_snippet = os.path.join(acl_dir, acl_snippet)
- if not os.path.exists(acl_snippet):
- continue
- with open(acl_snippet, 'r') as append_content:
- config.write(append_content.read() % parameters)
-
-
def fetch_config(project, remote_url, repo_path, env={}):
# Poll for refs/meta/config as gerrit may not have written it out for
# us yet.
@@ -198,7 +172,7 @@
raise CopyACLException()
status = git_command(repo_path, "diff --quiet")
- return status == 0
+ return status != 0
def push_acl_config(project, remote_url, repo_path, gitid, env={}):
@@ -493,11 +467,7 @@
def process_acls(acl_config, project, ACL_DIR, section,
remote_url, repo_path, ssh_env, gerrit, GERRIT_GITID):
if not os.path.isfile(acl_config):
- write_acl_config(project,
- ACL_DIR,
- section.get('acl-base', None),
- section.get('acl-append', []),
- section.get('acl-parameters', {}))
+ return
try:
fetch_config(project, remote_url, repo_path, ssh_env)
if not copy_acl_config(project, repo_path, acl_config):
diff --git a/jeepyb/gerritdb.py b/jeepyb/gerritdb.py
index 2255b64..8343b8e 100644
--- a/jeepyb/gerritdb.py
+++ b/jeepyb/gerritdb.py
@@ -15,7 +15,6 @@
# under the License.
import ConfigParser
-import MySQLdb
import os
import StringIO
@@ -47,11 +46,18 @@
gerrit_config = get_broken_config(GERRIT_CONFIG)
secure_config = get_broken_config(GERRIT_SECURE_CONFIG)
+ DB_TYPE = gerrit_config.get("database", "type")
DB_HOST = gerrit_config.get("database", "hostname")
DB_USER = gerrit_config.get("database", "username")
DB_PASS = secure_config.get("database", "password")
DB_DB = gerrit_config.get("database", "database")
- db_connection = MySQLdb.connect(
- host=DB_HOST, user=DB_USER, passwd=DB_PASS, db=DB_DB)
+ if DB_TYPE == "MYSQL":
+ import MySQLdb
+ db_connection = MySQLdb.connect(
+ host=DB_HOST, user=DB_USER, passwd=DB_PASS, db=DB_DB)
+ else:
+ import psycopg2
+ db_connection = psycopg2.connect(
+ host=DB_HOST, user=DB_USER, password=DB_PASS, database=DB_DB)
return db_connection