• Info
  • Update form Open SuSE 15.4 to 15.5

A recipe to update grommunio from Open SuSE 15.4 to 15.5.

Open SuSE 15.5 is here and grommunio provides packages for Open SuSE 15.5, we may update the appliance.
Please note: If your system is still running on Open SuSE 15.3, use this document to upgrade to Open SuSE 15.4 first: https://community.grommunio.com/d/792-update-form-open-suse-153-to-154

1. Preparation for the update

  • Have your grommunio license details (username and password) ready, you may need them in step 10
  • Please note, this upgrade interrupts your mail system
  • If a virtualized environment is present, take a snapshot of the system
  • Connect via SSH like Putty to the grommunio server
  • For most commands you may copy and paste the commands to the grommunio server
  • If the server has an uptime of more than 30 days, it is recommended to reboot the server. Check the uptime with the command uptime and if necessary reboot with init 6 .
  • Stop and disable postfix
    systemctl stop postfix
    systemctl disable postfix

2. Check that you have at least 5 GB of free space on the root volume

On the root / volume we need at least of 5 GB free space for the update, do not proceed if you not have less than 5 GB free on /. Run df -h to see the space statistics.

3. Create a tar backup of /etc for later comparison or restore

mkdir -p /root/WH/bck/
tar -cvzf /root/WH/bck/etc_$(date +%Y%m%d-%H%M%S).tgz /etc

4. Backup MariaDB

mysqldump --all-databases > /root/WH/bck/dump_grommunio_$(date +%Y%m%d-%H%M%S).sql

5. Install current updates

zypper ref
zypper up

Please note: At this point there can be 2 possible issues,

  1. the grommunio 15.4 repository is no longer available (approx. Q2/2024), in this case simply continue with the update, at least the Open SuSE components will be updated and grommunio will be updated when updating to 15.5 in step 11.
  2. neither the grommunio 15.4 nor the Open SuSE 15.4 repository (tbd.) exists anymore, then continue with point 8. But then you have to make sure that both 15.5 repositories exist, if the 15.5 repositories no longer exist, an update is no longer easily possible.

A full backup is recommended in both situations.

6. Verify the MariaDB schema

gromox-dbop -U
current schema is gx-128 (30. Oct. 2023)

7. Wait about 5 minutes to allow the schema upgrade for the domain and user databases and the index is rebuild

Use top or htop to see activity on databases.
Also use journalctl -f to see activities on this system. If you see messages like:
.... dbop_sqlite: upgrading /var/lib/gromox/user/x/y/exmdb/exchange.sqlite3 to schema EV-nn
wait until all databases are updated.
For community edition and supported edition, current schema at Oct. 2023 is EV-13.

8. Reboot the server

init 6

9. Document the current state before the distribution update

rpm -qa | sort > /root/SLES_15.4.txt

10. Switch all repositories including other 3. party repositories like backup software from 15.4 to 15.5

sed -i 's/15.4/15.5/g' /etc/zypp/repos.d/*.repo
Verify that all repositories version changed with:
cat /etc/zypp/repos.d/*.repo
Refresh repository list:
zypper refresh -f

Note that you may need your license details at this point. Check /etc/zypp/repos.d/grommunio.repo to see if username and password are in the file. The line in question looks like this:
baseurl=https://USERNAME:PASSWORD@download.grommunio.com/supported/openSUSE_Leap_15.6/?ssl_verify=no

The question from zypper should be answered as "a - trust always" if you use a German OS, answer "i -immer vertrauen"

If you see errors about repo-sle-debug-update, disable the repository with:
zypper mr -d repo-sle-debug-update
and run refresh again:
zypper refresh -f

11. Update gromox only

zypper update gromox

12. Distribution update to Open SuSE 15.5

zypper dup

13. Enable redis

It seams redis is not enabled after the upgrade
systemctl --now enable redis@grommunio.service

14. Restart MariaDB to force DB upgrade

systemctl restart mariadb

15. Reboot server to activate the new modules and new kernel

init 6

16. Document the update

rpm -qa | sort > /root/SLES_15.5.txt

17. Compare old state with current state

vim -d /root/SLES_15.5.txt /root/SLES_15.4.txt
It is unlikely that you find missing packages but if you find missing packages, reinstall them like:
zypper in <MISSING-PACKAGE>
Ignore outdated Kernel and libfmt7-7* packages and old grup2 packages.

18. Find newer sample configuration files, these usually have the extension .rpmnew

find /* -iname '*.rpmnew'
Manually migrate the changes from .rpmnew file into the original configuration file, this can be done with vim or diff. However, be careful not to overwrite or destroy the configuration of your system. Please note: we created a configuration backup in third step.
vim -d <FILE> <FILE>.rpmnew
or use diff
diff <FILE> <FILE>.rpmnew
and manually edit the configuration file to populate the changes.
This needs some knowledge about the system, overwriting incorrect variables my render your system unusable.
About /etc/postfix/master.cf, replace fifo with unix. The transport fifo is outdated.
Never touch the file: /etc/postfix/main.cf
It is wise als to migrate new/updated comments from .rpmnew to the configuration file and remove the outdated comments.
After making the changes in the configuration files, delete the .rpmnew files, they are no longer needed.
Also restart the affected services or reboot the server again with init 6.

19. Find outdated configuration files and delete them, these usually have the extension .rpmsave

find /* -iname '*.rpmsave'
Manually delete any outdated configuration files, they are no longer needed.

20. Look at the logs for errors

journalctl -f and tail /var/log/grommunio/* -f if /var/log/grommunio/ do not exist or is empty, use the new log directory: tail /var/log/nginx/*.log -f

21. Test the system

Please note, postfix is still disabled, mail sending is not yet possible.
Repair all errors.

22. If everything works, enable postfix

systemctl enable postfix
systemctl restart postfix
and delete the snapshot

23. Now the system should be fully up and running again

Enjoy grommunio

Changes:

  • Moved enable redis in its own step 13
  • Added: About /etc/postfix/master.cf in step 18
  • Replaced find commands with crpb's version
  • Current SQLite schema at July 2023 is EV-11 for supported edition
  • Current SQLite schema at Sept. 2023 is EV-12 community edition only
  • Current SQLite schema at Sept. 2023 is EV-13 community edition only
  • Current SQLite schema at 30. Oct. 2023 is EV-13 for both editions, today a supported edition was released
  • Added information about removed repositories in step 5
  • Added information about, you may need your grommunio license in step 1 and 10
  • Added times stamps for backup files in step 3 and 4
  • Added note about minimum 5 GB free on / in step 2
  • New log directory /var/log/nginx/*.log in step 20

    Yet again, 👍

    Just tried it on my two test-systems (com. and sup.) and everything seems fine so far.

    things that might happen

    Grommunio-Files

    • Faild: grommunio-files-cron.service.cron / systemctl --failed
      • Will work again afer
        • systemctl --now enable redis@grommunio.service
    • Admin Overview - 'System-Checks' might open 'HTTP-AUTH-Windows'
      • don't worry, just because of those -> nginx -T |grep well-known

    grommunio-admin subcommand ..

    • w/o a trusted certificate it will throw a warning with some commands
      /usr/lib/python3.6/site-packages/urllib3/connectionpool.py:988: InsecureRequestWarning: Unverified HTTPS request is being made to host GROMMUNIO.DOMAIN.TLD. Adding certificate verification is strongly advised....

    Grommunio-Chat

    • grommunio-chat[1385]: config_file_initd /etc/gromox/ldap_adaptor.cfg: Permission denied
      • usermod -G gromox grochat; systemctl restart grommunio-chat

    It might be that this error was even before the upgrade. Didn't check until yet.

    @WalterH
    find /* -iname '*.rpmnew' / find /* -iname '*.rpmnew' -or -iname '*.rpmsave'

    the /* so it will not look into any btrfs /.snapshots if there are any..

      Is coming therefore also a new appliance?

      Currently I did not see a new appliance.

      Same for me. It was only about a indication, if a new package is coming soon, because I´m thinking about sence to make a dup for now.

        7 days later

        Bei mir hat der Schwenk von 15.4 nach 15.5 mit Walters Erläuterung ohne Probleme funktioniert.
        Ich nutze Community (aus der Appliance) in einer VM.

        Danke Walter für den immer wieder zeitnahen und fundierten Support!!

          WalterH The question from zypper should be answered as "a - trust always"
          If you see errors about repo-sle-debug-update, disable the repository with:
          zypper mr -d repo-sle-debug-update

          Hier solltet ihr bei der deutschen Sprachversion "i -immer vertrauen" eingeben
          Das " zypper mr -d repo-sle-debug-update" läßt sich nach dem Upgrade mit
          " zypper mr -e repo-sle-debug-update" wieder aktivieren!

            THE_FRICKLER ich habe es ergänzt, aber ich kann nicht empfehlen die Systemsprache auf Deutsch zu stellen. es wird alles nur mit Systemsprache Englisch getestet und auch die Fehlermeldungen sind in DE deutlich anders.

              WalterH

              Bin ganz bei dir! Aber der innere Trieb packt mich dann. Habe Systeme in beiden Sprachen und wollte es nur ergänzen, da bei diesem Feature "a" und "i" eben gegensätzliche Auswahlen verursachen.

              Auch von mir vielen Dank für die gute Anleitung.
              Hat alles gut geklappt und meine VM mit der Community Version ist nun auf 15.5!

              3 months later

              Danke WalterH , dass Du das hier schon wieder so genau vorbereitet hast.

              Wenn ich das richtig verstande habe, sollte 5-10 Minuten nach dem "gromox-dbop -U" eine andere Version drin stehen also vorher, oder? Dem ist bei mir auch nach 30 Minuten nicht so. Es bleibt bei gx-122.

              Bei Starten des Befehls, wir mir ebenfalls
              dbop: Current database schema: gx-122
              angezeigt. Allerdings ändert sich die Version nicht und ich finde im journal auch keine Meldungen zu den User-Datenbanken (.../exchange.sqlite3)

              Ich bin auf meiner Test-VM auf 15.4

              /etc/zypp/repos.d/base.repo:baseurl=http://download.opensuse.org/distribution/leap/15.4/repo/oss
              /etc/zypp/repos.d/base.repo:baseurl=http://download.opensuse.org/debug/distribution/leap/15.4/repo/oss
              /etc/zypp/repos.d/base.repo:baseurl=http://download.opensuse.org/debug/update/leap/15.4/oss
              /etc/zypp/repos.d/base.repo:baseurl=http://download.opensuse.org/update/leap/15.4/backports_debug/
              /etc/zypp/repos.d/base.repo:baseurl=http://download.opensuse.org/update/leap/15.4/backports/
              /etc/zypp/repos.d/base.repo:baseurl=http://download.opensuse.org/update/leap/15.4/oss
              /etc/zypp/repos.d/grommunio-base.repo:baseurl=http://download.opensuse.org/update/leap/15.4/backports_debug/
              /etc/zypp/repos.d/grommunio-base.repo:baseurl=http://download.opensuse.org/update/leap/15.4/backports/
              /etc/zypp/repos.d/grommunio-base.repo:baseurl=http://download.opensuse.org/debug/update/leap/15.4/sle/
              /etc/zypp/repos.d/grommunio-base.repo:baseurl=http://download.opensuse.org/update/leap/15.4/sle/
              /etc/zypp/repos.d/grommunio.repo:baseurl=https://XXXXXX:YYYYYYY@download.grommunio.com/supported/openSUSE_Leap_15.4/?ssl_verify=no

              mit installiertem 2022.12.1

              vm3:~ # zypper se -si gromox grommunio
              Loading repository data...
              Reading installed packages...
              
              S  | Name                               | Type    | Version                        | Arch   | Repository
              ---+------------------------------------+---------+--------------------------------+--------+------------------
              i  | grommunio                          | pattern | 1-lp154.9.1                    | x86_64 | grommunio
              i+ | grommunio-admin-api                | package | 1.11.25.8935796-lp154.25.1     | noarch | grommunio
              i+ | grommunio-admin-common             | package | 6.cb985db-lp154.11.1           | noarch | grommunio
              i+ | grommunio-admin-web                | package | 2.8.0.3.57a15dd-lp154.10.1     | noarch | grommunio
              i+ | grommunio-antispam                 | package | 3.6-lp154.1.1                  | x86_64 | grommunio
              i+ | grommunio-archive                  | package | 1.3.13.g137.d1b0df1b-lp154.3.5 | x86_64 | grommunio
              i+ | grommunio-chat                     | package | 7.8.0-lp154.2.1                | x86_64 | grommunio
              i+ | grommunio-common                   | package | 15.94f06a1-lp154.16.1          | x86_64 | grommunio
              i+ | grommunio-cui                      | package | 1.0.250.0365021-lp154.19.1     | noarch | grommunio
              i+ | grommunio-dav                      | package | 1.3.11.2b59b5d-lp154.4.1       | noarch | grommunio
              i  | grommunio-error-pages              | package | 1.0.9.224b089-lp154.13.1       | noarch | grommunio
              i+ | grommunio-files                    | package | 25.0.10-lp154.1.1              | noarch | grommunio
              i+ | grommunio-imapsync                 | package | 2.229-lp154.6.1                | noarch | grommunio
              i+ | grommunio-index                    | package | 0.1.36.4ebe9ad-lp154.14.1      | x86_64 | grommunio
              i+ | grommunio-office                   | package | 7.0.0-lp154.5.4                | x86_64 | grommunio
              i  | grommunio-office-fonts             | package | 7.0.0-lp154.5.4                | noarch | grommunio
              i+ | grommunio-release                  | package | 2022.12.1-lp154.3.1            | x86_64 | grommunio
              i+ | grommunio-setup                    | package | 1.0.97.e20960a-lp154.21.1      | noarch | grommunio
              i+ | grommunio-sync                     | package | 2.0.23.897fb38-lp154.27.1      | noarch | grommunio
              i+ | grommunio-web                      | package | 3.2.72.dddd229-lp154.6.2       | noarch | grommunio
              i+ | gromox                             | package | 2.10.256.4feb515-lp154.15.1    | x86_64 | grommunio
              i+ | gromox-debuginfo                   | package | 2.10.256.4feb515-lp154.15.1    | x86_64 | grommunio
              i+ | gromox-debugsource                 | package | 2.10.256.4feb515-lp154.15.1    | x86_64 | grommunio
              i+ | grub2-theme-grommunio              | package | 1-lp154.11.2                   | noarch | grommunio
              i+ | jitsi-meet-branding-grommunio      | package | 2.0.6726-lp154.7.1             | noarch | grommunio
              i+ | NAME="grommunio"                   | product | "2022.12.1"                    | noarch | (System Packages)
              i+ | patterns-grommunio                 | package | 1-lp154.9.1                    | x86_64 | grommunio
              i+ | plymouth-theme-grommunio           | package | 1-lp154.11.2                   | noarch | grommunio
              i  | system-user-grommunio              | package | 3-lp154.10.2                   | noarch | grommunio
              i  | system-user-gromox                 | package | 2-lp154.13.2                   | noarch | grommunio
              i  | systemd-presets-branding-grommunio | package | 2022.12-lp154.1.2              | noarch | grommunio

              Das System habe ich von 15.3 auf 15.4 mit Deiner letzten Anleitung angehoben.

              Alle anstehenden Updates sind installiert.

              Habe ich etwas falsch verstanden oder was kann ich noch prüfen?

              Danke
              Ulf

                BusinessTux Es bleibt bei gx-122.

                Ist die aktuelle Version, was neueres gibt es nicht. Alte Installationen haben u.U: gx-120 oder älter, bei denen steht dann gx-122.

                BusinessTux journal auch keine Meldungen zu den User-Datenbanken (.../exchange.sqlite3)

                dann werden die auch schon aktuell sein.

                BusinessTux im journal auch keine Meldungen zu den User-Datenbanken (.../exchange.sqlite3)

                Dieser Befehl öffnet alle SQLite Datenbanken, das erzwingt das Update der Datenbanken wenn es noch nicht durchgeführt ist.

                grommunio-admin user query username | grep @ | while read -r line; do echo -e "\n\nTest / upgrade schema for $line"; grommunio-admin exmdb "$line" folder list; done

                Yeah, ich liebe OneLiner :-D Danke.

                Dann habe ich wohl

                WalterH Current schema at Sept. 2023 is EV-12.

                das hier falsch verstanden, weil ich dachte, das müsste auf jeden Fall kommen.

                Nach dem Öffnen der DBs ist das Schema trotzdem gleich geblieben. Ich setze das Update dann einfach mal fort.

                journalctl starten und mit /EV-12 suchen ob das Update schon durchgeführt wurde und wann?

                  Auf meiner Test-VM ist das Update scheinbar erfolgreich gelaufen. Keine Fehlermeldung, Versand, Oberflächen und Schnittstellen funktionieren.

                  WalterH journalctl starten und mit /EV-12 suchen ob das Update schon durchgeführt wurde und wann?

                  Weder auf meiner Test-VM (mit jetzt 15.5) noch auf einer Kunden-VM mit 15.4 habe ich diesen Eintrag (weder groß noch klein) im Journal gefunden.

                  © 2020-2024 grommunio GmbH. All rights reserved. | https://grommunio.com | Data Protection | Legal notice