[Kimchi-devel] [PATCH v4] Supress error messages while checking vm metadata
Daniel Henrique Barboza
dhbarboza82 at gmail.com
Thu Jun 4 20:00:00 UTC 2015
Reviewed-by: Daniel Barboza <dhbarboza82 at gmail.com>
On 06/04/2015 01:44 AM, Ramon Medeiros wrote:
> The function FeatureTests.disable_libvirt_error_logging only removes the
> error message that will be displayed on the console. Libvirt also logs
> errors on messages log. To avoid flood messages log with metadata errors,
> it will be verified manually if the xml has the tag.
>
> Signed-off-by: Ramon Medeiros <ramonn at linux.vnet.ibm.com>
>
> Changes:
>
> v4:
> Fix make check-local errors
>
> v3:
> Discard all code writed before. Aline suggested me a nice workaround, check
> if the xml has metadata tag.
> ---
> src/kimchi/model/utils.py | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/src/kimchi/model/utils.py b/src/kimchi/model/utils.py
> index 0c9d519..7f27edd 100644
> --- a/src/kimchi/model/utils.py
> +++ b/src/kimchi/model/utils.py
> @@ -22,7 +22,6 @@ from lxml import etree, objectify
> from lxml.builder import E, ElementMaker
>
> from kimchi.exception import OperationFailed
> -from kimchi.model.featuretests import FeatureTests
>
> KIMCHI_META_URL = "https://github.com/kimchi-project/kimchi"
> KIMCHI_NAMESPACE = "kimchi"
> @@ -84,7 +83,8 @@ def _kimchi_set_metadata_node(dom, node):
>
>
> def libvirt_get_kimchi_metadata_node(dom, mode="current"):
> - FeatureTests.disable_libvirt_error_logging()
> + if not metadata_exists(dom):
> + return None
> try:
> xml = dom.metadata(libvirt.VIR_DOMAIN_METADATA_ELEMENT,
> KIMCHI_META_URL,
> @@ -92,8 +92,6 @@ def libvirt_get_kimchi_metadata_node(dom, mode="current"):
> return etree.fromstring(xml)
> except libvirt.libvirtError:
> return None
> - finally:
> - FeatureTests.enable_libvirt_error_logging()
>
>
> def set_metadata_node(dom, node, metadata_support, mode="all"):
> @@ -151,3 +149,12 @@ def get_metadata_node(dom, tag, metadata_support, mode="current"):
> if node is not None:
> return etree.tostring(node)
> return ""
> +
> +
> +def metadata_exists(dom):
> + xml = dom.XMLDesc(libvirt.VIR_DOMAIN_XML_INACTIVE)
> + root = etree.fromstring(xml)
> +
> + if root.find("metadata") is None:
> + return False
> + return True
More information about the Kimchi-devel
mailing list