test suite reviews and discussions
 help / color / mirror / Atom feed
From: "Juraj Linkeš" <juraj.linkes@pantheon.tech>
To: lijuan.tu@intel.com, ohilyard@iol.unh.edu
Cc: dts@dpdk.org, "Juraj Linkeš" <juraj.linkes@pantheon.tech>
Subject: [PATCH v2] framework/virt_*: fix pylama errors
Date: Wed,  8 Dec 2021 10:32:19 +0100	[thread overview]
Message-ID: <1638955939-8759-1-git-send-email-juraj.linkes@pantheon.tech> (raw)
In-Reply-To: <1637761668-4060-1-git-send-email-juraj.linkes@pantheon.tech>

Pylama found the following errors:
framework/virt_base.py:271: [E] E1101 Instance of 'VirtBase' has no 'add_vm_login' member [pylint]
framework/virt_base.py:274: [E] E1101 Instance of 'VirtBase' has no '_attach_vm' member [pylint]
framework/virt_base.py:319: [E] E1101 Instance of 'VirtBase' has no '_quick_start_vm' member [pylint]
framework/virt_base.py:413: [E] E1111 Assigning result of a function call, where the function has no return [pylint]
framework/virt_base.py:416: [E] E1101 Instance of 'VirtBase' has no 'get_vm_login' member [pylint]
framework/virt_base.py:88: [E] E1111 Assigning result of a function call, where the function has no return [pylint]
framework/virt_dut.py:73: [E] E1003 Bad first argument 'Dut' given to super() [pylint]
- unify the init function of VirtDut's parents
framework/virt_resource.py:242: [E] E1101 Instance of 'VirtResource' has no '__port_isused' member [pylint]
framework/virt_resource.py:246: [E] E0602 Undefined variable 'core' [pylint]
framework/virt_resource.py:247: [E] E0602 Undefined variable 'core' [pylint]
framework/virt_scene.py:350: [E] E1101 Instance of 'VirtScene' has no 'tester' member [pylint]
framework/virt_scene.py:393: [E] E1101 Instance of 'VirtScene' has no 'vm_dut' member [pylint]
framework/virt_scene.py:397: [E] E1101 Instance of 'VirtScene' has no 'tester' member [pylint]
framework/virt_scene.py:458: [E] E1123 Unexpected keyword argument 'auto_portmap' in method call [pylint]
framework/virt_scene.py:510: [E] E0102 class already defined line 38 [pylint]
framework/virt_scene.py:517: [E] E1101 Instance of 'QEMUKvm' has no 'params' member [pylint]

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
---
Lijuan, please add additional people to review if needed.
---
 framework/crb.py           |  2 +-
 framework/dut.py           |  9 +++++----
 framework/project_dpdk.py  |  5 +++--
 framework/tester.py        |  2 +-
 framework/virt_base.py     | 28 ++++++++++++++++++++++++++--
 framework/virt_dut.py      | 10 +++++-----
 framework/virt_resource.py |  7 +++++--
 framework/virt_scene.py    | 13 +++++++------
 8 files changed, 53 insertions(+), 23 deletions(-)

