implement cache data for zvm inspector
CacheData class is used in zvm inspector to cache instance data when getting instance performance info. Change-Id: Icc3422d8322d7246840841fbde7bb3abb6ce7213
This commit is contained in:
parent
fdc488f33f
commit
907ecc0a53
|
@ -33,6 +33,25 @@ class ZVMException(inspector.InspectorException):
|
|||
pass
|
||||
|
||||
|
||||
class CacheData(object):
|
||||
|
||||
def __init__(self):
|
||||
self.cache = {}
|
||||
|
||||
def set(self, inst_stat):
|
||||
self.cache[inst_stat['nodename']] = inst_stat
|
||||
|
||||
def get(self, inst_name):
|
||||
return self.cache.get(inst_name, None)
|
||||
|
||||
def delete(self, inst_name):
|
||||
if inst_name in self.cache:
|
||||
del self.cache[inst_name]
|
||||
|
||||
def clear(self):
|
||||
self.cache = {}
|
||||
|
||||
|
||||
class XCATUrl(object):
|
||||
"""To return xCAT url for invoking xCAT REST API."""
|
||||
def __init__(self):
|
||||
|
|
|
@ -116,3 +116,33 @@ class TestZVMUtils(base.BaseTestCase):
|
|||
xcat_req.assert_any_call('PUT',
|
||||
'/xcatws/nodes/node/dsh?userName=user&password=pwd&format=json',
|
||||
['command=cmds'])
|
||||
|
||||
|
||||
class TestCacheData(base.BaseTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(TestCacheData, self).setUp()
|
||||
self.cache_data = zvmutils.CacheData()
|
||||
|
||||
def tearDown(self):
|
||||
self.cache_data.clear()
|
||||
super(TestCacheData, self).tearDown()
|
||||
|
||||
def test_set(self):
|
||||
self.cache_data.set({'nodename': 'node'})
|
||||
self.assertEqual({'nodename': 'node'}, self.cache_data.cache['node'])
|
||||
|
||||
def test_get(self):
|
||||
self.cache_data.set({'nodename': 'node'})
|
||||
self.assertEqual({'nodename': 'node'}, self.cache_data.get('node'))
|
||||
|
||||
def test_delete(self):
|
||||
self.cache_data.set({'nodename': 'node'})
|
||||
self.cache_data.delete('node')
|
||||
self.assertEqual(None, self.cache_data.get('node'))
|
||||
|
||||
def test_clear(self):
|
||||
self.cache_data.set({'nodename': 'node1'})
|
||||
self.cache_data.set({'nodename': 'node2'})
|
||||
self.cache_data.clear()
|
||||
self.assertEqual({}, self.cache_data.cache)
|
||||
|
|
Loading…
Reference in New Issue