Reviewed-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
On 10/30/2014 12:12 PM, Paulo Vital wrote:
Support to provide the information of the number of on-line CPUs
present in the Host system.
This patch also updated the API.md, mockmodel, unittests and English
help page to express the new information.
Signed-off-by: Paulo Vital <pvital(a)linux.vnet.ibm.com>
---
docs/API.md | 3 ++-
src/kimchi/mockmodel.py | 3 ++-
src/kimchi/model/host.py | 5 +++--
tests/test_model.py | 3 ++-
tests/test_rest.py | 3 ++-
ui/pages/help/en_US/host.dita | 4 ++--
ui/pages/tabs/host.html.tmpl | 6 +++++-
7 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/docs/API.md b/docs/API.md
index 6984649..fdfb04f 100644
--- a/docs/API.md
+++ b/docs/API.md
@@ -790,7 +790,8 @@ Contains information of host.
* **GET**: Retrieve host static information
* memory: Total size of host physical memory
The unit is Bytes
- * cpu: The model name of host CPU
+ * cpu_model: The model name of host CPU
+ * cpus: The number of online CPUs available on host
* os_distro: The OS distribution that runs on host
* os_version: The version of OS distribution
* os_codename: The code name of OS distribution
diff --git a/src/kimchi/mockmodel.py b/src/kimchi/mockmodel.py
index de9df0e..7163f8d 100644
--- a/src/kimchi/mockmodel.py
+++ b/src/kimchi/mockmodel.py
@@ -936,7 +936,8 @@ class MockModel(object):
def host_lookup(self, *name):
res = {}
res['memory'] = 6114058240
- res['cpu'] = 'Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz'
+ res['cpu_model'] = 'Intel(R) Core(TM) i5 CPU M 560 @
2.67GHz'
+ res['cpus'] = 4
res['os_distro'] = 'Red Hat Enterprise Linux Server'
res['os_version'] = '6.4'
res['os_codename'] = 'Santiago'
diff --git a/src/kimchi/model/host.py b/src/kimchi/model/host.py
index 1bc3ca2..8cddcdc 100644
--- a/src/kimchi/model/host.py
+++ b/src/kimchi/model/host.py
@@ -81,14 +81,15 @@ class HostModel(object):
def _get_host_info(self):
res = {}
if platform.machine().startswith('ppc'):
- res['cpu'] = self._get_ppc_cpu_info()
+ res['cpu_model'] = self._get_ppc_cpu_info()
else:
with open('/proc/cpuinfo') as f:
for line in f.xreadlines():
if "model name" in line:
- res['cpu'] = line.split(':')[1].strip()
+ res['cpu_model'] = line.split(':')[1].strip()
break
+ res['cpus'] = psutil.NUM_CPUS
res['memory'] = psutil.TOTAL_PHYMEM
# Include IBM PowerKVM name to supported distro names
diff --git a/tests/test_model.py b/tests/test_model.py
index 896540d..c06eaae 100644
--- a/tests/test_model.py
+++ b/tests/test_model.py
@@ -1298,7 +1298,8 @@ class ModelTests(unittest.TestCase):
objstore_loc=self.tmp_store)
info = inst.host_lookup()
distro, version, codename = platform.linux_distribution()
- self.assertIn('cpu', info)
+ self.assertIn('cpu_model', info)
+ self.assertIn('cpus', info)
self.assertEquals(distro, info['os_distro'])
self.assertEquals(version, info['os_version'])
self.assertEquals(unicode(codename, "utf-8"),
info['os_codename'])
diff --git a/tests/test_rest.py b/tests/test_rest.py
index 60dce2f..9bc930f 100644
--- a/tests/test_rest.py
+++ b/tests/test_rest.py
@@ -1753,8 +1753,9 @@ class RestTests(unittest.TestCase):
self.assertEquals('6.4', info['os_version'])
self.assertEquals('Santiago', info['os_codename'])
self.assertEquals('Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz',
- info['cpu'])
+ info['cpu_model'])
self.assertEquals(6114058240, info['memory'])
+ self.assertEquals(4, info['cpus'])
def test_hoststats(self):
stats_keys = ['cpu_utilization', 'memory',
'disk_read_rate',
diff --git a/ui/pages/help/en_US/host.dita b/ui/pages/help/en_US/host.dita
index 335c51c..0dcb670 100644
--- a/ui/pages/help/en_US/host.dita
+++ b/ui/pages/help/en_US/host.dita
@@ -24,8 +24,8 @@ to the host system, if it is not already connected.</li>
<dlentry>
<dt>Basic information</dt>
<dd>This section displays the host operating system distribution,
-version, and code name, as well as the processor type and amount of
-memory in GB.</dd>
+version, and code name, as well as the processor type, the number of
+online CPUs and amount of memory in GB.</dd>
</dlentry><dlentry>
<dt>System statistics</dt>
<dd>This section displays graphs to show statistics for CPU, memory,
diff --git a/ui/pages/tabs/host.html.tmpl b/ui/pages/tabs/host.html.tmpl
index 8641962..81266ce 100644
--- a/ui/pages/tabs/host.html.tmpl
+++ b/ui/pages/tabs/host.html.tmpl
@@ -72,7 +72,11 @@
</div>
<div class="section-row">
<div
class="section-label">$_("Processor")</div>
- <div class="section-value">{cpu}</div>
+ <div
class="section-value">{cpu_model}</div>
+ </div>
+ <div class="section-row">
+ <div
class="section-label">$_("CPU(s)")</div>
+ <div class="section-value">{cpus}</div>
</div>
<div class="section-row">
<div
class="section-label">$_("Memory")</div>