From: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
Support lookup and update method for ticket.
Signed-off-by: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
---
src/kimchi/mockmodel.py | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/kimchi/mockmodel.py b/src/kimchi/mockmodel.py
index d1cec70..3309759 100644
--- a/src/kimchi/mockmodel.py
+++ b/src/kimchi/mockmodel.py
@@ -782,6 +782,23 @@ def vmiface_update(self, vm, mac, params):
info['model'] = params['model']
return mac
+ def vmticket_lookup(self, vm):
+ dom = self._get_vm(vm)
+ to = dom.ticket.get('passwdValidTo')
+ if to is not None and to <= time.time():
+ raise OperationFailed("KCHVM0031E", {'name': vm})
+ return {"passwd": dom.ticket['passwd']}
+
+ def vmticket_update(self, vm, params):
+ dom = self._get_vm(vm)
+ password = params.get("passwd")
+ password = password if password is not None else "".join(
+ random.sample(string.ascii_letters + string.digits, 8))
+ expire = params.get("expire")
+ dom.ticket['passwd'] = password
+ if expire is not None:
+ dom.ticket['passwdValidTo'] = time.time() + expire
+
def tasks_get_list(self):
with self.objstore as session:
return session.get_list('task')
@@ -1033,6 +1050,7 @@ def __init__(self, uuid, name, template_info):
self.networks = template_info['networks']
ifaces = [MockVMIface(net) for net in self.networks]
self.storagedevices = {}
+ self.ticket = {"passwd": "123456"}
self.ifaces = dict([(iface.info['mac'], iface) for iface in ifaces])
stats = {'cpu_utilization': 20,
--
1.9.3