def get(self): key = '/paas/application_controllers' items = [] try: value = etcd_client.read(key) for sub_item in value._children: key = sub_item['key'] value = etcd_client.read(key).value items.append(json.loads(value)) except: pass reply = {'kind': 'ApplicationControllerList', 'items': items} response = flask.make_response(json.dumps(reply)) return response
def get(self, name): key = '/paas/application_controllers/{}'.format(name) try: value = etcd_client.read(key).value response = flask.make_response(json.dumps(json.loads(value))) except etcd.EtcdKeyNotFound, e: response = flask.make_response(json.dumps({'kind': 'Status', 'code': 404}))
def put(self, name): template = request.get_json() if not _is_template_valid(template): response = flask.make_response(json.dumps({'kind': 'Status', 'code': 400})) return response key = '/paas/application_controllers/{}'.format(name) try: value = etcd_client.read(key).value except etcd.EtcdKeyNotFound, e: response = flask.make_response(json.dumps({'kind': 'Status', 'code': 404})) return response
self.mem_limit = self.get_mem_from_str(mem_limit_str) self.max_mem_limit = self.get_mem_from_str(mem_limit_str) except Exception, e: LOG.info(e) try: mem_request_str = self.json_data['spec']['containers'][0][ 'resources']['requests']['memory'] self.mem_request = self.get_mem_from_str(mem_request_str) except Exception, e: LOG.info(e) try: key = '/paas/applications/{}/pods/{}'.format( self.namespace, self.name) result = etcd_client.read(key).value tmp_json = json.loads(result) if int(time.time()) - tmp_json['timestamp'] <= 60: self.mem_usage = tmp_json['stats']['memory'][ 'usage'] / 1024 / 1024 self.cpu_percentage = tmp_json['stats']['cpu'][ 'cpu_percentage'] if self.cpu_percentage is None: self.cpu_percentage = -1.0 else: LOG.warning('The record <{}>\'s timestamp <{}> is old'.format( key, tmp_json['timestamp'])) except Exception, e: LOG.error(e) self.__get_reason()