Public Member Functions | |
SALOME_ContainerManager (CORBA::ORB_ptr orb, PortableServer::POA_var poa, SALOME_ResourcesManager *rm, SALOME_NamingService *ns) | |
~SALOME_ContainerManager () | |
void | Shutdown () |
shutdown all the containers, then the ContainerManager servant | |
void | ShutdownContainers () |
Loop on all the containers listed in naming service, ask shutdown on each. | |
Engines::Container_ptr | StartContainer (const Engines::MachineParameters ¶ms, const Engines::MachineList &possibleComputer, const std::string &container_exe="SALOME_Container") |
Start a suitable Container in a list of machines with constraints. | |
Engines::Container_ptr | StartContainer (const Engines::MachineParameters ¶ms) |
Start a suitable Container given constraints. | |
Engines::Container_ptr | GiveContainer (const Engines::MachineParameters ¶ms) |
Give a suitable Container given constraints. | |
Engines::Container_ptr | FindOrStartContainer (const Engines::MachineParameters ¶ms) |
Find or start a suitable Container given some constraints. | |
Engines::Container_ptr | StartParallelContainer (const Engines::MachineParameters ¶ms) |
Static Public Attributes | |
static const char * | _ContainerManagerNameInNS |
Protected Types | |
typedef std::vector< std::string > | actual_launch_machine_t |
Protected Member Functions | |
Engines::Container_ptr | FindContainer (const Engines::MachineParameters ¶ms, const Engines::MachineList &possibleComputers) |
Find a container given constraints (params) on a list of machines (possibleComputers). | |
Engines::Container_ptr | FindContainer (const Engines::MachineParameters ¶ms, const char *theMachine) |
Find a container given constraints (params) on a machine (theMachine). | |
void | fillBatchLaunchedContainers () |
std::string | BuildCommandToLaunchRemoteContainer (const std::string &machine, const Engines::MachineParameters ¶ms, const std::string &container_exe="SALOME_Container") |
std::string | BuildCommandToLaunchLocalContainer (const Engines::MachineParameters ¶ms, const std::string &container_exe="SALOME_Container") |
std::string | BuildTempFileToLaunchRemoteContainer (const std::string &machine, const Engines::MachineParameters ¶ms) throw (SALOME_Exception) |
void | RmTmpFile (std::string &tmpFile) |
void | AddOmninamesParams (std::string &command) const |
void | AddOmninamesParams (std::ofstream &fileStream) const |
std::string | BuildTemporaryFileName () const |
std::string | GetMPIZeroNode (std::string machine) |
std::string | BuildCommandToLaunchParallelContainer (const std::string &exe_name, const Engines::MachineParameters ¶ms, SALOME_ContainerManager::actual_launch_machine_t &vect_machine, const std::string proxy_hostname="") |
CORBA::Object_ptr | LaunchParallelContainer (const std::string &command, const Engines::MachineParameters ¶ms, const std::string &name, SALOME_ContainerManager::actual_launch_machine_t &vect_machine) |
Protected Attributes | |
CORBA::ORB_var | _orb |
PortableServer::POA_var | _poa |
SALOME_ResourcesManager * | _ResManager |
SALOME_NamingService * | _NS |
std::string | _TmpFileName |
attribute that contains current tmp files generated | |
std::string | _CommandForRemAccess |
contains the rsh or ssh command to access directly to machine. | |
bool | _isAppliSalomeDefined |
different behaviour if $APPLI exists (SALOME Application) | |
Static Protected Attributes | |
static std::vector < Engines::Container_ptr > | _batchLaunchedContainers |
static std::vector < Engines::Container_ptr > ::iterator | _batchLaunchedContainersIter |
SALOME_ContainerManager::SALOME_ContainerManager | ( | CORBA::ORB_ptr | orb, | |
PortableServer::POA_var | poa, | |||
SALOME_ResourcesManager * | rm, | |||
SALOME_NamingService * | ns | |||
) |
Constructor
orb | Define a CORBA single thread policy for the server, which avoid to deal with non thread-safe usage like Change_Directory in SALOME naming service |
SALOME_ContainerManager::~SALOME_ContainerManager | ( | ) |
destructor
void SALOME_ContainerManager::Shutdown | ( | ) |
shutdown all the containers, then the ContainerManager servant
CORBA method:
void SALOME_ContainerManager::ShutdownContainers | ( | ) |
Loop on all the containers listed in naming service, ask shutdown on each.
CORBA Method:
Engines::Container_ptr SALOME_ContainerManager::StartContainer | ( | const Engines::MachineParameters & | params, | |
const Engines::MachineList & | possibleComputers, | |||
const std::string & | container_exe = "SALOME_Container" | |||
) |
Start a suitable Container in a list of machines with constraints.
C++ Method: Constraints are given by a machine parameters struct
params | Machine Parameters required for the container | |
possibleComputers | list of machines usable for start | |
container_exe | specific container executable (default=SALOME_Container) |
Engines::Container_ptr SALOME_ContainerManager::StartContainer | ( | const Engines::MachineParameters & | params | ) |
Start a suitable Container given constraints.
CORBA Method:
params | Machine Parameters required for the container |
Engines::Container_ptr SALOME_ContainerManager::GiveContainer | ( | const Engines::MachineParameters & | params | ) |
Give a suitable Container given constraints.
CORBA Method:
params | Machine Parameters required for the container |
Engines::Container_ptr SALOME_ContainerManager::FindOrStartContainer | ( | const Engines::MachineParameters & | params | ) |
Find or start a suitable Container given some constraints.
CORBA Method:
params | Machine Parameters required for the container |
Engines::Container_ptr SALOME_ContainerManager::StartParallelContainer | ( | const Engines::MachineParameters & | params | ) |
CORBA Method: Find or Start a suitable PaCO++ Parallel Container in a list of machines.
params | Machine Parameters required for the container |
Engines::Container_ptr SALOME_ContainerManager::FindContainer | ( | const Engines::MachineParameters & | params, | |
const Engines::MachineList & | possibleComputers | |||
) | [protected] |
Find a container given constraints (params) on a list of machines (possibleComputers).
Engines::Container_ptr SALOME_ContainerManager::FindContainer | ( | const Engines::MachineParameters & | params, | |
const char * | theMachine | |||
) | [protected] |
Find a container given constraints (params) on a machine (theMachine).
string SALOME_ContainerManager::BuildCommandToLaunchLocalContainer | ( | const Engines::MachineParameters & | params, | |
const std::string & | container_exe = "SALOME_Container" | |||
) | [protected] |
builds the command to be launched.
void SALOME_ContainerManager::RmTmpFile | ( | std::string & | tmpFileName | ) | [protected] |
removes the generated temporary file in case of a remote launch.
string SALOME_ContainerManager::BuildTemporaryFileName | ( | ) | const [protected] |
generate a file name in /tmp directory
string SALOME_ContainerManager::BuildCommandToLaunchParallelContainer | ( | const std::string & | exe_name, | |
const Engines::MachineParameters & | params, | |||
SALOME_ContainerManager::actual_launch_machine_t & | vect_machine, | |||
const std::string | proxy_hostname = "" | |||
) | [protected] |
Creates a command line that the container manager uses to launch a parallel container.
CORBA::Object_ptr SALOME_ContainerManager::LaunchParallelContainer | ( | const std::string & | command, | |
const Engines::MachineParameters & | params, | |||
const std::string & | name, | |||
SALOME_ContainerManager::actual_launch_machine_t & | vect_machine | |||
) | [protected] |
This method launches the parallel container. It will may be placed on the ressources manager.
command | to launch | |
container's | parameters | |
name | of the container |
const char * SALOME_ContainerManager::_ContainerManagerNameInNS [static] |
"/ContainerManager"
std::string SALOME_ContainerManager::_TmpFileName [protected] |
attribute that contains current tmp files generated
std::string SALOME_ContainerManager::_CommandForRemAccess [protected] |
contains the rsh or ssh command to access directly to machine.
bool SALOME_ContainerManager::_isAppliSalomeDefined [protected] |
different behaviour if $APPLI exists (SALOME Application)