0

I am running this python wrapper but after extracting the tar file it is not executing this command -"cd FVSDD_Automation" as the pwd command shows that it is still in root directory. Due to this the rest of the code is not getting executed correctly and the rest of the code is breaking down.

#!/usr/bin/python

import sys, os
import shlex, subprocess
import time

sut = sys.argv[1]
pp = sys.argv[2]
sut_adapter = sys.argv[3]
pp_adapter = sys.argv[4]
switch_ip = sys.argv[5]
switch = sys.argv[6]
node_type = sys.argv[7]
hmc_name = sys.argv[8]
gsa_id = sys.argv[9]
gsa_pass = sys.argv[10]

f_name = sys.argv[1] + "_" + sys.argv[2] + ".p.config" 

args_str="config_gen.pl {} {} {} {} {} {} {} {}".format(sut, pp, sut_adapter, pp_adapter, switch_ip, switch, node_type, hmc_name)
args_str2="/framework/scripts/ts//ts /testrepo/DD/NDD/fvndd_dedicated.p -t standard_frames_dedicated -c 4 -g /Jenkins/config/{}".format(f_name)

def test_install():

        os.system("tar xvf FVSDD_Automation.tar")
        time.sleep(10)
        os.system("cd FVSDD_Automation")

        arg_str = "AUTO_INSTALL.pl -i all {} {}".format(gsa_id, gsa_pass)
        arg = shlex.split(arg_str)
        pipe = subprocess.Popen(arg,bufsize=-1,stdin=subprocess.PIPE,stderr=subprocess.PIPE)
        pipe.communicate()
        print pipe.returncode

def test_run():

        args2 = shlex.split(args_str2)
        pipe = subprocess.Popen(args2,bufsize=-1,stdin=subprocess.PIPE,stderr=subprocess.PIPE)
        print pipe.communicate()
        print pipe.returncode
        sys.stdin.close()
        sys.exit(os.EX_OK)

def main():

        args = "ls -d framework"
        arg = shlex.split(args)
        p = subprocess.Popen(arg,bufsize=-1,stdin=subprocess.PIPE,stderr=subprocess.PIPE)
        p.communicate()
        output = p.returncode

        if output != 0:

                  test_install()

        else:

                  print ("The installation is already done")

        args = shlex.split(args_str)
        pipe = subprocess.Popen(args,bufsize=-1,stdin=subprocess.PIPE,stderr=subprocess.PIPE)
        print pipe.communicate()
        print pipe.returncode 

        test_run()

if __name__== "__main__":
        main()
ray
  • 59
  • 7
  • Possible duplicate of [Why does not os.system("cd mydir") work and we have to use os.chdir("mydir") instead in python?](https://stackoverflow.com/questions/35277128/why-does-not-os-systemcd-mydir-work-and-we-have-to-use-os-chdirmydir-ins) –  Nov 05 '18 at 09:45
  • Try providing an explicit path. `os.system("cd /your/path/FVSDD_Automation")` – Raoslaw Szamszur Nov 05 '18 at 09:53
  • Thank you guys @eukaryota. Got what was happening there and using os.chdir() works – ray Nov 05 '18 at 10:12

0 Answers0