Reviewed-by: Daniel Barboza <danielhb(a)linux.vnet.ibm.com>
Tested-by: Daniel Barboza <danielhb(a)linux.vnet.ibm.com>
On 02/14/2014 03:26 PM, Aline Manera wrote:
From: Aline Manera <alinefm(a)br.ibm.com>
Hi all,
I helped Daniel to apply the suggestions made on reviews and I am resending his
patches.
v6:
- Addressed Royce's comments made on v5
------------------------------------------------------------------------------
This patch set implements host storage devices management.
It implements full CDROM device add, remove and update functionality.
It implements basic Disk functionalities.
Changelog:
v5:
- Addressed Aline's comments from her review in v4
v4:
- Imports fix, author fix, pep8 fixes
- Cut off HDD support
- lxml changes in model/vms.py
- test_model.py changes - add, update and remove cdroms
- existing device name verification in model/vms.py
- changed the code to use the new exception model
V3:
- Using lxml to parse the XML information in model/vms.py
- Addressed comments/suggestions from the ML in other files
V2:
- Add devices to mockmodel and add test cases to rest API
- Assign name automatically to new devices, if not passed by user
- Fix minor errors
To test this contribution:
- get info of all storages (cdrom and disks) of a VM
curl -u <user> -H "Content-Type: application/json" -H "Accept:
application/json"
http://localhost:8000/vms/<vm_name>/storages -X GET
- add a new cdrom to a VM
curl -u <user> -H "Content-Type: application/json" -H "Accept:
application/json"
http://localhost:8000/vms/<vm_name>/storages -X POST
-d'{"type": "cdrom", "path":
"<path_to_iso>"}'
- get specific info from cdrom device
curl -u <user> -H "Content-Type: application/json" -H "Accet:
application/json"
http://localhost:8000/vms/<vm_name>/storages/<dev_name>
-X GET
- delete a cdrom device from a VM
curl -u <user> -H "Content-Type: application/json" -H "Accet:
application/json"
http://localhost:8000/vms/<vm_name>/storages/<dev_name>
-X DELETE
- update a cdrom device from a VM
curl -u <user> -H "Content-Type: application/json" -H "Accet:
application/json"
http://localhost:8000/vms/<vm_name>/storages/<dev_name>
-X PUT -d '{"path":<path_to_iso>}'
Daniel Henrique Barboza (2):
CDROM Management: API.md and externalized error messages
CDROM Management: changes in tests/test_model.py
Rodrigo Trujillo (3):
CDROM Management: Update controller and API.json for guest storages
CDROM Management: Devices management model implementation
CDROM Management: Guest vm storage devices mockmodel and rest api
test cases
docs/API.md | 21 ++++
po/en_US.po | 70 +++++++++++-
po/kimchi.pot | 70 +++++++++++-
po/pt_BR.po | 70 +++++++++++-
po/zh_CN.po | 70 +++++++++++-
src/kimchi/API.json | 37 +++++++
src/kimchi/control/vm/storages.py | 49 ++++++++
src/kimchi/i18n.py | 12 ++
src/kimchi/mockmodel.py | 70 +++++++++++-
src/kimchi/model/vmstorages.py | 221 +++++++++++++++++++++++++++++++++++++
tests/test_model.py | 61 ++++++++++
tests/test_rest.py | 75 +++++++++++++
12 files changed, 817 insertions(+), 9 deletions(-)
create mode 100644 src/kimchi/control/vm/storages.py
create mode 100644 src/kimchi/model/vmstorages.py