Below code has a call to a method called lago.
#!/usr/bin/env python
#
# Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
#
import sys
class InstallTest():
"""Ru Ovirt System Tests"""
def run_command_checking_exit_code(command):
""" Runs a command"""
print("Command is " + str(command))
print(command.read())
print(command.close())
def lago():
"""run the conductor profiles required to install OLVM """
Log.test_objective('TODO')
run_command_checking_exit_code('ls -al')
"""
yum_list = ["epel-release", "centos-release-qemu-ev", "python-devel", "libvirt", "libvirt-devel", "libguestfs-tools", "libguestfs-devel", "gcc", "libffi-devel", "openssl-devel", "qemu-kvm-ev"]
for yum in yum_list
ret, msg, tup = self.client.run('/qa/conductor/tests/' + OSSE_OLV_VERSION + '/installer/installerfactory.py -s ' + OSSE_OLV_ENGINE_HOST + ' -t OS_OL7U6_X86_64_PVHVM_30GB -c 10.1.0.10 -o ' + self.log_jobdir_cc +'/vm_install_ol7.6', timeout=1000000)
if ret:
self.tc_fail('Creation of OLV Engine VM failed')
ret, msg, tup = self.client.run('/qa/conductor/tests/' + OSSE_OLV_VERSION + '/installer/installerfactory.py -s ' + OSSE_OLV_ENGINE_HOST +' -p ovirt-engine -c 10.1.0.10 -o ' + self.log_jobdir_cc + '/engine_deploy', timeout=1000000)
if ret:
self.tc_fail('Install of OLV Engine Host failed')
self.tc_pass('OLV Engine Host installed')
"""
def main():
lago()
main()
However, it is shown to not exist in the output
Traceback (most recent call last):
File "C:/Users/rafranci/Downloads/ovirt_st_setup.py", line 20, in <module>
class InstallTest():
File "C:/Users/rafranci/Downloads/ovirt_st_setup.py", line 65, in InstallTest
main()
File "C:/Users/rafranci/Downloads/ovirt_st_setup.py", line 63, in main
lago()
NameError: name 'lago' is not defined
As far as I can see, there is no reason for this – ideas?
2
Answers
You have to instantiate class to call its method.
or
This will work only if you are adding
self
parameter in your class.Also, I don’t understand why you needed class for this. If you don’t have any reason you can just remove the class and then your previous code will work fine as suggested in the comments.
Check the changes in code: