mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
* using original ES ilm policy as basis for new one to prevent overwriting config the ui does not know about * fixing issues with disabling actions * removing unused parameter
This commit is contained in:
parent
931bf9b98c
commit
244835c074
2 changed files with 23 additions and 10 deletions
|
@ -34,6 +34,7 @@ import {
|
|||
getSelectedOriginalPolicyName,
|
||||
getPolicies
|
||||
} from '.';
|
||||
import { getPolicyByName } from './policies';
|
||||
export const numberRequiredMessage = i18n.translate('xpack.indexLifecycleMgmt.editPolicy.numberRequiredError', {
|
||||
defaultMessage: 'A number is required.'
|
||||
});
|
||||
|
@ -204,15 +205,17 @@ export const validateLifecycle = state => {
|
|||
};
|
||||
|
||||
export const getLifecycle = state => {
|
||||
const policyName = getSelectedPolicyName(state);
|
||||
const phases = Object.entries(getPhases(state)).reduce(
|
||||
(accum, [phaseName, phase]) => {
|
||||
// Hot is ALWAYS enabled
|
||||
if (phaseName === PHASE_HOT) {
|
||||
phase[PHASE_ENABLED] = true;
|
||||
}
|
||||
|
||||
const esPolicy = getPolicyByName(state, policyName).policy || {};
|
||||
const esPhase = esPolicy.phases ? esPolicy.phases[phaseName] : {};
|
||||
if (phase[PHASE_ENABLED]) {
|
||||
accum[phaseName] = phaseToES(state, phase);
|
||||
accum[phaseName] = phaseToES(phase, esPhase);
|
||||
|
||||
// These seem to be constants
|
||||
if (phaseName === PHASE_DELETE) {
|
||||
|
|
|
@ -41,6 +41,7 @@ import { filterItems, sortTable } from '../../services';
|
|||
|
||||
|
||||
export const getPolicies = state => state.policies.policies;
|
||||
export const getPolicyByName = (state, name) => getPolicies(state).find((policy) => policy.name === name) || {};
|
||||
export const getIsNewPolicy = state => state.policies.selectedPolicy.isNew;
|
||||
export const getSelectedPolicy = state => state.policies.selectedPolicy;
|
||||
export const getIsSelectedPolicySet = state => state.policies.selectedPolicySet;
|
||||
|
@ -212,17 +213,17 @@ export const policyFromES = (policy) => {
|
|||
};
|
||||
};
|
||||
|
||||
export const phaseToES = (state, phase) => {
|
||||
const esPhase = {};
|
||||
export const phaseToES = (phase, originalEsPhase) => {
|
||||
const esPhase = { ...originalEsPhase };
|
||||
|
||||
if (!phase[PHASE_ENABLED]) {
|
||||
return esPhase;
|
||||
return {};
|
||||
}
|
||||
if (isNumber(phase[PHASE_ROLLOVER_MINIMUM_AGE])) {
|
||||
esPhase.min_age = `${phase[PHASE_ROLLOVER_MINIMUM_AGE]}${phase[PHASE_ROLLOVER_MINIMUM_AGE_UNITS]}`;
|
||||
}
|
||||
|
||||
esPhase.actions = {};
|
||||
esPhase.actions = esPhase.actions || {};
|
||||
|
||||
if (phase[PHASE_ROLLOVER_ENABLED]) {
|
||||
esPhase.actions.rollover = {};
|
||||
|
@ -241,30 +242,39 @@ export const phaseToES = (state, phase) => {
|
|||
}`;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
delete esPhase.actions.rollover;
|
||||
}
|
||||
if (phase[PHASE_NODE_ATTRS]) {
|
||||
const [ name, value, ] = phase[PHASE_NODE_ATTRS].split(':');
|
||||
esPhase.actions.allocate = {
|
||||
require: {
|
||||
[name]: value
|
||||
}
|
||||
esPhase.actions.allocate = esPhase.actions.allocate || {};
|
||||
esPhase.actions.allocate.require = {
|
||||
[name]: value
|
||||
};
|
||||
}
|
||||
if (isNumber(phase[PHASE_REPLICA_COUNT])) {
|
||||
esPhase.actions.allocate = esPhase.actions.allocate || {};
|
||||
esPhase.actions.allocate.number_of_replicas = phase[PHASE_REPLICA_COUNT];
|
||||
} else {
|
||||
if (esPhase.actions.allocate) {
|
||||
delete esPhase.actions.allocate.require;
|
||||
}
|
||||
}
|
||||
|
||||
if (phase[PHASE_FORCE_MERGE_ENABLED]) {
|
||||
esPhase.actions.forcemerge = {
|
||||
max_num_segments: phase[PHASE_FORCE_MERGE_SEGMENTS]
|
||||
};
|
||||
} else {
|
||||
delete esPhase.actions.forcemerge;
|
||||
}
|
||||
|
||||
if (phase[PHASE_SHRINK_ENABLED] && isNumber(phase[PHASE_PRIMARY_SHARD_COUNT])) {
|
||||
esPhase.actions.shrink = {
|
||||
number_of_shards: phase[PHASE_PRIMARY_SHARD_COUNT]
|
||||
};
|
||||
} else {
|
||||
delete esPhase.actions.shrink;
|
||||
}
|
||||
return esPhase;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue