now boards receive their location
Change-Id: I9808505e7e0d80f1e4c91788ea3ec59d90e32c56
This commit is contained in:
parent
e575619368
commit
b77c12a7d6
|
@ -114,7 +114,10 @@ class ConductorEndpoint(object):
|
|||
prov.conf_registration_agent(self.ragent.wsurl)
|
||||
|
||||
prov.conf_main_agent(agent.wsurl)
|
||||
loc = objects.Location.list_by_board_uuid(ctx, board.uuid)[0]
|
||||
prov.conf_location(loc)
|
||||
board.config = prov.get_config()
|
||||
|
||||
board.status = states.OFFLINE
|
||||
board.save()
|
||||
|
||||
|
|
|
@ -75,3 +75,8 @@ class Provisioner(object):
|
|||
if 'board' not in self.config['iotronic']:
|
||||
self.config['iotronic']['board'] = {}
|
||||
self.config['iotronic']['board']['token'] = "<REGISTRATION-TOKEN>"
|
||||
|
||||
def conf_location(self, location):
|
||||
if "location" not in self.config['iotronic']['board']:
|
||||
self.config['iotronic']['board']['location'] = {}
|
||||
self.config['iotronic']['board']['location'] = location.get_geo()
|
||||
|
|
|
@ -59,6 +59,23 @@ class Location(base.IotronicObject):
|
|||
location = Location._from_db_object(cls(context), db_location)
|
||||
return location
|
||||
|
||||
def get_geo(self):
|
||||
|
||||
updated = self._attr_to_primitive('updated_at')
|
||||
created = self._attr_to_primitive('created_at')
|
||||
|
||||
geo = {
|
||||
'longitude': self.longitude,
|
||||
'latitude': self.latitude,
|
||||
'altitude': self.altitude,
|
||||
}
|
||||
if updated is None:
|
||||
geo['updated_at'] = created
|
||||
else:
|
||||
geo['updated_at'] = updated
|
||||
|
||||
return geo
|
||||
|
||||
# @base.remotable_classmethod
|
||||
# def get(cls, context, location_id):
|
||||
# """Find a location based on its id or uuid and return
|
||||
|
@ -214,7 +231,8 @@ class Location(base.IotronicObject):
|
|||
# A context should be set when instantiating the
|
||||
# object, e.g.: Location(context)
|
||||
# """
|
||||
# current = self.__class__.get_by_uuid(self._context, uuid=self.uuid)
|
||||
# current = self.__class__.get_by_uuid(self._context,
|
||||
# uuid=self.uuid)
|
||||
# for field in self.fields:
|
||||
# if (hasattr(
|
||||
# self, base.get_attrname(field))
|
||||
|
|
Loading…
Reference in New Issue