def ostack_discover_task(cluster_id): db = get_db() cluster_doc = db['clusters'].find_one({'_id': ObjectId(cluster_id)}) if not cluster_doc: logger.error('Cluster with ID=%s was not found' % cluster_id) return cluster = Cluster.from_doc(cluster_doc) logger.info('Starting OpenStack discovery for cluster "%s" (id=%s)' % (cluster.name, cluster.id)) discovery = OpenstackDiscovery() openstack = None try: openstack = discovery.discover(cluster.nodes, cluster.private_key) except Exception: message = traceback.format_exc() logger.error(message) logger.info('Finished OpenStack discovery for cluster "%s" (id=%s)' % (cluster.name, cluster.id)) cluster.data = openstack_for_json(openstack) db['clusters'].save(cluster.as_doc())
def ostack_discover_task(cluster_id): db = get_db() cluster_doc = db['clusters'].find_one({'_id': ObjectId(cluster_id)}) if not cluster_doc: logger.error('Cluster with ID=%s was not found' % cluster_id) return cluster = Cluster.from_doc(cluster_doc) logger.info('Starting OpenStack discovery for cluster "%s" (id=%s)' % (cluster.name, cluster.id)) discovery = OpenstackDiscovery() openstack = None try: openstack = discovery.discover(cluster.nodes, cluster.private_key) except: message = traceback.format_exc() logger.error(message) logger.info('Finished OpenStack discovery for cluster "%s" (id=%s)' % (cluster.name, cluster.id)) cluster.data = openstack_for_json(openstack) db['clusters'].save(cluster.as_doc())
def get_cluster(cluster_id): cluster_doc = get_db()['clusters'].find_one({'_id': ObjectId(cluster_id)}) if not cluster_doc: return json.dumps({'errors': {'cluster_id': 'Cluster not found'}}), 404 cluster = Cluster.from_doc(cluster_doc) return json.dumps(cluster.for_json()), 200
def launch_validation(): form = ValidateClusterForm() if form.validate_on_submit(): db = get_db() cluster_doc = db['clusters'].find_one({ '_id': ObjectId(form.cluster_id.data)}) if not cluster_doc: return json.dumps({'errors': { 'cluster_id': 'Cluster not found'}}), 404 cluster = Cluster.from_doc(cluster_doc) request = InspectionRequest( cluster.nodes, username='******', private_key=cluster.private_key) job = ostack_inspect_task.delay(request) return json.dumps({'id': job.id}), 202 else: return json.dumps(dict(errors=form.errors)), 422
def launch_validation(): form = ValidateClusterForm() if form.validate_on_submit(): db = get_db() cluster_doc = db['clusters'].find_one( {'_id': ObjectId(form.cluster_id.data)}) if not cluster_doc: return json.dumps({'errors': { 'cluster_id': 'Cluster not found' }}), 404 cluster = Cluster.from_doc(cluster_doc) request = InspectionRequest(cluster.nodes, username='******', private_key=cluster.private_key) job = ostack_inspect_task.delay(request) return json.dumps({'id': job.id}), 202 else: return json.dumps(dict(errors=form.errors)), 422
def get_clusters(): db = get_db() return json.dumps([Cluster.from_doc(doc) for doc in db['clusters'].find()])