Fixed migration issues.

This commit is contained in:
Alexander Zobnin
2016-03-29 13:50:05 +03:00
parent 3f028c7e2d
commit 7f75abb2d3
3 changed files with 23 additions and 36 deletions

View File

@@ -111,7 +111,8 @@ export class ZabbixAPIDatasource {
var promises = _.map(options.targets, function(target) { var promises = _.map(options.targets, function(target) {
if (target.mode !== 1) { if (target.mode !== 1) {
//console.log(migrations.isGrafana2target(target), target);
// Migrate old targets
target = migrations.migrate(target); target = migrations.migrate(target);
// Don't request undefined and hidden targets // Don't request undefined and hidden targets

View File

@@ -3,41 +3,31 @@
* This module can detect query format version and make migration. * This module can detect query format version and make migration.
*/ */
import * as utils from './utils';
export function isGrafana2target(target) { export function isGrafana2target(target) {
if ((target.hostFilter || target.itemFilter || target.downsampleFunction || target.host.host) && if (!target.mode || target.mode === 0) {
(!target.functions && !target.host.filter)) { if ((target.hostFilter || target.itemFilter || target.downsampleFunction || target.host.host) &&
return true; (target.item.filter === undefined && target.host.filter === undefined)) {
return true;
} else {
return false;
}
} else { } else {
return false; return false;
} }
} }
export function migrateFrom2To3version(target) { export function migrateFrom2To3version(target) {
utils.isRegex(target.host.name); target.group.filter = target.group.name === "*" ? "/.*/" : target.group.name;
var newTarget = { target.group.isRegex = target.group.name === "*";
group: { target.host.filter = target.host.name === "*" ? convertToRegex(target.hostFilter) : target.host.name;
filter: target.group.name === "*" ? "/.*/" : target.group.name, target.host.isRegex = target.host.name === "*";
isRegex: target.group.name === "*" target.application.filter = target.application.name === "*" ? "" : target.application.name;
}, target.application.isRegex = target.application.name === "*";
host: { target.item.filter = target.item.name === "All" ? convertToRegex(target.itemFilter) : target.item.name;
filter: target.host.name === "*" ? convertToRegex(target.hostFilter) : target.host.name, target.item.isRegex = target.item.name === "All";
isRegex: target.host.name === "*" target.functions = [];
}, target.refId = target.refId ? target.refId : "A";
application: { return target;
filter: target.application.name === "*" ? "" : target.application.name,
isRegex: target.application.name === "*"
},
item: {
filter: target.item.name === "All" ? convertToRegex(target.itemFilter) : target.item.name,
isRegex: target.item.name === "All"
},
functions: [],
mode: target.mode,
hide: target.hide,
};
return newTarget;
} }
export function migrate(target) { export function migrate(target) {

View File

@@ -33,11 +33,12 @@ export class ZabbixQueryController extends QueryCtrl {
this.init = function() { this.init = function() {
this.target = migrations.migrate(this.target);
this.templateSrv = templateSrv; this.templateSrv = templateSrv;
var target = this.target; var target = this.target;
// Migrate old targets
target = migrations.migrate(target);
var scopeDefaults = { var scopeDefaults = {
metric: {}, metric: {},
oldTarget: _.cloneDeep(this.target) oldTarget: _.cloneDeep(this.target)
@@ -69,11 +70,6 @@ export class ZabbixQueryController extends QueryCtrl {
{name: "max", value: "max"} {name: "max", value: "max"}
]; ];
// Set avg by default
if (!target.downsampleFunction) {
target.downsampleFunction = this.downsampleFunctionList[0];
}
this.initFilters(); this.initFilters();
} }
else if (target.mode === 1) { else if (target.mode === 1) {