Hi all,
I am using k8s to deploy solace pubsub +. While setting the persistence volumes, I hit a permission issue and here are some error messages:
Starting PubSub+ Software Event Broker Container: Sun Jan 15 05:04:27 UTC 2023
Setting umask to 022
Sun Jan 15 05:04:27 UTC 2023 INFO: startup-broker.sh-Node ordinal: 0
Sun Jan 15 05:04:27 UTC 2023 INFO: startup-broker.sh-Waiting for management API to become available
SolOS Version: soltr_10.2.1.32
management host is not responding
Sun Jan 15 05:04:27 UTC 2023 INFO: startup-broker.sh-Waited 0 seconds, Management API not yet accessible
ERROR: Required directory /var/lib/solace is not writable by current user
ERROR: Unable to create required directory /var/lib/solace/diagnostics: [Errno 13] Permission denied: ‘/var/lib/solace/diagnostics’
ERROR: Required directory /var/lib/solace/diagnostics does not exist
ERROR: Unable to create required directory /var/lib/solace/spool: [Errno 13] Permission denied: ‘/var/lib/solace/spool’
ERROR: Required directory /var/lib/solace/spool does not exist
ERROR: Unable to create required directory /var/lib/solace/spool-cache: [Errno 13] Permission denied: ‘/var/lib/solace/spool-cache’
ERROR: Required directory /var/lib/solace/spool-cache does not exist
ERROR: Unable to create required directory /var/lib/solace/spool-cache-backup: [Errno 13] Permission denied: ‘/var/lib/solace/spool-cache-backup’
ERROR: Required directory /var/lib/solace/spool-cache-backup does not exist
ERROR: Unable to create required directory /var/lib/solace/spool-cache-backup/image: [Errno 13] Permission denied: ‘/var/lib/solace/spool-cache-backup’
ERROR: Required directory /var/lib/solace/spool-cache-backup/image does not exist
I am using:
ubuntu 20.04 kubectl version > $ kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short. Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:“1”, Minor:“26”, GitVersion:“v1.26.0”, GitCommit:“b46a3f887ca979b1a5d14fd39cb1af43e7e5d12d”, GitTreeState:“clean”, BuildDate:“2022-12-08T19:58:30Z”, GoVersion:“go1.19.4”, Compiler:“gc”, Platform:“linux/amd64”}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:“1”, Minor:“25”, GitVersion:“v1.25.3”, GitCommit:“434bfd82814af038ad94d62ebe59b133fcb50506”, GitTreeState:“clean”, BuildDate:“2022-10-12T10:49:09Z”, GoVersion:“go1.19.2”, Compiler:“gc”, Platform:“linux/amd64”}
minikube 1.28.0 helm 3.10.3 > I install solace with commands:
$ helm repo add solace https://solaceproducts.github.io/pubsubplus-kubernetes-quickstart/helm-charts/
$ helm pull solace/pubsubplus --version 3.2.0 --untar tureprepare persistent storage
$ kubectl apply -f ./pubsubplus/custom_config/dev/storage.yaml
start solace pub sub
$ helm install solace-mb ./pubsubplus/ --values ./pubsubplus/custom_config/dev/values.customer.yaml
values.customer.yaml
solace:
usernameAdminPassword: adminpw
storage:
persistent: true
customVolumeMount: |
persistentVolumeClaim:
claimName: solace-volume
useStorageClass: standard
useStorageGroup: true
storage.yaml
storage request
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: solace-volume
spec:
storageClassName: solace-storage
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gistorage implement
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-storage
spec:
storageClassName: solace-storage
capacity:
storage: 30Gi
accessModes:
- ReadWriteOnce
hostPath:
path: “/mnt/volumes/solaceVolume/”
type: DirectoryOrCreate
From minikube vm, I see that the volume is created successfully and data are put to there by solace.
$ cd /mnt/volumes/solaceVolume/
$ ls -hal
total 0
drwxr-xr-x 8 root root 160 Jan 15 04:18 .
drwxr-xr-x 3 root root 60 Jan 15 04:18 …
drwxr-xr-x 2 root root 40 Jan 15 04:18 adb
drwxr-xr-x 2 root root 40 Jan 15 04:18 diags
drwxr-xr-x 3 root root 60 Jan 15 04:18 internalSpool
drwxr-xr-x 2 root root 40 Jan 15 04:18 jail
drwxr-xr-x 2 root root 40 Jan 15 04:18 softAdb
drwxr-xr-x 2 root root 40 Jan 15 04:18 var
It seems that there is some configuration missing. I would like to ask if anyone has idea with this?
Thanks