예제 #1
0
 def refresh(self):
     interval = super(BlippConfigure, self).refresh()
     
     if interval != int(self.config['properties']['configurations']['unis_poll_interval']):
         return interval
     
     # unis.get returns a list of config
     if isinstance(self.config, list):
         self.config = self.config[0]
     
     self.initial_probes = self._strip_probes(self.config)
     if self.initial_probes:
         self._post_probes()
         self.unis.put("/services/" + self.config["id"], data=self.config)
     qmeas = self.unis.get("/measurements?service=" +
                           self.config["selfRef"])
     if qmeas:
         self.measurements = qmeas
         self.measurements = get_most_recent(self.measurements)
         for m in self.measurements:
             size_orig = len(m["configuration"])
             merge_into(m["configuration"], self.probe_defaults)
             if size_orig < len(m["configuration"]):
                 
                 self.unis.put("/measurements/"+m["id"], m)
                 r = self.unis.get("/measurements/"+m["id"])
                 
                 m['ts'] = r['ts']
     else:
         ''' If measurements don't exist then create them again - i.e register them again '''
         self.measurements = get_most_recent(self.measurements)
         for m in self.measurements:
             self.unis.post("/measurements/", m)
     
     return interval
예제 #2
0
	def refresh(self):
		super(BlippConfigure, self).refresh()
		self.initial_probes = self._strip_probes(self.config)
		if self.initial_probes:
			self._post_probes()
			self.unis.put("/services/" + self.config["id"], data=self.config)
		qmeas = self.unis.get("/measurements?service=" +
							  self.config["selfRef"])
		if qmeas:
			self.measurements = qmeas
			self.measurements = get_most_recent(self.measurements)
			for m in self.measurements:
				size_orig = len(m["configuration"])
				merge_into(m["configuration"], self.probe_defaults)
				if size_orig < len(m["configuration"]):
					self.unis.put("/measurements/"+m["id"], m)
예제 #3
0
	def _strip_probes(self, initial_config):
		probes = {}
		try:
			probes = initial_config["properties"]["configurations"]["probes"]
			del initial_config["properties"]["configurations"]["probes"]
		except Exception:
			pass
		try:
			probe_defaults = initial_config["properties"]["configurations"]["probe_defaults"]
			self.probe_defaults = probe_defaults
		except Exception:
			pass

		if probes:
			for probe in probes.values():
				merge_into(probe, self.probe_defaults)
		return probes