diff --git a/containers/doc/server-kubernetes/migration-job.yaml b/containers/doc/server-kubernetes/migration-job.yaml deleted file mode 100644 index f695ef8079cc..000000000000 --- a/containers/doc/server-kubernetes/migration-job.yaml +++ /dev/null @@ -1,169 +0,0 @@ -apiVersion: batch/v1 -kind: Job -metadata: - name: uyuni-migration -spec: - backoffLimit: 1 - template: - spec: - restartPolicy: Never - containers: - - name: rsync-var-pgsql - image: registry.opensuse.org/systemsmanagement/uyuni/master/servercontainer/containers/uyuni/server:latest - command: - - sh - - -x - - -c - - > - mkdir /root/.ssh; - ssh-keyscan -t rsa uyuni.world-co.com >>~/.ssh/known_hosts; - ln -s /root/keys/id_rsa /root/.ssh/id_rsa; - ln -s /root/keys/id_rsa.pub /root/.ssh/id_rsa.pub; - for folder in /var/lib/pgsql \ - /var/cache \ - /var/spacewalk \ - /var/log \ - /srv/salt \ - /srv/www/htdocs/pub \ - /srv/www/cobbler \ - /srv/www/os-images \ - /srv/tftpboot \ - /srv/formula_metadata \ - /srv/pillar \ - /srv/susemanager \ - /srv/spacewalk \ - /root \ - /etc/apache2 \ - /etc/rhn \ - /etc/systemd/system/multi-user.target.wants \ - /etc/salt \ - /etc/tomcat \ - /etc/cobbler \ - /etc/sysconfig; - do - rsync -avz uyuni.world-co.com:$folder/ $folder; - done; - rm -f /srv/www/htdocs/pub/RHN-ORG-TRUSTED-SSL-CERT; - ln -s /etc/pki/trust/anchors/LOCAL-RHN-ORG-TRUSTED-SSL-CERT /srv/www/htdocs/pub/RHN-ORG-TRUSTED-SSL-CERT; - echo 'server.no_ssl = 1' >> /etc/rhn/rhn.conf; - sed 's/address=[^:]*:/address=uyuni:/' -i /etc/rhn/taskomatic.conf; - sed 's/address=[^:]*:/address=uyuni:/' -i /etc/sysconfig/tomcat; - volumeMounts: - - mountPath: /var/lib/pgsql - name: var-pgsql - - mountPath: /var/cache - name: var-cache - - mountPath: /var/spacewalk - name: var-spacewalk - - mountPath: /var/log - name: var-log - - mountPath: /srv/salt - name: srv-salt - - mountPath: /srv/www/htdocs/pub - name: srv-www-pub - - mountPath: /srv/www/cobbler - name: srv-www-cobbler - - mountPath: /srv/www/os-images - name: srv-www-osimages - - mountPath: /srv/tftpboot - name: srv-tftpboot - - mountPath: /srv/formula_metadata - name: srv-formulametadata - - mountPath: /srv/pillar - name: srv-pillar - - mountPath: /srv/susemanager - name: srv-susemanager - - mountPath: /srv/spacewalk - name: srv-spacewalk - - mountPath: /root - name: root - - mountPath: /etc/apache2 - name: etc-apache2 - - mountPath: /etc/rhn - name: etc-rhn - - mountPath: /etc/systemd/system/multi-user.target.wants - name: etc-systemd - - mountPath: /etc/salt - name: etc-salt - - mountPath: /etc/tomcat - name: etc-tomcat - - mountPath: /etc/cobbler - name: etc-cobbler - - mountPath: /etc/sysconfig - name: etc-sysconfig - - mountPath: /root/keys - name: ssh-key - volumes: - - name: var-pgsql - persistentVolumeClaim: - claimName: var-pgsql - - name: var-cache - persistentVolumeClaim: - claimName: var-cache - - name: var-spacewalk - persistentVolumeClaim: - claimName: var-spacewalk - - name: var-log - persistentVolumeClaim: - claimName: var-log - - name: srv-salt - persistentVolumeClaim: - claimName: srv-salt - - name: srv-www-pub - persistentVolumeClaim: - claimName: srv-www-pub - - name: srv-www-cobbler - persistentVolumeClaim: - claimName: srv-www-cobbler - - name: srv-www-osimages - persistentVolumeClaim: - claimName: srv-www-osimages - - name: srv-tftpboot - persistentVolumeClaim: - claimName: srv-tftpboot - - name: srv-formulametadata - persistentVolumeClaim: - claimName: srv-formulametadata - - name: srv-pillar - persistentVolumeClaim: - claimName: srv-pillar - - name: srv-susemanager - persistentVolumeClaim: - claimName: srv-susemanager - - name: srv-spacewalk - persistentVolumeClaim: - claimName: srv-spacewalk - - name: root - persistentVolumeClaim: - claimName: root - - name: etc-apache2 - persistentVolumeClaim: - claimName: etc-apache2 - - name: etc-rhn - persistentVolumeClaim: - claimName: etc-rhn - - name: etc-systemd - persistentVolumeClaim: - claimName: etc-systemd - - name: etc-salt - persistentVolumeClaim: - claimName: etc-salt - - name: etc-tomcat - persistentVolumeClaim: - claimName: etc-tomcat - - name: etc-cobbler - persistentVolumeClaim: - claimName: etc-cobbler - - name: etc-sysconfig - persistentVolumeClaim: - claimName: etc-sysconfig - - name: ssh-key - secret: - secretName: migration-ssh-key - items: - - key: id_rsa - mode: 0600 - path: id_rsa - - key: id_rsa.pub - mode: 0644 - path: id_rsa.pub diff --git a/containers/doc/server-kubernetes/pvs.yaml b/containers/doc/server-kubernetes/pvs.yaml deleted file mode 100644 index e75a64c99c42..000000000000 --- a/containers/doc/server-kubernetes/pvs.yaml +++ /dev/null @@ -1,531 +0,0 @@ -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: local-storage -provisioner: kubernetes.io/no-provisioner -volumeBindingMode: Immediate -reclaimPolicy: Delete ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: var-pgsql - labels: - data: var-pgsql -spec: - capacity: - storage: 100Gi - accessModes: - - ReadWriteOnce - storageClassName: local-storage - local: - path: /var/uyuni/var-pgsql - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: var-cache - labels: - data: var-cache -spec: - capacity: - storage: 100Gi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/var-cache - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: var-spacewalk - labels: - data: var-spacewalk -spec: - capacity: - storage: 100Gi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/var-spacewalk - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: var-log - labels: - data: var-log -spec: - capacity: - storage: 2Gi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/var-log - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: srv-salt - labels: - data: srv-salt -spec: - capacity: - storage: 100Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/srv-salt - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: srv-www-pub - labels: - data: srv-www-pub -spec: - capacity: - storage: 100Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/srv-www-pub - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: srv-www-cobbler - labels: - data: srv-www-cobbler -spec: - capacity: - storage: 100Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/srv-www-cobbler - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: srv-www-osimages - labels: - data: srv-www-osimages -spec: - capacity: - storage: 100Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/srv-www-osimages - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: srv-tftpboot - labels: - data: srv-tftpboot -spec: - capacity: - storage: 100Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/srv-tftpboot - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: srv-formulametadata - labels: - data: srv-formulametadata -spec: - capacity: - storage: 100Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/srv-formulametadata - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: srv-pillar - labels: - data: srv-pillar -spec: - capacity: - storage: 100Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/srv-pillar - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: srv-susemanager - labels: - data: srv-susemanager -spec: - capacity: - storage: 100Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/srv-susemanager - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: srv-spacewalk - labels: - data: srv-spacewalk -spec: - capacity: - storage: 100Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/srv-spacewalk - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: root - labels: - data: root -spec: - capacity: - storage: 10Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/root - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: etc-apache2 - labels: - data: etc-apache2 -spec: - capacity: - storage: 10Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/etc-apache2 - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: etc-rhn - labels: - data: etc-rhn -spec: - capacity: - storage: 10Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/etc-rhn - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: etc-systemd - labels: - data: etc-systemd -spec: - capacity: - storage: 10Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/etc-systemd - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: etc-salt - labels: - data: etc-salt -spec: - capacity: - storage: 10Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/etc-salt - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: etc-tomcat - labels: - data: etc-tomcat -spec: - capacity: - storage: 10Mi - accessModes: - - ReadWriteOnce - storageClassName: local-storage - local: - path: /var/uyuni/etc-tomcat - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: etc-cobbler - labels: - data: etc-cobbler -spec: - capacity: - storage: 1Mi - accessModes: - - ReadWriteOnce - storageClassName: local-storage - local: - path: /var/uyuni/etc-cobbler - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: etc-sysconfig - labels: - data: etc-sysconfig -spec: - capacity: - storage: 1Mi - accessModes: - - ReadWriteOnce - storageClassName: local-storage - local: - path: /var/uyuni/etc-sysconfig - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: etc-tls - labels: - data: etc-tls -spec: - capacity: - storage: 1Mi - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - storageClassName: local-storage - local: - path: /var/uyuni/etc-tls - nodeAffinity: - required: - nodeSelectorTerms: - - matchExpressions: - - key: kubernetes.io/hostname - operator: In - values: - - uyuni-dev diff --git a/containers/server-helm/templates/deployment.yaml b/containers/server-helm/templates/deployment.yaml index 67e8a4bbd838..524a934ac099 100644 --- a/containers/server-helm/templates/deployment.yaml +++ b/containers/server-helm/templates/deployment.yaml @@ -367,6 +367,22 @@ spec: volumeMounts: - mountPath: /mnt name: etc-sysconfig + - name: init-etc-postfix + image: {{- include "deployment.container.image" (dict "name" "server" "global" .) | indent 1}} + imagePullPolicy: {{ .Values.pullPolicy }} + command: + - sh + - -x + - -c + - > + chown --reference=/etc/postfix /mnt; + chmod --reference=/etc/postfix /mnt; + if [ -z "$(ls -A /mnt)" ]; then + cp -a /etc/postfix/. /mnt; + fi + volumeMounts: + - mountPath: /mnt + name: etc-postfix containers: - name: uyuni image: {{- include "deployment.container.image" (dict "name" "server" "global" .) | indent 1}} @@ -447,6 +463,8 @@ spec: name: etc-sysconfig - mountPath: /etc/pki/tls name: etc-tls + - mountPath: /etc/postfix + name: etc-postfix - name: ca-cert mountPath: /etc/pki/trust/anchors/LOCAL-RHN-ORG-TRUSTED-SSL-CERT readOnly: true @@ -532,6 +550,9 @@ spec: - name: etc-sysconfig persistentVolumeClaim: claimName: etc-sysconfig + - name: etc-postfix + persistentVolumeClaim: + claimName: etc-postfix - name: ca-cert configMap: name: uyuni-ca diff --git a/containers/server-helm/templates/volumes.yaml b/containers/server-helm/templates/volumes.yaml index c909be28363e..8ad678d3842b 100644 --- a/containers/server-helm/templates/volumes.yaml +++ b/containers/server-helm/templates/volumes.yaml @@ -549,3 +549,27 @@ spec: matchLabels: data: etc-tls {{- end }} +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: etc-postfix + namespace: "{{ .Release.Namespace }}" +spec: +{{- if .Values.storageClass }} +{{- if (eq "-" .Values.storageClass) }} + storageClassName: "" +{{- else }} + storageClassName: "{{ .Values.storageClass }}" +{{- end }} +{{- end }} + accessModes: +{{ toYaml .Values.accessModes | indent 4 }} + resources: + requests: + storage: 1Mi +{{- if .Values.matchPvByLabel }} + selector: + matchLabels: + data: etc-postfix +{{- end }} diff --git a/susemanager/bin/mgr-setup b/susemanager/bin/mgr-setup index 9b555254b168..797a0dc45706 100755 --- a/susemanager/bin/mgr-setup +++ b/susemanager/bin/mgr-setup @@ -172,25 +172,10 @@ fi } setup_mail () { - -# fix hostname for postfix -REALHOSTNAME=`hostname -f` -if [ -z "$REALHOSTNAME" ]; then - for i in `ip -f inet -o addr show scope global | awk '{print $4}' | awk -F \/ '{print $1}'`; do - for j in `dig +noall +answer +time=2 +tries=1 -x $i | awk '{print $5}' | sed 's/\.$//'`; do - if [ -n "$j" ]; then - REALHOSTNAME=$j - break 2 - fi - done - done -fi -if [ -n "$REALHOSTNAME" ]; then - echo "$REALHOSTNAME" > /etc/hostname -fi -# bsc#979664 - SUSE Manager requires a working mail system -systemctl --quiet enable postfix 2>&1 -systemctl restart postfix + postconf -e myhostname=$HOSTNAME + # bsc#979664 - SUSE Manager requires a working mail system + systemctl --quiet enable postfix 2>&1 + systemctl restart postfix } setup_hostname() { diff --git a/utils/spacewalk-hostname-rename b/utils/spacewalk-hostname-rename index cde5ff6c0723..66931e5890c7 100755 --- a/utils/spacewalk-hostname-rename +++ b/utils/spacewalk-hostname-rename @@ -638,6 +638,10 @@ if [ -e $MGR_SYNC_CONF ]; then fi print_status 0 # just simulate end +echo -n "Changing postfix settings ... " | tee -a $LOG +postconf -e myhostname=$HOSTNAME +systemctl restart postfix + echo -n "Starting spacewalk services ... " | tee -a $LOG if [ "$DB_SERVICE" != "" ] then