aistor‐3971 - allanrogerr/public GitHub Wiki

Set an Expired license

cat << EOF | kubectl apply -f -
apiVersion: v1
data:
  minio.license: <expired-base64-encoded>
kind: Secret
metadata:
  name: minio-license
  namespace: aistor
type: Opaque
EOF
k apply -k operator/examples/kustomization/objectstore-lite
k -n objectstore-lite get os -w
NAME      STATE                                   HEALTH   AGE
myminio   Waiting for ObjectStore to be healthy            13s
myminio   Unable to validate license                       17s
myminio   Unable to validate license              red      22s
k -n objectstore-lite logs myminio-pool-0-0
Defaulted container "minio" out of: minio, sidecar, sidecar-init (init)
FATAL Unable to validate license, terminating process...: could not verify message using any of the signatures or keys

Check operator logs

I0416 15:02:30.210859    2894 main-controller.go:833] Synchronizing object store objectstore-lite/myminio
E0416 15:02:30.227124    2894 main-controller.go:903] Error updating license status for object store objectstore-lite/myminio: could not verify message using any of the signatures or keys
I0416 15:02:30.455221    2894 monitoring.go:118] 'objectstore-lite/myminio' Failed to get cluster health: Get "https://minio.objectstore-lite.svc.cluster.local/minio/health/cluster": dial tcp 127.1.27.7:443: connect: connection refused
I0416 15:02:30.455272    2894 main-controller.go:1300] Object store objectstore-lite/myminio not healthy
W0416 15:02:30.455283    2894 main-controller.go:1809] Error syncing 'objectstore-lite/myminio': MinIO is not ready
E0416 15:02:30.455304    2894 main-controller.go:1837] "Unhandled Error" err="error syncing 'objectstore-lite/myminio': MinIO is not ready" logger="UnhandledError"
I0416 15:02:30.455369    2894 monitoring.go:118] 'objectstore-lite/myminio' Failed to get cluster health: Get "https://minio.objectstore-lite.svc.cluster.local/minio/health/cluster": dial tcp 127.1.27.7:443: connect: connection refused
I0416 15:02:35.467002    2894 monitoring.go:118] 'objectstore-lite/myminio' Failed to get cluster health: Get "https://minio.objectstore-lite.svc.cluster.local/minio/health/cluster": dial tcp 127.1.27.7:443: connect: connection refused

Get os status

k -n objectstore-lite get os -ojson | jq '.items[].status'
k -n objectstore-lite get os -ojson | jq '.items[].status'
{
  "certificates": {
    "customCertificates": {}
  },
  "currentState": "Unable to validate license",
  "drivesOnline": 8,
  "healthStatus": "red",
  "pools": [
    {
      "legacySecurityContext": false,
      "name": "pool-0",
      "podStatus": {
        "running": 4
      },
      "ssName": "myminio-pool-0",
      "state": "PoolInitialized"
    }
  ],
  "revision": 0,
  "setup": 100,
  "syncVersion": "v6.0.0",
  "usage": {
    "capacity": 640614801408,
    "rawCapacity": 854153068544,
    "rawUsage": 453006196736,
    "usage": 339754647552
  },
  "writeQuorum": 6
}

Set a valid license and wait for pods to start then continue.

cat << EOF | kubectl apply -f -
apiVersion: v1
data:
  minio.license: <valid-base64-encoded>
kind: Secret
metadata:
  name: minio-license
  namespace: aistor
type: Opaque
EOF
k -n objectstore-lite delete sts myminio-pool-0
k -n objectstore-lite get os -w
NAME      STATE                            HEALTH   AGE
myminio   Provisioning MinIO Statefulset   red      3h45m
myminio   Provisioning MinIO Statefulset   green    3h46m
myminio   Initialized                      green    3h46m
I0416 15:06:30.937293    2894 main-controller.go:833] Synchronizing object store objectstore-lite/myminio
I0416 15:06:35.998397    2894 main-controller.go:1295] Object store objectstore-lite/myminio healthy
k -n objectstore-lite get os -ojson | jq '.items[].status'
{
  "certificates": {
    "customCertificates": {}
  },
  "currentState": "Initialized",
  "drivesOnline": 8,
  "healthStatus": "green",
  "licenseExpiration": "2025-12-31T23:59:59Z",
  "pools": [
    {
      "legacySecurityContext": false,
      "name": "pool-0",
      "podStatus": {
        "running": 4
      },
      "ssName": "myminio-pool-0",
      "state": "PoolInitialized"
    }
  ],
  "revision": 0,
  "setup": 100,
  "syncVersion": "v6.0.0",
  "usage": {
    "capacity": 640614801408,
    "rawCapacity": 854153068544,
    "rawUsage": 453002395648,
    "usage": 339751796736
  },
  "writeQuorum": 6
}

Set an Invalid license

