[PATCH] Commit changes to templates and storage.dita files
by Kersten Richter
Added info for new storage options and some minor corrections to templates.dita
Signed-off-by: Kersten Richter <kersten(a)us.ibm.com>
---
ui/pages/help/storage.dita | 10 +++++++---
ui/pages/help/templates.dita | 10 ++++++----
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/ui/pages/help/storage.dita b/ui/pages/help/storage.dita
index 9ad0ea4..97ee0cc 100644
--- a/ui/pages/help/storage.dita
+++ b/ui/pages/help/storage.dita
@@ -54,7 +54,7 @@ the following:<dl><dlentry>
</dlentry><dlentry>
<dt>Allocation</dt>
<dd>Amount of space that is already allocated in the storage pool.</dd>
-</dlentry></dl><?Pub Caret -2?>To define a storage pool, click the <uicontrol>plus
+</dlentry></dl>To define a storage pool, click the <uicontrol>plus
(+)</uicontrol> icon in the upper right of the display.</p>
</csbody>
<cshelp id="kimhdefstor" xml:lang="en-us">
@@ -81,10 +81,14 @@ path</uicontrol> (path of the exported directory).</dd>
When selecting <uicontrol>iSCSI</uicontrol>, type the <uicontrol>iSCSI
server</uicontrol> IP address and <uicontrol>Target</uicontrol> on
the iSCSI server. You can optionally select to add iSCSI authentication.</dd>
-</dlentry></dl></li>
+</dlentry><dlentry>
+<dt><uicontrol>Logical</uicontrol></dt>
+<dd>Specifies a logical volume storage pool. Select the location to
+the device in <uicontrol>Device path</uicontrol>.</dd>
+</dlentry></dl><?Pub Caret 591?></li>
<li>Click <uicontrol>Create</uicontrol>.</li>
</ol> </p>
</csbody>
</cshelp>
</cshelp>
-<?Pub *0000003580?>
+<?Pub *0000003764?>
diff --git a/ui/pages/help/templates.dita b/ui/pages/help/templates.dita
index 5048fc8..d0122ec 100644
--- a/ui/pages/help/templates.dita
+++ b/ui/pages/help/templates.dita
@@ -59,14 +59,16 @@ is configured to use.</dd>
<dd rev="rev1">Disk size in GB.</dd>
</dlentry><dlentry>
<dt>CDROM</dt>
-<dd>File path to the location of the template.</dd>
+<dd>File path to the location of the ISO file used to install the
+KVM guest.</dd>
</dlentry><dlentry>
<dt>Storage pool</dt>
<dd>Specific storage pool or the default storage pool.</dd>
</dlentry><dlentry>
<dt>Network</dt>
-<dd rev="rev1">Default network.</dd>
-</dlentry></dl><?Pub Caret 427?> Fields that are not disabled can
+<dd rev="rev1">Default network interfaces available to the KVM guest.
+You can select multiple networks.</dd>
+</dlentry></dl><?Pub Caret 681?> Fields that are not disabled can
be edited. After you edit a field, click <uicontrol>Save</uicontrol>. </p>
</csbody>
</cshelp>
@@ -117,4 +119,4 @@ ISO images.</li>
</csbody>
</cshelp>
</cshelp>
-<?Pub *0000004366?>
+<?Pub *0000004468?>
--
1.7.1
10 years, 9 months
[PATCH] Added a style sheet to make the html look pretty
by Kersten Richter
Style sheet is called kimchi.css. Not sure how the xsl works so wasn't sure how to get it included in the build. Can someone please take a look? This line needs to be in the header:
<link rel="stylesheet" type="text/css" href="kimchi.css" />
I looked around the open source site but didn't see anything promising.
let me know if I can do anything to help or if this is a pipe dream.
Thanks!
Signed-off-by: Kersten Richter <kersten(a)us.ibm.com>
---
ui/pages/help/kimchi.css | 123 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 123 insertions(+), 0 deletions(-)
create mode 100644 ui/pages/help/kimchi.css
diff --git a/ui/pages/help/kimchi.css b/ui/pages/help/kimchi.css
new file mode 100644
index 0000000..99d69a7
--- /dev/null
+++ b/ui/pages/help/kimchi.css
@@ -0,0 +1,123 @@
+BODY {
+ background: #FFFFFF;
+ margin-bottom: 1em;
+ margin-left: .5em;
+ }
+bold { font-weight: bold; }
+boldItalic { font-weight: bold; font-style: italic; }
+italic { font-style: italic; }
+underlined { text-decoration: underline; }
+uicontrol { font-weight: bold; }
+filepath { font-family: monospace, monospace; }.option { font-family: monospace, monospace; }
+cmdname { font-weight: bold; font-family: monospace, monospace; }
+.defparmname { font-weight: bold; text-decoration: underline; font-family: monospace, monospace; }
+.kwd { font-weight: bold; }
+.defkwd { font-weight: bold; text-decoration: underline; }
+var { font-style : italic;}
+strongwintitle { font-weight : bold; }
+parmname { font-weight: bold; font-family: monospace, monospace; white-space: nowrap; }
+code { font-family: monospace, monospace; }
+pre { font-family: monospace, monospace; }
+CITE { font-style: italic; }
+EM { font-style: italic; }
+STRONG { font-weight: bold; }
+VAR { font-style: italic; }
+dt { font-weight: bold; }
+
+/***********************************************************
+ * Basic fonts
+ ***********************************************************/
+body,
+td,
+th,
+caption {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10pt;
+}
+}
+pre, code {
+ font-family: MS Courier New, Courier, monospace;
+}
+
+h1, h2, h3 {
+ font-size: 12pt;
+ font-weight: bold;
+ color: #336699;
+}
+h4 {
+ font-size: 10pt;
+ font-weight: bold;
+ color: #336699;
+}
+
+
+/***********************************************************
+ * Basic indents, padding, and margin
+ ***********************************************************/
+body {
+ color: black;
+ background-color: white;
+ margin: 0;
+ padding-top: 0.2em;
+ padding-left: 0.6em;
+ padding-right: 0.2em;
+ padding-bottom: 1em;
+}
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ padding: 0;
+ margin-top: 1em;
+ margin-bottom: 0.75em;
+ margin-left: 0;
+ margin-right: 0;
+}
+
+address,
+dl,
+li,
+p {
+ padding: 0;
+ margin-top: 0.75em;
+ margin-bottom: 0.75em;
+ margin-left: 0;
+ margin-right: 0;
+ line-height: 125%;
+}
+td dl {
+ margin-left: 2em;
+}
+pre {
+ padding: 0;
+ margin-top: 0.75em;
+ margin-bottom: 0.75em;
+ margin-left: 2em;
+ margin-right: 0;
+}
+ol,
+ul {
+ padding: 0;
+ margin-top: 0.75em;
+ margin-bottom: 0.75em;
+ margin-left: 2.00em;
+ margin-right: 0;
+}
+
+dd {
+ margin-left: 3.00em;
+ margin-top: 0.75em;
+ margin-bottom: 0.75em;
+}
+dt {
+ margin-left: 1.00em;
+ margin-top: 0.75em;
+}
+
+
+
+
+
+
--
1.7.1
10 years, 9 months
[PATCH] Changed xsl file to include stylesheet
by Kersten Richter
I added a line to the dita-help.xsl file in order to get the stylesheet included
Signed-off-by: Kersten Richter <kersten(a)us.ibm.com>
---
ui/pages/help/dita-help.xsl | 49 ++++++++++++++++++++++---------------------
1 files changed, 25 insertions(+), 24 deletions(-)
diff --git a/ui/pages/help/dita-help.xsl b/ui/pages/help/dita-help.xsl
index 18f9496..0954c39 100644
--- a/ui/pages/help/dita-help.xsl
+++ b/ui/pages/help/dita-help.xsl
@@ -1,24 +1,25 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns="http://www.w3.org/1999/xhtml">
- <xsl:output method="xml" indent="yes" encoding="UTF-8" />
-
- <xsl:template match="/">
- <html>
- <head>
- <title><xsl:value-of select="/cshelp/title" /></title>
- <link rel="shortcut icon" href="../images/logo.ico" />
- </head>
- <body>
- <xsl:apply-templates select="//cshelp" />
- </body>
- </html>
- </xsl:template>
-
- <xsl:template match="cshelp">
- <h1><xsl:value-of select="title" /></h1>
- <p class="shortdesc"><xsl:value-of select="shortdesc" /></p>
- <p class="csbody"><xsl:copy-of select="csbody/node()" /></p>
- </xsl:template>
-</xsl:stylesheet>
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns="http://www.w3.org/1999/xhtml">
+ <xsl:output method="xml" indent="yes" encoding="UTF-8" />
+
+ <xsl:template match="/">
+ <html>
+ <head>
+ <title><xsl:value-of select="/cshelp/title" /></title>
+ <link rel="shortcut icon" href="../images/logo.ico" />
+<link rel="stylesheet" type="text/css" href="kimchi.css" />
+ </head>
+ <body>
+ <xsl:apply-templates select="//cshelp" />
+ </body>
+ </html>
+ </xsl:template>
+
+ <xsl:template match="cshelp">
+ <h1><xsl:value-of select="title" /></h1>
+ <p class="shortdesc"><xsl:value-of select="shortdesc" /></p>
+ <p class="csbody"><xsl:copy-of select="csbody/node()" /></p>
+ </xsl:template>
+</xsl:stylesheet>
--
1.7.1
10 years, 9 months
[PATCH] [UI] Grid Enhancement - "title" Attribute for Long Values
by Hongliang Wang
Allow programmer to specify whether to add a "title" attribute to a
column if he/she is aware that the column may have very long value.
Signed-off-by: Hongliang Wang <hlwang(a)linux.vnet.ibm.com>
---
ui/js/src/kimchi.grid.js | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/ui/js/src/kimchi.grid.js b/ui/js/src/kimchi.grid.js
index 20cacc5..215d6ea 100644
--- a/ui/js/src/kimchi.grid.js
+++ b/ui/js/src/kimchi.grid.js
@@ -158,9 +158,13 @@ kimchi.widget.Grid = function(params) {
var rowNode = $('<tr></tr>').appendTo(tbody);
$.each(fields, function(fi, field) {
var fieldName = field['name'];
- $('<td><div class="cell-text-wrapper">' +
- row[fieldName] +
- '</div></td>').appendTo(rowNode);
+ var value = row[fieldName];
+ $('<td><div class="cell-text-wrapper"' +
+ (field['makeTitle'] === true
+ ? ' title="' + value + '"'
+ : ''
+ ) + '>' + value + '</div></td>'
+ ).appendTo(rowNode);
});
});
};
--
1.8.1.4
10 years, 9 months
[PATCH] ISO Scan: Use volume set id instead of volume id for some wrong images.
by Mark Wu
Some RHEL ISO images store the infomation of volume id in the location
of volume set id mistakenly. But it's better to support those ISO images
since they're already public available. For details, please see:
isoinfo -d -i rhel-server-6.5-ppc64-dvd.iso
CD-ROM is in ISO 9660 format
System id: PPC
Volume id: RED_HAT
Volume set id: RHEL_6.5 ppc64
Publisher id:
Data preparer id:
Application id: RHEL_6.5 ppc64
Copyright File id:
Abstract File id:
Bibliographic File id:
Volume set size is: 1
Volume set sequence number is: 1
Logical block size is: 2048
Volume size is: 1634718
Joliet with UCS level 3 found
Signed-off-by: Mark Wu <wudxw(a)linux.vnet.ibm.com>
---
src/kimchi/isoinfo.py | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/kimchi/isoinfo.py b/src/kimchi/isoinfo.py
index 8d423ad..b7315e0 100644
--- a/src/kimchi/isoinfo.py
+++ b/src/kimchi/isoinfo.py
@@ -235,7 +235,16 @@ class IsoImage(object):
raise IsoFormatError("KCHISO0006E", {'filename': self.path})
if vd_ident != 'CD001' or vd_ver != 1:
raise IsoFormatError("KCHISO0007E", {'filename': self.path})
- self.volume_id = vol_id
+ if vol_id.strip() == 'RED_HAT':
+ # Some RHEL ISO images store the infomation of volume id in the
+ # location of volume set id mistakenly.
+ self.volume_id = self._get_volume_set_id(data)
+ else:
+ self.volume_id = vol_id
+
+ def _get_volume_set_id(self, data):
+ # The index is picked from ISO-9660 specification.
+ return data[190: 318]
def _get_iso_data(self, offset, size):
if self.remote:
--
1.8.4.2
10 years, 9 months
[PATCH V3 0/3] Issue #302
by shaohef@linux.vnet.ibm.com
From: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
V2 -> V3:
use lower() to avoid errors with upper/lower case
V1 -> V2
re-create the default network if ip conflict
let 'create' attr of networks model to create the default network
ShaoHe Feng (3):
move _default_network_check from top model to networks model
add a new function to get an available network address
Issue #302: let 'create' attr of networks model to create default
network
src/kimchi/model/model.py | 35 --------------------------
src/kimchi/model/networks.py | 59 ++++++++++++++++++++++++++++++++++++++------
src/kimchi/network.py | 7 ++++--
3 files changed, 57 insertions(+), 44 deletions(-)
--
1.8.4.2
10 years, 9 months
[PATCH] Update guest action menu
by Adam King
Add menu choices equivalent to the button operations.
Signed-off-by: Adam King <rak(a)linux.vnet.ibm.com>
---
ui/pages/guest.html.tmpl | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/ui/pages/guest.html.tmpl b/ui/pages/guest.html.tmpl
index a9737a5..252a303 100644
--- a/ui/pages/guest.html.tmpl
+++ b/ui/pages/guest.html.tmpl
@@ -55,9 +55,12 @@
<div name="actionmenu" class="btn dropdown popable vm-action" style="width: 70px">
<span class="text">$_("Actions")</span><span class="arrow"></span>
<div class="popover actionsheet right-side" style="width: 250px">
- <button class="button-big shutoff-disabled" name="vm-console" ><span class="text">$_("Console")</span></button>
+ <button class="button-big shutoff-disabled" name="vm-console" ><span class="text">$_("Connect")</span></button>
<button class="button-big shutoff-disabled" name="vm-media"><span class="text">$_("Manage Media")</span></button>
- <button class="button-big running-disabled" name="vm-edit"><span class="text">$_("Edit")</span></button>
+ <button class="button-big running-disabled" name="vm-edit"><span class="text">$_("Edit Guest")</span></button>
+ <button class="button-big shutoff-hidden" name="vm-reset"><span class="text">$_("Reset")</span></button>
+ <button class="button-big running-hidden" name="vm-start"><span class="text">$_("Start")</span></button>
+ <button class="button-big shutoff-hidden" name="vm-stop"><span class="text">$_("Stop")</span></button>
<a class="button-big red " name="vm-delete">$_("Delete")</a>
</div>
</div>
--
1.8.1.4
10 years, 9 months
[PATCH V2 0/3] Issue #302
by shaohef@linux.vnet.ibm.com
From: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
V1 -> V2
re-create the default network if ip conflict
let 'create' attr of networks model to create the default network
ShaoHe Feng (3):
move _default_network_check from top model to networks model
add a new function to get an available network address
Issue #302: let 'create' attr of networks model to create default
network
src/kimchi/model/model.py | 35 --------------------------
src/kimchi/model/networks.py | 58 ++++++++++++++++++++++++++++++++++++++------
src/kimchi/network.py | 7 ++++--
3 files changed, 56 insertions(+), 44 deletions(-)
--
1.8.4.2
10 years, 9 months
[PATCH] Pass ajaxError information on to original requester on ajaxError event
by Adam King
The previous implementation of the ajaxError event did not pass along all the
available information to the original caller. Corrected with this patch.
Display a message if the error is requestRejected.
Updated guest vms processing to use the additional information.
Corrected the error handler to show the JSON response reason when available.
Signed-off-by: Adam King <rak(a)linux.vnet.ibm.com>
---
ui/js/src/kimchi.guest_main.js | 6 ++++--
ui/js/src/kimchi.main.js | 8 ++++++--
ui/pages/i18n.html.tmpl | 1 +
3 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/ui/js/src/kimchi.guest_main.js b/ui/js/src/kimchi.guest_main.js
index bbd8d3d..bdd5a69 100644
--- a/ui/js/src/kimchi.guest_main.js
+++ b/ui/js/src/kimchi.guest_main.js
@@ -165,8 +165,10 @@ kimchi.listVmsAuto = function() {
}
kimchi.vmTimeout = window.setTimeout("kimchi.listVmsAuto();", 5000);
- }, function(err) {
- kimchi.message.error(err.responseJSON.reason);
+ }, function(errorResponse, textStatus, errorThrown) {
+ if(errorResponse.responseJSON && errorResponse.responseJSON.reason) {
+ kimchi.message.error(errorResponse.responseJSON.reason);
+ }
kimchi.vmTimeout = window.setTimeout("kimchi.listVmsAuto();", 5000);
});
};
diff --git a/ui/js/src/kimchi.main.js b/ui/js/src/kimchi.main.js
index 8d12525..aac7e28 100644
--- a/ui/js/src/kimchi.main.js
+++ b/ui/js/src/kimchi.main.js
@@ -164,8 +164,12 @@ kimchi.main = function() {
});
return;
}
-
- ajaxSettings['originalError'] && ajaxSettings['originalError'](jqXHR);
+ else if((jqXHR['status'] == 0) && ("error"==jqXHR.statusText)) {
+ kimchi.message.error(i18n['KCHAPI6007E'].replace("%1", jqXHR.state()));
+ }
+ if(ajaxSettings['originalError']) {
+ ajaxSettings['originalError'](jqXHR, jqXHR.statusText, errorThrown);
+ }
});
kimchi.user.showUser(true);
diff --git a/ui/pages/i18n.html.tmpl b/ui/pages/i18n.html.tmpl
index bf8a0d7..ba3a407 100644
--- a/ui/pages/i18n.html.tmpl
+++ b/ui/pages/i18n.html.tmpl
@@ -50,6 +50,7 @@ var i18n = {
'KCHAPI6004E': "$_("This is not a valid URL.")",
'KCHAPI6005E': "$_("No such data available.")",
'KCHAPI6006E': "$_("options needed.")",
+ 'KCHAPI6007E': "$_("Can not contact the host system. Verify the host system is up and that you have network connectivity to it. HTTP request response %1. ")",
'KCHAPI6001M': "$_("Delete Confirmation")",
'KCHAPI6002M': "$_("OK")",
--
1.8.1.4
10 years, 9 months
[PATCH] Issue 292 Logical Storage Pool Returning "extended" Partitions as Possible Pool
by zhshzhou@linux.vnet.ibm.com
From: Zhou Zheng Sheng <zhshzhou(a)linux.vnet.ibm.com>
Extended partition is a container of logical partitions. Kimchi should
skip extended partition regardless of it contains logical partitions or
not. This patch uses pyparted to check if a partition is a extended
partition and skip if it is.
Signed-off-by: Zhou Zheng Sheng <zhshzhou(a)linux.vnet.ibm.com>
---
contrib/DEBIAN/control.in | 1 +
contrib/kimchi.spec.fedora.in | 1 +
contrib/kimchi.spec.suse.in | 1 +
docs/README.md | 6 +++---
src/kimchi/disks.py | 19 +++++++++++++++++--
5 files changed, 23 insertions(+), 5 deletions(-)
diff --git a/contrib/DEBIAN/control.in b/contrib/DEBIAN/control.in
index 1b03fc7..c2b2a40 100644
--- a/contrib/DEBIAN/control.in
+++ b/contrib/DEBIAN/control.in
@@ -15,6 +15,7 @@ Depends: python-cherrypy3 (>= 3.2.0),
python-libxml2,
qemu-kvm,
python-pam,
+ python-parted,
python-psutil (>= 0.6.0),
python-ethtool,
sosreport,
diff --git a/contrib/kimchi.spec.fedora.in b/contrib/kimchi.spec.fedora.in
index 149c3a7..bf80104 100644
--- a/contrib/kimchi.spec.fedora.in
+++ b/contrib/kimchi.spec.fedora.in
@@ -20,6 +20,7 @@ Requires: m2crypto
Requires: python-imaging
Requires: libxml2-python
Requires: PyPAM
+Requires: pyparted
Requires: python-psutil >= 0.6.0
Requires: python-jsonschema >= 1.3.0
Requires: python-ethtool
diff --git a/contrib/kimchi.spec.suse.in b/contrib/kimchi.spec.suse.in
index beddada..cba0899 100644
--- a/contrib/kimchi.spec.suse.in
+++ b/contrib/kimchi.spec.suse.in
@@ -16,6 +16,7 @@ Requires: python-imaging
Requires: python-M2Crypto
Requires: python-libxml2
Requires: python-pam
+Requires: python-parted
Requires: python-psutil >= 0.6.0
Requires: python-jsonschema >= 1.3.0
Requires: python-ethtool
diff --git a/docs/README.md b/docs/README.md
index 5721878..4be0e53 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -53,7 +53,7 @@ Install Dependencies
PyPAM m2crypto python-jsonschema rpm-build \
qemu-kvm python-psutil python-ethtool sos \
python-ipaddr python-lxml nfs-utils \
- iscsi-initiator-utils libxslt
+ iscsi-initiator-utils libxslt pyparted
# If using RHEL6, install the following additional packages:
$ sudo yum install python-unittest2 python-ordereddict
# Restart libvirt to allow configuration changes to take effect
@@ -75,7 +75,7 @@ for more information on how to configure your system to access this repository.
python-pam python-m2crypto python-jsonschema \
qemu-kvm libtool python-psutil python-ethtool \
sosreport python-ipaddr python-lxml nfs-common \
- open-iscsi lvm2 xsltproc
+ open-iscsi lvm2 xsltproc python-parted
Packages version requirement:
python-jsonschema >= 1.3.0
@@ -89,7 +89,7 @@ for more information on how to configure your system to access this repository.
python-pam python-M2Crypto python-jsonschema \
rpm-build kvm python-psutil python-ethtool \
python-ipaddr python-lxml nfs-client open-iscsi \
- libxslt-tools python-xml
+ libxslt-tools python-xml python-parted
Packages version requirement:
python-psutil >= 0.6.0
diff --git a/src/kimchi/disks.py b/src/kimchi/disks.py
index 8389922..cada869 100644
--- a/src/kimchi/disks.py
+++ b/src/kimchi/disks.py
@@ -20,6 +20,9 @@
import re
import subprocess
+from parted import Device as PDevice
+from parted import Disk as PDisk
+
from kimchi.exception import OperationFailed
from kimchi.utils import kimchi_log
@@ -78,6 +81,17 @@ def _is_dev_leaf(devNodePath):
return childrenCount == 0
+def _is_dev_extended_partition(devType, devNodePath):
+ if devType != 'part':
+ return False
+ diskPath = devNodePath.rstrip('0123456789')
+ device = PDevice(diskPath)
+ disk = PDisk(device)
+ if disk.getExtendedPartition().path == devNodePath:
+ return True
+ return False
+
+
def _parse_lsblk_output(output, keys):
# output is on format key="value",
# where key can be NAME, TYPE, FSTYPE, SIZE, MOUNTPOINT, etc
@@ -122,12 +136,13 @@ def get_partitions_names():
# Only list unmounted and unformated and leaf and (partition or disk)
# leaf means a partition, a disk has no partition, or a disk not held
# by any multipath device. Physical volume belongs to no volume group
- # is also listed.
+ # is also listed. Extended partitions should not be listed.
if not (dev['type'] in ['part', 'disk'] and
dev['fstype'] in ['', 'LVM2_member'] and
dev['mountpoint'] == "" and
_get_vgname(devNodePath) == "" and
- _is_dev_leaf(devNodePath)):
+ _is_dev_leaf(devNodePath) and
+ not _is_dev_extended_partition(dev['type'], devNodePath)):
continue
names.add(name)
--
1.8.5.3
10 years, 9 months