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": {}
}