Version: 9.15.0
SALOME_ResourcesManager Class Reference

#include <SALOME_ResourcesManager.hxx>

Inheritance diagram for SALOME_ResourcesManager:

Public Member Functions

 SALOME_ResourcesManager (CORBA::ORB_ptr orb, PortableServer::POA_var poa, SALOME_NamingService_Abstract *ns, const char *xmlFilePath)
 just for test More...
 
 SALOME_ResourcesManager (CORBA::ORB_ptr orb, PortableServer::POA_var poa, SALOME_NamingService_Abstract *ns)
 Standard constructor, parse resource file. More...
 
 ~SALOME_ResourcesManager ()
 Standard Destructor. More...
 
Engines::ResourceListGetFittingResources (const Engines::ResourceParameters &params)
 get the name of resources fitting the specified constraints (params) More...
 
char * FindFirst (const Engines::ResourceList &listOfResources)
 dynamically obtains the first machines More...
 
char * Find (const char *policy, const Engines::ResourceList &listOfResources)
 
Engines::ResourceDefinitionGetResourceDefinition (const char *name)
 
void AddResource (const Engines::ResourceDefinition &new_resource, CORBA::Boolean write, const char *xml_file)
 
void RemoveResource (const char *resource_name, CORBA::Boolean write, const char *xml_file)
 
char * getMachineFile (const char *resource_name, CORBA::Long nb_procs, const char *parallelLib)
 
void ListAllAvailableResources (Engines::ResourceList_out machines, Engines::IntegerList_out nbProcsOfMachines)
 Return list of resources available (regarding content of CatalogResources.xml) but select only those with canRunContainers attribute set to true. More...
 
Engines::ResourceListListAllResourcesInCatalog ()
 Return list of resources available (regarding content of CatalogResources.xml) whatever canRunContainers attribute value. More...
 
Engines::ResourceListListAllResourceEntriesInCatalog () override
 Return list of resources entries available. More...
 
void Shutdown ()
 CORBA method: shutdown all the containers, then the ContainerManager servant. More...
 
std::shared_ptr< ResourcesManager_cpp > & GetImpl ()
 

Static Public Attributes

static const char * _ResourcesManagerNameInNS = "/ResourcesManager"
 

Protected Attributes

SALOME_NamingService_Abstract_NS
 
CORBA::ORB_var _orb
 
PortableServer::POA_var _poa
 
std::shared_ptr< ResourcesManager_cpp_rm
 

Constructor & Destructor Documentation

◆ SALOME_ResourcesManager() [1/2]

SALOME_ResourcesManager::SALOME_ResourcesManager ( CORBA::ORB_ptr  orb,
PortableServer::POA_var  poa,
SALOME_NamingService_Abstract ns,
const char *  xmlFilePath 
)

◆ SALOME_ResourcesManager() [2/2]

SALOME_ResourcesManager::SALOME_ResourcesManager ( CORBA::ORB_ptr  orb,
PortableServer::POA_var  poa,
SALOME_NamingService_Abstract ns 
)

Standard constructor, parse resource file.

  • if ${APPLI} exists in environment, look for ${HOME}/${APPLI}/CatalogResources.xml
  • else look for default: ${KERNEL_ROOT_DIR}/share/salome/resources/kernel/CatalogResources.xml
  • parse XML resource file.

References _NS, _orb, _poa, _ResourcesManagerNameInNS, KERNEL_PY.batchmode_salome::obj, salome::orb, SALOME_ContainerPy::poa, and SALOME_NamingService_Container_Abstract::Register().

◆ ~SALOME_ResourcesManager()

SALOME_ResourcesManager::~SALOME_ResourcesManager ( )

Standard Destructor.

References MESSAGE.

Member Function Documentation

◆ AddResource()

void SALOME_ResourcesManager::AddResource ( const Engines::ResourceDefinition new_resource,
CORBA::Boolean  write,
const char *  xml_file 
)

