feat(xo-web,xo-server): expose VM Xen Tools version (#2838)
Fixes #2650
This commit is contained in:
parent
5cb6dc6d92
commit
51609d45a2
@ -232,13 +232,11 @@ const TRANSFORMS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const { major, minor } = guestMetrics.PV_drivers_version
|
const { major, minor } = guestMetrics.PV_drivers_version
|
||||||
const [hostMajor, hostMinor] = (
|
|
||||||
obj.$resident_on || obj.$pool.$master
|
|
||||||
).software_version.product_version.split('.')
|
|
||||||
|
|
||||||
return major >= hostMajor && minor >= hostMinor
|
return {
|
||||||
? 'up to date'
|
major,
|
||||||
: 'out of date'
|
minor,
|
||||||
|
}
|
||||||
})()
|
})()
|
||||||
|
|
||||||
let resourceSet = otherConfig['xo:resource_set']
|
let resourceSet = otherConfig['xo:resource_set']
|
||||||
|
@ -894,12 +894,7 @@ const messages = {
|
|||||||
cpuCapLabel: 'CPU cap',
|
cpuCapLabel: 'CPU cap',
|
||||||
defaultCpuCap: 'Default ({value, number})',
|
defaultCpuCap: 'Default ({value, number})',
|
||||||
pvArgsLabel: 'PV args',
|
pvArgsLabel: 'PV args',
|
||||||
xenToolsStatus: 'Xen tools status',
|
xenToolsStatus: 'Xen tools version',
|
||||||
xenToolsStatusValue: {
|
|
||||||
defaultMessage: '{status}',
|
|
||||||
description:
|
|
||||||
'status can be `not-installed`, `unknown`, `out-of-date` & `up-to-date`',
|
|
||||||
},
|
|
||||||
osName: 'OS name',
|
osName: 'OS name',
|
||||||
osKernel: 'OS kernel',
|
osKernel: 'OS kernel',
|
||||||
autoPowerOn: 'Auto power on',
|
autoPowerOn: 'Auto power on',
|
||||||
|
@ -219,21 +219,6 @@ export const parseSize = size => {
|
|||||||
|
|
||||||
// -------------------------------------------------------------------
|
// -------------------------------------------------------------------
|
||||||
|
|
||||||
export const normalizeXenToolsStatus = status => {
|
|
||||||
if (status === false) {
|
|
||||||
return 'not-installed'
|
|
||||||
}
|
|
||||||
if (status === undefined) {
|
|
||||||
return 'unknown'
|
|
||||||
}
|
|
||||||
if (status === 'up to date') {
|
|
||||||
return 'up-to-date'
|
|
||||||
}
|
|
||||||
return 'out-of-date'
|
|
||||||
}
|
|
||||||
|
|
||||||
// -------------------------------------------------------------------
|
|
||||||
|
|
||||||
const _NotFound = () => <h1>{_('errorPageNotFound')}</h1>
|
const _NotFound = () => <h1>{_('errorPageNotFound')}</h1>
|
||||||
|
|
||||||
// Decorator to declare routes on a component.
|
// Decorator to declare routes on a component.
|
||||||
|
@ -20,7 +20,6 @@ import {
|
|||||||
connectStore,
|
connectStore,
|
||||||
formatSize,
|
formatSize,
|
||||||
getCoresPerSocketPossibilities,
|
getCoresPerSocketPossibilities,
|
||||||
normalizeXenToolsStatus,
|
|
||||||
osFamily,
|
osFamily,
|
||||||
} from 'utils'
|
} from 'utils'
|
||||||
import {
|
import {
|
||||||
@ -561,9 +560,7 @@ export default connectStore(() => {
|
|||||||
<tr>
|
<tr>
|
||||||
<th>{_('xenToolsStatus')}</th>
|
<th>{_('xenToolsStatus')}</th>
|
||||||
<td>
|
<td>
|
||||||
{_('xenToolsStatusValue', {
|
{vm.xenTools && `${vm.xenTools.major}.${vm.xenTools.minor}`}
|
||||||
status: normalizeXenToolsStatus(vm.xenTools),
|
|
||||||
})}
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
Loading…
Reference in New Issue
Block a user