import traceback
from qa import utils
from Test import Test
+from qa.PLCs import PLC, PLCs
class plc_install(Test):
"""
Installs a myplc
"""
- def call(self, url=None):
+ def call(self, plc_name, url=None):
+ # Get plc qa config
+ plc = self.config.get_plc(plc_name)
url_path = self.config.path
+
# Determine url
if not url:
try:
# Save url
if self.config.verbose:
- utils.header('Saving current myplc url into %s/URL' % url_path)
+ utils.header('Saving current myplc url into %s/URL' % url_path, logfile = self.config.logfile)
fsave=open('%s/URL' % url_path, "w")
fsave.write(url+'\n')
fsave.close()
# Instal myplc from url
if self.config.verbose:
- utils.header('Downloading myplc from url %s' % url)
+ utils.header('Downloading myplc from url %s' % url, logfile = self.config.logfile )
+ # build commands
url_parts = url.split(os.sep)
rpm_file = url[-1:]
download_cmd = "wget %(url)s /tmp/%(rpm_file)s" % locals()
-
- # build command
rpm_install = "rpm -Uvh /tmp/%(rpm_file)s" % locals()
yum_install = "yum -y localinstall /tmp/%(rpm_file)s" % locals()
if self.config.verbose:
- utils.header("Trying: %(rpm_install)s" % locals())
+ utils.header("Trying: %(rpm_install)s" % locals(), logfile = self.config.logfile)
try:
- (stdout, stderr) = utils.popen(rpm_install)
+ (status, output) = plc.commands(rpm_install)
except:
if self.config.verbose:
- utils.header("Trying %(yum_install)s" % locals())
- (stdout, stderr) = utils.popen(yum_install)
+ utils.header("Trying %(yum_install)s" % locals(), logfile = self.config.logfile)
+ (status, output) = plc.commands(download_cmd)
+ (status, output) = plc.commands(yum_install)
- if self.config.verbose:
- utils.header("\n".join(stdout))
-
return 1
if __name__ == '__main__':