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