cat << EOF | kubectl apply -f -
apiVersion: v1
data:
  minio.license: dGVzdAo=
kind: Secret
metadata:
  name: minio-license
  namespace: aistor
type: Opaque
EOF
#k -n objectstore-lite delete sts myminio-pool-0
k delete ns objectstore-lite
k apply -k operator/examples/kustomization/objectstore-lite
k -n objectstore-lite get os -w
NAME      STATE   HEALTH   AGE
myminio                    0s
myminio                    5s
myminio                    5s
myminio   Unable to validate license            5s
myminio   Unable to validate license            5s
myminio   Unable to validate license            5s
myminio   Unable to validate license            5s
myminio   Provisioning MinIO Cluster IP Service            8s
myminio   Provisioning Console Service                     8s
myminio   Provisioning MinIO Headless Service              8s
myminio   Provisioning MinIO Headless Service              8s
myminio   Provisioning MinIO Headless Service              8s
myminio   Provisioning MinIO Headless Service              9s
myminio   Provisioning MinIO Headless Service              11s
myminio   Provisioning MinIO Statefulset                   11s
myminio   Provisioning MinIO Statefulset                   11s
myminio   Provisioning MinIO Statefulset                   11s
myminio   Waiting for ObjectStore to be healthy            11s
myminio   Waiting for ObjectStore to be healthy            11s
myminio   Waiting for ObjectStore to be healthy            11s
myminio   Waiting for ObjectStore to be healthy            12s
myminio   Unable to validate license                       16s
myminio   Unable to validate license              red      21s
myminio   Unable to validate license              red      26s
k -n objectstore-lite logs myminio-pool-0-0
Defaulted container "minio" out of: minio, sidecar, sidecar-init (init)
FATAL Unable to validate license, terminating process...: invalid JWT

Check operator logs

I0416 15:11:10.648050    2894 main-controller.go:833] Synchronizing object store objectstore-lite/myminio
E0416 15:11:10.657734    2894 main-controller.go:903] Error updating license status for object store objectstore-lite/myminio: invalid JWT
I0416 15:11:10.899448    2894 main-controller.go:1300] Object store objectstore-lite/myminio not healthy
W0416 15:11:10.899478    2894 main-controller.go:1809] Error syncing 'objectstore-lite/myminio': MinIO is not ready
I0416 15:11:10.899444    2894 monitoring.go:118] 'objectstore-lite/myminio' Failed to get cluster health: Get "https://minio.objectstore-lite.svc.cluster.local/minio/health/cluster": dial tcp: lookup minio.objectstore-lite.svc.cluster.local: no such host
k -n objectstore-lite get os -ojson | jq '.items[].status'
{
  "certificates": {
    "customCertificates": {}
  },
  "currentState": "Unable to validate license",
  "healthStatus": "red",
  "pools": [
    {
      "legacySecurityContext": false,
      "name": "pool-0",
      "podStatus": {
        "running": 4
      },
      "ssName": "myminio-pool-0",
      "state": "PoolInitialized"
    }
  ],
  "revision": 0,
  "setup": 91,
  "syncVersion": "v6.0.0",
  "usage": {}
}

Set an Absent license

k -n aistor delete secret minio-license
k delete ns objectstore-lite
k apply -k operator/examples/kustomization/objectstore-lite
k -n objectstore-lite get os -w
NAME      STATE   HEALTH   AGE
myminio                    0s
myminio                    26s
myminio   Unable to validate license            26s
myminio   Unable to validate license            27s
myminio   Unable to validate license            27s
myminio   Unable to validate license            28s
myminio   Provisioning MinIO Cluster IP Service            31s
myminio   Provisioning Console Service                     31s
myminio   Provisioning MinIO Headless Service              31s
myminio   Provisioning MinIO Headless Service              31s
myminio   Provisioning MinIO Headless Service              32s
myminio   Provisioning MinIO Headless Service              32s
myminio   Unable to validate license                       36s
k -n objectstore-lite logs myminio-pool-0-0

Check operator logs

I0416 15:13:11.090991    2894 main-controller.go:833] Synchronizing object store objectstore-lite/myminio
E0416 15:13:11.112612    2894 main-controller.go:887] Cannot create license for object store objectstore-lite/myminio: secret "minio-license" not found
E0416 15:13:11.176450    2894 main-controller.go:898] No MinIO license for object store objectstore-lite/myminio
E0416 15:13:11.499563    2894 main-controller.go:903] Error updating license status for object store objectstore-lite/myminio: license: no license found
k -n objectstore-lite get os -ojson | jq '.items[].status'
{
  "certificates": {
    "customCertificates": {}
  },
  "currentState": "Unable to validate license",
  "pools": null,
  "revision": 0,
  "setup": 40,
  "syncVersion": "v6.0.0",
  "usage": {}
}