def update_blob(body_dict): date_format = '%Y-%m-%d %H:%M:%S.%f' b0 = datetime.strptime(body_dict["upload_date"], date_format) b1 = datetime.strptime(body_dict["file_last_update"], date_format) b=db_session.query(Blob).get(body_dict["file_id"]) if b == None: b = Blob(b0, b1, b1) db_session.add(b) db_session.commit() b.id = body_dict["file_id"] b.upload_date = b0 b.last_change = b1 b.last_sync = b1 db_session.commit() else: date_format = '%Y-%m-%d %H:%M:%S.%f' b.upload_date = b0 b.last_change = b1 b.last_sync = b1 db_session.commit() data = {"message_id":body_dict["message_id"], "type":body_dict["type"], "node_id":body_dict["node_id"], "node_ip":body_dict["node_ip"], "node_port":body_dict["node_port"], "file_id":body_dict["file_id"], "upload_date":body_dict["upload_date"], "file_last_update":body_dict["file_last_update"], "file_last_sync":body_dict["file_last_update"]} emit_manager(json.dumps(data))
def add_blob(body_dict): date_format = '%Y-%m-%d %H:%M:%S.%f' b0 = datetime.strptime(body_dict["upload_date"], date_format) b1 = datetime.strptime(body_dict["file_last_update"], date_format) b=db_session.query(Blob).get(body_dict["file_id"]) if b == None: print "Blob did not exist" b = Blob(b0, b1, b1) db_session.add(b) db_session.commit() b.id = body_dict["file_id"] b.upload_date = b0 b.last_change = b1 b.last_sync = b1 db_session.commit() print "add_blob" bs=db_session.query(Blob).order_by(Blob.id) for b_ in bs: print "blob: ",b_.id data = {"message_id":body_dict["message_id"], "type":body_dict["type"], "node_id":body_dict["node_id"], "node_ip":body_dict["node_ip"], "node_port":body_dict["node_port"], "file_id":body_dict["file_id"], "upload_date":body_dict["upload_date"], "file_last_update":body_dict["file_last_update"], "file_last_sync":body_dict["file_last_update"]} emit_manager(json.dumps(data))
def update_blob(body_dict): date_format = '%Y-%m-%d %H:%M:%S.%f' b0 = datetime.strptime(body_dict["upload_date"], date_format) b1 = datetime.strptime(body_dict["file_last_update"], date_format) b = db_session.query(Blob).get(body_dict["file_id"]) if b == None: b = Blob(b0, b1, b1) db_session.add(b) db_session.commit() b.id = body_dict["file_id"] b.upload_date = b0 b.last_change = b1 b.last_sync = b1 db_session.commit() else: date_format = '%Y-%m-%d %H:%M:%S.%f' b.upload_date = b0 b.last_change = b1 b.last_sync = b1 db_session.commit() data = { "message_id": body_dict["message_id"], "type": body_dict["type"], "node_id": body_dict["node_id"], "node_ip": body_dict["node_ip"], "node_port": body_dict["node_port"], "file_id": body_dict["file_id"], "upload_date": body_dict["upload_date"], "file_last_update": body_dict["file_last_update"], "file_last_sync": body_dict["file_last_update"] } emit_manager(json.dumps(data))
def add_blob(body_dict): date_format = '%Y-%m-%d %H:%M:%S.%f' b0 = datetime.strptime(body_dict["upload_date"], date_format) b1 = datetime.strptime(body_dict["file_last_update"], date_format) b = db_session.query(Blob).get(body_dict["file_id"]) if b == None: print "Blob did not exist" b = Blob(b0, b1, b1) db_session.add(b) db_session.commit() b.id = body_dict["file_id"] b.upload_date = b0 b.last_change = b1 b.last_sync = b1 db_session.commit() print "add_blob" bs = db_session.query(Blob).order_by(Blob.id) for b_ in bs: print "blob: ", b_.id data = { "message_id": body_dict["message_id"], "type": body_dict["type"], "node_id": body_dict["node_id"], "node_ip": body_dict["node_ip"], "node_port": body_dict["node_port"], "file_id": body_dict["file_id"], "upload_date": body_dict["upload_date"], "file_last_update": body_dict["file_last_update"], "file_last_sync": body_dict["file_last_update"] } emit_manager(json.dumps(data))
def machines(): if request.method == 'GET': r = requests.get(r'http://jsonip.com') ip= r.json()['ip'] vms=db_session.query(VM).order_by(VM.id) return render_template('show_vms.html', vms=vms) elif request.method == 'POST': instance = (str(add_instance()).split(":"))[1] #instance = str(add_instance()) print "instance: ", instance ip = get_floating() assign_floating(instance, ip) vm = VM(ip, instance) db_session.add(vm) db_session.commit() flash('Instance created @',ip) return redirect(url_for('machines'))
def manager(): #data = {"message_id":(uuid.uuid4().int & (1<<63)-1), #"type":"STATUS", #"node_id":0} #rabbitmq.emit_manager(json.dumps(data)) if request.method == 'GET': r = requests.get(r'http://jsonip.com') ip= r.json()['ip'] #vms = [("publicvagrant",ip),("localvagrant","10.10.10.15")] vms = [ip, "10.10.10.15"] vms_db = db_session.query(VM).order_by(VM.id) for vm in vms_db: vms.append(vm.ip) #vms = vms+[(vm.instance, vm.ip)] print vms return render_template('show_nodes.html', nodes=db_session.query(Node).order_by(Node.id), blobs=db_session.query(Blob).order_by(Blob.id), vms=vms) elif request.method == 'POST': r = requests.get(r'http://jsonip.com') my_ip= r.json()['ip'] my_ip2 = "10.10.10.15" ip = request.form['vms'] port = request.form['port'] if is_valid_port(port): n = Node(ip,port) db_session.add(n) db_session.commit() if ip==my_ip or ip==my_ip2: n.process_id = run_server_on_container("websync", port, ip, n.id) print "Processid: ", n.process_id db_session.commit() flash('Node created.') else: n.process_id = run_server_on_openstack("websync", port, ip, n.id) print "Processid: ", n.process_id db_session.commit() flash('Node created.') return redirect(url_for('manager'))