use of com.emc.storageos.model.compute.ComputeSystemRestRep in project coprhd-controller by CoprHD.
the class ComputeSystemServiceApiTest method deactivateComputeSystem.
private Boolean deactivateComputeSystem(ComputeSystemRestRep cs) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException, InterruptedException {
if (cs == null) {
System.out.println("Unable to run the test as there's no Compute System to run the test against");
return false;
}
System.out.println("De-activating compute element: " + BeanUtils.describe(cs));
TaskResourceRep deactivateTask = rSys.path(COMPUTE_SYSTEM_RESOURCE + "/" + cs.getId() + DEACTIVATE_RELATIVE_PATH).post(TaskResourceRep.class);
System.out.println("Waiting for compute element deactivation: ");
Thread.sleep(60000 / 8);
cs = rSys.path(COMPUTE_SYSTEM_RESOURCE + "/" + cs.getId()).get(ComputeSystemRestRep.class);
if (cs.getInactive().booleanValue() == false) {
return false;
}
System.out.println("Compute System should be deleted from the system! Safe to run the test over...");
return true;
}
use of com.emc.storageos.model.compute.ComputeSystemRestRep in project coprhd-controller by CoprHD.
the class HostService method findComputeElementsMatchingVarrayAndCVP.
/*
* Returns a map of compute system URI to compute elements available on that compute system
*/
private Map<URI, List<URI>> findComputeElementsMatchingVarrayAndCVP(ComputeVirtualPool cvp, VirtualArray varray) {
Map<URI, List<URI>> computeSystemToComputeElementsMap = new HashMap<URI, List<URI>>();
_log.debug("Look up compute elements for cvp " + cvp.getId());
List<String> cvpCEList = new ArrayList<String>();
if (cvp.getMatchedComputeElements() != null) {
Iterator<String> iter = cvp.getMatchedComputeElements().iterator();
while (iter.hasNext()) {
String uriStr = iter.next();
cvpCEList.add(uriStr);
}
}
// Find all SPTs assigned for this CVP and their corresponding ComputeSystems
Map<URI, URI> cvpTemplatesMap = new HashMap<URI, URI>();
if (cvp.getServiceProfileTemplates() != null) {
for (String templateIdString : cvp.getServiceProfileTemplates()) {
URI templateId = URI.create(templateIdString);
UCSServiceProfileTemplate template = _dbClient.queryObject(UCSServiceProfileTemplate.class, templateId);
if (template.getUpdating() == true) {
if (!computeSystemService.isUpdatingSPTValid(template, _dbClient)) {
throw APIException.badRequests.invalidUpdatingSPT(template.getLabel());
}
StringSet varrayIds = new StringSet();
varrayIds.add(varray.getId().toString());
if (!computeSystemService.isServiceProfileTemplateValidForVarrays(varrayIds, templateId)) {
throw APIException.badRequests.incompatibleSPT(template.getLabel(), varray.getLabel());
}
}
cvpTemplatesMap.put(template.getComputeSystem(), templateId);
}
}
_log.debug("Look up compute systems for virtual array " + varray.getId());
ComputeSystemBulkRep computeSystemBulkRep = virtualArrayService.getComputeSystems(varray.getId());
if (computeSystemBulkRep.getComputeSystems() != null) {
for (ComputeSystemRestRep computeSystemRestRep : computeSystemBulkRep.getComputeSystems()) {
_log.debug("Found compute system " + computeSystemRestRep.getId() + " for virtual array " + varray.getId());
if (!cvpTemplatesMap.containsKey(computeSystemRestRep.getId())) {
_log.info("The CVP has no service profile templates assigned from compute system " + computeSystemRestRep.getName() + ". So no blades will be used from this compute system.");
continue;
}
ComputeElementListRestRep computeElementListRestRep = computeSystemService.getComputeElements(computeSystemRestRep.getId());
if (computeElementListRestRep.getList() != null) {
List<URI> computeElementList = new ArrayList<URI>();
for (ComputeElementRestRep computeElementRestRep : computeElementListRestRep.getList()) {
_log.debug("Compute system contains compute element " + computeElementRestRep.getId());
for (String computeElement : cvpCEList) {
if (computeElement.equals(computeElementRestRep.getId().toString())) {
if (computeElementRestRep.getAvailable() && computeElementRestRep.getRegistrationStatus().equals(RegistrationStatus.REGISTERED.name())) {
computeElementList.add(computeElementRestRep.getId());
_log.debug("Added compute element " + computeElementRestRep.getId());
} else {
_log.debug("found unavailable compute element" + computeElementRestRep.getId());
}
}
}
}
computeSystemToComputeElementsMap.put(computeSystemRestRep.getId(), computeElementList);
}
}
} else {
throw APIException.badRequests.noComputeSystemsFoundForVarray();
}
return computeSystemToComputeElementsMap;
}
use of com.emc.storageos.model.compute.ComputeSystemRestRep in project coprhd-controller by CoprHD.
the class ComputeVirtualPoolService method findComputeElementsFromDeviceAssociations.
private List<URI> findComputeElementsFromDeviceAssociations(ComputeVirtualPool computeVirtualPool) {
// Get CEs from associated varrays
List<URI> ceList = new ArrayList<URI>();
if (computeVirtualPool.getVirtualArrays() != null) {
for (String virtualArrayId : computeVirtualPool.getVirtualArrays()) {
URI virtualArrayURI = URI.create(virtualArrayId);
ArgValidator.checkUri(virtualArrayURI);
this.queryObject(VirtualArray.class, virtualArrayURI, true);
_log.debug("Look up compute systems for virtual array " + virtualArrayURI);
ComputeSystemBulkRep computeSystemBulkRep = virtualArrayService.getComputeSystems(virtualArrayURI);
if (computeSystemBulkRep.getComputeSystems() != null) {
for (ComputeSystemRestRep computeSystemRestRep : computeSystemBulkRep.getComputeSystems()) {
_log.debug("Found compute system " + computeSystemRestRep.getId() + " for virtual array " + virtualArrayURI);
ComputeElementListRestRep computeElementListRestRep = computeSystemService.getComputeElements(computeSystemRestRep.getId());
if (computeElementListRestRep.getList() != null) {
for (ComputeElementRestRep computeElementRestRep : computeElementListRestRep.getList()) {
_log.debug("Compute system contains compute element " + computeElementRestRep.getId());
ceList.add(computeElementRestRep.getId());
}
}
}
}
}
}
return ceList;
}
use of com.emc.storageos.model.compute.ComputeSystemRestRep in project coprhd-controller by CoprHD.
the class ComputeSystems method edit.
public static void edit(String id) {
try {
addReferenceData();
ComputeSystemRestRep computeSystem = ComputeSystemUtils.getComputeSystem(id);
if (computeSystem != null) {
if (computeSystem.getVlans() != null) {
List<StringOption> vlanOptions = new ArrayList<StringOption>();
vlanOptions.add(VlanListTypes.option(VlanListTypes.NO_OSINSTALL_NONE));
List<String> vlanList = new ArrayList<String>(Arrays.asList(computeSystem.getVlans().split(",")));
for (String vlan : vlanList) {
vlanOptions.add(VlanListTypes.option(vlan));
}
renderArgs.put("computeSystemVlanList", vlanOptions);
}
List<StringOption> computeImageServerOptions = new ArrayList<StringOption>();
computeImageServerOptions.add(ComputeImageServerListTypes.option(ComputeImageServerListTypes.NO_COMPUTE_IMAGE_SERVER_NONE));
List<ComputeImageServerRestRep> computeImageServersList = ComputeImageServerUtils.getComputeImageServers();
if (computeImageServersList != null) {
List<String> computeImageServersArrayList = new ArrayList<String>();
for (ComputeImageServerRestRep cisrr : computeImageServersList) {
if (cisrr.getComputeImageServerStatus().equalsIgnoreCase(AVAILABLE)) {
computeImageServersArrayList.add(cisrr.getName());
}
}
for (String imageServerId : computeImageServersArrayList) {
computeImageServerOptions.add(ComputeImageServerListTypes.option(imageServerId));
}
renderArgs.put("availableComputeImageServersList", computeImageServerOptions);
}
ComputeSystemForm computeSystems = new ComputeSystemForm(computeSystem);
render("@edit", computeSystems);
} else {
flash.error(MessagesUtils.get(UNKNOWN, id));
list();
}
} catch (Exception e) {
flashException(e);
list();
}
}
use of com.emc.storageos.model.compute.ComputeSystemRestRep in project coprhd-controller by CoprHD.
the class ComputeSystems method listElements.
public static void listElements(String computeSystemId) {
ComputeSystemRestRep computeSystem = ComputeSystemUtils.getComputeSystem(computeSystemId);
ComputeSystemElementDataTable dataTable = new ComputeSystemElementDataTable();
render("@listElements", computeSystem, dataTable);
}
Aggregations