When I tried to update the MAC address in a *running* guest I got the
following error on console and no details on UI:
Request Headers:
COOKIE: kimchi=e80c44db2648eb64913d2536ad141ab5873bb358;
username=alinefm;
roles=%7B%22templates%22%3A%22admin%22%2C%22host%22%3A%22admin%22%2C%22storage%22%3A%22admin%22%2C%22guests%22%3A%22admin%22%2C%22network%22%3A%22admin%22%7D;
lastPage="/#tabs/guests"
Remote-Addr: 127.0.0.1
X-REAL-IP: 127.0.0.1
Content-Length: 60
USER-AGENT: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0)
Gecko/20100101 Firefox/38.0
CONNECTION: close
REFERER:
https://localhost:8001/
X-REQUESTED-WITH: XMLHttpRequest
HOST: localhost
ACCEPT: application/json, text/javascript, */*; q=0.01
ACCEPT-LANGUAGE: en-US,en;q=0.5
X-FORWARDED-FOR: 127.0.0.1
Content-Type: application/json; charset=UTF-8
ACCEPT-ENCODING: gzip, deflate
[27/May/2015:13:46:26] HTTP Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/cherrypy/_cprequest.py", line
670, in respond
response.body = self.handler()
File "/usr/lib/python2.7/dist-packages/cherrypy/lib/encoding.py",
line 217, in __call__
self.body = self.oldhandler(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/cherrypy/_cpdispatch.py", line
61, in __call__
return self.callable(*self.args, **self.kwargs)
File "/home/alinefm/kimchi/src/kimchi/control/base.py", line 170, in
index
'PUT': self.update}[method](*args, **kargs)
File "/home/alinefm/kimchi/src/kimchi/control/base.py", line 209, in
update
ident = update(*args)
File "/home/alinefm/kimchi/src/kimchi/model/vmifaces.py", line 174,
in update
dom.detachDeviceFlags(xml, flags=flags)
File "/home/alinefm/kimchi/src/kimchi/model/libvirtconnection.py",
line 66, in wrapper
ret = f(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/libvirt.py", line 1091, in
detachDeviceFlags
if ret == -1: raise libvirtError ('virDomainDetachDeviceFlags()
failed', dom=self)
libvirtError: operation failed: no device matching mac address
52:54:00:10:8d:f7 found on 0000:00:0c.0
If it not possible to edit the MAC address for a running guest, we
should properly check the guest state and raise an exception and also
get the edit action disabled on UI.
On 27/05/2015 09:36, Jose Ricardo Ziviani wrote:
V3:
- Updated API.json to filter mac address.
- Improved UI code.
V2:
- Updated API.json to reflect only mac address as required parameter.
- Removed input text filters.
- Updated error message.
This patchset implements a new feature in Kimchi, it allows users to view and/or edit a
guest MAC address.
I have a fork of kimchi in my github, so if you prefer to use their diff tool (syntax
highlight) you can check this link out:
https://github.com/kimchi-project/kimchi/compare/master...jrziviani:guest...
Jose Ricardo Ziviani (3):
Implement backend code to edit MAC address of a guest
Implement frontend code to edit MAC address of a guest
Update test cases to reflect MAC address update changes
src/kimchi/API.json | 22 ++++++++---------
src/kimchi/i18n.py | 4 +++-
src/kimchi/model/vmifaces.py | 47 +++++++++++++++++++++++--------------
tests/test_model.py | 17 +++++++++++---
tests/test_rest.py | 12 ++++++----
ui/js/src/kimchi.guest_edit_main.js | 44 +++++++++++++++++++++++-----------
ui/pages/guest-edit.html.tmpl | 6 +++--
7 files changed, 99 insertions(+), 53 deletions(-)