diff --git a/framework/crb.py b/framework/crb.py
index c9909add..4ba7d033 100755
--- a/framework/crb.py
+++ b/framework/crb.py
@@ -51,7 +51,7 @@ class Crb(object):
     CPU/PCI/NIC on the board and setup running environment for DPDK.
     """
 
-    def __init__(self, crb, serializer, name, alt_session=True, dut_id=0):
+    def __init__(self, crb, serializer, dut_id=0, name=None, alt_session=True):
         self.dut_id = dut_id
         self.crb = crb
         self.read_cache = False
diff --git a/framework/dut.py b/framework/dut.py
index dc3fc874..784a8375 100644
--- a/framework/dut.py
+++ b/framework/dut.py
@@ -62,10 +62,11 @@ class Dut(Crb):
     CORE_LIST_CACHE_KEY = 'dut_core_list'
     PCI_DEV_CACHE_KEY = 'dut_pci_dev_info'
 
-    def __init__(self, crb, serializer, dut_id):
-        self.NAME = 'dut' + LOG_NAME_SEP + '%s' % crb['My IP']
-        super(Dut, self).__init__(crb, serializer, self.NAME, alt_session=True, dut_id=dut_id)
-
+    def __init__(self, crb, serializer, dut_id=0, name=None, alt_session=True):
+        if not name:
+            name = 'dut' + LOG_NAME_SEP + '%s' % crb['My IP']
+            self.NAME = name
+        super(Dut, self).__init__(crb, serializer, dut_id, name, alt_session)
         self.host_init_flag = False
         self.number_of_cores = 0
         self.tester = None
diff --git a/framework/project_dpdk.py b/framework/project_dpdk.py
index 9927bcc1..37fbc4e6 100644
--- a/framework/project_dpdk.py
+++ b/framework/project_dpdk.py
@@ -60,8 +60,9 @@ class DPDKdut(Dut):
     build, memory and kernel module.
     """
 
-    def __init__(self, crb, serializer, dut_id):
-        super(DPDKdut, self).__init__(crb, serializer, dut_id)
+    def __init__(self, crb, serializer, dut_id=0, name=None, alt_session=True):
+        super(DPDKdut, self).__init__(crb, serializer, dut_id, name,
+                                      alt_session)
         self.testpmd = None
 
     def set_target(self, target, bind_dev=True):
diff --git a/framework/tester.py b/framework/tester.py
index 9dba4e4d..80e531ee 100644
--- a/framework/tester.py
+++ b/framework/tester.py
@@ -80,7 +80,7 @@ class Tester(Crb):
     def __init__(self, crb, serializer):
         self.NAME = 'tester'
         self.scapy_session = None
-        super(Tester, self).__init__(crb, serializer, self.NAME)
+        super(Tester, self).__init__(crb, serializer, name=self.NAME)
         # check the python version of tester
         check_crb_python_version(self)
 
diff --git a/framework/virt_base.py b/framework/virt_base.py
index 148a4d18..ef117062 100644
--- a/framework/virt_base.py
+++ b/framework/virt_base.py
@@ -104,7 +104,7 @@ class VirtBase(object):
         """
         Get the virtual type, such as KVM, XEN or LIBVIRT.
         """
-        NotImplemented
+        raise NotImplementedError
 
     def has_virtual_ability(self):
         """
@@ -118,6 +118,30 @@ class VirtBase(object):
         """
         NotImplemented
 
+    def get_vm_login(self):
+        """
+        Get VM credentials.
+        """
+        raise NotImplementedError
+
+    def add_vm_login(self):
+        """
+        Add VM credentials.
+        """
+        raise NotImplementedError
+
+    def _attach_vm(self):
+        """
+        Attach VM.
+        """
+        raise NotImplementedError
+
+    def _quick_start_vm(self):
+        """
+        Quick start VM.
+        """
+        raise NotImplementedError
+
     def load_global_config(self):
         """
         Load global configure in the path DTS_ROOT_PATH/conf.
@@ -230,7 +254,7 @@ class VirtBase(object):
         """
         Get the VM IP.
         """
-        NotImplemented
+        raise NotImplementedError
 
     def get_pci_mappings(self):
         """
