Upgrade options from Dwarfguard 1.0.6 to 2.0.0

The Dwarfguard 2.0.0 release includes a script for automated partial upgrade from last oldstable version patch 1.0.6 to 2.0.0 release.

Before summarizing other options, lets describe what this partial upgrade supports and what it does not support.

The general steps are:

  1. Store Dwarfguard users and settings (including Apache configuration and SSL certificates if applicable)
  2. Backup the 1.0.6 deployment
  3. Remove the 1.0.6 deployment from the server
  4. Deploy 2.0.0 with configuration options used from 1.0.6 (where applicable)
  5. Restore Dwarfguard users (including passwords) from the old deployment
  6. Once the old agents on the devices comes with data pushes, they will be declined and:
    1. The agents re-register on the server using the same Device ID
    2. The agents are upgraded to the actual version

As a result, the new 2.0.0 deployments retains users and their passwords from the 1.0.6 deployment, and as the devices re-registers, they will keep their old Device IDs. There is no need to reinstall any devices agents, all of the upgrades are done automatically.

That said, the automatic upgrade script does not retain devices historic data - all the devices metrics are started anew.

The reason for this behavior is that there are many changes between 1.0.0 and 2.0.0 releases (roughly a year of development) and complete upgrade covering all possible settings would likely have a large surface for errors.

Are there any possibilities to retain more data from the oldstable into the new major?

(like keeping the notes for the devices etc.)

Yes, there are, but this requires manual custom action as every deployment may use a different set of features and thus having different needs in regards of what needs to be converted from the old database into the new one.

The schematics for keeping the data is like this:

  1. Export the data from the DB into a DB dump prior the upgrade
  2. Perform the upgrade to 2.0.0
  3. Import the data, performing required data conversions if any are needed (depends on the data requested to be retained)

This data export and data import can be handled by the server admin (customer admin or operator admin or Dwarf Technologies admin) but it is always a risky operation. The worst case is that the DB after the action is rendered inoperable. There are however some remedy steps possible if such disaster happens:

  1. Uninstall the Dwarfguard 2.0.0 server installation (do not do anything to the agents on devices, regardless these are old version ones or upgraded already)
  2. Restore the Dwarfguard 1.0.6 deployment from backup
    1. Note that if the agents on the devices were upgraded already, you cannot retain 1.0.6 and need to perform the upgrade again as the 1.0.6 server will be confused with some of the data sent by the agents as it cannot properly understand all of the data the newer agent versions are sending - only a subset of these data.
  3. (optional) perform the data export anew if a problem was identified (e.g. some data forgotten to be exported etc.)
  4. Perform the upgrade to 2.0.0
  5. Attempt the data import again

Next to attempting the data export+import yourself, there are also the following options provided by Dwarf Technologies support (you may also inquire your distributor if it provides you with additional options):

  1. In case you have the Premium support level - up to 4 hours of support time spent on your export/import and upgrade needs are provided free of charge. After that, the additional custom support hours are charged at 50% cost (on top of the Premium support discount).
  2. In case you have Advanced support level, the support hours needed for the export/import and upgrade are charged at 50% cost (on top of the Advanced support dicount).
  3. In case of any lower support level, you need to cover the custom support costs at full.