Skip to content

Add multiplexer objstorage names to avoid metrics overlap

Antoine R. Dumont requested to merge mr/explicit-objstorage-name into swh-next-version

This explicitely names the multiplexer objstorage to avoid overlapping metrics (with the v3.2 objstorage)

helm diff
./swh/helm-diff.sh
[swh] Comparing changes between branches production and mr/explicit-objstorage-name (per environment)...
Your branch is ahead of 'origin/production' by 5 commits.
  (use "git push" to publish your local commits)
[swh] Generate config in production branch for environment staging, namespace swh...
[swh] Generate config in production branch for environment staging, namespace swh-cassandra...
[swh] Generate config in production branch for environment staging, namespace swh-cassandra-next-version...
[swh] Generate config in mr/explicit-objstorage-name branch for environment staging...
[swh] Generate config in mr/explicit-objstorage-name branch for environment staging...
[swh] Generate config in mr/explicit-objstorage-name branch for environment staging...
Your branch is ahead of 'origin/production' by 5 commits.
  (use "git push" to publish your local commits)
[swh] Generate config in production branch for environment production, namespace swh...
[swh] Generate config in production branch for environment production, namespace swh-cassandra...
[swh] Generate config in production branch for environment production, namespace swh-cassandra-next-version...
[swh] Generate config in mr/explicit-objstorage-name branch for environment production...
[swh] Generate config in mr/explicit-objstorage-name branch for environment production...
[swh] Generate config in mr/explicit-objstorage-name branch for environment production...


------------- diff for environment staging namespace swh -------------

No differences


------------- diff for environment staging namespace swh-cassandra -------------

--- /tmp/swh-chart.swh.j4RlW7UU/staging-swh-cassandra.before	2024-05-28 17:07:06.095564017 +0200
+++ /tmp/swh-chart.swh.j4RlW7UU/staging-swh-cassandra.after	2024-05-28 17:07:06.651538718 +0200
@@ -4954,37 +4954,39 @@
 # Source: swh/templates/objstorage/configmap.yaml
 apiVersion: v1
 kind: ConfigMap
 metadata:
   namespace: swh-cassandra
   name: objstorage-multiplexer-read-only-configuration-template
 data:
   config.yml.template: |
     objstorage:
       cls: multiplexer
+      name: multiplexer-ro
       objstorages:
       - cls: remote
         url: http://objstorage-storage1-ro-rpc-ingress
       - cls: remote
         url: http://objstorage-db1-ro-rpc-ingress
     client_max_size: 1073741824
 ---
 # Source: swh/templates/objstorage/configmap.yaml
 apiVersion: v1
 kind: ConfigMap
 metadata:
   namespace: swh-cassandra
   name: objstorage-multiplexer-read-write-configuration-template
 data:
   config.yml.template: |
     objstorage:
       cls: multiplexer
+      name: multiplexer-rw
       objstorages:
       - cls: remote
         url: http://objstorage-db1-rw-rpc-ingress
       - cls: filtered
         filters_conf:
         - type: readonly
         storage_conf:
           cls: remote
           url: http://objstorage-storage1-ro-rpc-ingress
 ---
@@ -25920,21 +25922,21 @@
       app: objstorage-multiplexer-read-only
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: objstorage-multiplexer-read-only
       annotations:
-        checksum/config: 23e3a88d7a334e8a317d5d7ccb32d56e1ea650b623da801f3f03309ce2c73458
+        checksum/config: bcda2605ffd6278a5a4e1b94f92ac1bcd722da59807f85102255253dcf755e71
         checksum/config-utils: 13a26f6add17e96ce01550153c77dcd48de60241a3f4db3c93d5467234be2a7f
     spec:
       affinity:
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/objstorage
                 operator: In
                 values:
@@ -26046,21 +26048,21 @@
       app: objstorage-multiplexer-read-write
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: objstorage-multiplexer-read-write
       annotations:
-        checksum/config: 5f358f8854bf585d6209efbb0eb0fe3dca962c477ec7cd450c101690ed0d9b1e
+        checksum/config: a1532ad30eb54f310e8c8a9e6b1b0633307db454603c8abb340510f3f6ae83aa
         checksum/config-utils: 13a26f6add17e96ce01550153c77dcd48de60241a3f4db3c93d5467234be2a7f
     spec:
       affinity:
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/objstorage
                 operator: In
                 values:


------------- diff for environment staging namespace swh-cassandra-next-version -------------

No differences


------------- diff for environment production namespace swh -------------

--- /tmp/swh-chart.swh.j4RlW7UU/production-swh.before	2024-05-28 17:07:07.107517968 +0200
+++ /tmp/swh-chart.swh.j4RlW7UU/production-swh.after	2024-05-28 17:07:07.547497947 +0200
@@ -314,20 +314,21 @@
       cls: pipeline
       steps:
       - cls: retry
       - cls: remote
         url: http://storage-azure-read-only-rpc-ingress
     vault:
       cls: remote
       url: http://vault-rpc-ingress
     objstorage:
       cls: multiplexer
+      name: multiplexer-high-parallelism
       objstorages:
       - cls: remote
         url: http://winery-read-only.internal.cea.swh.network
       - cls: http
         compression: gzip
         timeout: 120
         url: https://softwareheritage.s3.amazonaws.com/content/
       - accounts:
           "0": ${AZURE_RO_URL_0}
           "1": ${AZURE_RO_URL_1}
@@ -429,20 +430,21 @@
       cls: pipeline
       steps:
       - cls: retry
       - cls: remote
         url: http://storage-azure-read-only-rpc-ingress
     vault:
       cls: remote
       url: http://vault-rpc-ingress
     objstorage:
       cls: multiplexer
+      name: multiplexer-high-parallelism
       objstorages:
       - cls: remote
         url: http://winery-read-only.internal.cea.swh.network
       - cls: http
         compression: gzip
         timeout: 120
         url: https://softwareheritage.s3.amazonaws.com/content/
       - accounts:
           "0": ${AZURE_RO_URL_0}
           "1": ${AZURE_RO_URL_1}
@@ -839,20 +841,21 @@
       - cls: remote
         url: http://storage-azure-read-only-rpc-ingress
     scheduler:
       cls: remote
       url: http://scheduler.internal.softwareheritage.org
     indexer_storage:
       cls: remote
       url: http://indexer-storage-read-write-rpc-ingress
     objstorage:
       cls: multiplexer
+      name: multiplexer-high-parallelism
       objstorages:
       - cls: remote
         url: http://winery-read-only.internal.cea.swh.network
       - cls: http
         compression: gzip
         timeout: 120
         url: https://softwareheritage.s3.amazonaws.com/content/
       - accounts:
           "0": ${AZURE_RO_URL_0}
           "1": ${AZURE_RO_URL_1}
@@ -913,20 +916,21 @@
       - cls: remote
         url: http://storage-azure-read-only-rpc-ingress
     scheduler:
       cls: remote
       url: http://scheduler.internal.softwareheritage.org
     indexer_storage:
       cls: remote
       url: http://indexer-storage-read-write-rpc-ingress
     objstorage:
       cls: multiplexer
+      name: multiplexer-high-parallelism
       objstorages:
       - cls: remote
         url: http://winery-read-only.internal.cea.swh.network
       - cls: http
         compression: gzip
         timeout: 120
         url: https://softwareheritage.s3.amazonaws.com/content/
       - accounts:
           "0": ${AZURE_RO_URL_0}
           "1": ${AZURE_RO_URL_1}
@@ -6260,20 +6264,21 @@
 # Source: swh/templates/objstorage-replayer/configmap.yaml
 apiVersion: v1
 kind: ConfigMap
 metadata:
   namespace: swh
   name: objstorage-replayer-s3-template
 data:
   config.yml.template: |
     objstorage:
       cls: multiplexer
+      name: multiplexer-for-s3-replayer
       objstorages:
       - cls: remote
         url: http://winery-read-only.internal.cea.swh.network
       - cls: remote
         url: http://objstorage-ro-saam-zfs-rpc-ingress
       - cls: remote
         url: http://objstorage-ro-banco-xfs-rpc-ingress
       - accounts:
           "0": ${AZURE_RO_URL_0}
           "1": ${AZURE_RO_URL_1}
@@ -6320,20 +6325,21 @@
 # Source: swh/templates/objstorage-replayer/configmap.yaml
 apiVersion: v1
 kind: ConfigMap
 metadata:
   namespace: swh
   name: objstorage-replayer-winery-template
 data:
   config.yml.template: |
     objstorage:
       cls: multiplexer
