From patchwork Wed Jan 19 13:40:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 106081 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AD405A04AF; Wed, 19 Jan 2022 14:41:00 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1F1684115D; Wed, 19 Jan 2022 14:41:00 +0100 (CET) Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20]) by mails.dpdk.org (Postfix) with ESMTP id 8D04B41147 for ; Wed, 19 Jan 2022 14:40:59 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by lb.pantheon.sk (Postfix) with ESMTP id 116221376F0; Wed, 19 Jan 2022 14:40:59 +0100 (CET) X-Virus-Scanned: amavisd-new at siecit.sk Received: from lb.pantheon.sk ([127.0.0.1]) by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vdUQC4YzwHxI; Wed, 19 Jan 2022 14:40:57 +0100 (CET) Received: from service-node1.lab.pantheon.local (unknown [46.229.239.141]) by lb.pantheon.sk (Postfix) with ESMTP id B168D1376FD; Wed, 19 Jan 2022 14:40:56 +0100 (CET) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: junx.dong@intel.com, lijuan.tu@intel.com, ohilyard@iol.unh.edu Cc: dts@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Subject: [PATCH v1 2/2] framework/virt_*: fix pylama errors Date: Wed, 19 Jan 2022 14:40:55 +0100 Message-Id: <1642599655-11727-3-git-send-email-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1642599655-11727-1-git-send-email-juraj.linkes@pantheon.tech> References: <1642599655-11727-1-git-send-email-juraj.linkes@pantheon.tech> MIME-Version: 1.0 X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org 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š Reviewed-by: Jun Dong --- 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 | 12 +++++++----- 8 files changed, 53 insertions(+), 22 deletions(-) diff --git a/framework/crb.py b/framework/crb.py index 0f22c5d3..57883f00 100755 --- a/framework/crb.py +++ b/framework/crb.py @@ -55,7 +55,7 @@ class Crb(object): NUMBER_CORES_CACHE_KEY = None CORE_LIST_CACHE_KEY = None - 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 45db4616..a2dc82db 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 9b764e8b..73b428d9 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 ca8c8c6b..7164c522 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..62748bc2 100644 --- a/framework/virt_scene.py +++ b/framework/virt_scene.py @@ -61,6 +61,7 @@ class VirtScene(object): self.name = scene_name self.host_dut = dut self.tester_dut = tester + self.vm_dut = None self.pre_cmds = [] self.post_cmds = [] @@ -347,7 +348,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 @@ -394,7 +395,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 @@ -456,7 +457,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 +507,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):