I have installed an openstack havana on ubuntu 12.04 using the cloudarchive repository.
dpkg -l cinder-scheduler
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-=====================================================-=====================================================-==========================================================================================================================
ii cinder-scheduler 1:2013.2-0ubuntu1~cloud0 Cinder storage service - Scheduler server
And if edit /usr/share/pyshared/cinder/scheduler/host_manager.py I see this:
def get_all_host_states(self, context):
"""Returns a dict of all the hosts the HostManager
knows about. Also, each of the consumable resources in HostState
are pre-populated and adjusted based on data in the db.
For example: {'192.168.1.100': HostState(), ...}
"""
# Get resource usage across the available volume nodes:
topic = CONF.volume_topic volume_services = db.service_get_all_by_topic(context, topic) self.host_state_map.clear()
for service in volume_services:
host = service['host']
if not utils.service_is_up(service) or service['disabled']: LOG.warn(_("volume service is down or disabled. " "(host: %s)") % host) continue capabilities = self.service_states.get(host, None) host_state = self.host_state_map.get(host)
if host_state:
# copy capabilities to host_state.capabilities host_state.update_capabilities(capabilities, dict(service.iteritems()))
else: host_state = self.host_state_cls(host, capabilities=capabilities, service= dict(service.iteritems())) self.host_state_map[host] = host_state
# update host_state host_state.update_from_volume_capability(capabilities)
return self.host_state_map.itervalues()
It seams like the code that solves the problem has not been added.
Hi,
I have installed an openstack havana on ubuntu 12.04 using the cloudarchive repository. Unknown/ Install/ Remove/ Purge/Hold Not/Inst/ Conf-files/ Unpacked/ halF-conf/ Half-inst/ trig-aWait/ Trig-pend /Reinst- required (Status,Err: uppercase=bad) ======= ======= ======= ======= ======= ======= ======= =-===== ======= ======= ======= ======= ======= ======= ======- ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= === 2-0ubuntu1~ cloud0 Cinder storage service - Scheduler server
dpkg -l cinder-scheduler
Desired=
| Status=
|/ Err?=(none)
||/ Name Version Description
+++-===
ii cinder-scheduler 1:2013.
And if edit /usr/share/ pyshared/ cinder/ scheduler/ host_manager. py I see this:
def get_all_ host_states( self, context):
"""Returns a dict of all the hosts the HostManager
knows about. Also, each of the consumable resources in HostState
are pre-populated and adjusted based on data in the db.
For example:
{'192. 168.1.100' : HostState(), ...}
"""
# Get resource usage across the available volume nodes:
volume_ services = db.service_ get_all_ by_topic( context, topic)
self.host_ state_map. clear() is_up(service) or service[ 'disabled' ]:
LOG.warn( _("volume service is down or disabled. "
" (host: %s)") % host)
continue
capabiliti es = self.service_ states. get(host, None)
host_ state = self.host_ state_map. get(host) capabilities
host_ state.update_ capabilities( capabilities,
dict( service. iteritems( )))
host_ state = self.host_ state_cls( host,
capabilities= capabilities,
service=
dict(service. iteritems( )))
self. host_state_ map[host] = host_state
host_ state.update_ from_volume_ capability( capabilities)
topic = CONF.volume_topic
for service in volume_services:
host = service['host']
if not utils.service_
if host_state:
# copy capabilities to host_state.
else:
# update host_state
return self.host_ state_map. itervalues( )
It seams like the code that solves the problem has not been added.
Regards,
Gabriel