+      name: multiplexer-ro-for-winery-replayer
       objstorages:
       - cls: http
         compression: gzip
         timeout: 120
         url: https://softwareheritage.s3.amazonaws.com/content/
       - cls: remote
         url: http://objstorage-ro-saam-zfs-rpc-ingress
       - cls: remote
         url: http://objstorage-ro-banco-xfs-rpc-ingress
       - accounts:
@@ -6382,20 +6388,21 @@
 # Source: swh/templates/objstorage/configmap.yaml
 apiVersion: v1
 kind: ConfigMap
 metadata:
   namespace: swh
   name: objstorage-read-only-configuration-template
 data:
   config.yml.template: |
     objstorage:
       cls: multiplexer
+      name: multiplexer-for-local-storages
       objstorages:
       - cls: remote
         url: http://winery-read-only.internal.cea.swh.network
       - cls: remote
         url: http://objstorage-ro-banco-xfs-rpc-ingress
       - cls: remote
         url: http://objstorage-ro-saam-zfs-rpc-ingress
 ---
 # Source: swh/templates/objstorage/configmap.yaml
 apiVersion: v1
@@ -6858,20 +6865,21 @@
       cls: pipeline
       steps:
       - cls: masking
         masking_db: host=postgresql-masking-rw.internal.softwareheritage.org port=5432
           user=guest dbname=swh-masking password=${MASKING_GUEST_PGPASSWORD}
       - cls: postgresql
         db: host=postgresql-storage-rw.internal.softwareheritage.org port=5432 user=guest
           dbname=softwareheritage password=${POSTGRESQL_PASSWORD}
         objstorage:
           cls: multiplexer
+          name: multiplexer-ro-best-effort
           objstorages:
           - cls: remote
             url: http://winery-read-only.internal.cea.swh.network
           - cls: http
             compression: gzip
             timeout: 120
             url: https://softwareheritage.s3.amazonaws.com/content/
           - cls: remote
             url: http://objstorage-ro-saam-zfs-rpc-ingress
           - cls: remote
@@ -6917,20 +6925,21 @@
           - kafka2.internal.softwareheritage.org
           - kafka3.internal.softwareheritage.org
           - kafka4.internal.softwareheritage.org
           client_id: swh.storage.journal_writer.${HOSTNAME}
           cls: kafka
           prefix: swh.journal.objects
           producer_config:
             message.max.bytes: 1000000000
         objstorage:
           cls: multiplexer
+          name: multiplexer-winery-azure
           objstorages:
           - cls: remote
             url: http://winery-read-write.internal.cea.swh.network
           - accounts:
               "0":
                 account_name: ${ACCOUNT_NAME_0}
                 api_secret_key: ${API_SECRET_KEY_0}
                 container_name: contents
               "1":
                 account_name: ${ACCOUNT_NAME_1}
@@ -7615,20 +7624,21 @@
       cls: pipeline
       steps:
       - cls: retry
       - cls: remote
         url: http://storage-azure-read-only-rpc-ingress
     scheduler:
       cls: remote
       url: http://scheduler.internal.softwareheritage.org
     objstorage:
       cls: multiplexer
+      name: multiplexer-ro-best-effort
       objstorages:
       - cls: remote
         url: http://winery-read-only.internal.cea.swh.network
       - cls: http
         compression: gzip
         timeout: 120
         url: https://softwareheritage.s3.amazonaws.com/content/
       - cls: remote
         url: http://objstorage-ro-saam-zfs-rpc-ingress
       - cls: remote
@@ -18511,21 +18521,21 @@
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: cooker-batch
       annotations:
         # Force a rollout upgrade if the configuration changes
-        checksum/config: 49ed78f39f639293b2f92544757edab7827e5e01de2cc33188fb074f3f8e3dca
+        checksum/config: 66c9ba040a82828b2fc2f8d119205e17e5136ef35f1d59a0c353301739d5f469
     spec:
       affinity:
         
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/cooker
                 operator: In
                 values:
@@ -18750,21 +18760,21 @@
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: cooker-simple
       annotations:
         # Force a rollout upgrade if the configuration changes
-        checksum/config: 49ed78f39f639293b2f92544757edab7827e5e01de2cc33188fb074f3f8e3dca
+        checksum/config: 66c9ba040a82828b2fc2f8d119205e17e5136ef35f1d59a0c353301739d5f469
     spec:
       affinity:
         
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/cooker
                 operator: In
                 values:
