SoftwareAG / webmethods-helm-charts

This repository contains a collection of Helm charts for various webMethods components.
https://open-source.softwareag.com/webmethods-helm-charts/
Apache License 2.0
8 stars 14 forks source link

Not able to deploy 2 TC server in different namespaces #54

Closed thomas-2020 closed 4 months ago

thomas-2020 commented 4 months ago

I have created a TC server with Helm Chart terracottabigmemorymax in first namespace, e.g. tc-01. If I create a second TC server in namespace tc-02, the first in tc-01 is crashed.

mathieucarbou commented 4 months ago

@thomas-2020 : what do you mean by "namespaces" ? You mean the release namespace passed to helm instal or the overrides in the values.yaml file or --namespace ?

How our chars work:

These settings below have NO EFFECT except on defining config map names. Server names and hostnames ARE NOT dependent of any of that, because we want:

  1. the server names and hostnames to not change because security configs, keystores, etc depend on these names
  2. tc cluster, to be deployed ISOLATED in its OWN Release Namespace
# -- The namespace where the Terracotta cluster will be deployed.
namespaceOverride: ""
# -- Overwrites Chart name of release name in workload name. As default, the workload name is release name + '-' + Chart name. The workload name is at the end release name + '-' + value of `nameOverride`.
nameOverride: ""
# -- Overwrites full workload name. As default, the workload name is release name + '-' + Chart name.
fullnameOverride: ""

If I understand correctly you tried to deploy 2 clusters in the same release name but trying to override some of these settings to hopefully change the server names right ?

Why ?

K8s already provides a way to separate deployment units per release namespace.

Do you have a need to deploy in the same release namespace 2 tc clusters ? and if so, why ?

FYI:

Ref: https://helm.sh/docs/chart_best_practices/labels/#standard-labels

image

thomas-2020 commented 4 months ago

Do ...

helm upgrade --install tc-default webmethods/terracottabigmemorymax -f tc-ahip.yaml -n dev
helm upgrade --install tc-default webmethods/terracottabigmemorymax -f tc-ahip.yaml -n qas

TC in namespace dev was successfully deployed. On installing TC in qas, devis crashed.

mathieucarbou commented 4 months ago
~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  kubectl create namespace dev
namespace/dev created

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  kubectl create namespace qa
namespace/qa created

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯   helm upgrade --install tc-default terracottabigmemorymax/helm/ -n dev \
    --set-file terracotta.license=/Users/matc/workspace/terracotta/v4-enterprise/cloud/helm-smoke-tests/src/license.key \
    --set terracotta.stripeCount=1 \
    --set terracotta.nodeCountPerStripe=1 \
    --set registry=iregistry.eur.ad.sag \
    --set serverImage=terracotta/bigmemorymax-server \
    --set tmcImage=terracotta/bigmemorymax-tmc \
    --set tag=4.4.1-SNAPSHOT
Release "tc-default" does not exist. Installing it now.
NAME: tc-default
LAST DEPLOYED: Mon Mar  4 16:15:01 2024
NAMESPACE: dev
STATUS: deployed
REVISION: 1
TEST SUITE: None

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  helm list -n dev
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
tc-default      dev             1               2024-03-04 16:15:01.895759 +0100 CET    deployed        terracottabigmemorymax-1.2.0    4.4.0      

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  kubectl get pods -n dev
NAME           READY   STATUS    RESTARTS   AGE
tmc-0          0/1     Running   0          17s
terracotta-0   0/1     Running   0          17s

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  helm upgrade --install tc-default terracottabigmemorymax/helm/ -n qa \
    --set-file terracotta.license=/Users/matc/workspace/terracotta/v4-enterprise/cloud/helm-smoke-tests/src/license.key \
    --set terracotta.stripeCount=1 \
    --set terracotta.nodeCountPerStripe=1 \
    --set registry=iregistry.eur.ad.sag \
    --set serverImage=terracotta/bigmemorymax-server \
    --set tmcImage=terracotta/bigmemorymax-tmc \
    --set tag=4.4.1-SNAPSHOT
Release "tc-default" does not exist. Installing it now.
NAME: tc-default
LAST DEPLOYED: Mon Mar  4 16:16:26 2024
NAMESPACE: qa
STATUS: deployed
REVISION: 1
TEST SUITE: None

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  helm list -n qa
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
tc-default      qa              1               2024-03-04 16:16:26.663837 +0100 CET    deployed        terracottabigmemorymax-1.2.0    4.4.0      

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  kubectl get pods -n qa
NAME           READY   STATUS    RESTARTS   AGE
tmc-0          0/1     Running   0          30s
terracotta-0   0/1     Running   0          30s

So it works.

I cannot test with the official images because I cannot login:

Username: Mathieu-Carbou-softwareag-com
Password: 
Error response from daemon: Get "https://sag.azurecr.io/v2/": dial tcp: lookup sag.azurecr.io on 192.168.5.3:53: lame referral
mathieucarbou commented 4 months ago

I was able to login.

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  helm upgrade --install tc-default terracottabigmemorymax/helm/ -n dev --set-file terracotta.license=/Users/matc/workspace/terracotta/v4-enterprise/cloud/helm-smoke-tests/src/license.key
Release "tc-default" does not exist. Installing it now.
NAME: tc-default
LAST DEPLOYED: Mon Mar  4 16:36:44 2024
NAMESPACE: dev
STATUS: deployed
REVISION: 1
TEST SUITE: None

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  helm upgrade --install tc-default terracottabigmemorymax/helm/ -n qa --set-file terracotta.license=/Users/matc/workspace/terracotta/v4-enterprise/cloud/helm-smoke-tests/src/license.key
Release "tc-default" does not exist. Installing it now.
NAME: tc-default
LAST DEPLOYED: Mon Mar  4 16:38:10 2024
NAMESPACE: qa
STATUS: deployed
REVISION: 1
TEST SUITE: None

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  kubectl get pods -n dev
NAME           READY   STATUS    RESTARTS   AGE
terracotta-0   1/1     Running   0          115s
tmc-0          1/1     Running   0          115s
terracotta-1   1/1     Running   0          85s

~/.../sag/SoftwareAG-webmethods-helm-charts ( namespaces → origin ↑1 ✓ )
❯  kubectl get pods -n qa
NAME           READY   STATUS    RESTARTS   AGE
terracotta-0   1/1     Running   0          32s
terracotta-1   0/1     Pending   0          2s
tmc-0          1/1     Running   0          32s