vSphere データストアの統計を取得しようとしています。
ホストの統計を取得できますが、データストアで失敗します:
from pysphere import VIServer
server = VIServer()
server.connect(HOST, USER, PASSWORD)
pm = server.get_performance_manager()
# querying hosts - works:
entities = server.get_hosts() # returns {entity: name}
counters = pm.get_entity_counters(entities.keys()[0]) # returns {name: id}
statistics = pm.get_entity_statistic(entities.keys()[0], counters.values()[:1])
# querying datastores - doesn't work:
entities = server.get_datastores() # returns {entity: name}
counters = pm.get_entity_counters(entities.keys()[0]) # returns {name: id}
statistics = pm.get_entity_statistic(entities.keys()[0], counters.values()[:1])
最後の行で次のエラーが発生します。
AttributeError Traceback (most recent call last)
<ipython-input-122-dbbb39ef8a75> in <module>()
----> 1 statistics = pm.get_entity_statistic(entities.keys()[0], counters.values()[:1])
.../python2.7/site-packages/pysphere/vi_performance_manager.pyc in get_entity_statistic(self, entity, counters, interval, composite)
183
184 instance_name = str(stat.Id.Instance)
--> 185 stat_value = str(stat.Value[0])
186 date_now = datetime.datetime.utcnow()
187 statistics.append(EntityStatistics(entity, stat.Id.CounterId, cname,
.../python2.7/site-packages/pysphere/ZSI/generate/pyclass.pyc in get(self)
146 if not callable(what):
147 def get(self):
--> 148 return getattr(self, what.aname)
149
150 if what.maxOccurs > 1:
AttributeError: 'DynamicData_Holder' object has no attribute '_value'
pysphere リポジトリは約 3 年間非アクティブになっているようで、これを除いて、この特定の問題に言及しているディスカッションを見つけることができませんでした: https://groups.google.com/forum/#!topic/pysphere/LQaF661msoQ
残念ながら、このソリューションは必要な統計をカバーしていませんが、現時点の単純な統計のみをカバーしています。
同様のエラーが報告されていることもわかりましたが、私が理解している限り、実際には対処されていませんでした: https://github.com/itnihao/pysphere/issues/60
どんな助けでも大歓迎です。