@@ -19942,21 +19952,21 @@
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: indexer-content-mimetype
       annotations:
         # Force a rollout upgrade if the configuration changes
-        checksum/config: 2f0a0d8b78878964b739e9c9fccb618a315a44a758a48161999c6b357da0399a
+        checksum/config: b99afec4e9c10883363189fd4e80f499e85945971e4b56e4ae2c3823ef640eeb
         checksum/config-utils: d75ca13b805bce6a8ab59c8e24c938f2283108f6a79134f6e71db86308651dc6
     spec:
       affinity:
         
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/indexer
                 operator: In
@@ -20186,21 +20196,21 @@
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: indexer-extrinsic
       annotations:
         # Force a rollout upgrade if the configuration changes
-        checksum/config: 8c9a47e1f031cd8e577a94a6fbe41baaa408f4e7978a633c1d5c07c86d25e666
+        checksum/config: f3284e214ff771ba7b9cb4ed7ea23a81b7f8df86db10f27a89a6150dc891ca1a
         checksum/config-utils: d75ca13b805bce6a8ab59c8e24c938f2283108f6a79134f6e71db86308651dc6
     spec:
       affinity:
         
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/indexer
                 operator: In
@@ -29193,21 +29203,21 @@
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: objstorage-replayer-s3
       annotations:
         # Force a rollout upgrade if the configuration changes
-        checksum/config: 4ae27a4fe81ee45041d32c9d1e5cd08383527d30a8d84f1f1e380779b8a27302
+        checksum/config: 171d6eb06178507249212d3aec994dc3d0211b4ffcf45a2342e18821a613accf
     spec:
       affinity:
         
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/replayer
                 operator: In
                 values:
@@ -29417,21 +29427,21 @@
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: objstorage-replayer-winery
       annotations:
         # Force a rollout upgrade if the configuration changes
-        checksum/config: 0e1ebb373c358701fe530790144fc271d817a5fe892084396556d9be1dc5b974
+        checksum/config: 0f83d5c888d3ee2a40292cbc144438d11b82a3f6eae39195515e30a7bd5ef9b8
     spec:
       affinity:
         
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/replayer
                 operator: In
                 values:
@@ -29628,21 +29638,21 @@
       app: objstorage-read-only
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: objstorage-read-only
       annotations:
-        checksum/config: 54a439a98a9706103e9a7b394663bfe258ab184aa26085dd6b2a2e0a0641b1df
+        checksum/config: 9a0cec829b929b8127ce57b3bf4aecdedbe8a2b2d5829b2e82625f4d83f90901
         checksum/config-utils: d75ca13b805bce6a8ab59c8e24c938f2283108f6a79134f6e71db86308651dc6
     spec:
       affinity:
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/objstorage
                 operator: In
                 values:
@@ -32467,21 +32477,21 @@
       app: storage-postgresql-azure-readonly
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: storage-postgresql-azure-readonly
       annotations:
-        checksum/config: 016ec2b2720087b07201f458e64cfe8ddf52136143aad11a0877dd83303f0483
+        checksum/config: 8c6b1f9f1be0a70fa3fbab6cdd2685a9bc2d324bb1ad360f46c72ccadfb38ff9
         checksum/database-utils: 1cc40c53ffcd5d3a71357e55336d394b97a8e3c6fe8cb7aedc0b595cea7f92b7
         checksum/config-utils: d75ca13b805bce6a8ab59c8e24c938f2283108f6a79134f6e71db86308651dc6
     spec:
       affinity:
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/storage
                 operator: In
@@ -32706,21 +32716,21 @@
       app: storage-postgresql-winery
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: storage-postgresql-winery
       annotations:
-        checksum/config: fbee069adc675c7686c20cc93255ca20e11590f850a777742d2a5a123489adc1
+        checksum/config: 84849d6e2b34db880ae2d7400ea38ee12afc2dac0cb1143d8d5c3ff35b833ea2
         checksum/database-utils: 1cc40c53ffcd5d3a71357e55336d394b97a8e3c6fe8cb7aedc0b595cea7f92b7
         checksum/config-utils: d75ca13b805bce6a8ab59c8e24c938f2283108f6a79134f6e71db86308651dc6
     spec:
       affinity:
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/storage
                 operator: In