◆ Find()

char * SALOME_ResourcesManager::Find ( const char *  policy,
const Engines::ResourceList listOfResources 
)

References _rm, and resourceList_CORBAtoCPP().

◆ FindFirst()

char * SALOME_ResourcesManager::FindFirst ( const Engines::ResourceList listOfResources)

dynamically obtains the first machines

References _rm, and resourceList_CORBAtoCPP().

◆ GetFittingResources()

Engines::ResourceList * SALOME_ResourcesManager::GetFittingResources ( const Engines::ResourceParameters params)

get the name of resources fitting the specified constraints (params)

If hostname specified, check it is local or known in resources catalog.

Else

  • select first machines with corresponding OS (all machines if parameter OS empty),
  • then select the sublist of machines on which the component is known (if the result is empty, that probably means that the inventory of components is probably not done, so give complete list from previous step)

References _rm, SALOME::BAD_PARAM, ResourcesException::msg, resourceList_CPPtoCORBA(), resourceParameters_CORBAtoCPP(), TestKernelHelpers::ret, and THROW_SALOME_CORBA_EXCEPTION.

Referenced by SALOME_Launcher::testBatch().

◆ GetImpl()

std::shared_ptr<ResourcesManager_cpp>& SALOME_ResourcesManager::GetImpl ( )

Referenced by SALOME_Launcher::init().

◆ getMachineFile()

◆ GetResourceDefinition()

Engines::ResourceDefinition * SALOME_ResourcesManager::GetResourceDefinition ( const char *  name)

◆ ListAllAvailableResources()

void SALOME_ResourcesManager::ListAllAvailableResources ( Engines::ResourceList_out  machines,
Engines::IntegerList_out  nbProcsOfMachines 
)

Return list of resources available (regarding content of CatalogResources.xml) but select only those with canRunContainers attribute set to true.

And for each resource the number of proc available of it.

See also
SALOME_ResourcesManager::ListAllResourcesInCatalog, SALOME_ResourcesManager::ListAllResourceEntriesInCatalog

References ResourceDataToSort::_nbOfNodes, ResourceDataToSort::_nbOfProcPerNode, _rm, ParserResourcesType::can_run_containers, ParserResourcesType::DataForSort, and ParserResourcesType::HostName.

◆ ListAllResourceEntriesInCatalog()

Engines::ResourceList * SALOME_ResourcesManager::ListAllResourceEntriesInCatalog ( )
override

Return list of resources entries available.

Useful to scan remotely the content of the playground

References _rm, and TestKernelHelpers::ret.

◆ ListAllResourcesInCatalog()

Engines::ResourceList * SALOME_ResourcesManager::ListAllResourcesInCatalog ( )

Return list of resources available (regarding content of CatalogResources.xml) whatever canRunContainers attribute value.

See also
SALOME_ResourcesManager::ListAllAvailableResources, SALOME_ResourcesManager::ListAllResourceEntriesInCatalog

References _rm, and TestKernelHelpers::ret.

◆ RemoveResource()

void SALOME_ResourcesManager::RemoveResource ( const char *  resource_name,
CORBA::Boolean  write,
const char *  xml_file 
)

◆ Shutdown()

void SALOME_ResourcesManager::Shutdown ( )

CORBA method: shutdown all the containers, then the ContainerManager servant.

References _NS, _poa, _ResourcesManagerNameInNS, SALOME_NamingService_Container_Abstract::Destroy_Name(), and MESSAGE.

Referenced by SALOME_Launcher::Shutdown().

Field Documentation

◆ _NS

SALOME_NamingService_Abstract* SALOME_ResourcesManager::_NS
protected

◆ _orb

◆ _poa

◆ _ResourcesManagerNameInNS

const char * SALOME_ResourcesManager::_ResourcesManagerNameInNS = "/ResourcesManager"
static

◆ _rm