diff --git a/framework/virt_dut.py b/framework/virt_dut.py
index bde65667..1afd90a9 100644
--- a/framework/virt_dut.py
+++ b/framework/virt_dut.py
@@ -61,16 +61,16 @@ class VirtDut(DPDKdut):
     """
 
     def __init__(self, hyper, crb, serializer, virttype, vm_name, suite, cpu_topo, dut_id):
+        self.vm_ip = crb['IP']
+        self.NAME = 'virtdut' + LOG_NAME_SEP + '%s' % self.vm_ip
+        # do not create addition alt_session
+        super(VirtDut, self).__init__(crb, serializer, dut_id,
+                                      self.NAME, alt_session=False)
         self.vm_name = vm_name
         self.hyper = hyper
         self.cpu_topo = cpu_topo
-        self.dut_id = dut_id
         self.migration_vm = False
 
-        self.vm_ip = crb['IP']
-        self.NAME = 'virtdut' + LOG_NAME_SEP + '%s' % self.vm_ip
-        # do not create addition alt_session
-        super(Dut, self).__init__(crb, serializer, self.NAME, alt_session=False, dut_id=self.dut_id)
         # load port config from suite cfg
         self.suite = suite
 
diff --git a/framework/virt_resource.py b/framework/virt_resource.py
index 8a19f1b2..3163372d 100644
--- a/framework/virt_resource.py
+++ b/framework/virt_resource.py
@@ -70,6 +70,9 @@ class VirtResource(object):
         # save allocated cores and related vm
         self.allocated_info = {}
 
+    def __port_isused(self, pci):
+        return pci in self.used_ports
+
     def __port_used(self, pci):
         index = self.ports.index(pci)
         self.used_ports[index] = pci
@@ -243,8 +246,8 @@ class VirtResource(object):
                     print("Port %s has been used!!!" % pci)
                 else:
                     if self.__port_on_socket(pci, socket) is True:
-                        self.__port_used(core)
-                        ports.append(core)
+                        self.__port_used(pci)
+                        ports.append(pci)
 
         if vm not in self.allocated_info:
             self.allocated_info[vm] = {}
diff --git a/framework/virt_scene.py b/framework/virt_scene.py
index cc36a09b..d82012b1 100644
--- a/framework/virt_scene.py
+++ b/framework/virt_scene.py
@@ -347,7 +347,7 @@ class VirtScene(object):
             elif cmd['type'] == 'host':
                 crb = self.host_dut
             elif cmd['type'] == 'tester':
-                crb = self.tester
+                crb = self.tester_dut
             else:
                 crb = self.host_dut
 
@@ -390,11 +390,11 @@ class VirtScene(object):
     def run_post_cmds(self):
         for cmd in self.post_cmds:
             if cmd['type'] == 'vm':
-                crb = self.vm_dut
+                crb = None
             elif cmd['type'] == 'host':
                 crb = self.host_dut
             elif cmd['type'] == 'tester':
-                crb = self.tester
+                crb = self.tester_dut
             else:
                 crb = self.host_dut
 
@@ -456,7 +456,6 @@ class VirtScene(object):
                 topo = self.get_cputopo(scene_params)
                 try:
                     vm_dut = vm.start(load_config=False, set_target=False,
-                                      auto_portmap=self.auto_portmap,
                                       cpu_topo=topo)
                     if vm_dut is None:
                         raise Exception("Set up VM ENV failed!")
@@ -507,16 +506,18 @@ class VirtScene(object):
 
 if __name__ == "__main__":
 
-    class QEMUKvm():
+    class QEMUKvmTmp():
 
         def __init__(self, dut, vm_name, suite_name):
             print(vm_name)
             print(suite_name)
 
         def start(self):
-            print(self.params)
+            print(self.__dict__)
             return True
 
+    QEMUKvm = QEMUKvmTmp
+
     class simple_dev(object):
 
         def __init__(self, pci):
-- 
2.20.1


      parent reply	other threads:[~2021-12-08  9:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-24 13:47 [PATCH v1] " Juraj Linkeš
2021-12-07 15:04 ` [PATCH v2] framework/pktgen_*: " Juraj Linkeš
2021-12-07 15:18   ` [PATCH v3] " Juraj Linkeš
2022-01-14  8:09     ` Tu, Lijuan
2021-12-08  9:32 ` Juraj Linkeš [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1638955939-8759-1-git-send-email-juraj.linkes@pantheon.tech \
    --to=juraj.linkes@pantheon.tech \
    --cc=dts@dpdk.org \
    --cc=lijuan.tu@intel.com \
    --cc=ohilyard@iol.unh.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).