[kimchi-devel][PATCH] Remove unsupported Fedora ISO link
by lvroyce@linux.vnet.ibm.com
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
As most mirrors of fedora repository removed ISOs of Fedora 18 and 19,
remove them from kimchi fedora.json to comply with tests.
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
---
src/distros.d/fedora.json | 14 --------------
tests/test_rest.py | 4 ++--
2 files changed, 2 insertions(+), 16 deletions(-)
diff --git a/src/distros.d/fedora.json b/src/distros.d/fedora.json
index cba0fe0..bce72d6 100644
--- a/src/distros.d/fedora.json
+++ b/src/distros.d/fedora.json
@@ -1,19 +1,5 @@
[
{
- "name": "Fedora 18",
- "os_distro": "fedora",
- "os_arch": "x86_64",
- "os_version": "18",
- "path": "http://fedora.mirrors.tds.net/pub/fedora/releases/18/Live/x86_64/Fedora-1..."
- },
- {
- "name": "Fedora 19",
- "os_distro": "fedora",
- "os_arch": "x86_64",
- "os_version": "19",
- "path": "http://fedora.mirrors.tds.net/pub/fedora/releases/19/Live/x86_64/Fedora-L..."
- },
- {
"name": "Fedora 20",
"os_distro": "fedora",
"os_arch": "x86_64",
diff --git a/tests/test_rest.py b/tests/test_rest.py
index f90b7e7..c520425 100644
--- a/tests/test_rest.py
+++ b/tests/test_rest.py
@@ -1509,13 +1509,13 @@ class RestTests(unittest.TestCase):
self.assertIn('path', distro)
# Test in X86
- ident = "Fedora 19"
+ ident = "Fedora 20"
resp = self.request('/config/distros/%s' % urllib2.quote(ident)).read()
distro = json.loads(resp)
if os.uname()[4] in ['x86_64', 'amd64']:
self.assertEquals(distro['name'], ident)
self.assertEquals(distro['os_distro'], "fedora")
- self.assertEquals(distro['os_version'], "19")
+ self.assertEquals(distro['os_version'], "20")
self.assertEquals(distro['os_arch'], "x86_64")
self.assertIn('path', distro)
else:
--
1.9.1
9 years, 9 months
[PATCH v4] Issue #587: Man page submission for kimchid
by Frédéric Bonnard
From: Frederic Bonnard <frediz(a)linux.vnet.ibm.com>
On Wed, 11 Mar 2015 12:25:50 -0300, Aline Manera <alinefm(a)linux.vnet.ibm.com> wrote:
> AFAIK, the environment options are: production and development
I put those in this new patch but I was wondering still because in src/kimchi I
don't see any occurence of 'development' concerning the environment, only things
like "not production" so any keyword would work actually ?
F.
Frederic Bonnard (1):
Issue #587: Man page submission for kimchid
COPYING | 5 +-
Makefile.am | 2 +
contrib/kimchi.spec.fedora.in | 4 ++
contrib/kimchi.spec.suse.in | 4 ++
docs/Makefile.am | 1 +
docs/kimchid.8 | 156 ++++++++++++++++++++++++++++++++++++++++++
6 files changed, 170 insertions(+), 2 deletions(-)
create mode 100644 docs/kimchid.8
--
1.9.1
9 years, 9 months
[PATCH] Filter template names with slash "/" and remove 'optional' from cdrom
by Rodrigo Trujillo
Users are allowed to create or update template names with "slash", this
generates an error when he tries to create a guest with that template
because the template name is used as URL. Actually, API.json already
prohibits, the vm creation with the use of the pattern
"^/templates/[^/]+/?$", during the json fields validation.
So, this patch modifies the regular expression used to validate the
template names, prohibiting slashes.
This patch also removes the "optional" word from API.md text, once this
field is required to create a new template.
Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo(a)linux.vnet.ibm.com>
---
docs/API.md | 2 +-
src/kimchi/API.json | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/docs/API.md b/docs/API.md
index 3f7925f..656ddf0 100644
--- a/docs/API.md
+++ b/docs/API.md
@@ -232,7 +232,7 @@ Represents a snapshot of the Virtual Machine's primary monitor.
will default to a product of the topology values (see cpu_info).
* memory *(optional)*: The amount of memory assigned to the VM.
Default is 1024M.
- * cdrom *(optional)*: A volume name or URI to an ISO image.
+ * cdrom: A volume name or URI to an ISO image.
* storagepool *(optional)*: URI of the storagepool.
Default is '/storagepools/default'
* networks *(optional)*: list of networks will be assigned to the new VM.
diff --git a/src/kimchi/API.json b/src/kimchi/API.json
index 0cfa20c..a318c4e 100644
--- a/src/kimchi/API.json
+++ b/src/kimchi/API.json
@@ -395,7 +395,7 @@
"name": {
"description": "The name of the template",
"type": "string",
- "pattern": "^[^ ]+( +[^ ]+)*$",
+ "pattern": "^[^ /]+[^/]+[^ /]+$",
"minLength": 1,
"error": "KCHTMPL0008E"
},
@@ -567,7 +567,7 @@
"name": {
"description": "The name of the template",
"type": "string",
- "pattern": "^[^ ]+( +[^ ]+)*$",
+ "pattern": "^[^ /]+[^/]+[^ /]+$",
"minLength": 1,
"error": "KCHTMPL0008E"
},
--
2.1.0
9 years, 9 months
[PATCH v2] Remove Non-ASCII chars from tests when unnecessary
by Christy Perez
A domain with non-ASCII characters will fail to start. There are
several tests that use such characters, and these tests fail. None
of the failing tests are required to test the validity of non-ascii
characters, so it's best to remove them and create seperate tests
explicitly for these chracters. This way we will not be masking actual
issues by ignoring an expected failure.
The issue was first noticed with libvirt 1.1.3.
The character issue is discussed in this bug:
https://bugzilla.redhat.com/show_bug.cgi?id=1062943
Signed-off-by: Christy Perez <christy(a)linux.vnet.ibm.com>
---
tests/test_model.py | 112 +++++++++++++++++++++++++++-----------
tests/test_model_network.py | 6 +-
tests/test_model_storagepool.py | 27 +++++++++
tests/test_model_storagevolume.py | 1 -
4 files changed, 113 insertions(+), 33 deletions(-)
diff --git a/tests/test_model.py b/tests/test_model.py
index f80f1c9..ada7498 100644
--- a/tests/test_model.py
+++ b/tests/test_model.py
@@ -97,6 +97,44 @@ def test_vm_info(self):
self.assertTrue(info['persistent'])
@unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
+ def test_non_ascii_vm_name(self):
+ inst = model.Model(objstore_loc=self.tmp_store)
+
+ with RollbackContext() as rollback:
+ vol_params = {'name': u'test-vol', 'capacity': 1024}
+ task = inst.storagevolumes_create(u'default', vol_params)
+ rollback.prependDefer(inst.storagevolume_delete, u'default',
+ vol_params['name'])
+ inst.task_wait(task['id'])
+ task = inst.task_lookup(task['id'])
+ self.assertEquals('finished', task['status'])
+ vol = inst.storagevolume_lookup(u'default', vol_params['name'])
+
+ # Create template
+ params = {'name': 'test', 'disks': [{'base': vol['path'],
+ 'size': 1}],
+ 'cdrom': self.kimchi_iso}
+ inst.templates_create(params)
+ rollback.prependDefer(inst.template_delete, 'test')
+
+ # Create VM with non-ascii char name
+ params = {'name': u'��e��-�����', 'template': '/templates/test'}
+ inst.vms_create(params)
+ rollback.prependDefer(inst.vm_delete, u'��e��-�����')
+
+ vms = inst.vms_get_list()
+ self.assertTrue(u'��e��-�����' in vms)
+
+ # Start VM
+ # Note: This fails with libvirt > 1.1.3
+ inst.vm_start(u'��e��-�����')
+ info = inst.vm_lookup(u'��e��-�����')
+ self.assertEquals('running', info['state'])
+
+ vms = inst.vms_get_list()
+ self.assertFalse(u'��e��-�����' in vms)
+
+ @unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
def test_vm_lifecycle(self):
inst = model.Model(objstore_loc=self.tmp_store)
@@ -620,6 +658,18 @@ def test_template_storage_customise(self):
params = {'storagepool': '/storagepools/default'}
inst.template_update('test', params)
+ def test_non_ascii_template_create(self):
+ inst = model.Model('test:///default',
+ objstore_loc=self.tmp_store)
+
+ with RollbackContext() as rollback:
+ params = {'name': u'��e��-te��plate', 'memory': 1024, 'cpus': 1,
+ 'cdrom': self.kimchi_iso}
+ inst.templates_create(params)
+ rollback.prependDefer(inst.template_delete, u'��e��-te��plate')
+ info = inst.template_lookup(u'��e��-te��plate')
+ self.assertEquals(info['name'], u'��e��-te��plate')
+
@unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
def test_template_create(self):
inst = model.Model('test:///default',
@@ -737,7 +787,7 @@ def test_template_update(self):
inst.network_activate(net_name)
rollback.prependDefer(inst.network_deactivate, net_name)
- net_name = u'k������h��-��et'
+ net_name = u'kimchi-net'
net_args = {'name': net_name,
'connection': 'nat',
'subnet': '127.0.20.0/24'}
@@ -764,7 +814,7 @@ def test_template_update(self):
self.assertEquals("default", info["networks"][0])
params = {'name': 'new-test', 'memory': 1024, 'cpus': 1,
- 'networks': ['default', 'test-network', u'k������h��-��et']}
+ 'networks': ['default', 'test-network', u'kimchi-net']}
inst.template_update('new-test', params)
info = inst.template_lookup('new-test')
for key in params.keys():
@@ -792,7 +842,7 @@ def test_template_update(self):
self.assertEquals('some-vm', inst.vms_create(params))
rollback.prependDefer(inst.vm_delete, 'some-vm')
- iface_args = {'type': 'network', 'network': u'k������h��-��et'}
+ iface_args = {'type': 'network', 'network': u'kimchi-net'}
mac = inst.vmifaces_create('some-vm', iface_args)
self.assertEquals(17, len(mac))
@@ -865,52 +915,52 @@ def test_vm_edit(self):
self.assertRaises(OperationFailed, inst.vm_update,
'kimchi-vm1', {'name': 'kimchi-vm2'})
- params = {'name': u'��e��-�����', 'cpus': 4, 'memory': 2048}
+ params = {'name': u'new-vm', 'cpus': 4, 'memory': 2048}
inst.vm_update('kimchi-vm1', params)
rollback.prependDefer(utils.rollback_wrapper, inst.vm_delete,
- u'��e��-�����')
- self.assertEquals(info['uuid'], inst.vm_lookup(u'��e��-�����')['uuid'])
- info = inst.vm_lookup(u'��e��-�����')
+ u'new-vm')
+ self.assertEquals(info['uuid'], inst.vm_lookup(u'new-vm')['uuid'])
+ info = inst.vm_lookup(u'new-vm')
for key in params.keys():
self.assertEquals(params[key], info[key])
# change only VM users - groups are not changed (default is empty)
users = inst.users_get_list()[:3]
- inst.vm_update(u'��e��-�����', {'users': users})
- self.assertEquals(users, inst.vm_lookup(u'��e��-�����')['users'])
- self.assertEquals([], inst.vm_lookup(u'��e��-�����')['groups'])
+ inst.vm_update(u'new-vm', {'users': users})
+ self.assertEquals(users, inst.vm_lookup(u'new-vm')['users'])
+ self.assertEquals([], inst.vm_lookup(u'new-vm')['groups'])
# change only VM groups - users are not changed (default is empty)
groups = inst.groups_get_list()[:2]
- inst.vm_update(u'��e��-�����', {'groups': groups})
- self.assertEquals(users, inst.vm_lookup(u'��e��-�����')['users'])
- self.assertEquals(groups, inst.vm_lookup(u'��e��-�����')['groups'])
+ inst.vm_update(u'new-vm', {'groups': groups})
+ self.assertEquals(users, inst.vm_lookup(u'new-vm')['users'])
+ self.assertEquals(groups, inst.vm_lookup(u'new-vm')['groups'])
# change VM users and groups by adding a new element to each one
users.append(pwd.getpwuid(os.getuid()).pw_name)
groups.append(grp.getgrgid(os.getgid()).gr_name)
- inst.vm_update(u'��e��-�����', {'users': users, 'groups': groups})
- self.assertEquals(users, inst.vm_lookup(u'��e��-�����')['users'])
- self.assertEquals(groups, inst.vm_lookup(u'��e��-�����')['groups'])
+ inst.vm_update(u'new-vm', {'users': users, 'groups': groups})
+ self.assertEquals(users, inst.vm_lookup(u'new-vm')['users'])
+ self.assertEquals(groups, inst.vm_lookup(u'new-vm')['groups'])
# change VM users (wrong value) and groups
# when an error occurs, everything fails and nothing is changed
- self.assertRaises(InvalidParameter, inst.vm_update, u'��e��-�����',
+ self.assertRaises(InvalidParameter, inst.vm_update, u'new-vm',
{'users': ['userdoesnotexist'], 'groups': []})
- self.assertEquals(users, inst.vm_lookup(u'��e��-�����')['users'])
- self.assertEquals(groups, inst.vm_lookup(u'��e��-�����')['groups'])
+ self.assertEquals(users, inst.vm_lookup(u'new-vm')['users'])
+ self.assertEquals(groups, inst.vm_lookup(u'new-vm')['groups'])
# change VM users and groups (wrong value)
# when an error occurs, everything fails and nothing is changed
- self.assertRaises(InvalidParameter, inst.vm_update, u'��e��-�����',
+ self.assertRaises(InvalidParameter, inst.vm_update, u'new-vm',
{'users': [], 'groups': ['groupdoesnotexist']})
- self.assertEquals(users, inst.vm_lookup(u'��e��-�����')['users'])
- self.assertEquals(groups, inst.vm_lookup(u'��e��-�����')['groups'])
+ self.assertEquals(users, inst.vm_lookup(u'new-vm')['users'])
+ self.assertEquals(groups, inst.vm_lookup(u'new-vm')['groups'])
# change VM users and groups by removing all elements
- inst.vm_update(u'��e��-�����', {'users': [], 'groups': []})
- self.assertEquals([], inst.vm_lookup(u'��e��-�����')['users'])
- self.assertEquals([], inst.vm_lookup(u'��e��-�����')['groups'])
+ inst.vm_update(u'new-vm', {'users': [], 'groups': []})
+ self.assertEquals([], inst.vm_lookup(u'new-vm')['users'])
+ self.assertEquals([], inst.vm_lookup(u'new-vm')['groups'])
def test_multithreaded_connection(self):
def worker():
@@ -1090,19 +1140,19 @@ def test_delete_running_vm(self):
inst.templates_create(params)
rollback.prependDefer(inst.template_delete, 'test')
- params = {'name': u'k������h��-�����', 'template': u'/templates/test'}
+ params = {'name': 'kimchi-vm', 'template': u'/templates/test'}
inst.vms_create(params)
rollback.prependDefer(utils.rollback_wrapper, inst.vm_delete,
- u'k������h��-�����')
+ 'kimchi-vm')
- inst.vm_start(u'k������h��-�����')
+ inst.vm_start('kimchi-vm')
rollback.prependDefer(utils.rollback_wrapper, inst.vm_poweroff,
- u'k������h��-�����')
+ 'kimchi-vm')
- inst.vm_delete(u'k������h��-�����')
+ inst.vm_delete('kimchi-vm')
vms = inst.vms_get_list()
- self.assertFalse(u'k������h��-�����' in vms)
+ self.assertFalse('kimchi-vm' in vms)
@unittest.skipUnless(utils.running_as_root(), 'Must be run as root')
def test_vm_list_sorted(self):
diff --git a/tests/test_model_network.py b/tests/test_model_network.py
index 5dbe54d..c61f37c 100644
--- a/tests/test_model_network.py
+++ b/tests/test_model_network.py
@@ -99,6 +99,10 @@ class NetworkTests(unittest.TestCase):
def setUp(self):
self.request = partial(request, host, ssl_port)
+ def test_non_ascii_net_names(self):
+ net = {'name': u'k������h��-��et', 'connection': 'isolated'}
+ _do_network_test(self, model, net)
+
def test_get_networks(self):
networks = json.loads(self.request('/networks').read())
self.assertIn('default', [net['name'] for net in networks])
@@ -127,7 +131,7 @@ def test_get_networks(self):
def test_network_lifecycle(self):
# Verify all the supported network type
- networks = [{'name': u'k������h��-��et', 'connection': 'isolated'},
+ networks = [{'name': u'kimchi-net', 'connection': 'isolated'},
{'name': u'nat-network', 'connection': 'nat'},
{'name': u'subnet-network', 'connection': 'nat',
'subnet': '127.0.100.0/24'}]
diff --git a/tests/test_model_storagepool.py b/tests/test_model_storagepool.py
index eabf875..de4469d 100644
--- a/tests/test_model_storagepool.py
+++ b/tests/test_model_storagepool.py
@@ -60,6 +60,33 @@ class StoragepoolTests(unittest.TestCase):
def setUp(self):
self.request = partial(request, host, ssl_port)
+ def test_non_ascii_storagepool_name(self):
+ storagepools = json.loads(self.request('/storagepools').read())
+ self.assertIn('default', [pool['name'] for pool in storagepools])
+
+ with RollbackContext() as rollback:
+ name = u'k������h��-storagepool'
+ req = json.dumps({'name': name, 'type': 'dir',
+ 'path': '/var/lib/libvirt/images/test_pool'})
+ resp = self.request('/storagepools', req, 'POST')
+ rollback.prependDefer(model.storagepool_delete, name)
+
+ self.assertEquals(201, resp.status)
+
+ # Verify pool information
+ resp = self.request('/storagepools/%s' % name.encode("utf-8"))
+ p = json.loads(resp.read())
+ keys = [u'name', u'state', u'capacity', u'allocated',
+ u'available', u'path', u'source', u'type',
+ u'nr_volumes', u'autostart', u'persistent']
+ self.assertEquals(sorted(keys), sorted(p.keys()))
+ self.assertEquals(name, p['name'])
+ resp = self.request('/storagepools/%s/activate'
+ % name.encode('utf-8'), req, 'POST')
+ rollback.prependDefer(model.storagepool_deactivate, name)
+ p = json.loads(resp.read())
+ self.assertEquals('active', p['state'])
+
def test_get_storagepools(self):
storagepools = json.loads(self.request('/storagepools').read())
self.assertIn('default', [pool['name'] for pool in storagepools])
diff --git a/tests/test_model_storagevolume.py b/tests/test_model_storagevolume.py
index a3c3ce3..39531e9 100644
--- a/tests/test_model_storagevolume.py
+++ b/tests/test_model_storagevolume.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
#
# Project Kimchi
#
--
2.1.0
9 years, 9 months
[PATCH V2] RHEL7: Guide user to install spice-html5
by Aline Manera
spice-html5 is now available on RHEL7 EPEL repository, so we need to
guide user to install and use it.
For reference:
- (RHEL6) http://mirror.globo.com/epel/6/x86_64/repoview/spice-html5.html
- (RHEL7) http://mirror.globo.com/epel/7/x86_64/repoview/spice-html5.html
Signed-off-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
---
contrib/kimchi.spec.fedora.in | 2 +-
docs/README.md | 10 ++++------
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in
index d80081a..16a44a0 100644
--- a/contrib/kimchi.spec.fedora.in
+++ b/contrib/kimchi.spec.fedora.in
@@ -34,7 +34,7 @@ Requires: libguestfs-tools
BuildRequires: libxslt
BuildRequires: python-lxml
-%if 0%{?rhel} == 6 || 0%{?fedora} >= 19
+%if 0%{?rhel} >= 6 || 0%{?fedora} >= 19
Requires: spice-html5
%endif
diff --git a/docs/README.md b/docs/README.md
index db65c0d..4b14814 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -55,13 +55,11 @@ Install Dependencies
python-ipaddr python-ldap python-lxml nfs-utils \
iscsi-initiator-utils libxslt pyparted nginx \
python-libguestfs libguestfs-tools python-websockify \
- novnc
+ novnc spice-html5
- # If using RHEL6 or Fedora, install the following additional package:
- $ sudo yum install spice-html5
-
- # If using RHEL6, install the following additional packages:
+ # If using RHEL, install the following additional packages:
$ sudo yum install python-unittest2 python-ordereddict
+
# Restart libvirt to allow configuration changes to take effect
$ sudo service libvirtd restart
@@ -127,7 +125,7 @@ information on how configure your system to access this repository.
Build and Install
-----------------
- For RHEL7 and openSUSE 13.1:
+ For openSUSE 13.1:
$ ./autogen.sh --with-spice-html5
Otherwise:
--
2.1.0
9 years, 9 months
[kimchi-devel][PATCH 0/2] Fix vcpu updating
by lvroyce@linux.vnet.ibm.com
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
vcpu validation need to be checked when both updating cpu topology
and cpu count only. This patch fix this case and its tests.
Royce Lv (2):
Fix update vcpu count: Check available vcpu count before update
Ignore cpu test case when exceed host cpu count
src/kimchi/model/cpuinfo.py | 8 +++++--
src/kimchi/model/templates.py | 7 +++---
tests/test_model.py | 54 ++++++++++++++++++++++++++++---------------
tests/utils.py | 5 ++++
4 files changed, 51 insertions(+), 23 deletions(-)
--
1.9.1
9 years, 9 months
[PATCH 0/2] Template tests
by Aline Manera
Aline Manera (2):
bug fix: Allow adding a iSCSI/SCSI volume from a non-ASCII pool to a
template
Template tests
src/kimchi/model/templates.py | 4 +-
tests/test_mockmodel.py | 70 +--------
tests/test_model.py | 238 -----------------------------
tests/test_rest.py | 337 ----------------------------------------
tests/test_template.py | 348 ++++++++++++++++++++++++++++++++++++++++++
5 files changed, 351 insertions(+), 646 deletions(-)
create mode 100644 tests/test_template.py
--
2.1.0
9 years, 9 months
[PATCH] RHEL7: Guide user to install spice-html5
by Aline Manera
spice-html5 is now available on RHEL7 EPEL repository, so we need to
guide user to install and use it.
For reference:
- (RHEL6) http://mirror.globo.com/epel/6/x86_64/repoview/spice-html5.html
- (RHEL7) http://mirror.globo.com/epel/7/x86_64/repoview/spice-html5.html
Signed-off-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
---
docs/README.md | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/docs/README.md b/docs/README.md
index db65c0d..4b14814 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -55,13 +55,11 @@ Install Dependencies
python-ipaddr python-ldap python-lxml nfs-utils \
iscsi-initiator-utils libxslt pyparted nginx \
python-libguestfs libguestfs-tools python-websockify \
- novnc
+ novnc spice-html5
- # If using RHEL6 or Fedora, install the following additional package:
- $ sudo yum install spice-html5
-
- # If using RHEL6, install the following additional packages:
+ # If using RHEL, install the following additional packages:
$ sudo yum install python-unittest2 python-ordereddict
+
# Restart libvirt to allow configuration changes to take effect
$ sudo service libvirtd restart
@@ -127,7 +125,7 @@ information on how configure your system to access this repository.
Build and Install
-----------------
- For RHEL7 and openSUSE 13.1:
+ For openSUSE 13.1:
$ ./autogen.sh --with-spice-html5
Otherwise:
--
2.1.0
9 years, 9 months
[PATCH 0/6] Kimchi Dialog refine patch
by Wen Wang
1) Change radio buttons in all dialogs
2) Change checkboxes in all dialogs
3) Change textbox in all dialogs
4) Change all the buttons in all dialogs
5) Change template display to new kimchi UI
Wen Wang (6):
UI: complete kimchi dialog exchange for frist 4 tabs
UI: kimchi Host dialog Refine.
UI: Chnage dialog radio and checkbox to new kimchi style
UI: Guest tab dialog refine
UI: Template dialog refine
UI: Storage dialog refined
ui/css/theme-default/guest-edit.css | 38 +++++++--
ui/css/theme-default/network.css | 9 +++
ui/css/theme-default/report-add.css | 4 +-
ui/css/theme-default/report-rename.css | 4 +-
ui/css/theme-default/repository-add.css | 8 +-
ui/css/theme-default/repository-edit.css | 8 +-
ui/css/theme-default/storage.css | 6 ++
ui/css/theme-default/template-edit.css | 12 +--
ui/css/theme-default/template_add.css | 100 +++++++++---------------
ui/css/theme-default/window.css | 2 +-
ui/js/src/kimchi.guest_edit_main.js | 15 +---
ui/js/src/kimchi.network.js | 18 ++++-
ui/js/src/kimchi.repository_add_main.js | 21 +++++
ui/js/src/kimchi.repository_edit_main.js | 16 ++++
ui/js/src/kimchi.storagepool_add_main.js | 11 +++
ui/js/src/kimchi.storagepool_add_volume_main.js | 17 ++++
ui/js/src/kimchi.template_add_main.js | 33 +++++++-
ui/js/src/kimchi.template_edit_main.js | 12 +++
ui/pages/guest-edit.html.tmpl | 15 +++-
ui/pages/guest-storage-add.html.tmpl | 30 ++++---
ui/pages/i18n.json.tmpl | 2 +
ui/pages/repository-add.html.tmpl | 3 +-
ui/pages/repository-edit.html.tmpl | 6 +-
ui/pages/storagepool-add-volume.html.tmpl | 6 +-
ui/pages/storagepool-add.html.tmpl | 3 +-
ui/pages/tabs/network.html.tmpl | 14 ++--
ui/pages/template-add.html.tmpl | 82 ++++++++++---------
ui/pages/template-edit.html.tmpl | 6 +-
28 files changed, 339 insertions(+), 162 deletions(-)
--
2.1.0
9 years, 9 months