示例#1
0
文件: deploy.py 项目: tonicbupt/ainur
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)
示例#2
0
文件: lb.py 项目: tonicbupt/ainur
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)