@@ -33392,21 +33402,21 @@
       app: vault-rpc
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: vault-rpc
       annotations:
-        checksum/config: 99e13ba8a22362ba1e6d5a9ea5f722a0ae82f98c80b9070f8d6d7b9475fe62b9
+        checksum/config: d6d4170fccac1fef777d8e0139605f42966d65eb60b0b493d8456ae81bab2a02
     spec:
       affinity:
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/rpc
                 operator: In
                 values:
                 - "true"


------------- diff for environment production namespace swh-cassandra -------------

--- /tmp/swh-chart.swh.j4RlW7UU/production-swh-cassandra.before	2024-05-28 17:07:07.235512144 +0200
+++ /tmp/swh-chart.swh.j4RlW7UU/production-swh-cassandra.after	2024-05-28 17:07:07.679491941 +0200
@@ -972,20 +972,21 @@
         - cassandra04.internal.softwareheritage.org
         - cassandra05.internal.softwareheritage.org
         - cassandra06.internal.softwareheritage.org
         - cassandra07.internal.softwareheritage.org
         - cassandra08.internal.softwareheritage.org
         - cassandra09.internal.softwareheritage.org
         - cassandra10.internal.softwareheritage.org
         keyspace: swh
         objstorage:
           cls: multiplexer
+          name: multiplexer-ro-best-effort
           objstorages:
           - cls: remote
             url: http://winery-read-only.internal.cea.swh.network
           - cls: http
             compression: gzip
             timeout: 120
             url: https://softwareheritage.s3.amazonaws.com/content/
           - cls: remote
             url: http://objstorage-ro-saam-zfs-rpc-ingress
           - cls: remote
@@ -1036,20 +1037,21 @@
         - cassandra04.internal.softwareheritage.org
         - cassandra05.internal.softwareheritage.org
         - cassandra06.internal.softwareheritage.org
         - cassandra07.internal.softwareheritage.org
         - cassandra08.internal.softwareheritage.org
         - cassandra09.internal.softwareheritage.org
         - cassandra10.internal.softwareheritage.org
         keyspace: swh
         objstorage:
           cls: multiplexer
+          name: multiplexer-ro-best-effort
           objstorages:
           - cls: remote
             url: http://winery-read-only.internal.cea.swh.network
           - cls: http
             compression: gzip
             timeout: 120
             url: https://softwareheritage.s3.amazonaws.com/content/
           - cls: remote
             url: http://objstorage-ro-saam-zfs-rpc-ingress
           - cls: remote
@@ -13432,21 +13434,21 @@
       app: storage-cassandra-readonly
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: storage-cassandra-readonly
       annotations:
-        checksum/config: dbef718aaa1e596d8b1f34d5bc53051147cf7ded925ec156ebde571542fb5e16
+        checksum/config: f8049b623b7cd07a9d117a696c5fdde2b86f44950d869a9a5c34b091b205f0c3
         checksum/database-utils: 39e707ef793d465f866524b576ba11aff78e035fd84bacdf27d4782a6aac8628
         checksum/config-utils: 13a26f6add17e96ce01550153c77dcd48de60241a3f4db3c93d5467234be2a7f
     spec:
       affinity:
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/storage
                 operator: In
@@ -13665,21 +13667,21 @@
       app: storage-cassandra-readonly-internal
   strategy:
     type: RollingUpdate
     rollingUpdate:
       maxSurge: 1
   template:
     metadata:
       labels:
         app: storage-cassandra-readonly-internal
       annotations:
-        checksum/config: b4f2e13424cd3d65a039fb38e398e4b1f8b034ff5181dc241f31ceb9068fc282
+        checksum/config: ad56173fffd491a33b89eaad9635432b4131b9b5f896c2ec00ac70e002b65c6f
         checksum/database-utils: 39e707ef793d465f866524b576ba11aff78e035fd84bacdf27d4782a6aac8628
         checksum/config-utils: 13a26f6add17e96ce01550153c77dcd48de60241a3f4db3c93d5467234be2a7f
     spec:
       affinity:
         nodeAffinity:
           requiredDuringSchedulingIgnoredDuringExecution:
             nodeSelectorTerms:
             - matchExpressions:
               - key: swh/storage
                 operator: In

Refs. swh/infra/sysadm-environment#5321 (closed)

Merge request reports