Split merger and launcher git roots
In case a user runs a merger and a launcher on the same host, make
sure that they don't share a git directory (used by the launcher's
internal merger). They could end up colliding.
Incidentally, that's basically the configuraton used in tests, so
update the test configuration likewise.
Change-Id: I64a690c706d00583973bd2d542a5f42ae6e9ef36
diff --git a/tests/base.py b/tests/base.py
index 506e22c..290092e 100755
--- a/tests/base.py
+++ b/tests/base.py
@@ -1195,7 +1195,8 @@
tmp_root = os.environ.get("ZUUL_TEST_ROOT")
self.test_root = os.path.join(tmp_root, "zuul-test")
self.upstream_root = os.path.join(self.test_root, "upstream")
- self.git_root = os.path.join(self.test_root, "git")
+ self.merger_git_root = os.path.join(self.test_root, "merger-git")
+ self.launcher_git_root = os.path.join(self.test_root, "launcher-git")
self.state_root = os.path.join(self.test_root, "lib")
if os.path.exists(self.test_root):
@@ -1209,7 +1210,8 @@
self.config.set('zuul', 'tenant_config',
os.path.join(FIXTURE_DIR,
self.config.get('zuul', 'tenant_config')))
- self.config.set('merger', 'git_dir', self.git_root)
+ self.config.set('merger', 'git_dir', self.merger_git_root)
+ self.config.set('launcher', 'git_dir', self.launcher_git_root)
self.config.set('zuul', 'state_dir', self.state_root)
# For each project in config:
diff --git a/tests/fixtures/zuul-connections-multiple-gerrits.conf b/tests/fixtures/zuul-connections-multiple-gerrits.conf
index 89f0aa6..3e6850d 100644
--- a/tests/fixtures/zuul-connections-multiple-gerrits.conf
+++ b/tests/fixtures/zuul-connections-multiple-gerrits.conf
@@ -7,11 +7,14 @@
job_name_in_report=true
[merger]
-git_dir=/tmp/zuul-test/git
+git_dir=/tmp/zuul-test/merger-git
git_user_email=zuul@example.com
git_user_name=zuul
zuul_url=http://zuul.example.com/p
+[launcher]
+git_dir=/tmp/zuul-test/launcher-git
+
[swift]
authurl=https://identity.api.example.org/v2.0/
user=username
diff --git a/tests/fixtures/zuul-connections-same-gerrit.conf b/tests/fixtures/zuul-connections-same-gerrit.conf
index 43109d2..57b5182 100644
--- a/tests/fixtures/zuul-connections-same-gerrit.conf
+++ b/tests/fixtures/zuul-connections-same-gerrit.conf
@@ -7,11 +7,14 @@
job_name_in_report=true
[merger]
-git_dir=/tmp/zuul-test/git
+git_dir=/tmp/zuul-test/merger-git
git_user_email=zuul@example.com
git_user_name=zuul
zuul_url=http://zuul.example.com/p
+[launcher]
+git_dir=/tmp/zuul-test/launcher-git
+
[swift]
authurl=https://identity.api.example.org/v2.0/
user=username
diff --git a/tests/fixtures/zuul.conf b/tests/fixtures/zuul.conf
index c08b5ad..48129d8 100644
--- a/tests/fixtures/zuul.conf
+++ b/tests/fixtures/zuul.conf
@@ -7,11 +7,14 @@
job_name_in_report=true
[merger]
-git_dir=/tmp/zuul-test/git
+git_dir=/tmp/zuul-test/merger-git
git_user_email=zuul@example.com
git_user_name=zuul
zuul_url=http://zuul.example.com/p
+[launcher]
+git_dir=/tmp/zuul-test/launcher-git
+
[swift]
authurl=https://identity.api.example.org/v2.0/
user=username
diff --git a/tests/unit/test_scheduler.py b/tests/unit/test_scheduler.py
index 3b9d562..778f9e8 100755
--- a/tests/unit/test_scheduler.py
+++ b/tests/unit/test_scheduler.py
@@ -1376,8 +1376,12 @@
self.assertEmptyQueues()
self.build_history = []
- path = os.path.join(self.git_root, "org/project")
- print(repack_repo(path))
+ path = os.path.join(self.merger_git_root, "org/project")
+ if os.path.exists(path):
+ repack_repo(path)
+ path = os.path.join(self.launcher_git_root, "org/project")
+ if os.path.exists(path):
+ repack_repo(path)
A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A')
A.addApproval('code-review', 2)
@@ -1403,9 +1407,13 @@
A = self.fake_gerrit.addFakeChange('org/project1', 'master', 'A')
A.addPatchset(large=True)
path = os.path.join(self.upstream_root, "org/project1")
- print(repack_repo(path))
- path = os.path.join(self.git_root, "org/project1")
- print(repack_repo(path))
+ repack_repo(path)
+ path = os.path.join(self.merger_git_root, "org/project1")
+ if os.path.exists(path):
+ repack_repo(path)
+ path = os.path.join(self.launcher_git_root, "org/project1")
+ if os.path.exists(path):
+ repack_repo(path)
A.addApproval('code-review', 2)
self.fake_gerrit.addEvent(A.addApproval('approved', 1))
@@ -2681,7 +2689,11 @@
self.assertEqual(A.reported, 2)
# Delete org/new-project zuul repo. Should be recloned.
- shutil.rmtree(os.path.join(self.git_root, "org/delete-project"))
+ p = 'org/delete-project'
+ if os.path.exists(os.path.join(self.merger_git_root, p)):
+ shutil.rmtree(os.path.join(self.merger_git_root, p))
+ if os.path.exists(os.path.join(self.launcher_git_root, p)):
+ shutil.rmtree(os.path.join(self.launcher_git_root, p))
B = self.fake_gerrit.addFakeChange('org/delete-project', 'master', 'B')