We have a installation which was vShere 4.1 and SRM 4.1.
We installed Usage Meter 2.3.0 and it worked OK (No SRM info as SRM 4.x not supported).
We upgraded to vSphere 5 and SRM 5 and added the two SRM servers to the Usage meter but it refuses to collect the SRM data.
Normal data on VMs is collected OK and it will produce manual reports fine but the automatic reports it sends out are blank.
I have just updated to usage meter 2.3.2 Build 692054 to see if that cures things.
Will need to wait 'till tomorrow to see what the Automatic Reports send but SRM is still no-go
the um.log for a SRM collection shows:
2012-07-26 13:13:36,292 ERROR [SRM collection] srm.SrmCollector$: An SRM collection from srmserver1.domain.local, begun at 2012-07-26 13:13:34, failed at 2012-07-26 13:13:36.
AxisFault
faultCode: ServerFaultCode
faultSubcode:
faultString: The operation is not supported on the object.
faultActor:
faultNode:
faultDetail:
{urn:srm0}NotSupportedFault:null
The operation is not supported on the object.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:104)
at org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:90)
at com.vmware.srm.NotSupported.getDeserializer(NotSupported.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)
at org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)
at org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)
at org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)
at org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at com.vmware.srm.SrmBindingStub.listAssociatedVms(SrmBindingStub.java:22202)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$.findProtectedVms$1(SrmCollector.scala:82)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$$anonfun$5.apply(SrmCollector.scala:88)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$$anonfun$5.apply(SrmCollector.scala:88)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:200)
at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:34)
at scala.collection.mutable.ArrayOps.foreach(ArrayOps.scala:38)
at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:200)
at scala.collection.mutable.ArrayOps.flatMap(ArrayOps.scala:38)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$.findProtectedVms(SrmCollector.scala:88)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$$anonfun$processVmsForServer$1.apply$mcV$sp(SrmCollector.scala:46)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$$anonfun$processVmsForServer$1.apply(SrmCollector.scala:37)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$$anonfun$processVmsForServer$1.apply(SrmCollector.scala:37)
at org.squeryl.dsl.QueryDsl$class.inTransaction(QueryDsl.scala:102)
at org.squeryl.PrimitiveTypeMode$.inTransaction(PrimitiveTypeMode.scala:40)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$.processVmsForServer(SrmCollector.scala:37)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$$anonfun$collectAll$1$$anonfun$apply$mcV$sp$1.apply(SrmCollector.scala:29)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$$anonfun$collectAll$1$$anonfun$apply$mcV$sp$1.apply(SrmCollector.scala:28)
at scala.collection.immutable.Stream.foreach(Stream.scala:291)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$$anonfun$collectAll$1.apply$mcV$sp(SrmCollector.scala:28)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$$anonfun$collectAll$1.apply(SrmCollector.scala:28)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$$anonfun$collectAll$1.apply(SrmCollector.scala:28)
at org.squeryl.dsl.QueryDsl$class._using(QueryDsl.scala:46)
at org.squeryl.dsl.QueryDsl$class._executeTransactionWithin(QueryDsl.scala:114)
at org.squeryl.dsl.QueryDsl$class.transaction(QueryDsl.scala:78)
at org.squeryl.PrimitiveTypeMode$.transaction(PrimitiveTypeMode.scala:40)
at com.vmware.cloud.usgmtr.collect.srm.SrmCollector$.collectAll(SrmCollector.scala:27)
at com.vmware.cloud.usgmtr.collect.CommonCollector$$anon$1.run(CommonCollector.scala:70)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
2012-07-26 13:13:36,309 INFO [SRM collection] srm.SrmCollector$: Done
I tried removing the two SRM servers and re-adding them but if I check the "test before saving" I get a pop-up windows saying "null" and it does not save. I can save them without testing but I assume that is the problem above (I did not add the SRMs originally).
Any pointers welcome.