[PATCH v2 0/2] Issue #670: openSUSE: problem while building Kimchi
by Ramon Medeiros
Changes:
v2:
Do not use systemd macros. Copy systemd commands from fedora spec
Ramon Medeiros (2):
Issue #670: openSUSE: problem while building Kimchi
Issue #670: openSUSE: problem while building Kimchi
Makefile.am | 4 ++--
contrib/kimchi.spec.suse.in | 38 ++++++++++++++++++++++++++++++++++----
2 files changed, 36 insertions(+), 6 deletions(-)
--
2.1.0
9 years, 6 months
[PATCH 0/2] Issue #670: openSUSE: problem while building Kimchi
by Ramon Medeiros
Ramon Medeiros (2):
Issue #670: openSUSE: problem while building Kimchi
Issue #670: openSUSE: problem while building Kimchi
Makefile.am | 4 ++--
contrib/kimchi.spec.suse.in | 40 ++++++++++++++++++++++++++++++++++++----
2 files changed, 38 insertions(+), 6 deletions(-)
--
2.1.0
9 years, 6 months
Plans for next release
by Aline Manera
Hi all,
As Kimchi 1.5 was released last week, now it is time to plan the next
release.
As we have discussed in the last scrum meeting, we will do a
stabilization release, ie, Kimchi 1.5.1, to cover bug fixes and
enhancements for the existing features.
Kimchi 1.5.1 will be announced on Sept 25th. You can check the detailed
schedule at: https://github.com/kimchi-project/kimchi/wiki/Planning-1.5.1
Regards,
Aline Manera
9 years, 6 months
[PATCH] Github 663: software update improvements
by dhbarboza82@gmail.com
From: Daniel Henrique Barboza <dhbarboza82(a)gmail.com>
- started considering just the return code of yum check-update
instead of the existence of error output
- ignoring any package declared after the 'Obsoleting Packages'
warning
Signed-off-by: Daniel Henrique Barboza <dhbarboza82(a)gmail.com>
---
src/kimchi/yumparser.py | 14 +++++++++++++-
tests/test_yumparser.py | 5 ++---
2 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/kimchi/yumparser.py b/src/kimchi/yumparser.py
index 8151f86..792c3ae 100644
--- a/src/kimchi/yumparser.py
+++ b/src/kimchi/yumparser.py
@@ -229,10 +229,21 @@ def _include_line_checkupdate_output(line):
return True
+def _ignore_obsoleting_packages_in(output):
+ out = ''
+ for l in output.split('\n'):
+ if 'Obsoleting ' in l:
+ break
+ out += l + '\n'
+ return out
+
+
def _filter_lines_checkupdate_output(output):
if output is None:
return []
+ output = _ignore_obsoleting_packages_in(output)
+
out = [l for l in output.split('\n')
if _include_line_checkupdate_output(l)]
return out
@@ -244,7 +255,8 @@ def _get_yum_checkupdate_output():
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
out, error = yum_update_cmd.communicate()
- if error != '':
+ return_code = yum_update_cmd.returncode
+ if return_code == 1:
return None
return out
diff --git a/tests/test_yumparser.py b/tests/test_yumparser.py
index 69f411a..53a2d80 100644
--- a/tests/test_yumparser.py
+++ b/tests/test_yumparser.py
@@ -154,9 +154,8 @@ class YumParserTests(unittest.TestCase):
def test_yum_checkupdate_parsing(self):
output = _generate_yumcheckupdate_output()
packages = get_yum_packages_list_update(output)
- self.assertEqual(len(packages), 5)
+ self.assertEqual(len(packages), 3)
self.assertEqual(packages[0].ui_from_repo, 'REPOSITORY1')
self.assertEqual(packages[1].version, '20150611.-no-FAKE2')
self.assertEqual(packages[2].name, 'PACKAGE3.dot.dot')
- self.assertEqual(packages[3].arch, 'i386')
- self.assertEqual(packages[4].arch, 'fakearch')
+ self.assertEqual(packages[2].arch, 'i386')
--
2.4.3
9 years, 6 months
[PATCH] Bug fix: Allow creating a pool using an existing path
by Aline Manera
In the newer libvirt version, virStoragePool.build() raises an error when the
target path already exists.
To avoid errors related to that, make sure that exception is properly handled.
Also add a test case to cover this scenario.
Signed-off-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
---
src/kimchi/model/storagepools.py | 33 +++++++++++++++++++++++----------
tests/test_model_storagepool.py | 12 +++++++++++-
2 files changed, 34 insertions(+), 11 deletions(-)
diff --git a/src/kimchi/model/storagepools.py b/src/kimchi/model/storagepools.py
index f022deb..aa075cd 100644
--- a/src/kimchi/model/storagepools.py
+++ b/src/kimchi/model/storagepools.py
@@ -101,9 +101,6 @@ class StoragePoolsModel(object):
xml = ET.tostring(pool)
try:
pool = conn.storagePoolDefineXML(xml, 0)
- # Add build step to make sure target directory created
- pool.build(libvirt.VIR_STORAGE_POOL_BUILD_NEW)
- pool.setAutostart(1)
except libvirt.libvirtError, e:
msg = "Fatal: Unable to create storage pool %s. "
msg += error_msg
@@ -111,6 +108,17 @@ class StoragePoolsModel(object):
kimchi_log.error("Details: %s", e.message)
sys.exit(1)
+ # Build and set autostart value to pool
+ # Ignore error as the pool was already successfully created
+ try:
+ # Add build step to make sure target directory created
+ # The build process may fail when the pool directory
+ # already exists on system
+ pool.build(libvirt.VIR_STORAGE_POOL_BUILD_NEW)
+ pool.setAutostart(1)
+ except:
+ pass
+
if pool.isActive() == 0:
try:
pool.create(0)
@@ -182,18 +190,23 @@ class StoragePoolsModel(object):
return name
pool = conn.storagePoolDefineXML(xml, 0)
+ except libvirt.libvirtError as e:
+ kimchi_log.error("Problem creating Storage Pool: %s", e)
+ raise OperationFailed("KCHPOOL0007E",
+ {'name': name, 'err': e.get_error_message()})
+
+ # Build and set autostart value to pool
+ # Ignore error as the pool was already successfully created
+ # The build process fails when the pool directory already exists
+ try:
if params['type'] in ['logical', 'dir', 'netfs', 'scsi']:
pool.build(libvirt.VIR_STORAGE_POOL_BUILD_NEW)
- # autostart dir, logical, netfs and scsi storage pools created
- # from kimchi
pool.setAutostart(1)
else:
- # disable autostart for others
pool.setAutostart(0)
- except libvirt.libvirtError as e:
- kimchi_log.error("Problem creating Storage Pool: %s", e)
- raise OperationFailed("KCHPOOL0007E",
- {'name': name, 'err': e.get_error_message()})
+ except:
+ pass
+
if params['type'] == 'netfs':
output, error, returncode = run_command(['setsebool', '-P',
'virt_use_nfs=1'])
diff --git a/tests/test_model_storagepool.py b/tests/test_model_storagepool.py
index eabf875..70f3c7b 100644
--- a/tests/test_model_storagepool.py
+++ b/tests/test_model_storagepool.py
@@ -20,6 +20,7 @@
import json
import os
+import tempfile
import unittest
from functools import partial
@@ -65,7 +66,7 @@ class StoragepoolTests(unittest.TestCase):
self.assertIn('default', [pool['name'] for pool in storagepools])
with RollbackContext() as rollback:
- # Now add a couple of StoragePools to the mock model
+ # Now add a couple of storage pools
for i in xrange(3):
name = u'kīмсhī-storagepool-%i' % i
req = json.dumps({'name': name, 'type': 'dir',
@@ -97,6 +98,15 @@ class StoragepoolTests(unittest.TestCase):
pools = json.loads(self.request('/storagepools').read())
self.assertEquals(len(storagepools) + 3, len(pools))
+ # Create a pool with an existing path
+ tmp_path = tempfile.mkdtemp(dir='/var/lib/kimchi')
+ rollback.prependDefer(os.rmdir, tmp_path)
+ req = json.dumps({'name': 'existing_path', 'type': 'dir',
+ 'path': tmp_path})
+ resp = self.request('/storagepools', req, 'POST')
+ rollback.prependDefer(model.storagepool_delete, 'existing_path')
+ self.assertEquals(201, resp.status)
+
# Reserved pool return 400
req = json.dumps({'name': 'kimchi_isos', 'type': 'dir',
'path': '/var/lib/libvirt/images/%i' % i})
--
2.1.0
9 years, 6 months
Kimchi 1.5 is released!
by Aline Manera
On behalf of everyone who has worked hard on this release, I am pleased
to announce the availability of *Kimchi 1.5*!
This release adds many new features including:
✔ Bug fixes
✔ Virtual NIC hot plug support
✔ Upload file to storage pool
✔ Make Template defaults configurable through a file
✔ Guest pause/resume support
✔ Support to edit guest MAC address
✔ Allow user changes guest disk format on Template level
✔ Create guests asynchronously
✔ Security:
✔ Prevent Bar Mitzvah attacks by disabling RC4
✔ Prevent TLS Logjam attacks
We have worked hard to ensure that Kimchi runs well on the most popular
Linux distributions including: Fedora 22, Ubuntu 15.04, openSUSE 13.2,
and RHEL 7.1. Kimchi uses standard Linux interfaces so it should run well
on many other distributions too.
You can easily grab this release in tarball format or via git:
✔https://github.com/kimchi-project/kimchi/archive/1.5.0.tar.gz
✔ git clonehttps://github.com/kimchi-project/kimchi.git <clonehttps://github.com/kimchi-project/kimchi.git>
There are also some packages available at:
✔http://kimchi-project.github.io/kimchi/downloads/
Go ahead! Give it a try and let us know what you think!
Regards,
Aline Manera
9 years, 6 months
[RFC PATCH V2 00/31] Split code into Wok server and Kimchi plugin
by Lucio Correia
Github branch URL:
https://github.com/lcorreia/kimchi/tree/lcorreia/wok-v2
This patchset splits code into web server framework (Wok) and virtualization
layer functionality (Kimchi, made a plugin). Wok stands for Webserver Originated
from Kimchi.
It's now stable and working.
Despite the size of patchset, the review will be straightforward. The biggest
patches have only repetitive changes, like file/variable renames or URI changes.
Patches organization:
* 01 to 04: just renames/copies files, no code changes.
* 05 to 13: initial changes - mostly repetitive stuff like renames
* 14 and 15: core changes - a good summary of reorganization done to the code
* 16 to 28: small fixes necessary for the reorganization to work
* 29 to 31: additional fixes not specific to this new structure
Patches 01 to 28 should be applied as a single commit in order to not break
functionality. They are separated here to easy the reviewers work.
The patchset is [RFC] because of that and also because there are some todo's
yet:
* TODO: Split error messages between wok and kimchi
* TODO: Move netinfo.py from wok to kimchi (requires ginger adaptation for that)
* TODO: Still need to run more detailed/deep tests
This hopefully will be the base for next release (just after 1.5).
Thanks,
Signed-off-by: Lucio Correia <luciojhc(a)linux.vnet.ibm.com>
Signed-off-by: Gustavo Y. Ribeiro <gyr(a)linux.vnet.ibm.com>
Lucio Correia (31):
Create kimchi plugin
Rename src/kimchi to src/wok
Rename kimchi-named files to wok
Duplicate some kimchi files back to wok
Update wok docs
Update kimchi plugin docs
Update wok build files
Update kimchi plugin makefiles
Update wok daemon and specs
Update kimchi plugin rpm specs
Adapt imports to the new plugin structure
Update server references to wok
Use plugin relative URLs
Setup wok
Setup kimchi plugin
Use InternalRedirect for all plugin redirects
Dynamically add authed URLs to plugin conf
Do not use tabs dir for kimchi plugin html templates
Refer to kimchi plugin specific js/css in htmls
Do not generate help index
Fix import_module
Make render_cheetah_file() plugin-aware
Make cachebust's href() plugin-aware
Default to first tab of first plugin
Fix storage pool URI split
Correctly join help pathes for plugins case
Install plugin .mo files to default locale dir
Adapt automated tests to the new plugin structure
Use pool_uri to avoid case pool_name is not defined
Fix Fedora RPM build issue
Organize imports in all .py files
.gitignore | 18 +-
COPYING | 13 +-
Makefile.am | 91 +-
config/Makefile.am | 18 -
config/ui/Makefile.am | 22 -
config/ui/tabs.xml | 38 -
configure.ac | 38 +-
contrib/DEBIAN/control.in | 15 +-
contrib/DEBIAN/postrm | 4 +-
contrib/Makefile.am | 12 +-
contrib/kimchi.spec.fedora.in | 189 --
contrib/kimchi.spec.suse.in | 120 -
contrib/kimchid-upstart.conf.debian | 34 -
contrib/kimchid-upstart.conf.fedora | 33 -
contrib/kimchid.service.fedora | 13 -
contrib/kimchid.sysvinit | 104 -
contrib/make-deb.sh.in | 2 +-
contrib/wok.spec.fedora.in | 159 ++
contrib/wok.spec.suse.in | 94 +
contrib/wokd-upstart.conf.debian | 28 +
contrib/wokd-upstart.conf.fedora | 28 +
contrib/wokd.service.fedora | 13 +
contrib/wokd.sysvinit | 104 +
docs/API.md | 1123 +---------
docs/Makefile.am | 9 +-
docs/README-federation.md | 60 -
docs/README.md | 202 +--
docs/{kimchid.8.in => wokd.8.in} | 0
plugins/Makefile.am | 2 +-
plugins/kimchi/.gitignore | 37 +
plugins/kimchi/API.json | 836 +++++++
plugins/kimchi/INSTALL | 369 +++
plugins/kimchi/Makefile.am | 159 ++
plugins/kimchi/README.md | 1 +
plugins/kimchi/VERSION | 1 +
plugins/kimchi/__init__.py | 21 +
plugins/kimchi/autogen.sh | 21 +
plugins/kimchi/build-aux/config.rpath | 672 ++++++
plugins/kimchi/build-aux/genChangelog | 25 +
plugins/kimchi/build-aux/pkg-version | 59 +
plugins/kimchi/config.py.in | 139 ++
plugins/kimchi/config.rpath | 672 ++++++
plugins/kimchi/configure.ac | 123 +
plugins/kimchi/contrib/DEBIAN/Makefile.am | 17 +
plugins/kimchi/contrib/DEBIAN/control.in | 36 +
plugins/kimchi/contrib/Makefile.am | 34 +
plugins/kimchi/contrib/check_i18n.py | 82 +
plugins/kimchi/contrib/kimchi.spec.fedora.in | 124 +
plugins/kimchi/contrib/kimchi.spec.suse.in | 108 +
{contrib => plugins/kimchi/contrib}/make-deb.sh.in | 0
plugins/kimchi/control/Makefile.am | 27 +
plugins/kimchi/control/__init__.py | 26 +
plugins/kimchi/control/config.py | 57 +
plugins/kimchi/control/cpuinfo.py | 37 +
plugins/kimchi/control/debugreports.py | 61 +
plugins/kimchi/control/groups.py | 28 +
plugins/kimchi/control/host.py | 157 ++
plugins/kimchi/control/interfaces.py | 46 +
plugins/kimchi/control/networks.py | 54 +
plugins/kimchi/control/peers.py | 29 +
plugins/kimchi/control/storagepools.py | 116 +
plugins/kimchi/control/storageservers.py | 60 +
plugins/kimchi/control/storagevolumes.py | 83 +
plugins/kimchi/control/tasks.py | 37 +
plugins/kimchi/control/templates.py | 58 +
plugins/kimchi/control/users.py | 35 +
plugins/kimchi/control/vm/Makefile.am | 26 +
plugins/kimchi/control/vm/__init__.py | 26 +
plugins/kimchi/control/vm/hostdevs.py | 43 +
plugins/kimchi/control/vm/ifaces.py | 45 +
plugins/kimchi/control/vm/snapshots.py | 58 +
plugins/kimchi/control/vm/storages.py | 45 +
plugins/kimchi/control/vms.py | 67 +
plugins/kimchi/disks.py | 196 ++
plugins/kimchi/distroloader.py | 67 +
{src => plugins/kimchi}/distros.d/Makefile.am | 0
{src => plugins/kimchi}/distros.d/debian.json | 0
{src => plugins/kimchi}/distros.d/fedora.json | 0
{src => plugins/kimchi}/distros.d/gentoo.json | 0
{src => plugins/kimchi}/distros.d/opensuse.json | 0
{src => plugins/kimchi}/distros.d/ubuntu.json | 0
plugins/kimchi/docs/API.md | 1147 ++++++++++
plugins/kimchi/docs/Makefile.am | 28 +
plugins/kimchi/docs/README-federation.md | 60 +
plugins/kimchi/docs/README.md | 247 ++
{docs => plugins/kimchi/docs}/kimchi-guest.png | Bin 192281 -> 192281 bytes
{docs => plugins/kimchi/docs}/kimchi-login.png | Bin 318041 -> 318041 bytes
{docs => plugins/kimchi/docs}/kimchi-templates.png | Bin 329678 -> 329678 bytes
{src => plugins}/kimchi/i18n.py | 0
plugins/kimchi/imageinfo.py | 72 +
plugins/kimchi/iscsi.py | 88 +
plugins/kimchi/isoinfo.py | 506 +++++
plugins/kimchi/kimchi.conf | 45 +
plugins/kimchi/kvmusertests.py | 79 +
plugins/kimchi/m4/ac_python_module.m4 | 30 +
plugins/kimchi/m4/gettext.m4 | 383 ++++
plugins/kimchi/m4/iconv.m4 | 214 ++
plugins/kimchi/m4/intlmacosx.m4 | 51 +
plugins/kimchi/m4/lib-ld.m4 | 110 +
plugins/kimchi/m4/lib-link.m4 | 774 +++++++
plugins/kimchi/m4/lib-prefix.m4 | 224 ++
plugins/kimchi/m4/nls.m4 | 32 +
plugins/kimchi/m4/po.m4 | 449 ++++
plugins/kimchi/m4/progtest.m4 | 92 +
plugins/kimchi/mockmodel.py | 624 +++++
plugins/kimchi/model/Makefile.am | 25 +
{src => plugins}/kimchi/model/__init__.py | 0
plugins/kimchi/model/config.py | 176 ++
plugins/kimchi/model/cpuinfo.py | 126 ++
plugins/kimchi/model/debugreports.py | 213 ++
plugins/kimchi/model/diskutils.py | 75 +
plugins/kimchi/model/featuretests.py | 259 +++
plugins/kimchi/model/groups.py | 67 +
plugins/kimchi/model/host.py | 476 ++++
plugins/kimchi/model/hostdev.py | 324 +++
plugins/kimchi/model/interfaces.py | 44 +
plugins/kimchi/model/libvirtconnection.py | 136 ++
plugins/kimchi/model/libvirtstoragepool.py | 264 +++
plugins/kimchi/model/model.py | 52 +
plugins/kimchi/model/networks.py | 381 ++++
plugins/kimchi/model/peers.py | 72 +
plugins/kimchi/model/storagepools.py | 478 ++++
plugins/kimchi/model/storageservers.py | 81 +
plugins/kimchi/model/storagetargets.py | 122 +
plugins/kimchi/model/storagevolumes.py | 541 +++++
plugins/kimchi/model/tasks.py | 64 +
plugins/kimchi/model/templates.py | 303 +++
plugins/kimchi/model/users.py | 90 +
plugins/kimchi/model/utils.py | 161 ++
plugins/kimchi/model/vmhostdevs.py | 336 +++
plugins/kimchi/model/vmifaces.py | 186 ++
plugins/kimchi/model/vms.py | 1303 +++++++++++
plugins/kimchi/model/vmsnapshots.py | 204 ++
plugins/kimchi/model/vmstorages.py | 252 +++
plugins/kimchi/osinfo.py | 214 ++
plugins/kimchi/po/LINGUAS | 11 +
plugins/kimchi/po/Makefile.in.in | 398 ++++
{po => plugins/kimchi/po}/Makevars | 0
plugins/kimchi/po/POTFILES.in | 3 +
plugins/kimchi/po/de_DE.po | 2320 +++++++++++++++++++
plugins/kimchi/po/en_US.po | 2156 ++++++++++++++++++
plugins/kimchi/po/es_ES.po | 2337 +++++++++++++++++++
plugins/kimchi/po/fr_FR.po | 2360 +++++++++++++++++++
{po => plugins/kimchi/po}/gen-pot.in | 0
plugins/kimchi/po/it_IT.po | 2306 +++++++++++++++++++
plugins/kimchi/po/ja_JP.po | 2301 +++++++++++++++++++
{po => plugins/kimchi/po}/kimchi.pot | 0
plugins/kimchi/po/ko_KR.po | 2228 ++++++++++++++++++
plugins/kimchi/po/pt_BR.po | 2370 ++++++++++++++++++++
plugins/kimchi/po/ru_RU.po | 2230 ++++++++++++++++++
plugins/kimchi/po/zh_CN.po | 2196 ++++++++++++++++++
plugins/kimchi/po/zh_TW.po | 2170 ++++++++++++++++++
plugins/kimchi/repositories.py | 529 +++++
plugins/kimchi/root.py | 70 +
plugins/kimchi/scan.py | 89 +
plugins/kimchi/screenshot.py | 184 ++
plugins/kimchi/swupdate.py | 263 +++
{src => plugins/kimchi}/template.conf | 0
plugins/kimchi/tests/Makefile.am | 50 +
plugins/kimchi/tests/iso_gen.py | 212 ++
plugins/kimchi/tests/run_tests.sh.in | 55 +
plugins/kimchi/tests/test_authorization.py | 166 ++
plugins/kimchi/tests/test_config.py.in | 193 ++
plugins/kimchi/tests/test_exception.py | 113 +
plugins/kimchi/tests/test_host.py | 200 ++
plugins/kimchi/tests/test_mock_network.py | 71 +
plugins/kimchi/tests/test_mock_storagepool.py | 141 ++
plugins/kimchi/tests/test_mock_storagevolume.py | 94 +
plugins/kimchi/tests/test_mockmodel.py | 139 ++
plugins/kimchi/tests/test_model.py | 1240 ++++++++++
plugins/kimchi/tests/test_model_network.py | 145 ++
plugins/kimchi/tests/test_model_storagepool.py | 105 +
plugins/kimchi/tests/test_model_storagevolume.py | 272 +++
plugins/kimchi/tests/test_networkxml.py | 172 ++
plugins/kimchi/tests/test_objectstore.py | 97 +
plugins/kimchi/tests/test_osinfo.py | 69 +
plugins/kimchi/tests/test_plugin.py | 127 ++
plugins/kimchi/tests/test_rest.py | 1219 ++++++++++
plugins/kimchi/tests/test_rollbackcontext.py | 99 +
plugins/kimchi/tests/test_server.py | 289 +++
plugins/kimchi/tests/test_storagepoolxml.py | 171 ++
plugins/kimchi/tests/test_template.py | 362 +++
plugins/kimchi/tests/test_utils.py | 69 +
plugins/kimchi/tests/test_vmtemplate.py | 116 +
plugins/kimchi/tests/test_yumparser.py | 163 ++
plugins/kimchi/tests/utils.py | 260 +++
plugins/kimchi/ui/Makefile.am | 20 +
plugins/kimchi/ui/config/Makefile.am | 22 +
plugins/kimchi/ui/config/tab-ext.xml | 38 +
plugins/kimchi/ui/css/Makefile.am | 26 +
plugins/kimchi/ui/css/theme-default/button.css | 501 +++++
.../kimchi/ui}/css/theme-default/circleGauge.css | 0
.../kimchi/ui}/css/theme-default/form.css | 0
.../kimchi/ui}/css/theme-default/grid.css | 0
plugins/kimchi/ui/css/theme-default/guest-edit.css | 418 ++++
.../ui}/css/theme-default/guest-storage-add.css | 0
plugins/kimchi/ui/css/theme-default/host.css | 287 +++
.../ui}/css/theme-default/jquery-ui.custom.css | 0
.../kimchi/ui}/css/theme-default/line-chart.css | 0
plugins/kimchi/ui/css/theme-default/list.css | 326 +++
plugins/kimchi/ui/css/theme-default/message.css | 135 ++
plugins/kimchi/ui/css/theme-default/network.css | 319 +++
plugins/kimchi/ui/css/theme-default/popover.css | 124 +
.../kimchi/ui}/css/theme-default/report-add.css | 0
.../kimchi/ui/css/theme-default/report-rename.css | 39 +
.../ui}/css/theme-default/repository-add.css | 0
.../ui}/css/theme-default/repository-edit.css | 0
plugins/kimchi/ui/css/theme-default/storage.css | 654 ++++++
.../css/theme-default/storagepool-add-volume.css | 0
.../kimchi/ui}/css/theme-default/template-edit.css | 0
.../kimchi/ui}/css/theme-default/template.css | 0
.../kimchi/ui/css/theme-default/template_add.css | 313 +++
.../kimchi/ui}/css/theme-default/template_list.css | 0
.../kimchi/ui}/css/theme-default/tile-check.css | 0
.../kimchi/ui}/css/theme-default/toolbar.css | 0
plugins/kimchi/ui/images/Makefile.am | 22 +
{ui => plugins/kimchi/ui}/images/icon-centos.png | Bin 4734 -> 4734 bytes
{ui => plugins/kimchi/ui}/images/icon-debian.png | Bin 4239 -> 4239 bytes
{ui => plugins/kimchi/ui}/images/icon-fedora.png | Bin 4449 -> 4449 bytes
{ui => plugins/kimchi/ui}/images/icon-gentoo.png | Bin 15307 -> 15307 bytes
{ui => plugins/kimchi/ui}/images/icon-opensuse.png | Bin 3046 -> 3046 bytes
{ui => plugins/kimchi/ui}/images/icon-ubuntu.png | Bin 4818 -> 4818 bytes
{ui => plugins/kimchi/ui}/images/icon-vm.png | Bin 2976 -> 2976 bytes
plugins/kimchi/ui/images/logo.ico | Bin 0 -> 1214 bytes
plugins/kimchi/ui/images/theme-default/Makefile.am | 20 +
.../kimchi/ui}/images/theme-default/ac22_pause.png | Bin 1219 -> 1219 bytes
.../ui}/images/theme-default/ac22_pause_grey.png | Bin 1175 -> 1175 bytes
.../ui}/images/theme-default/ac24_resume.png | Bin 1341 -> 1341 bytes
.../ui}/images/theme-default/ac24_resume_grey.png | Bin 1282 -> 1282 bytes
.../kimchi/ui}/images/theme-default/alert.png | Bin 3537 -> 3537 bytes
.../ui/images/theme-default/arrow-down-black.png | Bin 0 -> 2942 bytes
.../images/theme-default/arrow-down-disable.png | Bin 472 -> 472 bytes
.../kimchi/ui}/images/theme-default/arrow-down.png | Bin 537 -> 537 bytes
.../kimchi/ui}/images/theme-default/arrow-up.png | Bin 510 -> 510 bytes
.../kimchi/ui}/images/theme-default/arrow_out.png | Bin 3048 -> 3048 bytes
plugins/kimchi/ui/images/theme-default/bg-mask.png | Bin 0 -> 2899 bytes
.../ui}/images/theme-default/check-green.png | Bin 3501 -> 3501 bytes
.../kimchi/ui}/images/theme-default/check-grey.png | Bin 3535 -> 3535 bytes
.../ui/images/theme-default/folder-arrow-down.png | Bin 0 -> 2956 bytes
.../images/theme-default/folder-arrow-right.png | Bin 2958 -> 2958 bytes
.../kimchi/ui}/images/theme-default/group.png | Bin 1703 -> 1703 bytes
.../ui}/images/theme-default/host-icon-sprite.png | Bin 1034 -> 1034 bytes
.../kimchi/ui}/images/theme-default/icon-alert.png | Bin 3545 -> 3545 bytes
.../kimchi/ui}/images/theme-default/icon-back.png | Bin 244 -> 244 bytes
.../ui}/images/theme-default/icon-camera.png | Bin 4860 -> 4860 bytes
.../ui}/images/theme-default/icon-design.png | Bin 4562 -> 4562 bytes
.../ui}/images/theme-default/icon-detail.png | Bin 3079 -> 3079 bytes
.../kimchi/ui}/images/theme-default/icon-event.png | Bin 3791 -> 3791 bytes
.../kimchi/ui}/images/theme-default/icon-iso.png | Bin 4188 -> 4188 bytes
.../kimchi/ui}/images/theme-default/icon-list.png | Bin 2983 -> 2983 bytes
.../kimchi/ui}/images/theme-default/icon-load.png | Bin 3678 -> 3678 bytes
.../kimchi/ui}/images/theme-default/icon-local.png | Bin 425 -> 425 bytes
.../ui}/images/theme-default/icon-power-down.png | Bin 4372 -> 4372 bytes
.../ui}/images/theme-default/icon-power-up.png | Bin 4367 -> 4367 bytes
.../kimchi/ui}/images/theme-default/icon-qcow2.png | Bin 4684 -> 4684 bytes
.../kimchi/ui}/images/theme-default/icon-raw.png | Bin 4679 -> 4679 bytes
.../ui}/images/theme-default/icon-remote.png | Bin 1005 -> 1005 bytes
.../kimchi/ui}/images/theme-default/icon-reset.png | Bin 4576 -> 4576 bytes
.../ui}/images/theme-default/icon-search.png | Bin 4197 -> 4197 bytes
.../ui}/images/theme-default/icon-setting.png | Bin 3664 -> 3664 bytes
.../kimchi/ui}/images/theme-default/icon-sort.png | Bin 3421 -> 3421 bytes
.../kimchi/ui}/images/theme-default/icon-tool.png | Bin 4466 -> 4466 bytes
.../kimchi/ui}/images/theme-default/icon-tree.png | Bin 3526 -> 3526 bytes
.../kimchi/ui}/images/theme-default/icon-user.png | Bin 5366 -> 5366 bytes
.../images/theme-default/icon-volume-default.png | Bin 4265 -> 4265 bytes
.../ui}/images/theme-default/kimchi-loading.gif | Bin 6181 -> 6181 bytes
.../images/theme-default/kimchi-loading15x15.gif | Bin 1653 -> 1653 bytes
.../kimchi/ui}/images/theme-default/loading.gif | Bin 2190 -> 2190 bytes
.../kimchi/ui/images/theme-default/logo-white.png | Bin 0 -> 9879 bytes
.../ui}/images/theme-default/thumb-guest.png | Bin 3896 -> 3896 bytes
.../kimchi/ui}/images/theme-default/thumb-host.png | Bin 5069 -> 5069 bytes
.../kimchi/ui}/images/theme-default/user.png | Bin 1322 -> 1322 bytes
plugins/kimchi/ui/js/Makefile.am | 27 +
plugins/kimchi/ui/js/src/kimchi.api.js | 1355 +++++++++++
{ui => plugins/kimchi/ui}/js/src/kimchi.form.js | 0
plugins/kimchi/ui/js/src/kimchi.grid.js | 528 +++++
plugins/kimchi/ui/js/src/kimchi.guest_add_main.js | 86 +
plugins/kimchi/ui/js/src/kimchi.guest_edit_main.js | 759 +++++++
plugins/kimchi/ui/js/src/kimchi.guest_main.js | 511 +++++
.../kimchi/ui/js/src/kimchi.guest_media_main.js | 56 +
.../ui/js/src/kimchi.guest_storage_add.main.js | 199 ++
plugins/kimchi/ui/js/src/kimchi.host.js | 858 +++++++
plugins/kimchi/ui/js/src/kimchi.line-chart.js | 202 ++
plugins/kimchi/ui/js/src/kimchi.main.js | 26 +
plugins/kimchi/ui/js/src/kimchi.network.js | 391 ++++
plugins/kimchi/ui/js/src/kimchi.report_add_main.js | 72 +
.../kimchi/ui/js/src/kimchi.report_rename_main.js | 66 +
.../kimchi/ui/js/src/kimchi.repository_add_main.js | 96 +
.../ui/js/src/kimchi.repository_edit_main.js | 74 +
{ui => plugins/kimchi/ui}/js/src/kimchi.select.js | 0
plugins/kimchi/ui/js/src/kimchi.storage_main.js | 419 ++++
.../ui/js/src/kimchi.storagepool_add_main.js | 415 ++++
.../js/src/kimchi.storagepool_add_volume_main.js | 179 ++
.../kimchi/ui/js/src/kimchi.template_add_main.js | 441 ++++
.../kimchi/ui/js/src/kimchi.template_edit_main.js | 343 +++
plugins/kimchi/ui/js/src/kimchi.template_main.js | 111 +
.../kimchi/ui}/js/widgets/circleGauge.js | 0
plugins/kimchi/ui/libs/Makefile.am | 22 +
plugins/kimchi/ui/libs/themes/Makefile.am | 18 +
plugins/kimchi/ui/libs/themes/base/Makefile.am | 22 +
.../kimchi/ui/libs/themes/base/images/Makefile.am | 20 +
.../libs/themes/base/images/animated-overlay.gif | Bin 0 -> 1738 bytes
.../base/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin 0 -> 180 bytes
.../base/images/ui-bg_flat_75_ffffff_40x100.png | Bin 0 -> 178 bytes
.../base/images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 120 bytes
.../base/images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes
.../base/images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 111 bytes
.../base/images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 110 bytes
.../base/images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 119 bytes
.../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 101 bytes
.../themes/base/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes
.../themes/base/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4369 bytes
.../themes/base/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes
.../themes/base/images/ui-icons_888888_256x240.png | Bin 0 -> 4369 bytes
.../themes/base/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4369 bytes
plugins/kimchi/ui/pages/Makefile.am | 22 +
plugins/kimchi/ui/pages/error.html.tmpl | 69 +
plugins/kimchi/ui/pages/guest-add.html.tmpl | 93 +
.../kimchi/ui}/pages/guest-edit.html.tmpl | 0
.../kimchi/ui/pages/guest-storage-add.html.tmpl | 103 +
plugins/kimchi/ui/pages/guest.html.tmpl | 77 +
plugins/kimchi/ui/pages/guests.html.tmpl | 65 +
plugins/kimchi/ui/pages/help/Makefile.am | 34 +
plugins/kimchi/ui/pages/help/de_DE/Makefile.am | 23 +
.../kimchi/ui}/pages/help/de_DE/guests.dita | 0
.../kimchi/ui}/pages/help/de_DE/host.dita | 0
.../kimchi/ui}/pages/help/de_DE/network.dita | 0
.../kimchi/ui}/pages/help/de_DE/storage.dita | 0
.../kimchi/ui}/pages/help/de_DE/templates.dita | 0
{ui => plugins/kimchi/ui}/pages/help/dita-help.xsl | 0
plugins/kimchi/ui/pages/help/en_US/Makefile.am | 23 +
.../kimchi/ui}/pages/help/en_US/guests.dita | 0
.../kimchi/ui}/pages/help/en_US/host.dita | 0
.../kimchi/ui}/pages/help/en_US/network.dita | 0
.../kimchi/ui}/pages/help/en_US/storage.dita | 0
.../kimchi/ui}/pages/help/en_US/templates.dita | 0
plugins/kimchi/ui/pages/help/es_ES/Makefile.am | 23 +
.../kimchi/ui}/pages/help/es_ES/guests.dita | 0
.../kimchi/ui}/pages/help/es_ES/host.dita | 0
.../kimchi/ui}/pages/help/es_ES/network.dita | 0
.../kimchi/ui}/pages/help/es_ES/storage.dita | 0
.../kimchi/ui}/pages/help/es_ES/templates.dita | 0
plugins/kimchi/ui/pages/help/fr_FR/Makefile.am | 23 +
.../kimchi/ui}/pages/help/fr_FR/guests.dita | 0
.../kimchi/ui}/pages/help/fr_FR/host.dita | 0
.../kimchi/ui}/pages/help/fr_FR/network.dita | 0
.../kimchi/ui}/pages/help/fr_FR/storage.dita | 0
.../kimchi/ui}/pages/help/fr_FR/templates.dita | 0
plugins/kimchi/ui/pages/help/it_IT/Makefile.am | 23 +
.../kimchi/ui}/pages/help/it_IT/guests.dita | 0
.../kimchi/ui}/pages/help/it_IT/host.dita | 0
.../kimchi/ui}/pages/help/it_IT/network.dita | 0
.../kimchi/ui}/pages/help/it_IT/storage.dita | 0
.../kimchi/ui}/pages/help/it_IT/templates.dita | 0
plugins/kimchi/ui/pages/help/ja_JP/Makefile.am | 23 +
.../kimchi/ui}/pages/help/ja_JP/guests.dita | 0
.../kimchi/ui}/pages/help/ja_JP/host.dita | 0
.../kimchi/ui}/pages/help/ja_JP/network.dita | 0
.../kimchi/ui}/pages/help/ja_JP/storage.dita | 0
.../kimchi/ui}/pages/help/ja_JP/templates.dita | 0
{ui => plugins/kimchi/ui}/pages/help/kimchi.css | 0
plugins/kimchi/ui/pages/help/ko_KR/Makefile.am | 23 +
.../kimchi/ui}/pages/help/ko_KR/guests.dita | 0
.../kimchi/ui}/pages/help/ko_KR/host.dita | 0
.../kimchi/ui}/pages/help/ko_KR/network.dita | 0
.../kimchi/ui}/pages/help/ko_KR/storage.dita | 0
.../kimchi/ui}/pages/help/ko_KR/templates.dita | 0
plugins/kimchi/ui/pages/help/pt_BR/Makefile.am | 23 +
.../kimchi/ui}/pages/help/pt_BR/guests.dita | 0
.../kimchi/ui}/pages/help/pt_BR/host.dita | 0
.../kimchi/ui}/pages/help/pt_BR/network.dita | 0
.../kimchi/ui}/pages/help/pt_BR/storage.dita | 0
.../kimchi/ui}/pages/help/pt_BR/templates.dita | 0
plugins/kimchi/ui/pages/help/ru_RU/Makefile.am | 23 +
.../kimchi/ui}/pages/help/ru_RU/guests.dita | 0
.../kimchi/ui}/pages/help/ru_RU/host.dita | 0
.../kimchi/ui}/pages/help/ru_RU/network.dita | 0
.../kimchi/ui}/pages/help/ru_RU/storage.dita | 0
.../kimchi/ui}/pages/help/ru_RU/templates.dita | 0
plugins/kimchi/ui/pages/help/zh_CN/Makefile.am | 23 +
.../kimchi/ui}/pages/help/zh_CN/guests.dita | 0
.../kimchi/ui}/pages/help/zh_CN/host.dita | 0
.../kimchi/ui}/pages/help/zh_CN/network.dita | 0
.../kimchi/ui}/pages/help/zh_CN/storage.dita | 0
.../kimchi/ui}/pages/help/zh_CN/templates.dita | 0
plugins/kimchi/ui/pages/help/zh_TW/Makefile.am | 23 +
.../kimchi/ui}/pages/help/zh_TW/guests.dita | 0
.../kimchi/ui}/pages/help/zh_TW/host.dita | 0
.../kimchi/ui}/pages/help/zh_TW/network.dita | 0
.../kimchi/ui}/pages/help/zh_TW/storage.dita | 0
.../kimchi/ui}/pages/help/zh_TW/templates.dita | 0
plugins/kimchi/ui/pages/host.html.tmpl | 177 ++
plugins/kimchi/ui/pages/i18n.json.tmpl | 187 ++
plugins/kimchi/ui/pages/network.html.tmpl | 132 ++
plugins/kimchi/ui/pages/report-add.html.tmpl | 53 +
plugins/kimchi/ui/pages/report-rename.html.tmpl | 53 +
plugins/kimchi/ui/pages/repository-add.html.tmpl | 105 +
plugins/kimchi/ui/pages/repository-edit.html.tmpl | 115 +
plugins/kimchi/ui/pages/storage.html.tmpl | 146 ++
.../ui/pages/storagepool-add-volume.html.tmpl | 77 +
plugins/kimchi/ui/pages/storagepool-add.html.tmpl | 178 ++
plugins/kimchi/ui/pages/template-add.html.tmpl | 229 ++
plugins/kimchi/ui/pages/template-edit.html.tmpl | 193 ++
plugins/kimchi/ui/pages/templates.html.tmpl | 77 +
plugins/kimchi/ui/robots.txt | 2 +
plugins/kimchi/ui/spice-html5/Makefile.am | 25 +
.../kimchi/ui}/spice-html5/atKeynames.js | 0
{ui => plugins/kimchi/ui}/spice-html5/bitmap.js | 0
plugins/kimchi/ui/spice-html5/css/Makefile.am | 20 +
.../kimchi/ui}/spice-html5/css/spice.css | 0
{ui => plugins/kimchi/ui}/spice-html5/cursor.js | 0
{ui => plugins/kimchi/ui}/spice-html5/display.js | 0
{ui => plugins/kimchi/ui}/spice-html5/enums.js | 0
{ui => plugins/kimchi/ui}/spice-html5/inputs.js | 0
{ui => plugins/kimchi/ui}/spice-html5/lz.js | 0
{ui => plugins/kimchi/ui}/spice-html5/main.js | 0
plugins/kimchi/ui/spice-html5/pages/Makefile.am | 20 +
.../kimchi/ui/spice-html5/pages/spice_auto.html | 200 ++
{ui => plugins/kimchi/ui}/spice-html5/playback.js | 0
{ui => plugins/kimchi/ui}/spice-html5/png.js | 0
{ui => plugins/kimchi/ui}/spice-html5/quic.js | 0
{ui => plugins/kimchi/ui}/spice-html5/resize.js | 0
.../kimchi/ui}/spice-html5/simulatecursor.js | 0
.../kimchi/ui}/spice-html5/spicearraybuffer.js | 0
{ui => plugins/kimchi/ui}/spice-html5/spiceconn.js | 0
.../kimchi/ui}/spice-html5/spicedataview.js | 0
{ui => plugins/kimchi/ui}/spice-html5/spicemsg.js | 0
{ui => plugins/kimchi/ui}/spice-html5/spicetype.js | 0
.../kimchi/ui/spice-html5/thirdparty/Makefile.am | 20 +
.../kimchi/ui}/spice-html5/thirdparty/jsbn.js | 0
.../kimchi/ui}/spice-html5/thirdparty/prng4.js | 0
.../kimchi/ui}/spice-html5/thirdparty/rng.js | 0
.../kimchi/ui}/spice-html5/thirdparty/rsa.js | 0
.../kimchi/ui}/spice-html5/thirdparty/sha1.js | 0
{ui => plugins/kimchi/ui}/spice-html5/ticket.js | 0
{ui => plugins/kimchi/ui}/spice-html5/utils.js | 0
{ui => plugins/kimchi/ui}/spice-html5/webm.js | 0
{ui => plugins/kimchi/ui}/spice-html5/wire.js | 0
plugins/kimchi/utils.py | 40 +
plugins/kimchi/vmtemplate.py | 431 ++++
plugins/kimchi/xmlutils/Makefile.am | 25 +
{src => plugins}/kimchi/xmlutils/__init__.py | 0
{src => plugins}/kimchi/xmlutils/cpu.py | 0
plugins/kimchi/xmlutils/disk.py | 164 ++
plugins/kimchi/xmlutils/graphics.py | 45 +
plugins/kimchi/xmlutils/interface.py | 61 +
plugins/kimchi/xmlutils/network.py | 122 +
{src => plugins}/kimchi/xmlutils/qemucmdline.py | 0
plugins/kimchi/yumparser.py | 271 +++
plugins/sample/API.json | 2 +-
plugins/sample/__init__.py | 14 +-
plugins/sample/model.py | 4 +-
plugins/sample/sample.conf.in | 12 +-
plugins/sample/ui/js/util.js | 6 +-
.../sample/ui/pages/help/en_US/sample-tab1.html | 2 +-
.../sample/ui/pages/help/en_US/sample-tab2.html | 2 +-
plugins/sample/ui/pages/i18n.json.tmpl | 2 +-
po/Makevars | 2 +-
po/POTFILES.in | 3 +-
po/gen-pot.in | 2 +-
po/{kimchi.pot => wok.pot} | 0
src/Makefile.am | 24 +-
src/firewalld.xml | 4 +-
src/kimchi.conf.in | 65 -
src/kimchi/API.json | 836 -------
src/kimchi/Makefile.am | 61 -
src/kimchi/asynctask.py | 74 -
src/kimchi/auth.py | 352 ---
src/kimchi/cachebust.py | 30 -
src/kimchi/config.py.in | 324 ---
src/kimchi/control/Makefile.am | 27 -
src/kimchi/control/__init__.py | 26 -
src/kimchi/control/base.py | 381 ----
src/kimchi/control/config.py | 57 -
src/kimchi/control/cpuinfo.py | 37 -
src/kimchi/control/debugreports.py | 61 -
src/kimchi/control/groups.py | 28 -
src/kimchi/control/host.py | 156 --
src/kimchi/control/interfaces.py | 46 -
src/kimchi/control/networks.py | 54 -
src/kimchi/control/peers.py | 29 -
src/kimchi/control/plugins.py | 27 -
src/kimchi/control/storagepools.py | 115 -
src/kimchi/control/storageservers.py | 60 -
src/kimchi/control/storagevolumes.py | 83 -
src/kimchi/control/tasks.py | 37 -
src/kimchi/control/templates.py | 58 -
src/kimchi/control/users.py | 35 -
src/kimchi/control/utils.py | 149 --
src/kimchi/control/vm/Makefile.am | 26 -
src/kimchi/control/vm/__init__.py | 26 -
src/kimchi/control/vm/hostdevs.py | 43 -
src/kimchi/control/vm/ifaces.py | 45 -
src/kimchi/control/vm/snapshots.py | 58 -
src/kimchi/control/vm/storages.py | 45 -
src/kimchi/control/vms.py | 66 -
src/kimchi/disks.py | 197 --
src/kimchi/distroloader.py | 66 -
src/kimchi/exception.py | 102 -
src/kimchi/imageinfo.py | 72 -
src/kimchi/iscsi.py | 88 -
src/kimchi/isoinfo.py | 506 -----
src/kimchi/kvmusertests.py | 79 -
src/kimchi/mockmodel.py | 625 ------
src/kimchi/model/Makefile.am | 25 -
src/kimchi/model/config.py | 175 --
src/kimchi/model/cpuinfo.py | 126 --
src/kimchi/model/debugreports.py | 211 --
src/kimchi/model/diskutils.py | 75 -
src/kimchi/model/featuretests.py | 259 ---
src/kimchi/model/groups.py | 67 -
src/kimchi/model/host.py | 476 ----
src/kimchi/model/hostdev.py | 323 ---
src/kimchi/model/interfaces.py | 43 -
src/kimchi/model/libvirtconnection.py | 137 --
src/kimchi/model/libvirtstoragepool.py | 264 ---
src/kimchi/model/model.py | 51 -
src/kimchi/model/networks.py | 382 ----
src/kimchi/model/peers.py | 72 -
src/kimchi/model/plugins.py | 28 -
src/kimchi/model/storagepools.py | 476 ----
src/kimchi/model/storageservers.py | 80 -
src/kimchi/model/storagetargets.py | 121 -
src/kimchi/model/storagevolumes.py | 541 -----
src/kimchi/model/tasks.py | 64 -
src/kimchi/model/templates.py | 303 ---
src/kimchi/model/users.py | 90 -
src/kimchi/model/utils.py | 160 --
src/kimchi/model/vmhostdevs.py | 336 ---
src/kimchi/model/vmifaces.py | 186 --
src/kimchi/model/vms.py | 1300 -----------
src/kimchi/model/vmsnapshots.py | 204 --
src/kimchi/model/vmstorages.py | 251 ---
src/kimchi/objectstore.py | 133 --
src/kimchi/osinfo.py | 213 --
src/kimchi/proxy.py | 105 -
src/kimchi/repositories.py | 529 -----
src/kimchi/root.py | 149 --
src/kimchi/scan.py | 89 -
src/kimchi/screenshot.py | 184 --
src/kimchi/server.py | 188 --
src/kimchi/sslcert.py | 91 -
src/kimchi/swupdate.py | 262 ---
src/kimchi/template.py | 111 -
src/kimchi/utils.py | 549 -----
src/kimchi/vmtemplate.py | 430 ----
src/kimchi/vnc.py | 78 -
src/kimchi/xmlutils/Makefile.am | 25 -
src/kimchi/xmlutils/disk.py | 164 --
src/kimchi/xmlutils/graphics.py | 46 -
src/kimchi/xmlutils/interface.py | 62 -
src/kimchi/xmlutils/network.py | 123 -
src/kimchi/yumparser.py | 271 ---
src/kimchid.in | 99 -
src/nginx/Makefile.am | 6 +-
src/nginx/kimchi.conf.in | 78 -
src/nginx/wok.conf.in | 78 +
src/wok.conf.in | 65 +
src/wok/API.json | 6 +
src/wok/Makefile.am | 61 +
src/{kimchi => wok}/__init__.py | 0
src/wok/asynctask.py | 74 +
src/wok/auth.py | 352 +++
src/{kimchi => wok}/basemodel.py | 0
src/wok/cachebust.py | 35 +
src/wok/config.py.in | 202 ++
src/wok/control/Makefile.am | 25 +
src/wok/control/__init__.py | 26 +
src/wok/control/base.py | 381 ++++
src/wok/control/plugins.py | 27 +
src/wok/control/utils.py | 147 ++
src/wok/exception.py | 102 +
src/{kimchi => wok}/i18n.py | 0
src/wok/model/Makefile.am | 25 +
src/{kimchi => wok}/model/__init__.py | 0
src/wok/model/model.py | 49 +
src/wok/model/plugins.py | 28 +
src/{kimchi => wok}/netinfo.py | 0
src/{kimchi => wok}/network.py | 0
src/wok/objectstore.py | 132 ++
src/wok/proxy.py | 105 +
src/{kimchi => wok}/rollbackcontext.py | 0
src/wok/root.py | 148 ++
src/wok/server.py | 203 ++
src/wok/sslcert.py | 89 +
src/wok/template.py | 112 +
src/wok/utils.py | 533 +++++
src/wok/vnc.py | 77 +
src/wok/xmlutils/Makefile.am | 25 +
src/{kimchi/model => wok/xmlutils}/__init__.py | 0
src/{kimchi => wok}/xmlutils/utils.py | 0
src/wokd.in | 99 +
tests/Makefile.am | 50 -
tests/iso_gen.py | 211 --
tests/run_tests.sh.in | 55 -
tests/test_authorization.py | 166 --
tests/test_config.py.in | 196 --
tests/test_exception.py | 112 -
tests/test_host.py | 192 --
tests/test_mock_network.py | 71 -
tests/test_mock_storagepool.py | 141 --
tests/test_mock_storagevolume.py | 94 -
tests/test_mockmodel.py | 138 --
tests/test_model.py | 1228 ----------
tests/test_model_network.py | 144 --
tests/test_model_storagepool.py | 104 -
tests/test_model_storagevolume.py | 269 ---
tests/test_networkxml.py | 171 --
tests/test_objectstore.py | 96 -
tests/test_osinfo.py | 70 -
tests/test_plugin.py | 128 --
tests/test_rest.py | 1208 ----------
tests/test_rollbackcontext.py | 99 -
tests/test_server.py | 287 ---
tests/test_storagepoolxml.py | 171 --
tests/test_template.py | 362 ---
tests/test_utils.py | 69 -
tests/test_vmtemplate.py | 116 -
tests/test_yumparser.py | 162 --
tests/utils.py | 260 ---
ui/Makefile.am | 4 +-
ui/css/Makefile.am | 2 +-
ui/css/theme-default/guest-edit.css | 418 ----
ui/css/theme-default/host.css | 287 ---
ui/css/theme-default/list.css | 326 ---
ui/css/theme-default/network.css | 319 ---
ui/css/theme-default/report-rename.css | 39 -
ui/css/theme-default/storage.css | 658 ------
ui/css/theme-default/template_add.css | 313 ---
ui/css/theme-default/topbar.css | 4 +
ui/images/Makefile.am | 4 +-
ui/images/theme-default/Makefile.am | 2 +-
ui/js/Makefile.am | 8 +-
ui/js/src/kimchi.api.js | 1411 ------------
ui/js/src/kimchi.cookie.js | 40 -
ui/js/src/kimchi.grid.js | 528 -----
ui/js/src/kimchi.guest_add_main.js | 86 -
ui/js/src/kimchi.guest_edit_main.js | 759 -------
ui/js/src/kimchi.guest_main.js | 511 -----
ui/js/src/kimchi.guest_media_main.js | 56 -
ui/js/src/kimchi.guest_storage_add.main.js | 199 --
ui/js/src/kimchi.host.js | 856 -------
ui/js/src/kimchi.lang.js | 50 -
ui/js/src/kimchi.line-chart.js | 202 --
ui/js/src/kimchi.login.js | 72 -
ui/js/src/kimchi.main.js | 366 ---
ui/js/src/kimchi.message.js | 116 -
ui/js/src/kimchi.network.js | 391 ----
ui/js/src/kimchi.popable.js | 34 -
ui/js/src/kimchi.report_add_main.js | 72 -
ui/js/src/kimchi.report_rename_main.js | 66 -
ui/js/src/kimchi.repository_add_main.js | 96 -
ui/js/src/kimchi.repository_edit_main.js | 74 -
ui/js/src/kimchi.storage_main.js | 419 ----
ui/js/src/kimchi.storagepool_add_main.js | 415 ----
ui/js/src/kimchi.storagepool_add_volume_main.js | 179 --
ui/js/src/kimchi.substitute.js | 45 -
ui/js/src/kimchi.template_add_main.js | 441 ----
ui/js/src/kimchi.template_edit_main.js | 343 ---
ui/js/src/kimchi.template_main.js | 111 -
ui/js/src/kimchi.topic.js | 48 -
ui/js/src/kimchi.user.js | 43 -
ui/js/src/kimchi.utils.js | 193 --
ui/js/src/kimchi.window.js | 70 -
ui/js/src/wok.api.js | 91 +
ui/js/src/wok.cookie.js | 40 +
ui/js/src/wok.lang.js | 50 +
ui/js/src/wok.login.js | 72 +
ui/js/src/wok.main.js | 355 +++
ui/js/src/wok.message.js | 116 +
ui/js/src/{kimchi.object.js => wok.object.js} | 0
ui/js/src/wok.popable.js | 34 +
ui/js/src/{kimchi.string.js => wok.string.js} | 0
ui/js/src/wok.substitute.js | 45 +
ui/js/src/wok.topic.js | 48 +
ui/js/src/wok.user.js | 43 +
ui/js/src/wok.utils.js | 193 ++
ui/js/src/wok.window.js | 70 +
ui/js/widgets/button-dropDown.js | 2 +-
ui/js/widgets/combobox.js | 2 +-
ui/js/widgets/filter-select.js | 2 +-
ui/js/widgets/select-menu.js | 2 +-
ui/libs/Makefile.am | 2 +-
ui/libs/themes/base/Makefile.am | 2 +-
ui/libs/themes/base/images/Makefile.am | 2 +-
ui/pages/Makefile.am | 4 +-
ui/pages/error.html.tmpl | 8 +-
ui/pages/guest-add.html.tmpl | 93 -
ui/pages/guest-storage-add.html.tmpl | 103 -
ui/pages/guest.html.tmpl | 77 -
ui/pages/help/Makefile.am | 35 -
ui/pages/help/de_DE/Makefile.am | 23 -
ui/pages/help/en_US/Makefile.am | 23 -
ui/pages/help/es_ES/Makefile.am | 23 -
ui/pages/help/fr_FR/Makefile.am | 23 -
ui/pages/help/gen-index.py | 63 -
ui/pages/help/it_IT/Makefile.am | 23 -
ui/pages/help/ja_JP/Makefile.am | 23 -
ui/pages/help/ko_KR/Makefile.am | 23 -
ui/pages/help/pt_BR/Makefile.am | 23 -
ui/pages/help/ru_RU/Makefile.am | 23 -
ui/pages/help/zh_CN/Makefile.am | 23 -
ui/pages/help/zh_TW/Makefile.am | 23 -
ui/pages/i18n.json.tmpl | 2 +-
ui/pages/kimchi-ui.html.tmpl | 141 --
ui/pages/login.html.tmpl | 8 +-
ui/pages/report-add.html.tmpl | 53 -
ui/pages/report-rename.html.tmpl | 53 -
ui/pages/repository-add.html.tmpl | 105 -
ui/pages/repository-edit.html.tmpl | 115 -
ui/pages/storagepool-add-volume.html.tmpl | 77 -
ui/pages/storagepool-add.html.tmpl | 178 --
ui/pages/tabs/Makefile.am | 20 -
ui/pages/tabs/guests.html.tmpl | 56 -
ui/pages/tabs/host.html.tmpl | 168 --
ui/pages/tabs/network.html.tmpl | 128 --
ui/pages/tabs/storage.html.tmpl | 142 --
ui/pages/tabs/templates.html.tmpl | 73 -
ui/pages/template-add.html.tmpl | 229 --
ui/pages/template-edit.html.tmpl | 193 --
ui/pages/websockify/Makefile.am | 2 +-
ui/pages/websockify/console.html | 12 +-
ui/pages/wok-ui.html.tmpl | 141 ++
ui/spice-html5/Makefile.am | 25 -
ui/spice-html5/css/Makefile.am | 20 -
ui/spice-html5/pages/Makefile.am | 20 -
ui/spice-html5/pages/spice_auto.html | 200 --
ui/spice-html5/thirdparty/Makefile.am | 20 -
728 files changed, 69789 insertions(+), 37853 deletions(-)
delete mode 100644 config/Makefile.am
delete mode 100644 config/ui/Makefile.am
delete mode 100644 config/ui/tabs.xml
delete mode 100644 contrib/kimchi.spec.fedora.in
delete mode 100644 contrib/kimchi.spec.suse.in
delete mode 100644 contrib/kimchid-upstart.conf.debian
delete mode 100644 contrib/kimchid-upstart.conf.fedora
delete mode 100644 contrib/kimchid.service.fedora
delete mode 100644 contrib/kimchid.sysvinit
create mode 100644 contrib/wok.spec.fedora.in
create mode 100644 contrib/wok.spec.suse.in
create mode 100644 contrib/wokd-upstart.conf.debian
create mode 100644 contrib/wokd-upstart.conf.fedora
create mode 100644 contrib/wokd.service.fedora
create mode 100644 contrib/wokd.sysvinit
delete mode 100644 docs/README-federation.md
rename docs/{kimchid.8.in => wokd.8.in} (100%)
create mode 100644 plugins/kimchi/.gitignore
create mode 100644 plugins/kimchi/API.json
create mode 100644 plugins/kimchi/INSTALL
create mode 100644 plugins/kimchi/Makefile.am
create mode 120000 plugins/kimchi/README.md
create mode 100644 plugins/kimchi/VERSION
create mode 100644 plugins/kimchi/__init__.py
create mode 100755 plugins/kimchi/autogen.sh
create mode 100644 plugins/kimchi/build-aux/config.rpath
create mode 100755 plugins/kimchi/build-aux/genChangelog
create mode 100755 plugins/kimchi/build-aux/pkg-version
create mode 100644 plugins/kimchi/config.py.in
create mode 100644 plugins/kimchi/config.rpath
create mode 100644 plugins/kimchi/configure.ac
create mode 100644 plugins/kimchi/contrib/DEBIAN/Makefile.am
create mode 100644 plugins/kimchi/contrib/DEBIAN/control.in
create mode 100644 plugins/kimchi/contrib/Makefile.am
create mode 100755 plugins/kimchi/contrib/check_i18n.py
create mode 100644 plugins/kimchi/contrib/kimchi.spec.fedora.in
create mode 100644 plugins/kimchi/contrib/kimchi.spec.suse.in
copy {contrib => plugins/kimchi/contrib}/make-deb.sh.in (100%)
create mode 100644 plugins/kimchi/control/Makefile.am
create mode 100644 plugins/kimchi/control/__init__.py
create mode 100644 plugins/kimchi/control/config.py
create mode 100644 plugins/kimchi/control/cpuinfo.py
create mode 100644 plugins/kimchi/control/debugreports.py
create mode 100644 plugins/kimchi/control/groups.py
create mode 100644 plugins/kimchi/control/host.py
create mode 100644 plugins/kimchi/control/interfaces.py
create mode 100644 plugins/kimchi/control/networks.py
create mode 100644 plugins/kimchi/control/peers.py
create mode 100644 plugins/kimchi/control/storagepools.py
create mode 100644 plugins/kimchi/control/storageservers.py
create mode 100644 plugins/kimchi/control/storagevolumes.py
create mode 100644 plugins/kimchi/control/tasks.py
create mode 100644 plugins/kimchi/control/templates.py
create mode 100644 plugins/kimchi/control/users.py
create mode 100644 plugins/kimchi/control/vm/Makefile.am
create mode 100644 plugins/kimchi/control/vm/__init__.py
create mode 100644 plugins/kimchi/control/vm/hostdevs.py
create mode 100644 plugins/kimchi/control/vm/ifaces.py
create mode 100644 plugins/kimchi/control/vm/snapshots.py
create mode 100644 plugins/kimchi/control/vm/storages.py
create mode 100644 plugins/kimchi/control/vms.py
create mode 100644 plugins/kimchi/disks.py
create mode 100644 plugins/kimchi/distroloader.py
rename {src => plugins/kimchi}/distros.d/Makefile.am (100%)
rename {src => plugins/kimchi}/distros.d/debian.json (100%)
rename {src => plugins/kimchi}/distros.d/fedora.json (100%)
rename {src => plugins/kimchi}/distros.d/gentoo.json (100%)
rename {src => plugins/kimchi}/distros.d/opensuse.json (100%)
rename {src => plugins/kimchi}/distros.d/ubuntu.json (100%)
create mode 100644 plugins/kimchi/docs/API.md
create mode 100644 plugins/kimchi/docs/Makefile.am
create mode 100644 plugins/kimchi/docs/README-federation.md
create mode 100644 plugins/kimchi/docs/README.md
rename {docs => plugins/kimchi/docs}/kimchi-guest.png (100%)
rename {docs => plugins/kimchi/docs}/kimchi-login.png (100%)
rename {docs => plugins/kimchi/docs}/kimchi-templates.png (100%)
copy {src => plugins}/kimchi/i18n.py (100%)
create mode 100644 plugins/kimchi/imageinfo.py
create mode 100644 plugins/kimchi/iscsi.py
create mode 100644 plugins/kimchi/isoinfo.py
create mode 100644 plugins/kimchi/kimchi.conf
create mode 100644 plugins/kimchi/kvmusertests.py
create mode 100644 plugins/kimchi/m4/ac_python_module.m4
create mode 100644 plugins/kimchi/m4/gettext.m4
create mode 100644 plugins/kimchi/m4/iconv.m4
create mode 100644 plugins/kimchi/m4/intlmacosx.m4
create mode 100644 plugins/kimchi/m4/lib-ld.m4
create mode 100644 plugins/kimchi/m4/lib-link.m4
create mode 100644 plugins/kimchi/m4/lib-prefix.m4
create mode 100644 plugins/kimchi/m4/nls.m4
create mode 100644 plugins/kimchi/m4/po.m4
create mode 100644 plugins/kimchi/m4/progtest.m4
create mode 100644 plugins/kimchi/mockmodel.py
create mode 100644 plugins/kimchi/model/Makefile.am
copy {src => plugins}/kimchi/model/__init__.py (100%)
create mode 100644 plugins/kimchi/model/config.py
create mode 100644 plugins/kimchi/model/cpuinfo.py
create mode 100644 plugins/kimchi/model/debugreports.py
create mode 100644 plugins/kimchi/model/diskutils.py
create mode 100644 plugins/kimchi/model/featuretests.py
create mode 100644 plugins/kimchi/model/groups.py
create mode 100644 plugins/kimchi/model/host.py
create mode 100644 plugins/kimchi/model/hostdev.py
create mode 100644 plugins/kimchi/model/interfaces.py
create mode 100644 plugins/kimchi/model/libvirtconnection.py
create mode 100644 plugins/kimchi/model/libvirtstoragepool.py
create mode 100644 plugins/kimchi/model/model.py
create mode 100644 plugins/kimchi/model/networks.py
create mode 100644 plugins/kimchi/model/peers.py
create mode 100644 plugins/kimchi/model/storagepools.py
create mode 100644 plugins/kimchi/model/storageservers.py
create mode 100644 plugins/kimchi/model/storagetargets.py
create mode 100644 plugins/kimchi/model/storagevolumes.py
create mode 100644 plugins/kimchi/model/tasks.py
create mode 100644 plugins/kimchi/model/templates.py
create mode 100644 plugins/kimchi/model/users.py
create mode 100644 plugins/kimchi/model/utils.py
create mode 100644 plugins/kimchi/model/vmhostdevs.py
create mode 100644 plugins/kimchi/model/vmifaces.py
create mode 100644 plugins/kimchi/model/vms.py
create mode 100644 plugins/kimchi/model/vmsnapshots.py
create mode 100644 plugins/kimchi/model/vmstorages.py
create mode 100644 plugins/kimchi/osinfo.py
create mode 100644 plugins/kimchi/po/LINGUAS
create mode 100644 plugins/kimchi/po/Makefile.in.in
copy {po => plugins/kimchi/po}/Makevars (100%)
create mode 100644 plugins/kimchi/po/POTFILES.in
create mode 100644 plugins/kimchi/po/de_DE.po
create mode 100644 plugins/kimchi/po/en_US.po
create mode 100644 plugins/kimchi/po/es_ES.po
create mode 100644 plugins/kimchi/po/fr_FR.po
copy {po => plugins/kimchi/po}/gen-pot.in (100%)
create mode 100644 plugins/kimchi/po/it_IT.po
create mode 100644 plugins/kimchi/po/ja_JP.po
copy {po => plugins/kimchi/po}/kimchi.pot (100%)
create mode 100644 plugins/kimchi/po/ko_KR.po
create mode 100644 plugins/kimchi/po/pt_BR.po
create mode 100644 plugins/kimchi/po/ru_RU.po
create mode 100644 plugins/kimchi/po/zh_CN.po
create mode 100644 plugins/kimchi/po/zh_TW.po
create mode 100644 plugins/kimchi/repositories.py
create mode 100644 plugins/kimchi/root.py
create mode 100644 plugins/kimchi/scan.py
create mode 100644 plugins/kimchi/screenshot.py
create mode 100644 plugins/kimchi/swupdate.py
rename {src => plugins/kimchi}/template.conf (100%)
create mode 100644 plugins/kimchi/tests/Makefile.am
create mode 100644 plugins/kimchi/tests/iso_gen.py
create mode 100644 plugins/kimchi/tests/run_tests.sh.in
create mode 100644 plugins/kimchi/tests/test_authorization.py
create mode 100644 plugins/kimchi/tests/test_config.py.in
create mode 100644 plugins/kimchi/tests/test_exception.py
create mode 100644 plugins/kimchi/tests/test_host.py
create mode 100644 plugins/kimchi/tests/test_mock_network.py
create mode 100644 plugins/kimchi/tests/test_mock_storagepool.py
create mode 100644 plugins/kimchi/tests/test_mock_storagevolume.py
create mode 100644 plugins/kimchi/tests/test_mockmodel.py
create mode 100644 plugins/kimchi/tests/test_model.py
create mode 100644 plugins/kimchi/tests/test_model_network.py
create mode 100644 plugins/kimchi/tests/test_model_storagepool.py
create mode 100644 plugins/kimchi/tests/test_model_storagevolume.py
create mode 100644 plugins/kimchi/tests/test_networkxml.py
create mode 100644 plugins/kimchi/tests/test_objectstore.py
create mode 100644 plugins/kimchi/tests/test_osinfo.py
create mode 100644 plugins/kimchi/tests/test_plugin.py
create mode 100644 plugins/kimchi/tests/test_rest.py
create mode 100644 plugins/kimchi/tests/test_rollbackcontext.py
create mode 100644 plugins/kimchi/tests/test_server.py
create mode 100644 plugins/kimchi/tests/test_storagepoolxml.py
create mode 100644 plugins/kimchi/tests/test_template.py
create mode 100644 plugins/kimchi/tests/test_utils.py
create mode 100644 plugins/kimchi/tests/test_vmtemplate.py
create mode 100644 plugins/kimchi/tests/test_yumparser.py
create mode 100644 plugins/kimchi/tests/utils.py
create mode 100644 plugins/kimchi/ui/Makefile.am
create mode 100644 plugins/kimchi/ui/config/Makefile.am
create mode 100644 plugins/kimchi/ui/config/tab-ext.xml
create mode 100644 plugins/kimchi/ui/css/Makefile.am
create mode 100644 plugins/kimchi/ui/css/theme-default/button.css
rename {ui => plugins/kimchi/ui}/css/theme-default/circleGauge.css (100%)
rename {ui => plugins/kimchi/ui}/css/theme-default/form.css (100%)
rename {ui => plugins/kimchi/ui}/css/theme-default/grid.css (100%)
create mode 100644 plugins/kimchi/ui/css/theme-default/guest-edit.css
rename {ui => plugins/kimchi/ui}/css/theme-default/guest-storage-add.css (100%)
create mode 100644 plugins/kimchi/ui/css/theme-default/host.css
rename {ui => plugins/kimchi/ui}/css/theme-default/jquery-ui.custom.css (100%)
rename {ui => plugins/kimchi/ui}/css/theme-default/line-chart.css (100%)
create mode 100644 plugins/kimchi/ui/css/theme-default/list.css
create mode 100644 plugins/kimchi/ui/css/theme-default/message.css
create mode 100644 plugins/kimchi/ui/css/theme-default/network.css
create mode 100644 plugins/kimchi/ui/css/theme-default/popover.css
rename {ui => plugins/kimchi/ui}/css/theme-default/report-add.css (100%)
create mode 100644 plugins/kimchi/ui/css/theme-default/report-rename.css
rename {ui => plugins/kimchi/ui}/css/theme-default/repository-add.css (100%)
rename {ui => plugins/kimchi/ui}/css/theme-default/repository-edit.css (100%)
create mode 100644 plugins/kimchi/ui/css/theme-default/storage.css
rename {ui => plugins/kimchi/ui}/css/theme-default/storagepool-add-volume.css (100%)
rename {ui => plugins/kimchi/ui}/css/theme-default/template-edit.css (100%)
rename {ui => plugins/kimchi/ui}/css/theme-default/template.css (100%)
create mode 100644 plugins/kimchi/ui/css/theme-default/template_add.css
rename {ui => plugins/kimchi/ui}/css/theme-default/template_list.css (100%)
rename {ui => plugins/kimchi/ui}/css/theme-default/tile-check.css (100%)
rename {ui => plugins/kimchi/ui}/css/theme-default/toolbar.css (100%)
create mode 100644 plugins/kimchi/ui/images/Makefile.am
rename {ui => plugins/kimchi/ui}/images/icon-centos.png (100%)
rename {ui => plugins/kimchi/ui}/images/icon-debian.png (100%)
rename {ui => plugins/kimchi/ui}/images/icon-fedora.png (100%)
rename {ui => plugins/kimchi/ui}/images/icon-gentoo.png (100%)
rename {ui => plugins/kimchi/ui}/images/icon-opensuse.png (100%)
rename {ui => plugins/kimchi/ui}/images/icon-ubuntu.png (100%)
rename {ui => plugins/kimchi/ui}/images/icon-vm.png (100%)
create mode 100644 plugins/kimchi/ui/images/logo.ico
create mode 100644 plugins/kimchi/ui/images/theme-default/Makefile.am
rename {ui => plugins/kimchi/ui}/images/theme-default/ac22_pause.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/ac22_pause_grey.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/ac24_resume.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/ac24_resume_grey.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/alert.png (100%)
create mode 100644 plugins/kimchi/ui/images/theme-default/arrow-down-black.png
rename {ui => plugins/kimchi/ui}/images/theme-default/arrow-down-disable.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/arrow-down.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/arrow-up.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/arrow_out.png (100%)
create mode 100644 plugins/kimchi/ui/images/theme-default/bg-mask.png
rename {ui => plugins/kimchi/ui}/images/theme-default/check-green.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/check-grey.png (100%)
create mode 100644 plugins/kimchi/ui/images/theme-default/folder-arrow-down.png
rename {ui => plugins/kimchi/ui}/images/theme-default/folder-arrow-right.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/group.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/host-icon-sprite.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-alert.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-back.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-camera.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-design.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-detail.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-event.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-iso.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-list.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-load.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-local.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-power-down.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-power-up.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-qcow2.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-raw.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-remote.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-reset.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-search.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-setting.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-sort.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-tool.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-tree.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-user.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/icon-volume-default.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/kimchi-loading.gif (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/kimchi-loading15x15.gif (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/loading.gif (100%)
create mode 100644 plugins/kimchi/ui/images/theme-default/logo-white.png
rename {ui => plugins/kimchi/ui}/images/theme-default/thumb-guest.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/thumb-host.png (100%)
rename {ui => plugins/kimchi/ui}/images/theme-default/user.png (100%)
create mode 100644 plugins/kimchi/ui/js/Makefile.am
create mode 100644 plugins/kimchi/ui/js/src/kimchi.api.js
rename {ui => plugins/kimchi/ui}/js/src/kimchi.form.js (100%)
create mode 100644 plugins/kimchi/ui/js/src/kimchi.grid.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.guest_add_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.guest_edit_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.guest_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.guest_media_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.guest_storage_add.main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.host.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.line-chart.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.network.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.report_add_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.report_rename_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.repository_add_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.repository_edit_main.js
rename {ui => plugins/kimchi/ui}/js/src/kimchi.select.js (100%)
create mode 100644 plugins/kimchi/ui/js/src/kimchi.storage_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.storagepool_add_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.storagepool_add_volume_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.template_add_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.template_edit_main.js
create mode 100644 plugins/kimchi/ui/js/src/kimchi.template_main.js
rename {ui => plugins/kimchi/ui}/js/widgets/circleGauge.js (100%)
create mode 100644 plugins/kimchi/ui/libs/Makefile.am
create mode 100644 plugins/kimchi/ui/libs/themes/Makefile.am
create mode 100644 plugins/kimchi/ui/libs/themes/base/Makefile.am
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/Makefile.am
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/animated-overlay.gif
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-bg_flat_75_ffffff_40x100.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-bg_glass_65_ffffff_1x400.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-bg_glass_75_dadada_1x400.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-icons_222222_256x240.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-icons_2e83ff_256x240.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-icons_454545_256x240.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-icons_888888_256x240.png
create mode 100644 plugins/kimchi/ui/libs/themes/base/images/ui-icons_cd0a0a_256x240.png
create mode 100644 plugins/kimchi/ui/pages/Makefile.am
create mode 100644 plugins/kimchi/ui/pages/error.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/guest-add.html.tmpl
rename {ui => plugins/kimchi/ui}/pages/guest-edit.html.tmpl (100%)
create mode 100644 plugins/kimchi/ui/pages/guest-storage-add.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/guest.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/guests.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/help/Makefile.am
create mode 100644 plugins/kimchi/ui/pages/help/de_DE/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/de_DE/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/de_DE/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/de_DE/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/de_DE/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/de_DE/templates.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/dita-help.xsl (100%)
create mode 100644 plugins/kimchi/ui/pages/help/en_US/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/en_US/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/en_US/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/en_US/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/en_US/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/en_US/templates.dita (100%)
create mode 100644 plugins/kimchi/ui/pages/help/es_ES/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/es_ES/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/es_ES/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/es_ES/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/es_ES/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/es_ES/templates.dita (100%)
create mode 100644 plugins/kimchi/ui/pages/help/fr_FR/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/fr_FR/templates.dita (100%)
create mode 100644 plugins/kimchi/ui/pages/help/it_IT/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/it_IT/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/it_IT/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/it_IT/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/it_IT/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/it_IT/templates.dita (100%)
create mode 100644 plugins/kimchi/ui/pages/help/ja_JP/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ja_JP/templates.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/kimchi.css (100%)
create mode 100644 plugins/kimchi/ui/pages/help/ko_KR/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ko_KR/templates.dita (100%)
create mode 100644 plugins/kimchi/ui/pages/help/pt_BR/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/pt_BR/templates.dita (100%)
create mode 100644 plugins/kimchi/ui/pages/help/ru_RU/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/ru_RU/templates.dita (100%)
create mode 100644 plugins/kimchi/ui/pages/help/zh_CN/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/zh_CN/templates.dita (100%)
create mode 100644 plugins/kimchi/ui/pages/help/zh_TW/Makefile.am
rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/guests.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/host.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/network.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/storage.dita (100%)
rename {ui => plugins/kimchi/ui}/pages/help/zh_TW/templates.dita (100%)
create mode 100644 plugins/kimchi/ui/pages/host.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/i18n.json.tmpl
create mode 100644 plugins/kimchi/ui/pages/network.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/report-add.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/report-rename.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/repository-add.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/repository-edit.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/storage.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/storagepool-add-volume.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/storagepool-add.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/template-add.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/template-edit.html.tmpl
create mode 100644 plugins/kimchi/ui/pages/templates.html.tmpl
create mode 100644 plugins/kimchi/ui/robots.txt
create mode 100644 plugins/kimchi/ui/spice-html5/Makefile.am
rename {ui => plugins/kimchi/ui}/spice-html5/atKeynames.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/bitmap.js (100%)
create mode 100644 plugins/kimchi/ui/spice-html5/css/Makefile.am
rename {ui => plugins/kimchi/ui}/spice-html5/css/spice.css (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/cursor.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/display.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/enums.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/inputs.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/lz.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/main.js (100%)
create mode 100644 plugins/kimchi/ui/spice-html5/pages/Makefile.am
create mode 100644 plugins/kimchi/ui/spice-html5/pages/spice_auto.html
rename {ui => plugins/kimchi/ui}/spice-html5/playback.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/png.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/quic.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/resize.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/simulatecursor.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/spicearraybuffer.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/spiceconn.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/spicedataview.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/spicemsg.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/spicetype.js (100%)
create mode 100644 plugins/kimchi/ui/spice-html5/thirdparty/Makefile.am
rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/jsbn.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/prng4.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/rng.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/rsa.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/thirdparty/sha1.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/ticket.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/utils.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/webm.js (100%)
rename {ui => plugins/kimchi/ui}/spice-html5/wire.js (100%)
create mode 100644 plugins/kimchi/utils.py
create mode 100644 plugins/kimchi/vmtemplate.py
create mode 100644 plugins/kimchi/xmlutils/Makefile.am
rename {src => plugins}/kimchi/xmlutils/__init__.py (100%)
rename {src => plugins}/kimchi/xmlutils/cpu.py (100%)
create mode 100644 plugins/kimchi/xmlutils/disk.py
create mode 100644 plugins/kimchi/xmlutils/graphics.py
create mode 100644 plugins/kimchi/xmlutils/interface.py
create mode 100644 plugins/kimchi/xmlutils/network.py
rename {src => plugins}/kimchi/xmlutils/qemucmdline.py (100%)
create mode 100644 plugins/kimchi/yumparser.py
rename po/{kimchi.pot => wok.pot} (100%)
delete mode 100644 src/kimchi.conf.in
delete mode 100644 src/kimchi/API.json
delete mode 100644 src/kimchi/Makefile.am
delete mode 100644 src/kimchi/asynctask.py
delete mode 100644 src/kimchi/auth.py
delete mode 100644 src/kimchi/cachebust.py
delete mode 100644 src/kimchi/config.py.in
delete mode 100644 src/kimchi/control/Makefile.am
delete mode 100644 src/kimchi/control/__init__.py
delete mode 100644 src/kimchi/control/base.py
delete mode 100644 src/kimchi/control/config.py
delete mode 100644 src/kimchi/control/cpuinfo.py
delete mode 100644 src/kimchi/control/debugreports.py
delete mode 100644 src/kimchi/control/groups.py
delete mode 100644 src/kimchi/control/host.py
delete mode 100644 src/kimchi/control/interfaces.py
delete mode 100644 src/kimchi/control/networks.py
delete mode 100644 src/kimchi/control/peers.py
delete mode 100644 src/kimchi/control/plugins.py
delete mode 100644 src/kimchi/control/storagepools.py
delete mode 100644 src/kimchi/control/storageservers.py
delete mode 100644 src/kimchi/control/storagevolumes.py
delete mode 100644 src/kimchi/control/tasks.py
delete mode 100644 src/kimchi/control/templates.py
delete mode 100644 src/kimchi/control/users.py
delete mode 100644 src/kimchi/control/utils.py
delete mode 100644 src/kimchi/control/vm/Makefile.am
delete mode 100644 src/kimchi/control/vm/__init__.py
delete mode 100644 src/kimchi/control/vm/hostdevs.py
delete mode 100644 src/kimchi/control/vm/ifaces.py
delete mode 100644 src/kimchi/control/vm/snapshots.py
delete mode 100644 src/kimchi/control/vm/storages.py
delete mode 100644 src/kimchi/control/vms.py
delete mode 100644 src/kimchi/disks.py
delete mode 100644 src/kimchi/distroloader.py
delete mode 100644 src/kimchi/exception.py
delete mode 100644 src/kimchi/imageinfo.py
delete mode 100644 src/kimchi/iscsi.py
delete mode 100644 src/kimchi/isoinfo.py
delete mode 100644 src/kimchi/kvmusertests.py
delete mode 100644 src/kimchi/mockmodel.py
delete mode 100644 src/kimchi/model/Makefile.am
delete mode 100644 src/kimchi/model/config.py
delete mode 100644 src/kimchi/model/cpuinfo.py
delete mode 100644 src/kimchi/model/debugreports.py
delete mode 100644 src/kimchi/model/diskutils.py
delete mode 100644 src/kimchi/model/featuretests.py
delete mode 100644 src/kimchi/model/groups.py
delete mode 100644 src/kimchi/model/host.py
delete mode 100644 src/kimchi/model/hostdev.py
delete mode 100644 src/kimchi/model/interfaces.py
delete mode 100644 src/kimchi/model/libvirtconnection.py
delete mode 100644 src/kimchi/model/libvirtstoragepool.py
delete mode 100644 src/kimchi/model/model.py
delete mode 100644 src/kimchi/model/networks.py
delete mode 100644 src/kimchi/model/peers.py
delete mode 100644 src/kimchi/model/plugins.py
delete mode 100644 src/kimchi/model/storagepools.py
delete mode 100644 src/kimchi/model/storageservers.py
delete mode 100644 src/kimchi/model/storagetargets.py
delete mode 100644 src/kimchi/model/storagevolumes.py
delete mode 100644 src/kimchi/model/tasks.py
delete mode 100644 src/kimchi/model/templates.py
delete mode 100644 src/kimchi/model/users.py
delete mode 100644 src/kimchi/model/utils.py
delete mode 100644 src/kimchi/model/vmhostdevs.py
delete mode 100644 src/kimchi/model/vmifaces.py
delete mode 100644 src/kimchi/model/vms.py
delete mode 100644 src/kimchi/model/vmsnapshots.py
delete mode 100644 src/kimchi/model/vmstorages.py
delete mode 100644 src/kimchi/objectstore.py
delete mode 100644 src/kimchi/osinfo.py
delete mode 100644 src/kimchi/proxy.py
delete mode 100644 src/kimchi/repositories.py
delete mode 100644 src/kimchi/root.py
delete mode 100644 src/kimchi/scan.py
delete mode 100644 src/kimchi/screenshot.py
delete mode 100644 src/kimchi/server.py
delete mode 100644 src/kimchi/sslcert.py
delete mode 100644 src/kimchi/swupdate.py
delete mode 100644 src/kimchi/template.py
delete mode 100644 src/kimchi/utils.py
delete mode 100644 src/kimchi/vmtemplate.py
delete mode 100644 src/kimchi/vnc.py
delete mode 100644 src/kimchi/xmlutils/Makefile.am
delete mode 100644 src/kimchi/xmlutils/disk.py
delete mode 100644 src/kimchi/xmlutils/graphics.py
delete mode 100644 src/kimchi/xmlutils/interface.py
delete mode 100644 src/kimchi/xmlutils/network.py
delete mode 100644 src/kimchi/yumparser.py
delete mode 100644 src/kimchid.in
delete mode 100644 src/nginx/kimchi.conf.in
create mode 100644 src/nginx/wok.conf.in
create mode 100644 src/wok.conf.in
create mode 100644 src/wok/API.json
create mode 100644 src/wok/Makefile.am
rename src/{kimchi => wok}/__init__.py (100%)
create mode 100644 src/wok/asynctask.py
create mode 100644 src/wok/auth.py
rename src/{kimchi => wok}/basemodel.py (100%)
create mode 100644 src/wok/cachebust.py
create mode 100644 src/wok/config.py.in
create mode 100644 src/wok/control/Makefile.am
create mode 100644 src/wok/control/__init__.py
create mode 100644 src/wok/control/base.py
create mode 100644 src/wok/control/plugins.py
create mode 100644 src/wok/control/utils.py
create mode 100644 src/wok/exception.py
rename src/{kimchi => wok}/i18n.py (100%)
create mode 100644 src/wok/model/Makefile.am
copy src/{kimchi => wok}/model/__init__.py (100%)
create mode 100644 src/wok/model/model.py
create mode 100644 src/wok/model/plugins.py
rename src/{kimchi => wok}/netinfo.py (100%)
rename src/{kimchi => wok}/network.py (100%)
create mode 100644 src/wok/objectstore.py
create mode 100644 src/wok/proxy.py
rename src/{kimchi => wok}/rollbackcontext.py (100%)
create mode 100644 src/wok/root.py
create mode 100644 src/wok/server.py
create mode 100644 src/wok/sslcert.py
create mode 100644 src/wok/template.py
create mode 100644 src/wok/utils.py
create mode 100644 src/wok/vnc.py
create mode 100644 src/wok/xmlutils/Makefile.am
rename src/{kimchi/model => wok/xmlutils}/__init__.py (100%)
rename src/{kimchi => wok}/xmlutils/utils.py (100%)
create mode 100644 src/wokd.in
delete mode 100644 tests/Makefile.am
delete mode 100644 tests/iso_gen.py
delete mode 100644 tests/run_tests.sh.in
delete mode 100644 tests/test_authorization.py
delete mode 100644 tests/test_config.py.in
delete mode 100644 tests/test_exception.py
delete mode 100644 tests/test_host.py
delete mode 100644 tests/test_mock_network.py
delete mode 100644 tests/test_mock_storagepool.py
delete mode 100644 tests/test_mock_storagevolume.py
delete mode 100644 tests/test_mockmodel.py
delete mode 100644 tests/test_model.py
delete mode 100644 tests/test_model_network.py
delete mode 100644 tests/test_model_storagepool.py
delete mode 100644 tests/test_model_storagevolume.py
delete mode 100644 tests/test_networkxml.py
delete mode 100644 tests/test_objectstore.py
delete mode 100644 tests/test_osinfo.py
delete mode 100644 tests/test_plugin.py
delete mode 100644 tests/test_rest.py
delete mode 100644 tests/test_rollbackcontext.py
delete mode 100644 tests/test_server.py
delete mode 100644 tests/test_storagepoolxml.py
delete mode 100644 tests/test_template.py
delete mode 100644 tests/test_utils.py
delete mode 100644 tests/test_vmtemplate.py
delete mode 100644 tests/test_yumparser.py
delete mode 100644 tests/utils.py
delete mode 100644 ui/css/theme-default/guest-edit.css
delete mode 100644 ui/css/theme-default/host.css
delete mode 100644 ui/css/theme-default/list.css
delete mode 100644 ui/css/theme-default/network.css
delete mode 100644 ui/css/theme-default/report-rename.css
delete mode 100644 ui/css/theme-default/storage.css
delete mode 100644 ui/css/theme-default/template_add.css
delete mode 100644 ui/js/src/kimchi.api.js
delete mode 100644 ui/js/src/kimchi.cookie.js
delete mode 100644 ui/js/src/kimchi.grid.js
delete mode 100644 ui/js/src/kimchi.guest_add_main.js
delete mode 100644 ui/js/src/kimchi.guest_edit_main.js
delete mode 100644 ui/js/src/kimchi.guest_main.js
delete mode 100644 ui/js/src/kimchi.guest_media_main.js
delete mode 100644 ui/js/src/kimchi.guest_storage_add.main.js
delete mode 100644 ui/js/src/kimchi.host.js
delete mode 100644 ui/js/src/kimchi.lang.js
delete mode 100644 ui/js/src/kimchi.line-chart.js
delete mode 100644 ui/js/src/kimchi.login.js
delete mode 100644 ui/js/src/kimchi.main.js
delete mode 100644 ui/js/src/kimchi.message.js
delete mode 100644 ui/js/src/kimchi.network.js
delete mode 100644 ui/js/src/kimchi.popable.js
delete mode 100644 ui/js/src/kimchi.report_add_main.js
delete mode 100644 ui/js/src/kimchi.report_rename_main.js
delete mode 100644 ui/js/src/kimchi.repository_add_main.js
delete mode 100644 ui/js/src/kimchi.repository_edit_main.js
delete mode 100644 ui/js/src/kimchi.storage_main.js
delete mode 100644 ui/js/src/kimchi.storagepool_add_main.js
delete mode 100644 ui/js/src/kimchi.storagepool_add_volume_main.js
delete mode 100644 ui/js/src/kimchi.substitute.js
delete mode 100644 ui/js/src/kimchi.template_add_main.js
delete mode 100644 ui/js/src/kimchi.template_edit_main.js
delete mode 100644 ui/js/src/kimchi.template_main.js
delete mode 100644 ui/js/src/kimchi.topic.js
delete mode 100644 ui/js/src/kimchi.user.js
delete mode 100644 ui/js/src/kimchi.utils.js
delete mode 100644 ui/js/src/kimchi.window.js
create mode 100644 ui/js/src/wok.api.js
create mode 100644 ui/js/src/wok.cookie.js
create mode 100644 ui/js/src/wok.lang.js
create mode 100644 ui/js/src/wok.login.js
create mode 100644 ui/js/src/wok.main.js
create mode 100644 ui/js/src/wok.message.js
rename ui/js/src/{kimchi.object.js => wok.object.js} (100%)
create mode 100644 ui/js/src/wok.popable.js
rename ui/js/src/{kimchi.string.js => wok.string.js} (100%)
create mode 100644 ui/js/src/wok.substitute.js
create mode 100644 ui/js/src/wok.topic.js
create mode 100644 ui/js/src/wok.user.js
create mode 100644 ui/js/src/wok.utils.js
create mode 100644 ui/js/src/wok.window.js
delete mode 100644 ui/pages/guest-add.html.tmpl
delete mode 100644 ui/pages/guest-storage-add.html.tmpl
delete mode 100644 ui/pages/guest.html.tmpl
delete mode 100644 ui/pages/help/Makefile.am
delete mode 100644 ui/pages/help/de_DE/Makefile.am
delete mode 100644 ui/pages/help/en_US/Makefile.am
delete mode 100644 ui/pages/help/es_ES/Makefile.am
delete mode 100644 ui/pages/help/fr_FR/Makefile.am
delete mode 100755 ui/pages/help/gen-index.py
delete mode 100644 ui/pages/help/it_IT/Makefile.am
delete mode 100644 ui/pages/help/ja_JP/Makefile.am
delete mode 100644 ui/pages/help/ko_KR/Makefile.am
delete mode 100644 ui/pages/help/pt_BR/Makefile.am
delete mode 100644 ui/pages/help/ru_RU/Makefile.am
delete mode 100644 ui/pages/help/zh_CN/Makefile.am
delete mode 100644 ui/pages/help/zh_TW/Makefile.am
delete mode 100644 ui/pages/kimchi-ui.html.tmpl
delete mode 100644 ui/pages/report-add.html.tmpl
delete mode 100644 ui/pages/report-rename.html.tmpl
delete mode 100644 ui/pages/repository-add.html.tmpl
delete mode 100644 ui/pages/repository-edit.html.tmpl
delete mode 100644 ui/pages/storagepool-add-volume.html.tmpl
delete mode 100644 ui/pages/storagepool-add.html.tmpl
delete mode 100644 ui/pages/tabs/Makefile.am
delete mode 100644 ui/pages/tabs/guests.html.tmpl
delete mode 100644 ui/pages/tabs/host.html.tmpl
delete mode 100644 ui/pages/tabs/network.html.tmpl
delete mode 100644 ui/pages/tabs/storage.html.tmpl
delete mode 100644 ui/pages/tabs/templates.html.tmpl
delete mode 100644 ui/pages/template-add.html.tmpl
delete mode 100644 ui/pages/template-edit.html.tmpl
create mode 100644 ui/pages/wok-ui.html.tmpl
delete mode 100644 ui/spice-html5/Makefile.am
delete mode 100644 ui/spice-html5/css/Makefile.am
delete mode 100644 ui/spice-html5/pages/Makefile.am
delete mode 100644 ui/spice-html5/pages/spice_auto.html
delete mode 100644 ui/spice-html5/thirdparty/Makefile.am
9 years, 6 months
[PATCH v2] Prevent Kimchi against TLS Logjam attacks
by Rodrigo Trujillo
There are several weaknesses in how Diffie-Hellman key exchange has been
deployed, allowing a man-in-the-middle attack named Logjam, more details
here: https://weakdh.org.
This patch improves the security in Nginx server, generating 2048bit
DH-Parameters or longer when using 2048bit RSA keys.
Some parameters before patch:
echo | openssl s_client -connect localhost:8001 -cipher "DH"
Cipher : DHE-RSA-AES256-GCM-SHA384
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Server Temp Key: DH, 1024 bits
Some parameters after patch:
echo | openssl s_client -connect localhost:8001 -cipher "DH"
Cipher : DHE-RSA-AES256-GCM-SHA384
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Server Temp Key: DH, 2048 bits (*)
This patch also changes the Ciphers allowed by Nginx, change build
scripts and the RPM spec file to deliver new file: dhparams.pem.
Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo(a)linux.vnet.ibm.com>
---
Makefile.am | 1 +
contrib/DEBIAN/control.in | 1 +
contrib/kimchi.spec.fedora.in | 1 +
contrib/kimchi.spec.suse.in | 1 +
src/Makefile.am | 8 +++++++-
src/kimchi/proxy.py | 6 +++++-
src/nginx/Makefile.am | 2 ++
src/nginx/kimchi.conf.in | 4 +++-
8 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 46b0b5b..1a0c8e7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -133,6 +133,7 @@ install-data-local:
touch $(DESTDIR)/var/log/kimchi/kimchi-access.log
touch $(DESTDIR)/var/log/kimchi/kimchi-error.log
mkdir -p $(DESTDIR)/etc/kimchi/
+ $(INSTALL_DATA) src/dhparams.pem $(DESTDIR)/etc/kimchi/dhparams.pem
touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
uninstall-local:
diff --git a/contrib/DEBIAN/control.in b/contrib/DEBIAN/control.in
index 0747d0f..a288e9b 100644
--- a/contrib/DEBIAN/control.in
+++ b/contrib/DEBIAN/control.in
@@ -30,6 +30,7 @@ Depends: python-cherrypy3 (>= 3.2.0),
libguestfs-tools,
spice-html5
Build-Depends: libxslt,
+ openssl,
python-lxml
Maintainer: Aline Manera <alinefm(a)br.ibm.com>
Description: Kimchi web server
diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in
index dc5533a..183fd43 100644
--- a/contrib/kimchi.spec.fedora.in
+++ b/contrib/kimchi.spec.fedora.in
@@ -34,6 +34,7 @@ Requires: python-ldap
Requires: python-libguestfs
Requires: libguestfs-tools
BuildRequires: libxslt
+BuildRequires: openssl
BuildRequires: python-lxml
%if 0%{?rhel} >= 6 || 0%{?fedora} >= 19
diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in
index 5681a60..fa55cc5 100644
--- a/contrib/kimchi.spec.suse.in
+++ b/contrib/kimchi.spec.suse.in
@@ -34,6 +34,7 @@ Requires: open-iscsi
Requires: python-libguestfs
Requires: guestfs-tools
BuildRequires: libxslt-tools
+BuildRequires: openssl
BuildRequires: python-lxml
%if 0%{?sles_version} == 11
diff --git a/src/Makefile.am b/src/Makefile.am
index 38d231c..e0e0821 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -45,4 +45,10 @@ kimchid: kimchid.in Makefile
kimchi.conf: kimchi.conf.in Makefile
$(do_substitution) < kimchi.conf.in > kimchi.conf
-CLEANFILES = $(bin_SCRIPTS) $(BUILT_SOURCES)
+# Generate unique Diffie-Hellman group with 2048-bit
+all-local: dhparams.pem
+
+dhparams.pem:
+ openssl dhparam -out dhparams.pem 2048
+
+CLEANFILES = $(bin_SCRIPTS) $(BUILT_SOURCES) dhparams.pem
diff --git a/src/kimchi/proxy.py b/src/kimchi/proxy.py
index e3e35b4..5dcca65 100644
--- a/src/kimchi/proxy.py
+++ b/src/kimchi/proxy.py
@@ -68,6 +68,9 @@ def _create_proxy_config(options):
with open(key, "w") as f:
f.write(ssl_gen.key_pem())
+ # Setting up Diffie-Hellman group with 2048-bit file
+ dhparams_pem = os.path.join(config_dir, "dhparams.pem")
+
# Read template file and create a new config file
# with the specified parameters.
with open(os.path.join(nginx_config_dir, "kimchi.conf.in")) as template:
@@ -78,7 +81,8 @@ def _create_proxy_config(options):
kimchid_port=options.cherrypy_port,
proxy_ssl_port=options.ssl_port,
cert_pem=cert, cert_key=key,
- max_body_size=eval(options.max_body_size))
+ max_body_size=eval(options.max_body_size),
+ dhparams_pem=dhparams_pem)
# Write file to be used for nginx.
config_file = open(os.path.join(nginx_config_dir, "kimchi.conf"), "w")
diff --git a/src/nginx/Makefile.am b/src/nginx/Makefile.am
index 0241b37..c754947 100644
--- a/src/nginx/Makefile.am
+++ b/src/nginx/Makefile.am
@@ -21,3 +21,5 @@ EXTRA_DIST = kimchi.conf.in
confdir = $(sysconfdir)/nginx/conf.d
dist_conf_DATA = kimchi.conf.in
+
+CLEANFILES = kimchi.conf
diff --git a/src/nginx/kimchi.conf.in b/src/nginx/kimchi.conf.in
index 3ecbde4..b0faea3 100644
--- a/src/nginx/kimchi.conf.in
+++ b/src/nginx/kimchi.conf.in
@@ -53,7 +53,9 @@ http {
ssl_certificate ${cert_pem};
ssl_certificate_key ${cert_key};
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_ciphers ECDH@STRENGTH:DH@STRENGTH:HIGH:!RC4:!MD5:!DES:!aNULL:!eNULL;
+ ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:@STRENGTH';
+ ssl_prefer_server_ciphers on;
+ ssl_dhparam ${dhparams_pem};
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
add_header X-Frame-Options DENY;
--
2.1.0
9 years, 6 months
[PATCH] Prevent Kimchi against TLS Logjam attacks
by Rodrigo Trujillo
There are several weaknesses in how Diffie-Hellman key exchange has been
deployed, allowing a man-in-the-middle attack named Logjam, more details
here: https://weakdh.org.
This patch improves the security in Nginx server, generating 2048bit
DH-Parameters or longer when using 2048bit RSA keys.
Some parameters before patch:
echo | openssl s_client -connect localhost:8001 -cipher "DH"
Cipher : DHE-RSA-AES256-GCM-SHA384
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Server Temp Key: DH, 1024 bits
Some parameters after patch:
echo | openssl s_client -connect localhost:8001 -cipher "DH"
Cipher : DHE-RSA-AES256-GCM-SHA384
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Server Temp Key: DH, 2048 bits (*)
This patch also changes the Ciphers allowed by Nginx, change build
scripts and the RPM spec file to deliver new file: dhparams.pem.
Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo(a)linux.vnet.ibm.com>
---
Makefile.am | 1 +
contrib/kimchi.spec.fedora.in | 3 ++-
src/Makefile.am | 8 +++++++-
src/kimchi/proxy.py | 6 +++++-
src/nginx/Makefile.am | 2 ++
src/nginx/kimchi.conf.in | 4 +++-
6 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 46b0b5b..5f2b401 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -133,6 +133,7 @@ install-data-local:
touch $(DESTDIR)/var/log/kimchi/kimchi-access.log
touch $(DESTDIR)/var/log/kimchi/kimchi-error.log
mkdir -p $(DESTDIR)/etc/kimchi/
+ $(INSTALL_DATA) src/nginx/dhparams.pem $(DESTDIR)/etc/kimchi/dhparams.pem
touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
uninstall-local:
diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in
index dc5533a..de40fd1 100644
--- a/contrib/kimchi.spec.fedora.in
+++ b/contrib/kimchi.spec.fedora.in
@@ -34,6 +34,7 @@ Requires: python-ldap
Requires: python-libguestfs
Requires: libguestfs-tools
BuildRequires: libxslt
+BuildRequires: openssl
BuildRequires: python-lxml
%if 0%{?rhel} >= 6 || 0%{?fedora} >= 19
@@ -153,7 +154,7 @@ rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/kimchi/distros.d/opensuse.json
%{_sysconfdir}/kimchi/distros.d/ubuntu.json
%{_sysconfdir}/kimchi/distros.d/gentoo.json
-%{_sysconfdir}/kimchi/
+%{_sysconfdir}/kimchi/*
%{_sharedstatedir}/kimchi/debugreports/
%{_sharedstatedir}/kimchi/screenshots/
%{_sharedstatedir}/kimchi/vnc-tokens/
diff --git a/src/Makefile.am b/src/Makefile.am
index 38d231c..e0e0821 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -45,4 +45,10 @@ kimchid: kimchid.in Makefile
kimchi.conf: kimchi.conf.in Makefile
$(do_substitution) < kimchi.conf.in > kimchi.conf
-CLEANFILES = $(bin_SCRIPTS) $(BUILT_SOURCES)
+# Generate unique Diffie-Hellman group with 2048-bit
+all-local: dhparams.pem
+
+dhparams.pem:
+ openssl dhparam -out dhparams.pem 2048
+
+CLEANFILES = $(bin_SCRIPTS) $(BUILT_SOURCES) dhparams.pem
diff --git a/src/kimchi/proxy.py b/src/kimchi/proxy.py
index e3e35b4..5dcca65 100644
--- a/src/kimchi/proxy.py
+++ b/src/kimchi/proxy.py
@@ -68,6 +68,9 @@ def _create_proxy_config(options):
with open(key, "w") as f:
f.write(ssl_gen.key_pem())
+ # Setting up Diffie-Hellman group with 2048-bit file
+ dhparams_pem = os.path.join(config_dir, "dhparams.pem")
+
# Read template file and create a new config file
# with the specified parameters.
with open(os.path.join(nginx_config_dir, "kimchi.conf.in")) as template:
@@ -78,7 +81,8 @@ def _create_proxy_config(options):
kimchid_port=options.cherrypy_port,
proxy_ssl_port=options.ssl_port,
cert_pem=cert, cert_key=key,
- max_body_size=eval(options.max_body_size))
+ max_body_size=eval(options.max_body_size),
+ dhparams_pem=dhparams_pem)
# Write file to be used for nginx.
config_file = open(os.path.join(nginx_config_dir, "kimchi.conf"), "w")
diff --git a/src/nginx/Makefile.am b/src/nginx/Makefile.am
index 0241b37..c754947 100644
--- a/src/nginx/Makefile.am
+++ b/src/nginx/Makefile.am
@@ -21,3 +21,5 @@ EXTRA_DIST = kimchi.conf.in
confdir = $(sysconfdir)/nginx/conf.d
dist_conf_DATA = kimchi.conf.in
+
+CLEANFILES = kimchi.conf
diff --git a/src/nginx/kimchi.conf.in b/src/nginx/kimchi.conf.in
index 3ecbde4..b0faea3 100644
--- a/src/nginx/kimchi.conf.in
+++ b/src/nginx/kimchi.conf.in
@@ -53,7 +53,9 @@ http {
ssl_certificate ${cert_pem};
ssl_certificate_key ${cert_key};
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_ciphers ECDH@STRENGTH:DH@STRENGTH:HIGH:!RC4:!MD5:!DES:!aNULL:!eNULL;
+ ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:@STRENGTH';
+ ssl_prefer_server_ciphers on;
+ ssl_dhparam ${dhparams_pem};
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
add_header X-Frame-Options DENY;
--
2.1.0
9 years, 6 months
[PATCH] Issue #653: "make rpm" requests authentication with non-root
by Ramon Medeiros
Make install now will install firewalld and systemctl service. Also,
it will create base file structure to run kimchi (what was being created
at rpm spec).
---
Makefile.am | 50 +++++++++++++++++++++++++++----------------
configure.ac | 9 ++++++++
contrib/kimchi.spec.fedora.in | 16 --------------
contrib/kimchi.spec.suse.in | 18 ----------------
4 files changed, 41 insertions(+), 52 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 91a0fa2..46b0b5b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -115,27 +115,41 @@ ChangeLog:
fi
install-data-local:
- @if test -d /usr/lib/systemd/system/ ; then \
- $(INSTALL_DATA) contrib/kimchid.service.fedora /usr/lib/systemd/system/kimchid.service; \
- systemctl daemon-reload; \
- elif test -d /etc/systemd/system; then \
- $(INSTALL_DATA) contrib/kimchid.service.fedora /etc/systemd/system/kimchid.service; \
- systemctl daemon-reload; \
- else \
- $(INSTALL_DATA) contrib/kimchid.sysvinit /etc/init.d/kimchid; \
- chmod +x /etc/init.d/kimchid; \
- fi
+ @if test -d $(systemdsystemunitdir) ; then \
+ mkdir -p $(DESTDIR)/$(systemdsystemunitdir); \
+ $(INSTALL_DATA) contrib/kimchid.service.fedora $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \
+ else \
+ mkdir -p $(DESTDIR)/etc/init.d/ \
+ $(INSTALL_DATA) contrib/kimchid.sysvinit $(DESTDIR)/etc/init.d/kimchid; \
+ chmod +x $(DESTDIR)/etc/init.d/kimchid; \
+ fi; \
+ if test -d /usr/lib/firewalld/services/; then \
+ mkdir -p $(DESTDIR)/usr/lib/firewalld/services/; \
+ $(INSTALL_DATA) src/firewalld.xml $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \
+ fi; \
+ mkdir -p $(DESTDIR)/var/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos}
+ touch $(DESTDIR)/var/lib/kimchi/objectstore
+ mkdir -p $(DESTDIR)/var/log/kimchi/
+ touch $(DESTDIR)/var/log/kimchi/kimchi-access.log
+ touch $(DESTDIR)/var/log/kimchi/kimchi-error.log
+ mkdir -p $(DESTDIR)/etc/kimchi/
+ touch $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
uninstall-local:
- @if test -f /usr/lib/systemd/system/kimchid.service; then \
- $(RM) /usr/lib/systemd/system/kimchid.service; \
- systemctl daemon-reload; \
- elif test -f /etc/systemd/system/kimchid.service; then \
- $(RM) /etc/systemd/system/kimchid.service; \
+ @if test -f $(systemdsystemunitdir)/kimchid.service; then \
+ $(RM) $(DESTDIR)/$(systemdsystemunitdir)/kimchid.service; \
elif test -f /etc/init.d/kimchid; then \
- $(RM) /etc/init.d/kimchid; \
- fi
-
+ $(RM) $(DESTDIR)/etc/init.d/kimchid; \
+ $(RM) $(DESTDIR)/etc/init/kimchi.conf; \
+ fi; \
+ if test -d /usr/lib/firewalld/services/; then \
+ $(RM) $(DESTDIR)/usr/lib/firewalld/services/kimchid.xml; \
+ fi; \
+ $(RM) -rf $(DESTDIR)/var/lib/kimchi
+ $(RM) -rf $(DESTDIR)/var/log/kimchi
+ $(RM) -rf $(DESTDIR)/etc/kimchi
+ $(RM) $(DESTDIR)/etc/nginx/conf.d/kimchi.conf
+
VERSION:
@if test -d .git; then \
git describe --abbrev=0 > $@; \
diff --git a/configure.ac b/configure.ac
index f5091b8..0261b5f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -64,6 +64,15 @@ else
AC_SUBST([ENABLE_SAMPLE], [False])
fi
+# check for systemd
+PKG_PROG_PKG_CONFIG
+AC_ARG_WITH([systemdsystemunitdir],
+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
+ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
+if test "x$with_systemdsystemunitdir" != xno; then
+ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+fi
+
AC_ARG_WITH(
[spice-html5],
[AS_HELP_STRING([--with-spice-html5],
diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in
index 30f8417..dc5533a 100644
--- a/contrib/kimchi.spec.fedora.in
+++ b/contrib/kimchi.spec.fedora.in
@@ -85,22 +85,6 @@ make DESTDIR=%{buildroot} install
%if 0%{?with_systemd}
-# create /var/lib/kimchi structure
-mkdir -p %{buildroot}/%{_sharedstatedir}/kimchi/{debugreports,screenshots,vnc-tokens,isos}
-touch %{buildroot}/%{_sharedstatedir}/kimchi/objectstore
-
-# create /var/log/kimchi structure
-mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/
-touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log
-touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log
-
-# create /etc/kimchi structure
-mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/
-touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf
-
-# Install the systemd scripts
-install -Dm 0644 contrib/kimchid.service.fedora %{buildroot}%{_unitdir}/kimchid.service
-install -Dm 0640 src/firewalld.xml %{buildroot}%{_prefix}/lib/firewalld/services/kimchid.xml
%endif
%if 0%{?rhel} == 6
diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in
index bf85661..5681a60 100644
--- a/contrib/kimchi.spec.suse.in
+++ b/contrib/kimchi.spec.suse.in
@@ -54,24 +54,6 @@ make
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
-# create /var/lib/kimchi structure
-mkdir -p %{buildroot}/%{_var}/lib/kimchi/{debugreports,screenshots,vnc-tokens,isos}
-touch %{buildroot}/%{_var}/lib/kimchi/objectstore
-
-# create /var/log/kimchi structure
-mkdir -p %{buildroot}/%{_localstatedir}/log/kimchi/
-touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-access.log
-touch %{buildroot}/%{_localstatedir}/log/kimchi/kimchi-error.log
-
-# create /etc/kimchi structure
-mkdir -p %{buildroot}/%{_sysconfdir}/kimchi/
-
-# create nginx configuration
-touch %{buildroot}/%{_sysconfdir}/nginx/conf.d/kimchi.conf
-
-# Install the SysV init scripts
-install -Dm 0755 contrib/kimchid.sysvinit %{buildroot}%{_initrddir}/kimchid
-
%post
chkconfig kimchid on
--
2.1.0
9 years, 6 months