See www.zabbix.com for the official Zabbix site.

Docs/specs/ZBX-7654

From Zabbix.org
Jump to: navigation, search

Import versioning

ZBX-7654

Status: 1.0

Owner: Pavels

Summary

Starting from 2.0 all data is imported under one version - "2.0". This is incorrect, since the format and the data is different in all of the following versions. Each Zabbix version should export data with its own version number.

Specification

The export format version will match the major version of Zabbix. Importing data into earlier versions of Zabbix will not be allowed.

To simplify maintenance of multiple import versions, older import formats will be converted into the current version format. Since currently 1.8 and 2.0 import formats are handled differently, the behavior of 1.8 import may change. Otherwise, no functional changes will be made. The data from 2.0, 2.2 and 2.4 will still be exported under the same version.

This will be implemented in two steps:

  1. Examine and document the differences between the different import formats;
  2. Implement automatic import version conversion in the frontend.

Details

Version validation

Trying to import data in a newer format or with an incorrect version will result in an error: "Unsupported import version %1$s."

Format conversion

Imported data conversion will be done via a converter chain, that is, each format will be converted into the next: 1.8 into 2.0, 2.0 into 3.0 and etc.

Currently two converters will be implemented:

  1. From 1.8 into 2.0;
  2. From 2.0 into 3.0 (this converter must be able to convert data from 2.0, 2.2 and 2.4).

Each converter will receive the imported data of an older format as input and output the same data in the newer format. Converters must support partial import, that is, some of the data may be missing. If some data is missing in the older import version and is added in the new, it should not be added during the conversion.

Converters must share the same interface and it should be easy to add another converter to the chain. Any number of converters must be supported.

After the data is converted into the current format, it will be handled as is.

Translation strings

  • Unsupported import version "%1$s".

Documentation

  • An import format change log will be added to each documentation version.

ChangeLog

  • N/A