[libvirt] VN-Link vNIC memory state copying on VM Migration
by Jagath Weerasinghe
Hi All,
I am new to libvirt. And want to know how the VM migration
occurs in VN-Link (IEEE802.1Qbh). As far as I know,
the memory state of vNICs in M81KR VIC has to be copied
and moved to the destination vNIC on VM migration.
Is that correct? If so, could you please tell me how this
has been implemented in libvirt?
Thanks
Jagath
12 years, 7 months
[libvirt] [PATCH] Remove the useless scripts directory and script under it
by Osier Yang
The script is useful only if all the scripts have good document
comments. Unfortunately, it's not true, and it's burden for
developers to write those documents in specific format somehow,
on the other hand, because we introduced required_opts, optional_opts
for each cases to generate the usage strings, and new option "-t"
to print template for cases, it's no need to write documents
in specific format for scripts now.
---
scripts/gen_case_doc.sh | 21 ---------------------
1 files changed, 0 insertions(+), 21 deletions(-)
delete mode 100644 scripts/gen_case_doc.sh
diff --git a/scripts/gen_case_doc.sh b/scripts/gen_case_doc.sh
deleted file mode 100644
index e814532..0000000
--- a/scripts/gen_case_doc.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#! /bin/sh
-# Create documentation of cases in Python
-
-FILES=`find $PWD/repos/Python -type f -name "*.py"`
-
-for i in ${FILES}; do
- if [ $(basename $i) != '__init__.py' ]; then
- DIRNAME=$(dirname $i)
- DIRNAME=$(echo $DIRNAME | sed -e 's:repos:doc:g')
- fi
-
- if ! [ -e $DIRNAME ]; then
- mkdir -p $DIRNAME
- fi
-
- cd $DIRNAME
- pydoc -w $i
- cd -
-done
-
-exit $?
--
1.7.7.3
12 years, 7 months
[libvirt] [test-API] Delete the script to generate the testing coverage statistics
by Osier Yang
lib/*.py were destroyed. And there is no way to count the API
coverage now.
---
I tried to write a rough patch to generate the statistics, but
failed. There is no way to detect if the API is covered by the
cases, because the different class can have same methods name,
though I can filter out the APIs for each libvirt object by:
libvirt_module="/usr/lib64/python2.7/site-packages/libvirt.py"
declare -a arr=($(grep -E "class vir[A-Za-z]+:" $libvirt_module | \
cut -d' ' -f2))
for i in $(seq 0 $((${#arr[@]} - 1))); do
j=$(($i + 1))
echo "[ == ${arr[$i]} == ]"
if [ $j -lt ${#arr[@]} ]; then
sed -n -e "/${arr[$i]}/,/${arr[$j]}/{/${arr[$j]}/!p}" \
$libvirt_module | grep '^ def ' | grep -E -v "__del|__init" | \
sed -e "s/\s*def //g" -e "s/(.*)://g"
fi
done
---
utils/stats.sh | 72 --------------------------------------------------------
1 files changed, 0 insertions(+), 72 deletions(-)
delete mode 100755 utils/stats.sh
diff --git a/utils/stats.sh b/utils/stats.sh
deleted file mode 100755
index cf2765b..0000000
--- a/utils/stats.sh
+++ /dev/null
@@ -1,72 +0,0 @@
-#! /bin/bash
-
-if [ ! -d $(pwd)/coverage ]; then
- mkdir -p $(pwd)/coverage
-fi
-
-VIRT_STATS_FILE="$(pwd)/coverage/libvirt_API_statistics.txt"
-PYTHON="python$(python -V 2>&1|cut -c 8-10)"
-SUMMARY="coverage/coverage.txt"
-
-if [ $(uname -p) = "x86_64" ]; then
- export LIB="lib64"
-else
- export LIB="lib"
-fi
-
-function delimiter()
-{
- local i=1
- local separator=$1
- local line=''
- while [ $i -le $2 ]
- do
- line=${line}${separator}
- i=$((i+1))
- done
- echo "+$line+" | tee -a $SUMMARY
-}
-
-echo
-echo "Generate Libvirt API Statistics Report under the "
-echo "$(pwd)/coverage"
-echo
-delimiter '=' 50
-echo -e "| Libvirt API statistics of coverage\t |" | tee -a $SUMMARY
-echo -e "| $(date +'%F %T') ($(whoami))\t\t |" | tee -a $SUMMARY
-delimiter '=' 50
-
-VIRT_PATH="/usr/$LIB/$PYTHON/site-packages/libvirt.py"
-grep 'def ' $VIRT_PATH|grep -v "#"|grep -v "__init__" |grep -v "__del__"|cut -d"(" -f 1 |awk '{print NR, $2}' > $VIRT_STATS_FILE
-
-TOTAL_API_NUM=$(grep 'def ' $VIRT_PATH|grep -v "#"|grep -v "__init__" |grep -v "__del__"|wc -l)
-WRAPPER_API_PATH="$(pwd)/lib/Python"
-WRAPPER_API_NUM=0
-
-for wrapper in connect domain network storage nodedev interface secret nwfilter
-do
- export EVERY_API_NUM=$(grep 'def ' $WRAPPER_API_PATH/$wrapper'API.py'|grep -v '#'|grep -v '__init__' |grep -v '__del__r'|wc -l)
- API_NUM=${EVERY_API_NUM}
- let WRAPPER_API_NUM=$WRAPPER_API_NUM+$API_NUM
- echo -e "| cover $wrapper API number\t|\t$API_NUM\t |" | tee -a $SUMMARY
- if [ $wrapper != "nwfilter" ]; then
- delimiter '-' 50
- else
- continue
- fi
-done
-
-delimiter '=' 50
-echo -e "| cover libvirt API total number|\t$WRAPPER_API_NUM\t |" | tee -a $SUMMARY
-delimiter '-' 50
-
-echo -e "| libvirt API real total number\t|\t$TOTAL_API_NUM\t |" | tee -a $SUMMARY
-delimiter '=' 50
-
-RATE=$(printf "%.0f%%" `echo "scale=2;$WRAPPER_API_NUM/$TOTAL_API_NUM*100"|bc`)
-echo -e "| libvirt API coverage rate\t|\t$RATE\t |" | tee -a $SUMMARY
-delimiter '=' 50
-
-echo | tee -a $SUMMARY
-
-
--
1.7.7.3
12 years, 7 months
[libvirt] [test-API 0/3] Destroy class for utils/check.py
by Osier Yang
Just as what we did for utils/utils.py, we don't benifit
from the class use at all.
Osier Yang (3):
remove importing of unused check module
Destroy class of utils/check.py
Destroy use of check class
repos/domain/balloon_memory.py | 3 +-
repos/domain/dump.py | 4 +-
repos/domain/install_linux_check.py | 15 +-
repos/snapshot/file_flag.py | 7 +-
repos/snapshot/flag_check.py | 3 +-
utils/check.py | 649 +++++++++++++++++------------------
utils/xmlgenerator.py | 1 -
7 files changed, 335 insertions(+), 347 deletions(-)
--
1.7.7.3
12 years, 7 months
[libvirt] [test-API] Improve the comments telling what the scripts does for utils/*.py
by Osier Yang
It's a habit to comment on the top of program to tell what the program
does, and actually it's what GNU suggests:
<quote>
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
</quote>
---
utils/XMLParser.py | 4 ++--
utils/check.py | 7 ++-----
utils/env_parser.py | 6 ++----
utils/format.py | 6 ++----
utils/log.py | 6 ++----
utils/xmlbuilder.py | 6 ++----
utils/xmlgenerator.py | 6 ++----
7 files changed, 14 insertions(+), 27 deletions(-)
diff --git a/utils/XMLParser.py b/utils/XMLParser.py
index b254023..4d7fc72 100644
--- a/utils/XMLParser.py
+++ b/utils/XMLParser.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python
#
+# XMLParser.py: Parse XML document, the result is a python dict.
+
# Copyright (C) 2010-2012 Red Hat, Inc.
#
# libvirt-test-API is free software; you can redistribute it and/or
@@ -17,8 +19,6 @@
#
# Filename: XMLParser.py
# Summary: parse and xml document into a python dictionary
-# Description: The module is a tool to parses
-# and xml document into a python dictionary
import os
from xml.dom import minidom
diff --git a/utils/check.py b/utils/check.py
index 1db49e7..7f35418 100644
--- a/utils/check.py
+++ b/utils/check.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python
#
+# check.py: Check methods for cases.
+#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
# libvirt-test-API is free software; you can redistribute it and/or
@@ -14,11 +16,6 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Filename: check.py
-# Summary: basic check operation needed by test
-# Description: The module is a tool to help conduct basic
-# check operation on specified host
import os
import re
diff --git a/utils/env_parser.py b/utils/env_parser.py
index 6e49e50..e756a38 100644
--- a/utils/env_parser.py
+++ b/utils/env_parser.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python
#
+# env_parser.py: Parser for environment config (env.cfg).
+#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
# libvirt-test-API is free software; you can redistribute it and/or
@@ -14,10 +16,6 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Filename: env_parser.py
-# Summary: parse the env configuration file
-# Description: The module is a tool to parse the env configuration file
import ConfigParser
import os
diff --git a/utils/format.py b/utils/format.py
index b72c987..2a35664 100644
--- a/utils/format.py
+++ b/utils/format.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python
#
+# format.py: Print logging message in specific format.
+#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
# libvirt-test-API is free software; you can redistribute it and/or
@@ -14,10 +16,6 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Filename: format.py
-# Summary: generate specified kind of format string
-# Description: The module is a tool to generate specified kind of format string
import os
from string import Template
diff --git a/utils/log.py b/utils/log.py
index 3ca8729..4111fd9 100644
--- a/utils/log.py
+++ b/utils/log.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python
#
+# log.py: Classes for logging.
+#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
# libvirt-test-API is free software; you can redistribute it and/or
@@ -14,10 +16,6 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Filename: log.py
-# Summary: log file operation
-# Description: The module is a tool to provide basic log file operation
import time
import os
diff --git a/utils/xmlbuilder.py b/utils/xmlbuilder.py
index a8a9871..d2ce6bb 100644
--- a/utils/xmlbuilder.py
+++ b/utils/xmlbuilder.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python
#
+# xmlbuilder.py: Class for building XML for libvirt objects.
+#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
# libvirt-test-API is free software; you can redistribute it and/or
@@ -14,10 +16,6 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Filename: xmlbuilder.py
-# Summary: operation for building domain xml
-# Description: The module is to provide operation for building domain xml
__DEBUG__ = False
diff --git a/utils/xmlgenerator.py b/utils/xmlgenerator.py
index 7f5839b..ee019b7 100644
--- a/utils/xmlgenerator.py
+++ b/utils/xmlgenerator.py
@@ -1,5 +1,7 @@
#!/usr/bin/env python
#
+# xmlgenerator.py: Generate XML for libvirt objects.
+#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
# libvirt-test-API is free software; you can redistribute it and/or
@@ -14,10 +16,6 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-# Filename: xmlgenerator.py
-# Summary: generate domain xml
-# Description: The module is a tool to generate domain xml
import os
import sys
--
1.7.7.3
12 years, 7 months
[libvirt] [PATCH 1/2] python: cleanup vcpu related binding APIs
by Guannan Ren
*libvirt_virDomainGetVcpus: add error handling, return -1 instead of None
*libvirt_virDomainPinVcpu and libvirt_virDomainPinVcpuFlags:
make use of libvirt_boolUnwrap
set vcpus which are list in tuple pycpumap, trun off the rest
in cpumap. The original way ignored the error info from PyTuple_GetItem
if pos is out of bounds. "IndexError: tuple index out of range"
The error message will only be raised on next command in interactive mode.
---
python/libvirt-override.c | 173 +++++++++++++++++++++++++++++---------------
1 files changed, 114 insertions(+), 59 deletions(-)
diff --git a/python/libvirt-override.c b/python/libvirt-override.c
index 56f96ba..2788546 100644
--- a/python/libvirt-override.c
+++ b/python/libvirt-override.c
@@ -1333,9 +1333,11 @@ cleanup:
static PyObject *
libvirt_virDomainGetVcpus(PyObject *self ATTRIBUTE_UNUSED,
- PyObject *args) {
+ PyObject *args)
+{
virDomainPtr domain;
PyObject *pyobj_domain, *pyretval = NULL, *pycpuinfo = NULL, *pycpumap = NULL;
+ PyObject *error = NULL;
virNodeInfo nodeinfo;
virDomainInfo dominfo;
virVcpuInfoPtr cpuinfo = NULL;
@@ -1352,29 +1354,33 @@ libvirt_virDomainGetVcpus(PyObject *self ATTRIBUTE_UNUSED,
i_retval = virNodeGetInfo(virDomainGetConnect(domain), &nodeinfo);
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0)
- return VIR_PY_NONE;
+ return VIR_PY_INT_FAIL;
LIBVIRT_BEGIN_ALLOW_THREADS;
i_retval = virDomainGetInfo(domain, &dominfo);
LIBVIRT_END_ALLOW_THREADS;
if (i_retval < 0)
- return VIR_PY_NONE;
+ return VIR_PY_INT_FAIL;
if (VIR_ALLOC_N(cpuinfo, dominfo.nrVirtCpu) < 0)
- return VIR_PY_NONE;
+ return PyErr_NoMemory();
cpumaplen = VIR_CPU_MAPLEN(VIR_NODEINFO_MAXCPUS(nodeinfo));
if (xalloc_oversized(dominfo.nrVirtCpu, cpumaplen) ||
- VIR_ALLOC_N(cpumap, dominfo.nrVirtCpu * cpumaplen) < 0)
+ VIR_ALLOC_N(cpumap, dominfo.nrVirtCpu * cpumaplen) < 0) {
+ error = PyErr_NoMemory();
goto cleanup;
+ }
LIBVIRT_BEGIN_ALLOW_THREADS;
i_retval = virDomainGetVcpus(domain,
cpuinfo, dominfo.nrVirtCpu,
cpumap, cpumaplen);
LIBVIRT_END_ALLOW_THREADS;
- if (i_retval < 0)
+ if (i_retval < 0) {
+ error = VIR_PY_INT_FAIL;
goto cleanup;
+ }
/* convert to a Python tuple of long objects */
if ((pyretval = PyTuple_New(2)) == NULL)
@@ -1388,54 +1394,80 @@ libvirt_virDomainGetVcpus(PyObject *self ATTRIBUTE_UNUSED,
PyObject *info = PyTuple_New(4);
if (info == NULL)
goto cleanup;
- PyTuple_SetItem(info, 0, PyInt_FromLong((long)cpuinfo[i].number));
- PyTuple_SetItem(info, 1, PyInt_FromLong((long)cpuinfo[i].state));
- PyTuple_SetItem(info, 2, PyLong_FromLongLong((long long)cpuinfo[i].cpuTime));
- PyTuple_SetItem(info, 3, PyInt_FromLong((long)cpuinfo[i].cpu));
- PyList_SetItem(pycpuinfo, i, info);
+ if (PyTuple_SetItem(info, 0, PyInt_FromLong((long)cpuinfo[i].number)) < 0)
+ {
+ Py_DECREF(info);
+ goto cleanup;
+ }
+
+ if (PyTuple_SetItem(info, 1, PyInt_FromLong((long)cpuinfo[i].state)) < 0)
+ {
+ Py_DECREF(info);
+ goto cleanup;
+ }
+
+ if (PyTuple_SetItem(info, 2, PyLong_FromLongLong((long long)cpuinfo[i].cpuTime)) < 0)
+ {
+ Py_DECREF(info);
+ goto cleanup;
+ }
+
+ if (PyTuple_SetItem(info, 3, PyInt_FromLong((long)cpuinfo[i].cpu)) < 0)
+ {
+ Py_DECREF(info);
+ goto cleanup;
+ }
+ if (PyList_SetItem(pycpuinfo, i, info) < 0)
+ goto cleanup;
}
+
for (i = 0 ; i < dominfo.nrVirtCpu ; i++) {
PyObject *info = PyTuple_New(VIR_NODEINFO_MAXCPUS(nodeinfo));
- int j;
if (info == NULL)
goto cleanup;
+
+ int j;
for (j = 0 ; j < VIR_NODEINFO_MAXCPUS(nodeinfo) ; j++) {
- PyTuple_SetItem(info, j, PyBool_FromLong(VIR_CPU_USABLE(cpumap, cpumaplen, i, j)));
+ if (PyTuple_SetItem(info, j, PyBool_FromLong(VIR_CPU_USABLE(cpumap, cpumaplen, i, j))) < 0)
+ {
+ Py_DECREF(info);
+ goto cleanup;
+ }
}
- PyList_SetItem(pycpumap, i, info);
+ if (PyList_SetItem(pycpumap, i, info) < 0)
+ goto cleanup;
}
- PyTuple_SetItem(pyretval, 0, pycpuinfo);
- PyTuple_SetItem(pyretval, 1, pycpumap);
+
+ if (PyTuple_SetItem(pyretval, 0, pycpuinfo) < 0)
+ goto cleanup;
+
+ if (PyTuple_SetItem(pyretval, 1, pycpumap) < 0)
+ goto cleanup;
VIR_FREE(cpuinfo);
VIR_FREE(cpumap);
return pyretval;
- cleanup:
+cleanup:
VIR_FREE(cpuinfo);
VIR_FREE(cpumap);
- /* NB, Py_DECREF is a badly defined macro, so we require
- * braces here to avoid 'ambiguous else' warnings from
- * the compiler.
- * NB. this comment is true at of time of writing wrt to
- * at least python2.5.
- */
- if (pyretval) { Py_DECREF(pyretval); }
- if (pycpuinfo) { Py_DECREF(pycpuinfo); }
- if (pycpumap) { Py_DECREF(pycpumap); }
- return VIR_PY_NONE;
+ Py_XDECREF(pyretval);
+ Py_XDECREF(pycpuinfo);
+ Py_XDECREF(pycpumap);
+ return error;
}
-
static PyObject *
libvirt_virDomainPinVcpu(PyObject *self ATTRIBUTE_UNUSED,
- PyObject *args) {
+ PyObject *args)
+{
virDomainPtr domain;
- PyObject *pyobj_domain, *pycpumap, *truth;
+ PyObject *pyobj_domain, *pycpumap;
+ PyObject *ret = NULL;
virNodeInfo nodeinfo;
unsigned char *cpumap;
- int cpumaplen, i, vcpu;
+ int cpumaplen, i, j, vcpu, tuple_size;
int i_retval;
if (!PyArg_ParseTuple(args, (char *)"OiO:virDomainPinVcpu",
@@ -1451,37 +1483,50 @@ libvirt_virDomainPinVcpu(PyObject *self ATTRIBUTE_UNUSED,
cpumaplen = VIR_CPU_MAPLEN(VIR_NODEINFO_MAXCPUS(nodeinfo));
if (VIR_ALLOC_N(cpumap, cpumaplen) < 0)
- return VIR_PY_INT_FAIL;
+ return PyErr_NoMemory();
- truth = PyBool_FromLong(1);
- for (i = 0 ; i < VIR_NODEINFO_MAXCPUS(nodeinfo) ; i++) {
+ tuple_size = PyTuple_Size(pycpumap);
+ if (tuple_size == -1)
+ goto cleanup;
+
+ for (i = 0; i < tuple_size; i++) {
PyObject *flag = PyTuple_GetItem(pycpumap, i);
- if (flag == truth)
- VIR_USE_CPU(cpumap, i);
- else
- VIR_UNUSE_CPU(cpumap, i);
+ bool b;
+
+ if ((!flag) || (libvirt_boolUnwrap(flag, &b) < 0))
+ goto cleanup;
+
+ (b) ? VIR_USE_CPU(cpumap, i) : VIR_UNUSE_CPU(cpumap, i);
}
+ for (j = 0; j < VIR_NODEINFO_MAXCPUS(nodeinfo) - i; j++)
+ VIR_UNUSE_CPU(cpumap, i + j);
+
LIBVIRT_BEGIN_ALLOW_THREADS;
i_retval = virDomainPinVcpu(domain, vcpu, cpumap, cpumaplen);
LIBVIRT_END_ALLOW_THREADS;
- Py_DECREF(truth);
- VIR_FREE(cpumap);
- if (i_retval < 0)
- return VIR_PY_INT_FAIL;
+ if (i_retval < 0) {
+ ret = VIR_PY_INT_FAIL;
+ goto cleanup;
+ }
+ ret = VIR_PY_INT_SUCCESS;
- return VIR_PY_INT_SUCCESS;
+cleanup:
+ VIR_FREE(cpumap);
+ return ret;
}
static PyObject *
libvirt_virDomainPinVcpuFlags(PyObject *self ATTRIBUTE_UNUSED,
- PyObject *args) {
+ PyObject *args)
+{
virDomainPtr domain;
- PyObject *pyobj_domain, *pycpumap, *truth;
+ PyObject *pyobj_domain, *pycpumap;
+ PyObject *ret = NULL;
virNodeInfo nodeinfo;
unsigned char *cpumap;
- int cpumaplen, i, vcpu;
+ int cpumaplen, i, j, vcpu, tuple_size;
unsigned int flags;
int i_retval;
@@ -1498,27 +1543,37 @@ libvirt_virDomainPinVcpuFlags(PyObject *self ATTRIBUTE_UNUSED,
cpumaplen = VIR_CPU_MAPLEN(VIR_NODEINFO_MAXCPUS(nodeinfo));
if (VIR_ALLOC_N(cpumap, cpumaplen) < 0)
- return VIR_PY_INT_FAIL;
+ return PyErr_NoMemory();
+
+ tuple_size = PyTuple_Size(pycpumap);
+ if (tuple_size == -1)
+ goto cleanup;
- truth = PyBool_FromLong(1);
- for (i = 0 ; i < VIR_NODEINFO_MAXCPUS(nodeinfo) ; i++) {
+ for (i = 0; i < tuple_size; i++) {
PyObject *flag = PyTuple_GetItem(pycpumap, i);
- if (flag == truth)
- VIR_USE_CPU(cpumap, i);
- else
- VIR_UNUSE_CPU(cpumap, i);
+ bool b;
+
+ if ((!flag) || (libvirt_boolUnwrap(flag, &b) < 0))
+ goto cleanup;
+
+ (b) ? VIR_USE_CPU(cpumap, i) : VIR_UNUSE_CPU(cpumap, i);
}
+ for (j = 0; j < VIR_NODEINFO_MAXCPUS(nodeinfo) - i; j++)
+ VIR_UNUSE_CPU(cpumap, i + j);
+
LIBVIRT_BEGIN_ALLOW_THREADS;
i_retval = virDomainPinVcpuFlags(domain, vcpu, cpumap, cpumaplen, flags);
LIBVIRT_END_ALLOW_THREADS;
- Py_DECREF(truth);
- VIR_FREE(cpumap);
-
- if (i_retval < 0)
- return VIR_PY_INT_FAIL;
+ if (i_retval < 0) {
+ ret = VIR_PY_INT_FAIL;
+ goto cleanup;
+ }
+ ret = VIR_PY_INT_SUCCESS;
- return VIR_PY_INT_SUCCESS;
+cleanup:
+ VIR_FREE(cpumap);
+ return ret;
}
static PyObject *
--
1.7.7.5
12 years, 7 months
[libvirt] [test-API 0/3] Improve the copyright statements in scripts
by Osier Yang
The new copyright statements is:
Copyright (C) 2010-2012 Red Hat, Inc.
libvirt-test-API is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation, either version 2 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranties of
TITLE, NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Osier Yang (3):
Remove the unseemly copyright statements in scripts
Add the better copyright statements in scripts
Remove the redundant empty comment line
activityfilter.py | 23 ++++++++++++-----------
casecfgcheck.py | 22 ++++++++++++----------
dist/redhat/env_inspect.py | 24 +++++++++++++-----------
env_clear.py | 24 +++++++++++++-----------
exception.py | 23 +++++++++++++----------
generator.py | 24 +++++++++++++-----------
libvirt-test-api.py | 22 ++++++++++++----------
logxmlparser.py | 23 +++++++++++++----------
mapper.py | 24 +++++++++++++-----------
parser.py | 24 +++++++++++++-----------
process.py | 23 +++++++++++++----------
proxy.py | 25 ++++++++++++++-----------
utils/XMLParser.py | 23 +++++++++++++----------
utils/check.py | 23 +++++++++++++----------
utils/env_parser.py | 23 +++++++++++++----------
utils/format.py | 23 +++++++++++++----------
utils/log.py | 23 +++++++++++++----------
utils/utils.py | 22 ++++++++++++----------
utils/xmlbuilder.py | 23 +++++++++++++----------
utils/xmlgenerator.py | 23 +++++++++++++----------
20 files changed, 257 insertions(+), 207 deletions(-)
Regards,
Osier
--
1.7.7.3
12 years, 7 months
[libvirt] [test-API] Add one space between shebang and following interpreter
by Osier Yang
We want it looks better. Isn't it? :-)
---
activityfilter.py | 2 +-
casecfgcheck.py | 2 +-
dist/redhat/env_inspect.py | 2 +-
env_clear.py | 2 +-
exception.py | 2 +-
generator.py | 2 +-
libvirt-test-api.py | 2 +-
logxmlparser.py | 2 +-
mapper.py | 2 +-
parser.py | 2 +-
process.py | 2 +-
proxy.py | 2 +-
repos/domain/attach_disk.py | 2 +-
repos/domain/attach_interface.py | 2 +-
repos/domain/balloon_memory.py | 2 +-
repos/domain/console_io.py | 2 +-
repos/domain/console_mutex.py | 2 +-
repos/domain/cpu_affinity.py | 2 +-
repos/domain/cpu_topology.py | 2 +-
repos/domain/create.py | 2 +-
repos/domain/destroy.py | 2 +-
repos/domain/detach_disk.py | 2 +-
repos/domain/detach_interface.py | 2 +-
repos/domain/domain_blkinfo.py | 2 +-
repos/domain/domain_id.py | 2 +-
repos/domain/domain_list.py | 2 +-
repos/domain/domain_name.py | 2 +-
repos/domain/domain_uuid.py | 2 +-
repos/domain/domblkinfo.py | 2 +-
repos/domain/dump.py | 2 +-
repos/domain/eventhandler.py | 2 +-
repos/domain/hostname.py | 2 +-
repos/domain/install_image.py | 2 +-
repos/domain/install_linux_cdrom.py | 2 +-
repos/domain/install_linux_check.py | 2 +-
repos/domain/install_windows_cdrom.py | 2 +-
repos/domain/migrate.py | 2 +-
repos/domain/ownership_test.py | 2 +-
repos/domain/reboot.py | 2 +-
repos/domain/restore.py | 2 +-
repos/domain/resume.py | 2 +-
repos/domain/save.py | 2 +-
repos/domain/screenshot.py | 2 +-
repos/domain/shutdown.py | 2 +-
repos/domain/start.py | 2 +-
repos/domain/suspend.py | 2 +-
repos/domain/update_devflag.py | 2 +-
repos/interface/create.py | 2 +-
repos/interface/define.py | 2 +-
repos/interface/destroy.py | 2 +-
repos/interface/iface_list.py | 2 +-
repos/interface/iface_mac.py | 2 +-
repos/interface/iface_name.py | 2 +-
repos/interface/undefine.py | 2 +-
repos/libvirtd/qemu_hang.py | 2 +-
repos/libvirtd/upstart.py | 2 +-
repos/network/network_list.py | 2 +-
repos/network/network_name.py | 2 +-
repos/network/network_uuid.py | 2 +-
repos/nodedevice/detach.py | 2 +-
repos/nodedevice/reattach.py | 2 +-
repos/nodedevice/reset.py | 2 +-
repos/npiv/create_virtual_hba.py | 2 +-
.../multiple_thread_block_on_domain_create.py | 2 +-
repos/remoteAccess/tcp_setup.py | 2 +-
repos/remoteAccess/tls_setup.py | 2 +-
repos/remoteAccess/unix_perm_sasl.py | 2 +-
repos/sVirt/domain_nfs_start.py | 2 +-
repos/snapshot/delete.py | 2 +-
repos/snapshot/file_flag.py | 2 +-
repos/snapshot/flag_check.py | 2 +-
repos/snapshot/internal_create.py | 2 +-
repos/snapshot/revert.py | 2 +-
repos/snapshot/snapshot_list.py | 2 +-
repos/storage/activate_pool.py | 2 +-
repos/storage/build_dir_pool.py | 2 +-
repos/storage/build_disk_pool.py | 2 +-
repos/storage/build_logical_pool.py | 2 +-
repos/storage/build_netfs_pool.py | 2 +-
repos/storage/create_dir_pool.py | 2 +-
repos/storage/create_dir_volume.py | 2 +-
repos/storage/create_fs_pool.py | 2 +-
repos/storage/create_iscsi_pool.py | 2 +-
repos/storage/create_logical_volume.py | 2 +-
repos/storage/create_netfs_pool.py | 2 +-
repos/storage/create_netfs_volume.py | 2 +-
repos/storage/create_partition_volume.py | 2 +-
repos/storage/define_dir_pool.py | 2 +-
repos/storage/define_disk_pool.py | 2 +-
repos/storage/define_iscsi_pool.py | 2 +-
repos/storage/define_logical_pool.py | 2 +-
repos/storage/define_mpath_pool.py | 2 +-
repos/storage/define_netfs_pool.py | 2 +-
repos/storage/define_scsi_pool.py | 2 +-
repos/storage/delete_dir_volume.py | 2 +-
repos/storage/delete_logical_pool.py | 2 +-
repos/storage/delete_logical_volume.py | 2 +-
repos/storage/delete_netfs_volume.py | 2 +-
repos/storage/delete_partition_volume.py | 2 +-
repos/storage/destroy_pool.py | 2 +-
repos/storage/pool_name.py | 2 +-
repos/storage/pool_uuid.py | 2 +-
repos/storage/undefine_pool.py | 2 +-
utils/XMLParser.py | 2 +-
utils/check.py | 2 +-
utils/dev_num.sh | 2 +-
utils/disk_num.sh | 2 +-
utils/env_parser.py | 2 +-
utils/format.py | 2 +-
utils/ipget.sh | 2 +-
utils/ksiso.sh | 2 +-
utils/log.py | 2 +-
utils/stats.sh | 2 +-
utils/utils.py | 2 +-
utils/xmlbuilder.py | 2 +-
utils/xmlgenerator.py | 2 +-
116 files changed, 116 insertions(+), 116 deletions(-)
diff --git a/activityfilter.py b/activityfilter.py
index 1326948..4c26fbd 100644
--- a/activityfilter.py
+++ b/activityfilter.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/casecfgcheck.py b/casecfgcheck.py
index 5e513e1..125b4c9 100644
--- a/casecfgcheck.py
+++ b/casecfgcheck.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/dist/redhat/env_inspect.py b/dist/redhat/env_inspect.py
index b9b8ed0..6ec13b0 100644
--- a/dist/redhat/env_inspect.py
+++ b/dist/redhat/env_inspect.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/env_clear.py b/env_clear.py
index ed862db..cdc4930 100644
--- a/env_clear.py
+++ b/env_clear.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/exception.py b/exception.py
index 3625dab..6a3062f 100644
--- a/exception.py
+++ b/exception.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/generator.py b/generator.py
index 53febde..ac41aca 100644
--- a/generator.py
+++ b/generator.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/libvirt-test-api.py b/libvirt-test-api.py
index b7b2b74..c2db19c 100644
--- a/libvirt-test-api.py
+++ b/libvirt-test-api.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/logxmlparser.py b/logxmlparser.py
index ed45594..8521079 100644
--- a/logxmlparser.py
+++ b/logxmlparser.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/mapper.py b/mapper.py
index f09e569..af02f95 100644
--- a/mapper.py
+++ b/mapper.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/parser.py b/parser.py
index b0bad3b..b82cc49 100644
--- a/parser.py
+++ b/parser.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/process.py b/process.py
index 0edc9ae..34a7948 100644
--- a/process.py
+++ b/process.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/proxy.py b/proxy.py
index 7e81319..17ed180 100644
--- a/proxy.py
+++ b/proxy.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/repos/domain/attach_disk.py b/repos/domain/attach_disk.py
index 9d8426d..d920233 100644
--- a/repos/domain/attach_disk.py
+++ b/repos/domain/attach_disk.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Attach a disk device to domain
import os
diff --git a/repos/domain/attach_interface.py b/repos/domain/attach_interface.py
index 1d0cb3c..0e91939 100644
--- a/repos/domain/attach_interface.py
+++ b/repos/domain/attach_interface.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Attach interface to domain
import os
diff --git a/repos/domain/balloon_memory.py b/repos/domain/balloon_memory.py
index de18b87..48dbaa6 100644
--- a/repos/domain/balloon_memory.py
+++ b/repos/domain/balloon_memory.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test domain memory ballooning
import os
diff --git a/repos/domain/console_io.py b/repos/domain/console_io.py
index c44f5b4..0479532 100644
--- a/repos/domain/console_io.py
+++ b/repos/domain/console_io.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# test console interactions
# This test sends contents of file 'input' to the guest's console
# and reads from the console the reply and compares it to 'expect' or
diff --git a/repos/domain/console_mutex.py b/repos/domain/console_mutex.py
index c67aec6..3bb50f5 100644
--- a/repos/domain/console_mutex.py
+++ b/repos/domain/console_mutex.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test console mutual exclusivity
import libvirt
diff --git a/repos/domain/cpu_affinity.py b/repos/domain/cpu_affinity.py
index 1332c7e..3e335af 100644
--- a/repos/domain/cpu_affinity.py
+++ b/repos/domain/cpu_affinity.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test domain CPU affinity
import os
diff --git a/repos/domain/cpu_topology.py b/repos/domain/cpu_topology.py
index af41f62..1862144 100644
--- a/repos/domain/cpu_topology.py
+++ b/repos/domain/cpu_topology.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test domain cpu topology
import os
diff --git a/repos/domain/create.py b/repos/domain/create.py
index 7b6a294..5129fec 100644
--- a/repos/domain/create.py
+++ b/repos/domain/create.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Create domain from xml
import os
diff --git a/repos/domain/destroy.py b/repos/domain/destroy.py
index c41f0f8..56eef95 100644
--- a/repos/domain/destroy.py
+++ b/repos/domain/destroy.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/domain/detach_disk.py b/repos/domain/detach_disk.py
index 1b0b7f9..fa07171 100644
--- a/repos/domain/detach_disk.py
+++ b/repos/domain/detach_disk.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Detach a disk from domain
import os
diff --git a/repos/domain/detach_interface.py b/repos/domain/detach_interface.py
index 050c019..369c0f5 100644
--- a/repos/domain/detach_interface.py
+++ b/repos/domain/detach_interface.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Detach interface from domain
import os
diff --git a/repos/domain/domain_blkinfo.py b/repos/domain/domain_blkinfo.py
index aa52668..4302ad4 100644
--- a/repos/domain/domain_blkinfo.py
+++ b/repos/domain/domain_blkinfo.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test "virsh domblkinfo" command
import os
diff --git a/repos/domain/domain_id.py b/repos/domain/domain_id.py
index 844ce82..ce4aad7 100644
--- a/repos/domain/domain_id.py
+++ b/repos/domain/domain_id.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test "virsh domid" command
import os
diff --git a/repos/domain/domain_list.py b/repos/domain/domain_list.py
index 0250723..6b30150 100644
--- a/repos/domain/domain_list.py
+++ b/repos/domain/domain_list.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test "virsh list" command
import os
diff --git a/repos/domain/domain_name.py b/repos/domain/domain_name.py
index b9a8e43..0ec47fa 100644
--- a/repos/domain/domain_name.py
+++ b/repos/domain/domain_name.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test "virsh domname" command
import os
diff --git a/repos/domain/domain_uuid.py b/repos/domain/domain_uuid.py
index e66c3ee..7ba0c29 100644
--- a/repos/domain/domain_uuid.py
+++ b/repos/domain/domain_uuid.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test "virsh domuuid" command
import os
diff --git a/repos/domain/domblkinfo.py b/repos/domain/domblkinfo.py
index c543e41..b8a8cb0 100644
--- a/repos/domain/domblkinfo.py
+++ b/repos/domain/domblkinfo.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test "virsh domblkinfo" command
import os
diff --git a/repos/domain/dump.py b/repos/domain/dump.py
index 01bdc93..9e49592 100644
--- a/repos/domain/dump.py
+++ b/repos/domain/dump.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test core dump of a domain
import os
diff --git a/repos/domain/eventhandler.py b/repos/domain/eventhandler.py
index 4eec6e9..047c2ca 100644
--- a/repos/domain/eventhandler.py
+++ b/repos/domain/eventhandler.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test domain events
import os
diff --git a/repos/domain/hostname.py b/repos/domain/hostname.py
index ac809aa..ef250ee 100644
--- a/repos/domain/hostname.py
+++ b/repos/domain/hostname.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test "virsh hostname" command
import os
diff --git a/repos/domain/install_image.py b/repos/domain/install_image.py
index 32cc7af..70b89c4 100644
--- a/repos/domain/install_image.py
+++ b/repos/domain/install_image.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/domain/install_linux_cdrom.py b/repos/domain/install_linux_cdrom.py
index 07a8307..e3dccc6 100644
--- a/repos/domain/install_linux_cdrom.py
+++ b/repos/domain/install_linux_cdrom.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Install a linux domain from CDROM
import os
diff --git a/repos/domain/install_linux_check.py b/repos/domain/install_linux_check.py
index 351bba5..133e24c 100644
--- a/repos/domain/install_linux_check.py
+++ b/repos/domain/install_linux_check.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Checking method for linux domain installation.
import os
diff --git a/repos/domain/install_windows_cdrom.py b/repos/domain/install_windows_cdrom.py
index aaff47d..8f49672 100644
--- a/repos/domain/install_windows_cdrom.py
+++ b/repos/domain/install_windows_cdrom.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Install a Windows domain
import os
diff --git a/repos/domain/migrate.py b/repos/domain/migrate.py
index 4c319e4..8b2ebda 100644
--- a/repos/domain/migrate.py
+++ b/repos/domain/migrate.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/domain/ownership_test.py b/repos/domain/ownership_test.py
index ed7c992..9522131 100644
--- a/repos/domain/ownership_test.py
+++ b/repos/domain/ownership_test.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Set the dynamic_ownership in /etc/libvirt/qemu.conf,
# check the ownership of saved domain file. Test could
# be on local or root_squash nfs. The default owner of
diff --git a/repos/domain/reboot.py b/repos/domain/reboot.py
index a2bd75a..eecd66a 100644
--- a/repos/domain/reboot.py
+++ b/repos/domain/reboot.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/domain/restore.py b/repos/domain/restore.py
index ab0900f..3589b45 100644
--- a/repos/domain/restore.py
+++ b/repos/domain/restore.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Restore domain from a saved statefile
import os
diff --git a/repos/domain/resume.py b/repos/domain/resume.py
index 85237f7..1a2c2c9 100644
--- a/repos/domain/resume.py
+++ b/repos/domain/resume.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/domain/save.py b/repos/domain/save.py
index 37f1b97..9c81ad0 100644
--- a/repos/domain/save.py
+++ b/repos/domain/save.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Save domain as a statefile
import os
diff --git a/repos/domain/screenshot.py b/repos/domain/screenshot.py
index eb5d0e2..085261e 100644
--- a/repos/domain/screenshot.py
+++ b/repos/domain/screenshot.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test domain screenshot, the screenshot format is
# hypervisor specific.
diff --git a/repos/domain/shutdown.py b/repos/domain/shutdown.py
index 3b97abc..8b7dae6 100644
--- a/repos/domain/shutdown.py
+++ b/repos/domain/shutdown.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/domain/start.py b/repos/domain/start.py
index f319c2e..521087b 100644
--- a/repos/domain/start.py
+++ b/repos/domain/start.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/domain/suspend.py b/repos/domain/suspend.py
index 1941b1c..1d68330 100644
--- a/repos/domain/suspend.py
+++ b/repos/domain/suspend.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
import re
diff --git a/repos/domain/update_devflag.py b/repos/domain/update_devflag.py
index 40961f4..83d400f 100644
--- a/repos/domain/update_devflag.py
+++ b/repos/domain/update_devflag.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test domain device updating
import os
diff --git a/repos/interface/create.py b/repos/interface/create.py
index b1cfe5e..15f7bf7 100644
--- a/repos/interface/create.py
+++ b/repos/interface/create.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/interface/define.py b/repos/interface/define.py
index 5d63989..be459ec 100644
--- a/repos/interface/define.py
+++ b/repos/interface/define.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/interface/destroy.py b/repos/interface/destroy.py
index 20ae0f1..f1c16c7 100644
--- a/repos/interface/destroy.py
+++ b/repos/interface/destroy.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/interface/iface_list.py b/repos/interface/iface_list.py
index c6bd365..973d93f 100644
--- a/repos/interface/iface_list.py
+++ b/repos/interface/iface_list.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/interface/iface_mac.py b/repos/interface/iface_mac.py
index ce1828e..212bd14 100644
--- a/repos/interface/iface_mac.py
+++ b/repos/interface/iface_mac.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/interface/iface_name.py b/repos/interface/iface_name.py
index e95db28..b83d19e 100644
--- a/repos/interface/iface_name.py
+++ b/repos/interface/iface_name.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/interface/undefine.py b/repos/interface/undefine.py
index b123472..8cb4917 100644
--- a/repos/interface/undefine.py
+++ b/repos/interface/undefine.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/libvirtd/qemu_hang.py b/repos/libvirtd/qemu_hang.py
index b2d694b..1f99612 100644
--- a/repos/libvirtd/qemu_hang.py
+++ b/repos/libvirtd/qemu_hang.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# QEMU get hang should not cause libvirtd hang or dead. This
# test stop a qemu process and check whether libvird get hang.
# For doing this test, a running domain is required.
diff --git a/repos/libvirtd/upstart.py b/repos/libvirtd/upstart.py
index 6cb31a4..3a9b550 100644
--- a/repos/libvirtd/upstart.py
+++ b/repos/libvirtd/upstart.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Upstart libvirtd testing
import os
diff --git a/repos/network/network_list.py b/repos/network/network_list.py
index 672ad79..0b3d9d2 100644
--- a/repos/network/network_list.py
+++ b/repos/network/network_list.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test "virsh net-list" command
import os
diff --git a/repos/network/network_name.py b/repos/network/network_name.py
index 8518de2..1daa957 100644
--- a/repos/network/network_name.py
+++ b/repos/network/network_name.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test "virsh net-name" command
import os
diff --git a/repos/network/network_uuid.py b/repos/network/network_uuid.py
index 4983056..8466403 100644
--- a/repos/network/network_uuid.py
+++ b/repos/network/network_uuid.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test "virsh net-uuid" command
import os
diff --git a/repos/nodedevice/detach.py b/repos/nodedevice/detach.py
index b94db5d..648b837 100644
--- a/repos/nodedevice/detach.py
+++ b/repos/nodedevice/detach.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Detach a node device from host
import os
diff --git a/repos/nodedevice/reattach.py b/repos/nodedevice/reattach.py
index adaf6c4..0e2eadf 100644
--- a/repos/nodedevice/reattach.py
+++ b/repos/nodedevice/reattach.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Re-attach a node device to host
import os
diff --git a/repos/nodedevice/reset.py b/repos/nodedevice/reset.py
index 11cfa63..f6f943a 100644
--- a/repos/nodedevice/reset.py
+++ b/repos/nodedevice/reset.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Reset a node device
import os
diff --git a/repos/npiv/create_virtual_hba.py b/repos/npiv/create_virtual_hba.py
index b21fcd0..36e0cd3 100644
--- a/repos/npiv/create_virtual_hba.py
+++ b/repos/npiv/create_virtual_hba.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test vHBA creating with npiv.
import os
diff --git a/repos/regression/multiple_thread_block_on_domain_create.py b/repos/regression/multiple_thread_block_on_domain_create.py
index 38030c2..5980b76 100644
--- a/repos/regression/multiple_thread_block_on_domain_create.py
+++ b/repos/regression/multiple_thread_block_on_domain_create.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test RHBZ 672226
import os
diff --git a/repos/remoteAccess/tcp_setup.py b/repos/remoteAccess/tcp_setup.py
index a9d02cb..1b555f8 100644
--- a/repos/remoteAccess/tcp_setup.py
+++ b/repos/remoteAccess/tcp_setup.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test connection via tcp protocol
import os
diff --git a/repos/remoteAccess/tls_setup.py b/repos/remoteAccess/tls_setup.py
index 4661e03..fb5d4fc 100644
--- a/repos/remoteAccess/tls_setup.py
+++ b/repos/remoteAccess/tls_setup.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/remoteAccess/unix_perm_sasl.py b/repos/remoteAccess/unix_perm_sasl.py
index d5cd914..4ddb892 100644
--- a/repos/remoteAccess/unix_perm_sasl.py
+++ b/repos/remoteAccess/unix_perm_sasl.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/sVirt/domain_nfs_start.py b/repos/sVirt/domain_nfs_start.py
index e124800..d5a16cf 100644
--- a/repos/sVirt/domain_nfs_start.py
+++ b/repos/sVirt/domain_nfs_start.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# This test is for start a guest with img file on nfs storage.
# Under SElinux boolean virt_use_nfs on or off, combine with
# setting the dynamic_ownership in /etc/libvirt/qemu.conf,
diff --git a/repos/snapshot/delete.py b/repos/snapshot/delete.py
index c018cdb..1dcab77 100644
--- a/repos/snapshot/delete.py
+++ b/repos/snapshot/delete.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/snapshot/file_flag.py b/repos/snapshot/file_flag.py
index f2257f6..b2b3b5d 100644
--- a/repos/snapshot/file_flag.py
+++ b/repos/snapshot/file_flag.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Create a flag file in the guest OS
import os
diff --git a/repos/snapshot/flag_check.py b/repos/snapshot/flag_check.py
index 218d7e4..19a01cd 100644
--- a/repos/snapshot/flag_check.py
+++ b/repos/snapshot/flag_check.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/snapshot/internal_create.py b/repos/snapshot/internal_create.py
index 20f9bbb..910e7af 100644
--- a/repos/snapshot/internal_create.py
+++ b/repos/snapshot/internal_create.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/snapshot/revert.py b/repos/snapshot/revert.py
index d1820bf..6e6241e 100644
--- a/repos/snapshot/revert.py
+++ b/repos/snapshot/revert.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/snapshot/snapshot_list.py b/repos/snapshot/snapshot_list.py
index cbd68a8..5bcb6cd 100644
--- a/repos/snapshot/snapshot_list.py
+++ b/repos/snapshot/snapshot_list.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/storage/activate_pool.py b/repos/storage/activate_pool.py
index 1aa1f0d..c093f66 100644
--- a/repos/storage/activate_pool.py
+++ b/repos/storage/activate_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/storage/build_dir_pool.py b/repos/storage/build_dir_pool.py
index 79ae026..5a4d3e0 100644
--- a/repos/storage/build_dir_pool.py
+++ b/repos/storage/build_dir_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Build a storage pool of 'dir' type
import os
diff --git a/repos/storage/build_disk_pool.py b/repos/storage/build_disk_pool.py
index 49ee856..c7f8c27 100644
--- a/repos/storage/build_disk_pool.py
+++ b/repos/storage/build_disk_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/storage/build_logical_pool.py b/repos/storage/build_logical_pool.py
index c372db7..1068c7e 100644
--- a/repos/storage/build_logical_pool.py
+++ b/repos/storage/build_logical_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/storage/build_netfs_pool.py b/repos/storage/build_netfs_pool.py
index f0e06ca..9889919 100644
--- a/repos/storage/build_netfs_pool.py
+++ b/repos/storage/build_netfs_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/storage/create_dir_pool.py b/repos/storage/create_dir_pool.py
index f255a6e..f2a8800 100644
--- a/repos/storage/create_dir_pool.py
+++ b/repos/storage/create_dir_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Create a storage pool of 'dir' type
import os
diff --git a/repos/storage/create_dir_volume.py b/repos/storage/create_dir_volume.py
index 7084d20..f340207 100644
--- a/repos/storage/create_dir_volume.py
+++ b/repos/storage/create_dir_volume.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Creat volume for storage pool of 'dir' type
import os
diff --git a/repos/storage/create_fs_pool.py b/repos/storage/create_fs_pool.py
index e338428..be53a01 100644
--- a/repos/storage/create_fs_pool.py
+++ b/repos/storage/create_fs_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Create a storage pool of 'fs' type.
import os
diff --git a/repos/storage/create_iscsi_pool.py b/repos/storage/create_iscsi_pool.py
index 889d2de..a7d92fd 100644
--- a/repos/storage/create_iscsi_pool.py
+++ b/repos/storage/create_iscsi_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/storage/create_logical_volume.py b/repos/storage/create_logical_volume.py
index 8c20eb8..29b2a7d 100644
--- a/repos/storage/create_logical_volume.py
+++ b/repos/storage/create_logical_volume.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Create a logical type storage volume
import os
diff --git a/repos/storage/create_netfs_pool.py b/repos/storage/create_netfs_pool.py
index e37468c..fe25bc4 100644
--- a/repos/storage/create_netfs_pool.py
+++ b/repos/storage/create_netfs_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Create a netfs storage pool
import os
diff --git a/repos/storage/create_netfs_volume.py b/repos/storage/create_netfs_volume.py
index 374eba6..8e35f8d 100644
--- a/repos/storage/create_netfs_volume.py
+++ b/repos/storage/create_netfs_volume.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Creat volume for storage pool of 'netfs' type
import os
diff --git a/repos/storage/create_partition_volume.py b/repos/storage/create_partition_volume.py
index 02b91b6..91497b9 100644
--- a/repos/storage/create_partition_volume.py
+++ b/repos/storage/create_partition_volume.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Create volume for storage pool of partition type
import os
diff --git a/repos/storage/define_dir_pool.py b/repos/storage/define_dir_pool.py
index c48e8e4..8d4fc61 100644
--- a/repos/storage/define_dir_pool.py
+++ b/repos/storage/define_dir_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Define storage pool of 'dir' type
import os
diff --git a/repos/storage/define_disk_pool.py b/repos/storage/define_disk_pool.py
index dcf7219..1e33c27 100644
--- a/repos/storage/define_disk_pool.py
+++ b/repos/storage/define_disk_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Define a storage pool of 'disk' type
import os
diff --git a/repos/storage/define_iscsi_pool.py b/repos/storage/define_iscsi_pool.py
index df61a24..f1930a1 100644
--- a/repos/storage/define_iscsi_pool.py
+++ b/repos/storage/define_iscsi_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Define a storage pool of 'iscsi' type
import os
diff --git a/repos/storage/define_logical_pool.py b/repos/storage/define_logical_pool.py
index 6c06a43..2398127 100644
--- a/repos/storage/define_logical_pool.py
+++ b/repos/storage/define_logical_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Define a storage pool of 'logical' type
import os
diff --git a/repos/storage/define_mpath_pool.py b/repos/storage/define_mpath_pool.py
index 5bb972c..37b15d1 100644
--- a/repos/storage/define_mpath_pool.py
+++ b/repos/storage/define_mpath_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/storage/define_netfs_pool.py b/repos/storage/define_netfs_pool.py
index c522970..bc25c4c 100644
--- a/repos/storage/define_netfs_pool.py
+++ b/repos/storage/define_netfs_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# To test netfs type storage pool defining
import os
diff --git a/repos/storage/define_scsi_pool.py b/repos/storage/define_scsi_pool.py
index b163df8..2d8cdf4 100644
--- a/repos/storage/define_scsi_pool.py
+++ b/repos/storage/define_scsi_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Define a storage pool of 'iscsi' type
import os
diff --git a/repos/storage/delete_dir_volume.py b/repos/storage/delete_dir_volume.py
index 3a21d20..8e21f0e 100644
--- a/repos/storage/delete_dir_volume.py
+++ b/repos/storage/delete_dir_volume.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Delete volume from storage pool of 'dir' type
import os
diff --git a/repos/storage/delete_logical_pool.py b/repos/storage/delete_logical_pool.py
index f2904e6..4851e64 100644
--- a/repos/storage/delete_logical_pool.py
+++ b/repos/storage/delete_logical_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Delete a storage pool of 'logical' type
import os
diff --git a/repos/storage/delete_logical_volume.py b/repos/storage/delete_logical_volume.py
index 1650a85..639b113 100644
--- a/repos/storage/delete_logical_volume.py
+++ b/repos/storage/delete_logical_volume.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Delete a logical type storage volume
import os
diff --git a/repos/storage/delete_netfs_volume.py b/repos/storage/delete_netfs_volume.py
index b03889b..085cc51 100644
--- a/repos/storage/delete_netfs_volume.py
+++ b/repos/storage/delete_netfs_volume.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
# Delete a volume from netfs type storage pool
import os
diff --git a/repos/storage/delete_partition_volume.py b/repos/storage/delete_partition_volume.py
index 8a61a1d..b177743 100644
--- a/repos/storage/delete_partition_volume.py
+++ b/repos/storage/delete_partition_volume.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/storage/destroy_pool.py b/repos/storage/destroy_pool.py
index 01547a4..ebb8994 100644
--- a/repos/storage/destroy_pool.py
+++ b/repos/storage/destroy_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/repos/storage/pool_name.py b/repos/storage/pool_name.py
index ce14da5..eed2111 100644
--- a/repos/storage/pool_name.py
+++ b/repos/storage/pool_name.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/storage/pool_uuid.py b/repos/storage/pool_uuid.py
index 7fa03b9..6512a08 100644
--- a/repos/storage/pool_uuid.py
+++ b/repos/storage/pool_uuid.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import sys
diff --git a/repos/storage/undefine_pool.py b/repos/storage/undefine_pool.py
index 8fe26c4..5fef225 100644
--- a/repos/storage/undefine_pool.py
+++ b/repos/storage/undefine_pool.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
import os
import re
diff --git a/utils/XMLParser.py b/utils/XMLParser.py
index 4d7fc72..6405656 100644
--- a/utils/XMLParser.py
+++ b/utils/XMLParser.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# XMLParser.py: Parse XML document, the result is a python dict.
diff --git a/utils/check.py b/utils/check.py
index 7f35418..5048587 100644
--- a/utils/check.py
+++ b/utils/check.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# check.py: Check methods for cases.
#
diff --git a/utils/dev_num.sh b/utils/dev_num.sh
index 9f50398..bfe143f 100755
--- a/utils/dev_num.sh
+++ b/utils/dev_num.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#! /bin/sh
# counting disk and interface numbers
guestname=$1
diff --git a/utils/disk_num.sh b/utils/disk_num.sh
index 97a6248..43c09bc 100755
--- a/utils/disk_num.sh
+++ b/utils/disk_num.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#! /bin/sh
guestname=$1
if [[ -z $guestname ]]; then
diff --git a/utils/env_parser.py b/utils/env_parser.py
index e756a38..e59f283 100644
--- a/utils/env_parser.py
+++ b/utils/env_parser.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# env_parser.py: Parser for environment config (env.cfg).
#
diff --git a/utils/format.py b/utils/format.py
index 2a35664..fab79d4 100644
--- a/utils/format.py
+++ b/utils/format.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# format.py: Print logging message in specific format.
#
diff --git a/utils/ipget.sh b/utils/ipget.sh
index 8d44b14..677dd0b 100755
--- a/utils/ipget.sh
+++ b/utils/ipget.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#! /bin/sh
mac=$1
if [[ -z $mac ]]; then
diff --git a/utils/ksiso.sh b/utils/ksiso.sh
index b7f9fb8..606281c 100755
--- a/utils/ksiso.sh
+++ b/utils/ksiso.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#! /bin/bash
# - simple support to add kernel args
diff --git a/utils/log.py b/utils/log.py
index 4111fd9..58156d3 100644
--- a/utils/log.py
+++ b/utils/log.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# log.py: Classes for logging.
#
diff --git a/utils/stats.sh b/utils/stats.sh
index 565dbac..cf2765b 100755
--- a/utils/stats.sh
+++ b/utils/stats.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#! /bin/bash
if [ ! -d $(pwd)/coverage ]; then
mkdir -p $(pwd)/coverage
diff --git a/utils/utils.py b/utils/utils.py
index 124c986..b9c6878 100644
--- a/utils/utils.py
+++ b/utils/utils.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# Copyright (C) 2010-2012 Red Hat, Inc.
#
diff --git a/utils/xmlbuilder.py b/utils/xmlbuilder.py
index d2ce6bb..d3854d1 100644
--- a/utils/xmlbuilder.py
+++ b/utils/xmlbuilder.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# xmlbuilder.py: Class for building XML for libvirt objects.
#
diff --git a/utils/xmlgenerator.py b/utils/xmlgenerator.py
index ee019b7..167d61a 100644
--- a/utils/xmlgenerator.py
+++ b/utils/xmlgenerator.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#! /usr/bin/env/ python
#
# xmlgenerator.py: Generate XML for libvirt objects.
#
--
1.7.7.3
12 years, 7 months
[libvirt] [PATCH 0/9] Add basic driver for Parallels Virtuozzo Server
by Dmitry Guryanov
Parallels Virtuozzo Server is a cloud-ready virtualization
solution that allows users to simultaneously run multiple virtual
machines and containers on the same physical server.
Current name of this product is Parallels Server Bare Metal and
more information about it can be found here -
http://www.parallels.com/products/server/baremetal/sp/.
This driver will work with PVS version 6.0 , beta version
scheduled at 2012 Q2.
Dmitry Guryanov (9):
pvs: add driver skeleton
util: add functions for interating over json object
pvs: add functions to list domains and get info
pvs: implement functions for domain life cycle management
pvs: get info about serial ports
pvs: add support of VNC remote display
pvs: implement virDomainDefineXML operation for existing domains
pvs: add storage driver
pvs: implement VM creation
cfg.mk | 1 +
configure.ac | 20 +
docs/drvpvs.html.in | 28 +
include/libvirt/virterror.h | 1 +
libvirt.spec.in | 7 +
mingw32-libvirt.spec.in | 6 +
po/POTFILES.in | 1 +
src/Makefile.am | 23 +
src/conf/domain_conf.c | 3 +-
src/conf/domain_conf.h | 1 +
src/driver.h | 1 +
src/libvirt.c | 12 +
src/pvs/pvs_driver.c | 1259 +++++++++++++++++++++++++++++++++++++
src/pvs/pvs_driver.h | 76 +++
src/pvs/pvs_storage.c | 1460 +++++++++++++++++++++++++++++++++++++++++++
src/pvs/pvs_utils.c | 139 ++++
src/util/json.c | 30 +
src/util/json.h | 4 +
src/util/virterror.c | 3 +
19 files changed, 3074 insertions(+), 1 deletions(-)
create mode 100644 docs/drvpvs.html.in
create mode 100644 src/pvs/pvs_driver.c
create mode 100644 src/pvs/pvs_driver.h
create mode 100644 src/pvs/pvs_storage.c
create mode 100644 src/pvs/pvs_utils.c
12 years, 7 months