def deploy_container_api(): form = request.form project = form['project'] if project == APPNAME_ERU_LB: raise ValueError('Unable to deploy eru-lb, do it on load balance page') p = Project.get_by_name(project) if not p.is_accessible(g.user): return {'reason': '你没有操作这个项目的权限'}, 403 version = form['version'] eru.deploy_private( group_name=g.user.group, pod_name=form['pod'], app_name=project, ncore=form.get('ncore', type=float), ncontainer=form.get('ncontainer', type=int), version=version, entrypoint=form['entrypoint'], env=form['env'], network_ids=form.getlist('network'), host_name=form.get('host'), args=form['extendargs'].split(' '), ) log = OPLog.create(g.user.id, OPLOG_ACTION.create_container) log.project_name = project log.image = '%s:%s' % (project, version)
def deploy_container(group, pod, entrypoint, version, env, host, ncore): r = eru.deploy_private( group_name=group, pod_name=pod, app_name=APPNAME_ERU_LB, ncore=ncore, ncontainer=1, version=version, entrypoint=entrypoint, env=env, network_ids=[], host_name=host, ) try: task_id = r['tasks'][0] logging.info('Task created: %s', task_id) except LookupError: raise ValueError('eru fail to create a task ' + str(r)) return poll_task_for_container_id(task_id)