def setup_db(): """Initialize db tables make sure database and user correctly created in mysql in case upgrade the table structure, the origin table need be dropped firstly """ Base.metadata.create_all(bind=engine) # init REQUIRED db data. # reserved user res_u = db_adapter.get_object(User, ReservedUser.DefaultUserID) if res_u is None: db_adapter.add_object_kwargs(User, id=ReservedUser.DefaultUserID, create_time=get_now()) # default super admin if db_adapter.get_object(User, ReservedUser.DefaultSuperAdmin) is None: db_adapter.add_object_kwargs(User, id=ReservedUser.DefaultSuperAdmin, name="admin", nickname="admin", password="******") # default admin privilege if db_adapter.find_first_object_by(AdminHackathonRel, user_id=ReservedUser.DefaultSuperAdmin, hackathon_id=-1) is None: db_adapter.add_object_kwargs(AdminHackathonRel, user_id=ReservedUser.DefaultSuperAdmin, hackathon_id=-1, role_type=ADMIN_ROLE_TYPE.ADMIN)
def setup_db(): """Initialize db tables make sure database and user correctly created in mysql in case upgrade the table structure, the origin table need be dropped firstly """ Base.metadata.create_all(bind=engine) # init REQUIRED db data. # reserved user res_u = db_adapter.get_object(User, ReservedUser.DefaultUserID) if res_u is None: db_adapter.add_object_kwargs(User, id=ReservedUser.DefaultUserID, create_time=get_now()) # default super admin if db_adapter.get_object(User, ReservedUser.DefaultSuperAdmin) is None: db_adapter.add_object_kwargs( User, id=ReservedUser.DefaultSuperAdmin, name="admin", nickname="admin", password="******") # default admin privilege if db_adapter.find_first_object_by(AdminHackathonRel, user_id=ReservedUser.DefaultSuperAdmin, hackathon_id=-1) is None: db_adapter.add_object_kwargs(AdminHackathonRel, user_id=ReservedUser.DefaultSuperAdmin, hackathon_id=-1, role_type=ADMIN_ROLE_TYPE.ADMIN)
def check_experiment_done(experiment_id, need_status): e = db_adapter.get_object(Experiment, experiment_id) need_ve_status = VEStatus.RUNNING if need_status == EStatus.STOPPED: need_ve_status = VEStatus.STOPPED if db_adapter.count_by( VirtualEnvironment, experiment_id=experiment_id, status=need_ve_status) == e.template.virtual_environment_count: update_experiment_status(experiment_id, need_status)
def check_experiment_done(experiment_id, need_status): e = db_adapter.get_object(Experiment, experiment_id) need_ve_status = VEStatus.RUNNING if need_status == EStatus.STOPPED: need_ve_status = VEStatus.STOPPED if db_adapter.count_by(VirtualEnvironment, experiment_id=experiment_id, status=need_ve_status) == e.template.virtual_environment_count: update_experiment_status(experiment_id, need_status)
def update_experiment_status(experiment_id, status): e = db_adapter.get_object(Experiment, experiment_id) e.status = status db_adapter.commit()
def set_template_virtual_environment_count(experiment_id, count): e = db_adapter.get_object(Experiment, experiment_id) t = db_adapter.get_object(Template, e.template_id) t.virtual_environment_count = count db_adapter.commit()
def load_template_from_experiment(experiment_id): e = db_adapter.get_object(Experiment, experiment_id) t = db_adapter.get_object(Template, e.template_id) return load_template(t.url)