Example #1
0
def order_edit(billing_driver):
    data = KubeUtils._get_params()
    data['pod'] = json.dumps(data['pod'])
    data['referer'] = data['referer'] if 'referer' in data else ''
    response = billing_driver.orderpodedit(**data)
    if isinstance(response, basestring):
        raise BillingExc.InternalBillingError(details={'message': response})
    if response.get('result') == 'error':
        raise APIError(response.get('message'))
    return response
Example #2
0
def order_app(billing_driver, template_id, plan_id):
    data = KubeUtils._get_params()
    app = PredefinedApp.get(template_id)

    start_pod_from_yaml(app.get_filled_template_for_plan(plan_id, data),
                        dry_run=True)

    filled = app.get_filled_template_for_plan(plan_id, data, as_yaml=True)
    pkgid = app._get_package().id

    return billing_driver.orderapp(pkgid=pkgid,
                                   yaml=filled,
                                   referer=request.referrer)
Example #3
0
def switch_app_package(billing_driver, pod_id, plan_id):
    owner = KubeUtils.get_current_user()

    transaction = db.session.begin_nested()
    with atomic():
        old_pod = PodCollection(owner).get(pod_id, as_json=True)
        AppInstance(pod_id).update_plan(plan_id, async=False, dry_run=True)
        pod = PodCollection(owner).get(pod_id, as_json=True)
    transaction.rollback()

    data = KubeUtils._get_params()
    data['pod'] = pod
    data['oldPod'] = old_pod
    data['referer'] = data.get('referer') or ''
    return billing_driver.orderswitchapppackage(**data)
Example #4
0
def order_product(billing_driver):
    data = KubeUtils._get_params()
    if data.get('pod'):
        data['referer'] = data['referer'] if 'referer' in data else ''
        return billing_driver.orderpod(**data)
    return billing_driver.orderproduct(**data)
Example #5
0
def get_billing_info(billing_driver):
    data = KubeUtils._get_params()
    if billing_driver is None:
        return no_billing_data()
    return billing_driver.getkuberdockinfo(**data)
Example #6
0
def order_kubes(billing_driver):
    data = KubeUtils._get_params()
    data['referer'] = data['referer'] if 'referer' in data else ''
    return billing_driver.orderkubes(**data)