23 #ifndef __SALOME_CONTAINERMANAGER_HXX__
24 #define __SALOME_CONTAINERMANAGER_HXX__
26 #include "SALOME_Container.hxx"
28 #include <SALOMEconfig.h>
29 #include CORBA_CLIENT_HEADER(SALOME_Component)
30 #include CORBA_CLIENT_HEADER(SALOME_ContainerManager)
31 #include "SALOME_ResourcesManager.hxx"
32 #include "SALOME_LoadRateManager.hxx"
40 public POA_Engines::ContainerManager
48 Engines::Container_ptr
51 void ShutdownContainers();
56 static const char *_ContainerManagerNameInNS;
60 Engines::Container_ptr
64 Engines::Container_ptr
66 const std::string& resource);
68 std::string BuildCommandToLaunchRemoteContainer(
const std::string & resource_name,
70 const std::string& container_exe=
"SALOME_Container");
73 const std::string& machinesFile,
74 const std::string& container_exe=
"SALOME_Container");
76 std::string BuildTempFileToLaunchRemoteContainer(
const std::string& resource_name,
79 void RmTmpFile(std::string& tmpFile);
81 void AddOmninamesParams(std::string& command)
const;
83 void AddOmninamesParams(std::ostringstream& oss)
const;
85 void AddOmninamesParams(std::ofstream& fileStream)
const;
87 std::string BuildTemporaryFileName()
const;
89 std::string GetMPIZeroNode(
const std::string machine,
const std::string machinesFile);
91 std::string machinesFile(
const int nbproc);
93 std::set<pid_t> getpidofprogram(
const std::string program);
95 std::string getCommandToRunRemoteProcess(AccessProtocolType protocol,
96 const std::string & hostname,
97 const std::string & username);
99 Engines::Container_ptr
101 const std::string & resource_selected,
102 const std::string & hostname,
103 const std::string & machFile,
104 const std::string & containerNameInNS);
107 PortableServer::POA_var _poa;
109 SALOME_ResourcesManager *_ResManager;
127 pid_t _pid_mpiServer;
130 typedef std::vector<std::string> actual_launch_machine_t;
134 Engines::Container_ptr
140 std::string machine_file_name,
141 std::string & proxy_hostname);
144 const std::string & machine_file_name,
145 SALOME_ContainerManager::actual_launch_machine_t & vect_machine,
146 const std::string & proxy_hostname);
148 void LogConfiguration(
const std::string & log_type,
149 const std::string & exe_type,
150 const std::string & container_name,
151 const std::string & hostname,
156 LaunchPaCOProxyContainer(
const std::string& command,
158 const std::string& hostname);
161 LaunchPaCONodeContainer(
const std::string& command,
163 const std::string& name,
164 SALOME_ContainerManager::actual_launch_machine_t & vect_machine);
bool _isAppliSalomeDefined
different behaviour if $APPLI exists (SALOME Application)
Definition: SALOME_ContainerManager.hxx:120
std::string _TmpFileName
attribute that contains current tmp files generated
Definition: SALOME_ContainerManager.hxx:113
int _nbprocUsed
attribute that contains the number of processes used in batch mode by MPI containers ...
Definition: SALOME_ContainerManager.hxx:123
A class to manage the SALOME naming service.
Definition: SALOME_NamingService.hxx:48
Definition: SALOME_ContainerManager.hxx:39
std::string _CommandForRemAccess
contains the rsh or ssh command to access directly to machine.
Definition: SALOME_ContainerManager.hxx:117
Definition: Utils_SALOME_Exception.hxx:67
sequence< string > ResourceList
Type to transmit list of resources.
Definition: SALOME_ContainerManager.idl:36
Type to describe required properties of a container.
Definition: SALOME_ContainerManager.idl:86