internal override void commandImplementation() { uint sledId = 1; BladePowerReadingResponse myResponse = new BladePowerReadingResponse(); GetAllBladesPowerReadingResponse myResponses = new GetAllBladesPowerReadingResponse(); try { if (this.argVal.ContainsKey('a')) { myResponses = WcsCli2CmConnectionManager.channel.GetAllBladesPowerReading(); } else if (this.argVal.ContainsKey('i')) { dynamic mySledId = null; this.argVal.TryGetValue('i', out mySledId); sledId = (uint)mySledId; myResponse = WcsCli2CmConnectionManager.channel.GetBladePowerReading((int)mySledId); } } catch (Exception ex) { SharedFunc.ExceptionOutput(ex); return; } if ((this.argVal.ContainsKey('a') && myResponses == null) || myResponse == null) { Console.WriteLine(WcsCliConstants.serviceResponseEmpty); return; } if (this.argVal.ContainsKey('a')) { for (int index = 0; index < myResponses.bladePowerReadingCollection.Count(); index++) { if (ResponseValidation.ValidateBladeResponse(myResponses.bladePowerReadingCollection[index].bladeNumber, null, myResponses.bladePowerReadingCollection[index], false)) { Console.WriteLine(WcsCliConstants.commandSuccess + "Blade " + myResponses.bladePowerReadingCollection[index].bladeNumber + ": Power Reading: " + myResponses.bladePowerReadingCollection[index].powerReading + " Watts"); } } } else { if (ResponseValidation.ValidateBladeResponse(myResponse.bladeNumber, null, myResponse, false)) { Console.WriteLine(WcsCliConstants.commandSuccess + "Blade " + myResponse.bladeNumber + ": Power Reading: " + myResponse.powerReading + " Watts"); } } }
public TestsResultResponse GetBladePowerReadingTest() { int randomBlade = 0; bool isServer = false; int bladeIndex = 1; string failureMessage = string.Empty; Console.WriteLine("\n!!!!!!!!! Starting execution of GetBladePowerReadingTest"); //make sure you pick a server and not a JBOD while (!isServer && bladeIndex <= (byte)this.ChassisPopulation) { randomBlade = new Random().Next(1, (byte)this.ChassisPopulation); if (!this.JbodLocations.Contains(bladeIndex) && !this.EmptySlots.Contains(bladeIndex)) { isServer = true; } else { bladeIndex++; } } if (bladeIndex > (byte)this.ChassisPopulation) { failureMessage = "\n!!!Failed to find a server blade to run the test."; Console.WriteLine(failureMessage); return new TestsResultResponse(ExecutionResult.Failed, failureMessage); } BladePowerReadingResponse powerReadingresponse = new BladePowerReadingResponse(); //make sure blade is reacheable this.Channel.SetPowerOn(randomBlade); powerReadingresponse = this.Channel.GetBladePowerReading(randomBlade); if (powerReadingresponse.completionCode != CompletionCode.Success) { failureMessage = string.Format("\n!!!Request to read blade power failed for blade# {0}", randomBlade); Console.WriteLine(failureMessage); return new TestsResultResponse(ExecutionResult.Failed, failureMessage); } Console.WriteLine("\n++++++++++++++++++++++++++++++++"); failureMessage = "\n!!!!!!!!! Successfully finished execution of GetBladePowerReadingTests."; Console.WriteLine(failureMessage); return new TestsResultResponse(ExecutionResult.Passed, failureMessage); }
/// <summary> /// Get blade power reading for specified blade /// </summary> /// <param name="bladeId">Blade ID(1-48)</param> /// <returns>Blade response containing the power reading</returns> public BladePowerReadingResponse GetBladePowerReading(int bladeId) { Tracer.WriteInfo("Invoked GetBladePowerReading(bladeId: {0})", bladeId); Tracer.WriteUserLog("Invoked GetBladePowerReading(bladeId: {0})", bladeId); BladePowerReadingResponse response = new BladePowerReadingResponse(); response.bladeNumber = bladeId; response.powerReading = -1; response.completionCode = Contracts.CompletionCode.Unknown; response.statusDescription = String.Empty; Contracts.ChassisResponse varResponse = ValidateRequest("GetBladePowerReading", bladeId); if (varResponse.completionCode != Contracts.CompletionCode.Success) { response.completionCode = varResponse.completionCode; response.statusDescription = varResponse.statusDescription; return response; } List<Ipmi.PowerReading> myPowerReading = new List<Ipmi.PowerReading>(); myPowerReading = WcsBladeFacade.GetPowerReading((byte)bladeId); if (myPowerReading == null || myPowerReading.Count == 0 || myPowerReading[0].CompletionCode != 0 || myPowerReading[0].PowerSupport == false) { Tracer.WriteError("GetPowerReading:(" + bladeId + ") Error reading power "); response.completionCode = Contracts.CompletionCode.Failure; response.statusDescription = response.completionCode.ToString(); return response; } response.powerReading = myPowerReading[0].Present; response.completionCode = Contracts.CompletionCode.Success; Tracer.WriteInfo("GetPowerReading:(" + bladeId + ") Avg " + myPowerReading[0].Average + " Curr " + myPowerReading[0].Present + " Support " + myPowerReading[0].PowerSupport); return response; }
internal override void commandImplementation() { uint sledId = 1; BladePowerReadingResponse myResponse = new BladePowerReadingResponse(); GetAllBladesPowerReadingResponse myResponses = new GetAllBladesPowerReadingResponse(); try { if (this.argVal.ContainsKey('a')) { myResponses = WcsCli2CmConnectionManager.channel.GetAllBladesPowerReading(); } else if (this.argVal.ContainsKey('i')) { dynamic mySledId = null; this.argVal.TryGetValue('i', out mySledId); sledId = (uint)mySledId; myResponse = WcsCli2CmConnectionManager.channel.GetBladePowerReading((int)mySledId); } } catch (Exception ex) { SharedFunc.ExceptionOutput(ex); return; } if ((this.argVal.ContainsKey('a') && myResponses == null) || myResponse == null) { Console.WriteLine(WcsCliConstants.serviceResponseEmpty); return; } if (this.argVal.ContainsKey('a')) { for (int index = 0; index < myResponses.bladePowerReadingCollection.Count(); index++) { if (myResponses.bladePowerReadingCollection[index].completionCode == Contracts.CompletionCode.Success) { Console.WriteLine("Blade Power Reading" + myResponses.bladePowerReadingCollection[index].bladeNumber + ": " + myResponses.bladePowerReadingCollection[index].powerReading + " Watts"); } else if (myResponses.bladePowerReadingCollection[index].completionCode == Contracts.CompletionCode.Unknown) { Console.WriteLine("Blade " + myResponses.bladePowerReadingCollection[index].bladeNumber + ": " + WcsCliConstants.bladeStateUnknown); } else { // Display error if other than success/unknown Console.WriteLine("Blade Power Reading for blade " + myResponses.bladePowerReadingCollection[index].bladeNumber + " failed with completion code: " + myResponses.bladePowerReadingCollection[index].completionCode.ToString()); } } } else { if (myResponse.completionCode == Contracts.CompletionCode.Success) { Console.WriteLine("Blade Power Reading" + myResponse.bladeNumber + ": " + myResponse.powerReading + " Watts"); } else if (myResponse.completionCode == Contracts.CompletionCode.Unknown) { Console.WriteLine("Blade " + myResponse.bladeNumber + ": " + WcsCliConstants.bladeStateUnknown); } else { // Display error if other than success/unknown Console.WriteLine("Blade Power Reading " + myResponse.bladeNumber + ": " + myResponse.completionCode.ToString()); } } }