/* Setup the ENV */ public string UploadPackages(string packagesFolder, string userName, string password) { ctx.Alw(string.Format("Setup Linux OMI Environment")); string osPackageFilesPath = "BuildPlatform_PackageFiles.txt"; string PackagesFolder = GetValueByKey("PackagesFolder"); string buildNumber = GetValueByKey("BuildNumber"); string providerFolder = GetValueByKey("ProviderFolder"); //string macMachine = GetValueByKey("macMachine"); string errorMessage = string.Empty; string summaryResult = "<?xml version=\"1.0\" encoding=\"utf-16\"?><rootResult xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><LinuxResults>"; foreach (string from in Linuxs) { SshHelper rootssh = new SshHelper(from, userName, password); //Upload GetOS.sh to linux and run the script string osname = GetOSName(rootssh); //Uninstall OMI ctx.Alw(string.Format("Uninstall OMI on {0}, osname:{1}", from, osname)); UninstallOMIPackage(rootssh, osname); ctx.Alw(string.Format("Setup Negotiate and Kerberos authentication on Linux Server after install OMI on {0}, osname:{1}", from, osname)); //Build Platform string buildPlatform = GetBuildPlatformByOSName(osname); ctx.Alw(string.Format("GetBuildPlatformByOSName OMI on {0}, osname:{1},buildPlatform:{2}", from, osname, buildPlatform)); if (!File.Exists(osPackageFilesPath)) { this.Abort(ctx, "Need file:" + osPackageFilesPath); } rootssh.ExecuteCommand("openssl version"); string opensslversion = rootssh.Result; //Upload Packages "share.tar" string linuxFile = UploadPythonPackage(rootssh, PackagesFolder, buildPlatform, osname, opensslversion, buildNumber); //Install OMI InstallOMIPackage(rootssh, osname, linuxFile); //Register OMI provider ctx.Alw(string.Format("Setup Linux OMI Providers")); string provierPath = Path.Combine(providerFolder, buildPlatform); UploadRegisterProvider(provierPath, buildPlatform, opensslversion, userName, password, from); summaryResult += "<LinuxResult><name>" + from + "</name><result><![CDATA[" + rootssh.Result + "]]></result></LinuxResult>"; rootssh.VerifyExecuteCommand("/opt/omi/bin/service_control restart"); } summaryResult += "</LinuxResults></rootResult>"; if (!string.IsNullOrEmpty(errorMessage)) { this.Fail(ctx, errorMessage); } return(summaryResult); }