Esempio n. 1
0
        /* Upload share.tar to /opt/omi/ and Uppack */
        private void UploadPythonPackages(string packageFolfer, string username, string pwd, string from)
        {
            SshHelper rootssh = new SshHelper(from, username, pwd);
            //Upload Provider to linux and run the script
            DirectoryInfo dir = new DirectoryInfo(Path.Combine(packageFolfer));

            try
            {
                string osname = GetOSName(rootssh);

                foreach (FileInfo f in dir.GetFiles("*"))
                {
                    string fileName     = f.Name;
                    string fullFileName = f.FullName;
                    switch (fileName)
                    {
                    case "share.tar":
                        ctx.Alw("Uploading and uppack the share.tar");
                        rootssh.Upload(fullFileName, "/root/share.tar");
                        rootssh.VerifyExecuteCommand("chmod +x /root/share.tar; tar xvf /root/share.tar -C /opt/omi/");
                        ctx.Alw(string.Format("Result:{0}", rootssh.Result));
                        break;

                    case "ProviderAndMofFiles.tar":
                        ctx.Alw("Uploading and uppack the ProviderAndMofFiles.tar");
                        rootssh.Upload(fullFileName, "/root/ProviderAndMofFiles.tar");
                        rootssh.VerifyExecuteCommand("chmod +x /root/ProviderAndMofFiles.tar; tar xvf /root/ProviderAndMofFiles.tar -C /opt/omi/lib");
                        ctx.Alw(string.Format("Result:{0}", rootssh.Result));
                        break;
                        //case "samples.tar":
                        //    ctx.Alw("Uploading and registering the libfilesys.so");
                        //    rootssh.Upload(fullFileName, "/root/libfilesys.so");
                        //    rootssh.VerifyExecuteCommand("chmod +x /root/libfilesys.so; /opt/omi/bin/omireg --hosting '@requestor@' -n root/cimv2 /root/libfilesys.so");
                        //    ctx.Alw(string.Format("Result:{0}", rootssh.Result));
                        //    break;
                    }
                }
            }
            catch (Exception ex)
            {
                ctx.Alw(string.Format("Failed to upload package files from Windows to remote Linux, error:{0}", ex.Message));
            }
        }