[PATCH 0/2] Fix Issues #743 and #744
by chandra@linux.vnet.ibm.com
From: chandrureddy <chandra(a)linux.vnet.ibm.com>
Fix Issue #744 - gingerbase: objectstore issues
plug in path for gingerbase been changed to /var/lib/gingerbase
Fix issue 'unable to open database file' in root.py and gingerbase.py
Fix Issue #743 - gingerbase: fail to create RPM.
In files gingerbase.spec.fedora.in and gignerbase.spec.suse.in and make-deb.sh.in
add setup instruction
correct the file section
day correction
Name changed from gingerbase to ginger-base
Added files ChangeLog and CONTRIBUTE.md
VERSION changed to 2.0.0
chandrureddy (2):
Fix Issue #744 - gingerbase: objectstore issues
Fix Issue #743 - gingerbase: fail to create RPM.
src/wok/plugins/gingerbase/CONTRIBUTE.md | 19 +++++++++++++
src/wok/plugins/gingerbase/ChangeLog | 31 ++++++++++++++++++++++
src/wok/plugins/gingerbase/Makefile.am | 18 +++++++------
src/wok/plugins/gingerbase/VERSION | 2 +-
src/wok/plugins/gingerbase/config.py.in | 6 ++---
.../gingerbase/contrib/gingerbase.spec.fedora.in | 26 +++++++-----------
.../gingerbase/contrib/gingerbase.spec.suse.in | 30 ++++++++++-----------
src/wok/plugins/gingerbase/contrib/make-deb.sh.in | 2 +-
src/wok/plugins/gingerbase/gingerbase.conf | 2 +-
src/wok/plugins/gingerbase/gingerbase.py | 16 +++++------
src/wok/plugins/kimchi/root.py | 18 ++++++-------
11 files changed, 107 insertions(+), 63 deletions(-)
create mode 100644 src/wok/plugins/gingerbase/CONTRIBUTE.md
create mode 100644 src/wok/plugins/gingerbase/ChangeLog
--
2.1.0
9 years, 2 months
[PATCH] Support Linux Bridge creation
by Ramon Medeiros
Create linux-bridge with libvirt API. Kimchi was only creating macvtap
devices, with has some limitation. For further information, take a look
at Kimchi wiki discuss:
https://github.com/kimchi-project/kimchi/wiki/Create-guest-network
Signed-off-by: Ramon Medeiros <ramonn(a)linux.vnet.ibm.com>
Testing:
In my case, i create a new bridge over the interface enp0s25 with name ramon
curl -u root -H "Content-Type: application/json" -H "Accept: application/json" "http://localhost:8010/plugins/kimchi/networks" -X POST -d '{"name": "ramon", "connection":"bridge", "interface":"enp0s25", "mode":"linux-bridge"}'
To delete, you can remove by UI or:
curl -u root -H "Content-Type: application/json" -H "Accept: application/json" "http://localhost:8010/plugins/kimchi/networks/ramon" -X DELETE -d ''
---
src/wok/plugins/kimchi/model/networks.py | 35 +++++++++++++++++++++++++++---
src/wok/plugins/kimchi/network.py | 20 +++++++++++++++++
src/wok/plugins/kimchi/xmlutils/network.py | 12 ++++++++++
3 files changed, 64 insertions(+), 3 deletions(-)
diff --git a/src/wok/plugins/kimchi/model/networks.py b/src/wok/plugins/kimchi/model/networks.py
index 71ea595..dc34f3f 100644
--- a/src/wok/plugins/kimchi/model/networks.py
+++ b/src/wok/plugins/kimchi/model/networks.py
@@ -35,10 +35,10 @@ from wok.plugins.kimchi import network as knetwork
from wok.plugins.kimchi.osinfo import defaults as tmpl_defaults
from wok.plugins.kimchi.xmlutils.network import create_vlan_tagged_bridge_xml
from wok.plugins.kimchi.xmlutils.network import to_network_xml
-
+from wok.plugins.kimchi.xmlutils.network import create_linux_bridge
KIMCHI_BRIDGE_PREFIX = 'kb'
-
+IFCFG = "/etc/sysconfig/network-scripts/ifcfg-"
class NetworksModel(object):
def __init__(self, **kargs):
@@ -160,7 +160,10 @@ class NetworksModel(object):
def _set_network_bridge(self, params):
try:
iface = params['interface']
- if iface in self.get_all_networks_interfaces():
+
+ if params["mode"] == "linux-bridge":
+ iface = self._create_linux_bridge(iface)
+ elif iface in self.get_all_networks_interfaces():
msg_args = {'iface': iface, 'network': params['name']}
raise InvalidParameter("KCHNET0006E", msg_args)
except KeyError:
@@ -172,6 +175,7 @@ class NetworksModel(object):
raise InvalidParameter('KCHNET0019E', {'name': iface})
params['bridge'] = iface
elif netinfo.is_bare_nic(iface) or netinfo.is_bonding(iface):
+
if params.get('vlan_id') is None:
params['forward']['dev'] = iface
else:
@@ -196,6 +200,31 @@ class NetworksModel(object):
net_dict['bridge'] and interfaces.append(net_dict['bridge'])
return interfaces
+ def _create_linux_bridge(self, interface):
+ newBridge = KIMCHI_BRIDGE_PREFIX + interface[-8:]
+ bridges_list = knetwork.list_bridges()
+
+ bridges = []
+ for bridge in bridges_list:
+ bridges.append(bridge["bridge"])
+
+ # bridge already exists: create new name
+ if newBridge in bridges:
+ for i in range(0,10):
+ newBridge = KIMCHI_BRIDGE_PREFIX + interface[-7:] + str(i)
+ if newBridge not in bridges:
+ break
+
+ # create linux bridge by libvirt
+ try:
+ conn = self.conn.get()
+ iface = conn.interfaceDefineXML(create_linux_bridge(newBridge, interface))
+ iface.create()
+ except libvirt.libvirtError as e:
+ raise OperationFailed("KCHNET0008E",
+ {'name': newBridge, 'err': e.get_error_message()})
+ return newBridge
+
def _create_vlan_tagged_bridge(self, interface, vlan_id):
# Truncate the interface name if it exceeds 8 characters to make sure
# the length of bridge name is less than 15 (its maximum value).
diff --git a/src/wok/plugins/kimchi/network.py b/src/wok/plugins/kimchi/network.py
index 1433b8a..4612599 100644
--- a/src/wok/plugins/kimchi/network.py
+++ b/src/wok/plugins/kimchi/network.py
@@ -20,7 +20,9 @@
import ethtool
import ipaddr
+import os
+from wok.utils import run_command
APrivateNets = ipaddr.IPNetwork("10.0.0.0/8")
BPrivateNets = ipaddr.IPNetwork("172.16.0.0/12")
@@ -60,3 +62,21 @@ def get_one_free_network(used_nets, nets_pool=PrivateNets):
if net:
return net
return None
+
+def list_bridges():
+ # get all bridges
+ _, err, rc = run_command(['brctl', 'show'])
+ output = _.splitlines()
+
+ # iterate over output
+ i = 1
+ bridges = []
+ while (i < len(output)):
+
+ # get bridge name
+ bridges.append({"bridge": output[i].split('\t')[0],
+ "interface": output[i].split('\t')[5]})
+ i += 1
+
+ return bridges
+
diff --git a/src/wok/plugins/kimchi/xmlutils/network.py b/src/wok/plugins/kimchi/xmlutils/network.py
index c73aad9..2fdf8d4 100644
--- a/src/wok/plugins/kimchi/xmlutils/network.py
+++ b/src/wok/plugins/kimchi/xmlutils/network.py
@@ -120,3 +120,15 @@ def create_vlan_tagged_bridge_xml(bridge, interface, vlan_id):
type='bridge',
name=bridge)
return ET.tostring(m)
+
+def create_linux_bridge(bridge, interface):
+ m = E.interface(
+ E.start(mode='onboot'),
+ E.bridge(
+ E.interface(
+ type='ethernet',
+ name=interface)),
+ type='bridge',
+ name=bridge)
+ return ET.tostring(m)
+
--
2.1.0
9 years, 2 months
[RFC] Creating linux bridge on Fedora and Debian based systems
by Ramon Medeiros
Hi,
to create a bridge on Fedora and Debian systems, it's possible to use
brctl (who work in both), but it's not persistent. So, to create a
persistent bridge, files must be create in
/etc/sysconfig/network-scripts on Fedora and /etc/network/interfaces on
debian based.
Does not exist a tool that handle this issues? If not, how kimchi are
dealing when working with this differences between distros?
--
Ramon Nunes Medeiros
Kimchi Developer
Linux Technology Center Brazil
IBM Systems & Technology Group
Phone : +55 19 2132 7878
ramonn(a)br.ibm.com
9 years, 2 months
Issue #744
by Chandra Shehkhar Reddy Potula
Hi all,
I need your input on the directory location (for debug reports and
objectstore files) for new plugin gingerbase. Issue #744 is because of
usage of /var/lib/kimchi directory.
Kimchi uses the location /var/lib/kimchi for objectstore, isos,
screenshots and so on...
When I was coming up the new plugin gingerbase based on the inputs on
below tickets, I tried to use same directory (/var/lib/kimchi) for the
compatibility reasons.
https://github.com/kimchi-project/kimchi/issues/721
https://github.com/kimchi-project/kimchi/issues/738
Now I feel that we should think about this carefully and pick the right
location for objectstore and debug reports of new plugin gingerbase.
I am thinking of two options here due to the fact that plugin kimchi
instruction might destroy the path location /var/lib/kimchi
1. /var/lib/wok
or
2. /var/lib/gingerbase
Based on your inputs I will fix issue #744.
Thanks and Regards
Chandra
9 years, 2 months
[PATCH] Guest memory utilization.
by pvital@linux.vnet.ibm.com
From: Paulo Vital <pvital(a)linux.vnet.ibm.com>
Add support to capture the guest's memory utilization by using libvirt
'virDomainMemoryStats'. The return is the percentage of memory utilization
in the guest's stats dictionary.
Signed-off-by: Paulo Vital <pvital(a)linux.vnet.ibm.com>
---
src/wok/plugins/kimchi/docs/API.md | 2 ++
src/wok/plugins/kimchi/model/vms.py | 15 +++++++++++++++
src/wok/plugins/kimchi/tests/test_mockmodel.py | 2 +-
src/wok/plugins/kimchi/tests/test_model.py | 2 +-
4 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/wok/plugins/kimchi/docs/API.md b/src/wok/plugins/kimchi/docs/API.md
index a9333b5..eb3905f 100644
--- a/src/wok/plugins/kimchi/docs/API.md
+++ b/src/wok/plugins/kimchi/docs/API.md
@@ -107,6 +107,8 @@ server.
* stats: Virtual machine statistics:
* cpu_utilization: A number between 0 and 100 which indicates the
percentage of CPU utilization.
+ * mem_utilization: A number between 0 and 100 which indicates the
+ percentage of memory utilization.
* net_throughput: Expresses total network throughput for reads and
writes across all virtual interfaces (kb/s).
* net_throughput_peak: The highest recent value of 'net_throughput'.
diff --git a/src/wok/plugins/kimchi/model/vms.py b/src/wok/plugins/kimchi/model/vms.py
index 60145d0..6e77bae 100644
--- a/src/wok/plugins/kimchi/model/vms.py
+++ b/src/wok/plugins/kimchi/model/vms.py
@@ -896,6 +896,7 @@ class VMModel(object):
self.stats[vm_uuid].update({'timestamp': timestamp})
self._get_percentage_cpu_usage(vm_uuid, info, seconds)
+ self._get_percentage_mem_usage(vm_uuid, dom, seconds)
self._get_network_io_rate(vm_uuid, dom, seconds)
self._get_disk_io_rate(vm_uuid, dom, seconds)
except Exception as e:
@@ -914,6 +915,19 @@ class VMModel(object):
self.stats[vm_uuid].update({'cputime': info[4], 'cpu': percentage})
+ def _get_percentage_mem_usage(self, vm_uuid, dom, seconds):
+ # Get the guest's memory stats
+ memStats = dom.memoryStats()
+ if memStats:
+ memUsed = memStats.get('available') - memStats.get('unused')
+ else:
+ wok_log.debug('Failed to measure memory usage of the guest.')
+
+ percentage = max(0.0, min(100.0, ((memUsed * 100.0) /
+ memStats.get('available'))))
+
+ self.stats[vm_uuid].update({'mem_usage': percentage})
+
def _get_network_io_rate(self, vm_uuid, dom, seconds):
prevNetRxKB = self.stats[vm_uuid].get('netRxKB', 0)
prevNetTxKB = self.stats[vm_uuid].get('netTxKB', 0)
@@ -1000,6 +1014,7 @@ class VMModel(object):
vm_stats = self.stats.get(dom.UUIDString(), {})
res = {}
res['cpu_utilization'] = vm_stats.get('cpu', 0)
+ res['mem_utilization'] = vm_stats.get('mem_usage', 0)
res['net_throughput'] = vm_stats.get('net_io', 0)
res['net_throughput_peak'] = vm_stats.get('max_net_io', 100)
res['io_throughput'] = vm_stats.get('disk_io', 0)
diff --git a/src/wok/plugins/kimchi/tests/test_mockmodel.py b/src/wok/plugins/kimchi/tests/test_mockmodel.py
index 54a1ac8..7c914b8 100644
--- a/src/wok/plugins/kimchi/tests/test_mockmodel.py
+++ b/src/wok/plugins/kimchi/tests/test_mockmodel.py
@@ -125,7 +125,7 @@ class MockModelTests(unittest.TestCase):
'screenshot', 'icon', 'graphics', 'users', 'groups',
'access', 'persistent'))
- stats_keys = set(('cpu_utilization',
+ stats_keys = set(('cpu_utilization', 'mem_utilization',
'net_throughput', 'net_throughput_peak',
'io_throughput', 'io_throughput_peak'))
diff --git a/src/wok/plugins/kimchi/tests/test_model.py b/src/wok/plugins/kimchi/tests/test_model.py
index 4ae837c..fdbe3b4 100644
--- a/src/wok/plugins/kimchi/tests/test_model.py
+++ b/src/wok/plugins/kimchi/tests/test_model.py
@@ -95,7 +95,7 @@ class ModelTests(unittest.TestCase):
'screenshot', 'icon', 'graphics', 'users', 'groups',
'access', 'persistent'))
- stats_keys = set(('cpu_utilization',
+ stats_keys = set(('cpu_utilization', 'mem_utilization',
'net_throughput', 'net_throughput_peak',
'io_throughput', 'io_throughput_peak'))
info = inst.vm_lookup('test')
--
2.4.3
9 years, 2 months
[PATCH] Update README to recommend pkgconf installation in Ubuntu
by Lucio Correia
That will avoid the following error when making Wok/Kimchi:
./configure: line 6441: PKG_PROG_PKG_CONFIG: command not found
./configure: line 6447: --variable=systemdsystemunitdir: command not found
Signed-off-by: Lucio Correia <luciojhc(a)linux.vnet.ibm.com>
---
docs/README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/README.md b/docs/README.md
index d77b89b..aa982f5 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -78,7 +78,7 @@ channel at RHN Classic or Red Hat Satellite.
**For Ubuntu (Debian-based):**
- $ sudo apt-get install gcc make autoconf automake gettext git \
+ $ sudo apt-get install gcc make autoconf automake gettext git pkgconf \
python-cherrypy3 python-cheetah python-imaging \
python-pam python-m2crypto python-jsonschema \
python-psutil python-ldap python-lxml nginx \
--
1.9.1
9 years, 2 months
[PATCH] Bug fix: Display storage pool types properly
by Aline Manera
One JS error was preventing the storage pool types to be displayed on UI.
Because the function kimchi.listHostPartitions was not defined due a
conflict in the Ginger Base patches.
This patch restores the JS function to fix the issue.
Signed-off-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
---
src/wok/plugins/kimchi/ui/js/src/kimchi.api.js | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/src/wok/plugins/kimchi/ui/js/src/kimchi.api.js b/src/wok/plugins/kimchi/ui/js/src/kimchi.api.js
index 6ffa0df..c55b252 100644
--- a/src/wok/plugins/kimchi/ui/js/src/kimchi.api.js
+++ b/src/wok/plugins/kimchi/ui/js/src/kimchi.api.js
@@ -592,6 +592,17 @@ var kimchi = {
});
},
+ listHostPartitions : function(suc, err) {
+ wok.requestJSON({
+ url : 'plugins/kimchi/host/partitions',
+ type : 'GET',
+ contentType : 'application/json',
+ dataType : 'json',
+ success : suc,
+ error : err
+ });
+ },
+
getStorageServers: function(type, suc, err) {
var url = 'plugins/kimchi/storageservers?_target_type=' + type;
wok.requestJSON({
--
2.1.0
9 years, 2 months
[PATCH] Fix issue #743 - gingerbase: fail to create RPM.
by chandra@linux.vnet.ibm.com
From: chandrureddy <chandra(a)linux.vnet.ibm.com>
---
src/wok/plugins/gingerbase/CONTRIBUTE.md | 19 +++++++++++++
src/wok/plugins/gingerbase/ChangeLog | 31 ++++++++++++++++++++++
src/wok/plugins/gingerbase/VERSION | 2 +-
.../gingerbase/contrib/gingerbase.spec.fedora.in | 26 +++++++-----------
.../gingerbase/contrib/gingerbase.spec.suse.in | 30 ++++++++++-----------
5 files changed, 75 insertions(+), 33 deletions(-)
create mode 100644 src/wok/plugins/gingerbase/CONTRIBUTE.md
create mode 100644 src/wok/plugins/gingerbase/ChangeLog
diff --git a/src/wok/plugins/gingerbase/CONTRIBUTE.md b/src/wok/plugins/gingerbase/CONTRIBUTE.md
new file mode 100644
index 0000000..03b4e79
--- /dev/null
+++ b/src/wok/plugins/gingerbase/CONTRIBUTE.md
@@ -0,0 +1,19 @@
+How to Contribute
+=================
+
+All development discussion happens on the mailing list. All development is done
+using the `git` SCM. Patches should be sent using the `git send-email` command
+to the ginger-dev-list(a)googlegroups.com mailing list.
+
+Please go through below wiki page which describe on how to contribute to the community.
+[How to Contribute](https://github.com/kimchi-project/ginger/wiki/How-to-Contribute)
+
+Good examples of how to send patches are included in
+[QEMU SubmitAPatch](http://wiki.qemu.org/Contribute/SubmitAPatch) and
+[Linux SubmittingPatches](https://www.kernel.org/doc/Documentation/SubmittingPat....
+
+All documentation and READMEs are written using
+[Markdown](http://daringfireball.net/projects/markdown/).
+
+For a patch to be committed, it must receive at least one "Reviewed-by" on the
+mailing list.
diff --git a/src/wok/plugins/gingerbase/ChangeLog b/src/wok/plugins/gingerbase/ChangeLog
new file mode 100644
index 0000000..70c2235
--- /dev/null
+++ b/src/wok/plugins/gingerbase/ChangeLog
@@ -0,0 +1,31 @@
+CHANGELOG
+=========
+
+#### [Current] ####
+ * [94ce07b] Fix make check-local for Kimchi (Aline Manera)
+ * [794ed7c] Add .gitignore file to gingerbase directory (Aline Manera)
+ * [1f1679f] Add src/wok/plugins directory to the Wok PEP8 backlist (Aline Manera)
+ * [94a71b1] Remove Host Resource from Kimchi (Aline Manera)
+ * [89c9058] Keep /host/partitions on Kimchi (Aline Manera)
+ * [3c8c947] Move host authorization tests from Kimchi to Ginger Base (Aline Manera)
+ * [d165ab5] Remove repositories tests from Kimchi (Aline Manera)
+ * [cc7d7a3] Fix Ginger Base tests (Aline Manera)
+ * [9e62598] Get the right internal URI to Ginger Base plugin (Aline Manera)
+ * [d6ee86b] Fix PYTHONPATH to run tests for Ginger Base (Aline Manera)
+ * [379ccff] V7 Ginger Base : base plugin po files (chandrureddy)
+ * [cd4c415] V7 Ginger Base : base plugin ui make, images and config (chandrureddy)
+ * [2256442] V7 Ginger Base : base plugin ui/css files (chandrureddy)
+ * [c12612f] V7 Ginger Base : base plugin ui/js files (chandrureddy)
+ * [89fc8af] V7 Ginger Base : base plugin ui/pages files (chandrureddy)
+ * [074670a] V7 Ginger Base : base plugin ui/pages/help files (chandrureddy)
+ * [83bb860] V7 Ginger Base : base plugin tests files (chandrureddy)
+ * [3b10bb7] V7 Ginger Base : base plugin model files (chandrureddy)
+ * [3cc1ae1] V7 Ginger Base : control files (chandrureddy)
+ * [c37bfb7] V7 Ginger Base : base plugin m4 files (chandrureddy)
+ * [8e8adcc] V7 Ginger Base : base plugin build-aix and contrib (chandrureddy)
+ * [ca7d757] V7 Ginger Base : base plugin docs files (chandrureddy)
+ * [a9add5c] V7 Add License files to ginger base (chandrureddy)
+ * [5456005] V7 Ginger Base : base folder files part 3 (chandrureddy)
+ * [89de0af] V7 Ginger Base : base folder files part 2 (chandrureddy)
+ * [ae5e96c] V7 Ginger Base : base folder files part 1 (chandrureddy)
+ * [d8134dd] V7 Ginger Base : Taking off the host tab functionality (chandrureddy)
diff --git a/src/wok/plugins/gingerbase/VERSION b/src/wok/plugins/gingerbase/VERSION
index bc80560..26ca594 100644
--- a/src/wok/plugins/gingerbase/VERSION
+++ b/src/wok/plugins/gingerbase/VERSION
@@ -1 +1 @@
-1.5.0
+1.5.1
diff --git a/src/wok/plugins/gingerbase/contrib/gingerbase.spec.fedora.in b/src/wok/plugins/gingerbase/contrib/gingerbase.spec.fedora.in
index a4ffb66..a5c7e70 100644
--- a/src/wok/plugins/gingerbase/contrib/gingerbase.spec.fedora.in
+++ b/src/wok/plugins/gingerbase/contrib/gingerbase.spec.fedora.in
@@ -1,4 +1,4 @@
-Name: Ginger Base
+Name: gingerbase
Version: @PACKAGE_VERSION@
Release: @PACKAGE_RELEASE@%{?dist}
Summary: Wok plugin for base host management
@@ -12,6 +12,8 @@ Requires: python-psutil >= 0.6.0
Requires: sos
BuildRequires: libxslt
BuildRequires: python-lxml
+BuildRequires: python-devel
+BuildRequires: python-pip
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
%global with_systemd 1
@@ -28,7 +30,7 @@ Ginger Base is an open source base host management plugin for Wok
common tools for configuring and managing the Linux systems.
%prep
-
+%setup
%build
%configure
@@ -45,24 +47,16 @@ rm -rf $RPM_BUILD_ROOT
%files
%attr(-,root,root)
-%{python_sitelib}/wok/plugins/gingerbase/*.py*
-%{python_sitelib}/wok/plugins/gingerbase/control/*.py*
-%{python_sitelib}/wok/plugins/gingerbase/model/*.py*
-%{python_sitelib}/wok/plugins/gingerbase/API.json
-%{python_sitelib}/wok/plugins/gingerbase/
-%{_datadir}/wok/plugins/gingerbase/doc/API.md
-%{_datadir}/wok/plugins/gingerbase/doc/README.md
-%{_datadir}/wok/plugins/gingerbase/doc/README-federation.md
+%{python_sitelib}/wok/plugins/gingerbase
+%{_datadir}/gingerbase/doc/API.md
+%{_datadir}/gingerbase/doc/README.md
+%{_datadir}/gingerbase/doc/gingerbase-host-tab.png
%{_prefix}/share/locale/*/LC_MESSAGES/gingerbase.mo
-%{_datadir}/wok/plugins/gingerbase/ui/config/*.xml
-%{_datadir}/wok/plugins/gingerbase/ui/
%{_datadir}/wok/plugins/gingerbase
%{_sysconfdir}/wok/plugins.d/gingerbase.conf
-%{_sysconfdir}/wok/
-%{_sharedstatedir}/wok/debugreports/
-%{_sharedstatedir}/wok/
+%{_sharedstatedir}/kimchi/
%changelog
-* Thu Aug 25 2015 Chandra Shehkhar Reddy Potula <chandra(a)linux.vnet.ibm.com> 0.0-1s
+* Tue Aug 25 2015 Chandra Shehkhar Reddy Potula <chandra(a)linux.vnet.ibm.com> 0.0-1
- First build
diff --git a/src/wok/plugins/gingerbase/contrib/gingerbase.spec.suse.in b/src/wok/plugins/gingerbase/contrib/gingerbase.spec.suse.in
index ba92606..83b3571 100644
--- a/src/wok/plugins/gingerbase/contrib/gingerbase.spec.suse.in
+++ b/src/wok/plugins/gingerbase/contrib/gingerbase.spec.suse.in
@@ -1,4 +1,4 @@
-Name: Ginger Base
+Name: gingerbase
Version: @PACKAGE_VERSION@
Release: @PACKAGE_RELEASE@%{?dist}
Summary: Wok plugin for base host management
@@ -11,6 +11,8 @@ Requires: wok
Requires: python-psutil >= 0.6.0
BuildRequires: libxslt-tools
BuildRequires: python-lxml
+BuildRequires: python-devel
+BuildRequires: python-pip
%if 0%{?suse_version} == 1100
Requires: python-ordereddict
@@ -28,6 +30,11 @@ common tools for configuring and managing the Linux systems.
%prep
%setup
+%build
+%configure
+make
+
+
%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
@@ -38,25 +45,16 @@ rm -rf $RPM_BUILD_ROOT
%files
%attr(-,root,root)
-%{python_sitelib}/wok/plugins/gingerbase/*.py*
-%{python_sitelib}/wok/plugins/gingerbase/control/*.py*
-%{python_sitelib}/wok/plugins/gingerbase/model/*.py*
-%{python_sitelib}/wok/plugins/gingerbase/API.json
-%{python_sitelib}/wok/plugins/gingerbase/
-%{_datadir}/wok/plugins/gingerbase/doc/API.md
-%{_datadir}/wok/plugins/gingerbase/doc/README.md
-%{_datadir}/wok/plugins/gingerbase/doc/README-federation.md
+%{python_sitelib}/wok/plugins/gingerbase
+%{_datadir}/gingerbase/doc/API.md
+%{_datadir}/gingerbase/doc/README.md
+%{_datadir}/gingerbase/doc/gingerbase-host-tab.png
%{_prefix}/share/locale/*/LC_MESSAGES/gingerbase.mo
-%{_datadir}/wok/plugins/gingerbase/ui/config/*.xml
-%{_datadir}/wok/plugins/gingerbase/ui/
%{_datadir}/wok/plugins/gingerbase
%{_sysconfdir}/wok/plugins.d/gingerbase.conf
-%{_sysconfdir}/wok/
-%{_var}/lib/wok/debugreports/
-%{_var}/lib/wok/
-
+%{_sharedstatedir}/kimchi/
%changelog
-* Thu Aug 25 2015 Chandra Shehkhar Reddy Potula <chandra(a)linux.vnet.ibm.com> 0.0-1
+* Tue Aug 25 2015 Chandra Shehkhar Reddy Potula <chandra(a)linux.vnet.ibm.com> 0.0-1
- First build
--
2.1.0
9 years, 2 months
[PATCH 0/4] Upgrade to Kimchi-2.0
by pvital@linux.vnet.ibm.com
From: Paulo Vital <pvital(a)linux.vnet.ibm.com>
This patch-set contains some fixes and changes related to upgrade process
from Kimchi-1.5.1 (or older) to the new Wok and Kimchi-2.0 packages in Fedora
and OpenSUSE.
Paulo Vital (4):
Upgrade to Kimchi 2.0: Save previous objectstore file.
Upgrade to Kimchi 2.0: Script to update objectstore content.
Upgrade to Kimchi 2.0: change SPEC files to update objectstore
content.
Upgrade to Kimchi 2.0: change SPEC files to stops kimchid.service
src/wok/plugins/kimchi/Makefile.am | 3 +-
.../plugins/kimchi/contrib/kimchi.spec.fedora.in | 28 ++++++++++
src/wok/plugins/kimchi/contrib/kimchi.spec.suse.in | 27 +++++++++
.../plugins/kimchi/contrib/update_objectstore.py | 64 ++++++++++++++++++++++
4 files changed, 121 insertions(+), 1 deletion(-)
create mode 100644 src/wok/plugins/kimchi/contrib/update_objectstore.py
--
2.4.3
9 years, 2 months
UI Extension Proposal - Same Action on Multiple List Elements
by Jan Schneider
Hello Aline,
we often have use cases that a user wants to perform the same action for
multiple list elements.
The User Interface Design Specification - Kimchi, 2014-12-23
forces the user to do this separately for each list element.
We should discuss if this meets the user needs (at least for new
functionalities).
Kind regards
Jan
9 years, 2 months