diff --git a/src/common/intl/messages.js b/src/common/intl/messages.js index 1bcab0e5a..691a13304 100644 --- a/src/common/intl/messages.js +++ b/src/common/intl/messages.js @@ -868,6 +868,7 @@ const messages = { vmChooseCoresPerSocket: 'Default behavior', vmCoresPerSocket: '{nSockets, number} socket{nSockets, plural, one {} other {s}} with {nCores, number} core{nCores, plural, one {} other {s}} per socket', + vmCoresPerSocketNone: 'None', vmCoresPerSocketIncorrectValue: 'Incorrect cores per socket value', vmCoresPerSocketIncorrectValueSolution: 'Please change the selected value to fix it.', diff --git a/src/xo-app/vm/tab-advanced.js b/src/xo-app/vm/tab-advanced.js index 8a9005c28..6d8ecdc36 100644 --- a/src/xo-app/vm/tab-advanced.js +++ b/src/xo-app/vm/tab-advanced.js @@ -178,7 +178,7 @@ class CoresPerSocket extends Component { _getCoresPerSocketPossibilities = createSelector( () => { const { container } = this.props - if (container !== undefined) { + if (container != null) { return container.cpus.cores } }, @@ -198,44 +198,55 @@ class CoresPerSocket extends Component { editVm(this.props.vm, { coresPerSocket: getEventValue(event) || null }) render () { - const vm = this.props.vm + const { container, vm } = this.props const selectedCoresPerSocket = vm.coresPerSocket const options = this._getCoresPerSocketPossibilities() return (
- + {_({ key: 'none' }, 'vmChooseCoresPerSocket', message => ( + + ))} + {this._selectedValueIsNotInOptions() && + _( + { key: 'incorrect' }, + 'vmCoresPerSocketIncorrectValue', + message => ( + + ) + )} + {map(options, coresPerSocket => + _( + { key: coresPerSocket }, + 'vmCoresPerSocket', + { + nSockets: vm.CPUs.number / coresPerSocket, + nCores: coresPerSocket, + }, + message => + ) + )} + {' '} + {this._selectedValueIsNotInOptions() && ( + + + )} - {map(options, coresPerSocket => - _( - { key: coresPerSocket }, - 'vmCoresPerSocket', - { - nSockets: vm.CPUs.number / coresPerSocket, - nCores: coresPerSocket, - }, - message => - ) - )} - {' '} - {this._selectedValueIsNotInOptions() && ( - - - + + ) : selectedCoresPerSocket != null ? ( + _('vmCoresPerSocket', { + nSockets: vm.CPUs.number / selectedCoresPerSocket, + nCores: selectedCoresPerSocket, + }) + ) : ( + _('vmCoresPerSocketNone') )}
)