Update parameters updating
tripleo.parameters.update mistral action now validates parameters using heat. A returned object is the same as with tripleo.parameters.get_flatten. This patch updates action and simplifies reducer accordingly Note that updating parameters now takes significantly longer so we'll need to add pending state and probably change the way we handle nodes assignment form in subsequent patches Depends-On: I9aa18c4152ff9bf896729ace0d9481af50fd7802 Change-Id: Ic4054061d937ce94eb27825a0078c8a3e7717c36
This commit is contained in:
parent
668cd45f2f
commit
c0b4b72534
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
features:
|
||||
- |
|
||||
Updating parameters now validates parameters using Heat
|
|
@ -16,10 +16,7 @@
|
|||
|
||||
import { List, Map } from 'immutable';
|
||||
|
||||
import {
|
||||
ParametersDefaultState,
|
||||
Parameter
|
||||
} from '../../js/immutableRecords/parameters';
|
||||
import { ParametersDefaultState } from '../../js/immutableRecords/parameters';
|
||||
import ParametersConstants from '../../js/constants/ParametersConstants';
|
||||
import parametersReducer from '../../js/reducers/parametersReducer';
|
||||
|
||||
|
@ -29,7 +26,7 @@ const parametersActionPayload = {
|
|||
},
|
||||
parameters: {
|
||||
parameter1: {
|
||||
default: '3PuRFRBdhHDD49Td4jHJYmD3n',
|
||||
default: '1',
|
||||
type: 'String',
|
||||
noEcho: 'true',
|
||||
description: 'The password for the glance service and db account',
|
||||
|
@ -126,9 +123,7 @@ describe('parametersReducer', () => {
|
|||
|
||||
it('sets parameters', () => {
|
||||
expect(state.parameters.size).toEqual(1);
|
||||
expect(state.parameters.getIn(['parameter1', 'default'])).toEqual(
|
||||
'3PuRFRBdhHDD49Td4jHJYmD3n'
|
||||
);
|
||||
expect(state.parameters.getIn(['parameter1', 'default'])).toEqual('1');
|
||||
expect(Map.isMap(state.parameters)).toBe(true);
|
||||
});
|
||||
|
||||
|
@ -201,7 +196,7 @@ describe('parametersReducer', () => {
|
|||
let state;
|
||||
const action = {
|
||||
type: ParametersConstants.UPDATE_PARAMETERS_SUCCESS,
|
||||
payload: { foo: 'bar' }
|
||||
payload: parametersActionPayload
|
||||
};
|
||||
|
||||
beforeEach(() => {
|
||||
|
@ -209,11 +204,7 @@ describe('parametersReducer', () => {
|
|||
ParametersDefaultState({
|
||||
isFetching: true,
|
||||
form: Map({ some: 'value' }),
|
||||
parameters: Map({
|
||||
foo: new Parameter({
|
||||
name: 'foo'
|
||||
})
|
||||
})
|
||||
parameters: Map(parametersActionPayload.parameters)
|
||||
}),
|
||||
action
|
||||
);
|
||||
|
@ -233,7 +224,7 @@ describe('parametersReducer', () => {
|
|||
});
|
||||
|
||||
it('updates parameters in state with new values', () => {
|
||||
expect(state.parameters.get('foo').default).toEqual('bar');
|
||||
expect(state.parameters.get('parameter1').default).toEqual('1');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -123,7 +123,15 @@ export default {
|
|||
})
|
||||
)
|
||||
.then(response => {
|
||||
dispatch(this.updateParametersSuccess(data));
|
||||
const { resources, parameters } = response.heat_resource_tree;
|
||||
const mistralParameters = response.environment_parameters;
|
||||
dispatch(
|
||||
this.updateParametersSuccess({
|
||||
resources,
|
||||
parameters,
|
||||
mistralParameters
|
||||
})
|
||||
);
|
||||
dispatch(
|
||||
NotificationActions.notify({
|
||||
title: formatMessage(messages.parametersUpdatedNotficationTitle),
|
||||
|
@ -161,7 +169,15 @@ export default {
|
|||
})
|
||||
)
|
||||
.then(response => {
|
||||
dispatch(this.updateParametersSuccess(data));
|
||||
const { resources, parameters } = response.heat_resource_tree;
|
||||
const mistralParameters = response.environment_parameters;
|
||||
dispatch(
|
||||
this.updateParametersSuccess({
|
||||
resources,
|
||||
parameters,
|
||||
mistralParameters
|
||||
})
|
||||
);
|
||||
dispatch(stopSubmit('nodesAssignment'));
|
||||
})
|
||||
.catch(error => {
|
||||
|
@ -188,7 +204,15 @@ export default {
|
|||
})
|
||||
)
|
||||
.then(response => {
|
||||
dispatch(this.updateParametersSuccess(data));
|
||||
const { resources, parameters } = response.heat_resource_tree;
|
||||
const mistralParameters = response.environment_parameters;
|
||||
dispatch(
|
||||
this.updateParametersSuccess({
|
||||
resources,
|
||||
parameters,
|
||||
mistralParameters
|
||||
})
|
||||
);
|
||||
dispatch(stopSubmit('parametersForm'));
|
||||
if (redirect) {
|
||||
redirect();
|
||||
|
|
|
@ -34,7 +34,8 @@ export default function parametersReducer(state = initialState, action) {
|
|||
.set('isFetching', true)
|
||||
.set('form', Map({ formErrors: List(), formFieldErrors: Map() }));
|
||||
|
||||
case ParametersConstants.FETCH_PARAMETERS_SUCCESS: {
|
||||
case ParametersConstants.FETCH_PARAMETERS_SUCCESS:
|
||||
case ParametersConstants.UPDATE_PARAMETERS_SUCCESS: {
|
||||
const { resources, parameters, mistralParameters } = action.payload;
|
||||
return state
|
||||
.set('loaded', true)
|
||||
|
@ -72,27 +73,6 @@ export default function parametersReducer(state = initialState, action) {
|
|||
case ParametersConstants.UPDATE_PARAMETERS_PENDING:
|
||||
return state.set('isFetching', true);
|
||||
|
||||
case ParametersConstants.UPDATE_PARAMETERS_SUCCESS: {
|
||||
const updatedParameters = action.payload;
|
||||
return state
|
||||
.set('isFetching', false)
|
||||
.set(
|
||||
'form',
|
||||
Map({
|
||||
formErrors: List(),
|
||||
formFieldErrors: Map()
|
||||
})
|
||||
)
|
||||
.update('parameters', parameters => {
|
||||
return parameters.map(
|
||||
parameter =>
|
||||
Object.keys(updatedParameters).includes(parameter.name)
|
||||
? parameter.set('default', updatedParameters[parameter.name])
|
||||
: parameter
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
case ParametersConstants.UPDATE_PARAMETERS_FAILED:
|
||||
return state.set('isFetching', false).set(
|
||||
'form',
|
||||
|
|
Loading…
Reference in New Issue