Merge changes I182db799,Ib50d503b,I14d8bef3
* changes:
Set default base image in Dockerfile
Do not fail if required meta refs are missing
Fix reindexing if multiple Gerrit deployments use same git repositories
diff --git a/build b/build
index c00da76..ddb58a8 100755
--- a/build
+++ b/build
@@ -1,5 +1,4 @@
#!/bin/bash
-BASE_IMAGE=alpine:3.16.1
usage() {
me=`basename "$0"`
@@ -100,7 +99,11 @@
REPORT="Build results: \n"
RETURN_CODE=0
-docker build --build-arg BASE_IMAGE="$BASE_IMAGE" --platform=linux/amd64 -t base:$REV ./container-images/base
+if test -n "$BASE_IMAGE"; then
+ BASE_BUILD_ARGS="--build-arg BASE_IMAGE=$BASE_IMAGE"
+fi
+
+docker build $BASE_BUILD_ARGS --platform=linux/amd64 -t base:$REV ./container-images/base
if test $? -ne 0; then
echo -e "\n\nFailed to build base image."
exit 1
diff --git a/container-images/base/Dockerfile b/container-images/base/Dockerfile
index 2ea8939..ac86e73 100644
--- a/container-images/base/Dockerfile
+++ b/container-images/base/Dockerfile
@@ -1,4 +1,4 @@
-ARG BASE_IMAGE
+ARG BASE_IMAGE=alpine:3.16.1
FROM $BASE_IMAGE
ENV LC_ALL=C.UTF-8
diff --git a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/init.py b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/init.py
index 9d5ef5a..f6d2848 100755
--- a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/init.py
+++ b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/init.py
@@ -209,5 +209,4 @@
if self.is_replica:
self._symlink_mounted_site_components()
- if not self.is_replica:
- get_reindexer(self.site, self.config).start(self.force_offline_reindex)
+ get_reindexer(self.site, self.config).start(self.force_offline_reindex)
diff --git a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/reindex.py b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/reindex.py
index 1cd67b1..e5ec6df 100755
--- a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/reindex.py
+++ b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/reindex.py
@@ -26,7 +26,8 @@
LOG = log.get_logger("reindex")
MNT_PATH = "/var/mnt"
-INDEXES = set(["accounts", "changes", "groups", "projects"])
+INDEXES_PRIMARY = set(["accounts", "changes", "groups", "projects"])
+INDEXES_REPLICA = set(["groups"])
class IndexType(enum.Enum):
@@ -46,6 +47,7 @@
self.is_online_reindex = self.gerrit_config.get_boolean(
"index.onlineUpgrade", True
)
+ self.is_replica = self.gerrit_config.get_boolean("container.replica", False)
self.configured_indices = self._parse_gerrit_index_config()
@@ -79,7 +81,8 @@
if not index_attrs["read"]:
LOG.info("Index %s not ready.", index)
not_ready_indices.append(index)
- not_ready_indices.extend(INDEXES.difference(self.configured_indices.keys()))
+ index_set = INDEXES_REPLICA if self.is_replica else INDEXES_PRIMARY
+ not_ready_indices.extend(index_set.difference(self.configured_indices.keys()))
return not_ready_indices
def _indexes_need_update(self):
diff --git a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/validate_notedb.py b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/validate_notedb.py
index bd53678..aff9ce6 100644
--- a/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/validate_notedb.py
+++ b/container-images/gerrit-init/tools/gerrit-initializer/initializer/tasks/validate_notedb.py
@@ -38,7 +38,10 @@
def _test_ref_exists(self, repo, ref):
command = f"git --git-dir {self.site}/git/{repo} rev-parse --verify {ref}"
git_show_ref = subprocess.run(
- command.split(), stdout=subprocess.PIPE, universal_newlines=True, check=True
+ command.split(),
+ stdout=subprocess.PIPE,
+ universal_newlines=True,
+ check=False,
)
return git_show_ref.returncode == 0