-// Copyright (C) 2019-2023 CEA, EDF
+// Copyright (C) 2019-2024 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
new_resource_cpp.UserName = new_resource.username;
new_resource_cpp.AppliPath = new_resource.applipath;
new_resource_cpp.OS = new_resource.OS;
+ new_resource_cpp.DataForSort._Name = new_resource.name;
new_resource_cpp.DataForSort._memInMB = new_resource.mem_mb;
new_resource_cpp.DataForSort._CPUFreqMHz = new_resource.cpu_clock;
new_resource_cpp.DataForSort._nbOfNodes = new_resource.nb_node;
new_resource_cpp.working_directory = new_resource.working_directory;
$self->AddResourceInCatalog(new_resource_cpp);
}
+
+ void AddResourceInCatalogNoQuestion (const ResourceDefinition_cpp& new_resource)
+ {
+ ParserResourcesType new_resource_cpp;
+ new_resource_cpp.Name = new_resource.name;
+ new_resource_cpp.HostName = new_resource.hostname;
+ new_resource_cpp.setResourceTypeStr( new_resource.type );
+ new_resource_cpp.setAccessProtocolTypeStr( new_resource.protocol );
+ new_resource_cpp.UserName = new_resource.username;
+ new_resource_cpp.AppliPath = new_resource.applipath;
+ new_resource_cpp.OS = new_resource.OS;
+ new_resource_cpp.DataForSort._Name = new_resource.name;
+ new_resource_cpp.DataForSort._memInMB = new_resource.mem_mb;
+ new_resource_cpp.DataForSort._CPUFreqMHz = new_resource.cpu_clock;
+ new_resource_cpp.DataForSort._nbOfNodes = new_resource.nb_node;
+ new_resource_cpp.DataForSort._nbOfProcPerNode = new_resource.nb_proc_per_node;
+ new_resource_cpp.setBatchTypeStr(new_resource.batch);
+ new_resource_cpp.setMpiImplTypeStr(new_resource.mpiImpl);
+ new_resource_cpp.setClusterInternalProtocolStr(new_resource.iprotocol);
+ new_resource_cpp.can_launch_batch_jobs = new_resource.can_launch_batch_jobs;
+ new_resource_cpp.can_run_containers = new_resource.can_run_containers;
+ new_resource_cpp.working_directory = new_resource.working_directory;
+ $self->AddResourceInCatalogNoQuestion(new_resource_cpp);
+ }
void ParseXmlFiles()
{
contRes = CreateContainerResource(hostname=k,applipath=os.environ["APPLI"],protocol=protocol,nbOfNodes=v)
rmcpp.AddResourceInCatalog(contRes)
+def GetRequestForGiveContainer(hostname, contName):
+ import Engines
+ import os
+ rp=Engines.ResourceParameters(name=hostname,
+ hostname=hostname,
+ can_launch_batch_jobs=False,
+ can_run_containers=True,
+ OS="Linux",
+ componentList=[],
+ nb_proc=1,
+ mem_mb=1000,
+ cpu_clock=1000,
+ nb_node=1,
+ nb_proc_per_node=1,
+ policy="first",
+ resList=[])
+
+ cp=Engines.ContainerParameters(container_name=contName,
+ mode="start",
+ workingdir=os.path.expanduser("~"),
+ nb_proc=1,
+ isMPI=False,
+ parallelLib="",
+ resource_params=rp)
+ return cp
+
ResourceDefinition_cpp.repr = ResourceDefinition_cpp_repr
ResourceDefinition_cpp.__repr__ = ResourceDefinition_cpp_repr
ResourcesManager_cpp.GetList = ResourcesManager_cpp_GetList