def test_create_application(self):
        client = Communicator()
        data = {"username": "******", "password": "******"}
        client.login(data)

        data = {
            "image": 1,
            "name": "test-app",
            "replicas": 1,
            "resource_limit": 1,
            "is_public": True,
            "session_affinity": False,
            "ports": [{"name": "http", "port": 80, "protocol": "TCP"}],
        }
        client.create_application(1, data)
Exemple #2
0
    def test_create_application(self):
        client = Communicator()
        data = {
            'username': '******',
            'password': '******'
        }
        client.login(data)

        data = {
            'image': 1,
            'name': 'test-app',
            'replicas': 1,
            'resource_limit': 1,
            'is_public': True,
            'session_affinity': False,
            'ports': [{'name': 'http', 'port': 80, 'protocol': 'TCP'}],
        }
        client.create_application(1, data)
Exemple #3
0
    def test_create_application(self):
        client = Communicator()
        data = {
            'username': '******',
            'password': '******'
        }
        client.login(data)

        data = {
            'image': 1,
            'name': 'test-app',
            'replicas': 1,
            'resource_limit': 1,
            'is_public': True,
            'session_affinity': False,
            'ports': [{'name': 'http', 'port': 80, 'protocol': 'TCP'}],
        }
        client.create_application(1, data)
Exemple #4
0
def create_application(request, *args, **kwargs):
    project_id = kwargs['pid']

    #TODO: Check validation

    form = ApplicationForm(request.POST)
    if not form.is_valid():
        return JsonResponse({"error": "data invalid"})

    service_type = (False
                    if form.cleaned_data['service_type'] == 'false' else True)
    session_affinity = (False if form.cleaned_data['session_affinity']
                        == 'false' else True)
    autoscaler = (False
                  if form.cleaned_data['autoscaler'] == 'false' else True)
    # logger.debug(service_type)
    # logger.debug(session_affinity)

    data = {
        'image': form.cleaned_data['image'],
        'name': form.cleaned_data['name'],
        'replicas': form.cleaned_data['replicas'],
        'resource_limit': form.cleaned_data['resource_limit'],
        'is_public': service_type,
        'session_affinity': session_affinity,
        'is_autoscaler': autoscaler
    }

    # envs
    envs = get_envs(form.cleaned_data['env_number'], request.POST)
    if envs:
        data['envs'] = envs

    # ports
    ports = get_ports(form.cleaned_data['port_number'], request.POST)
    if ports:
        data['ports'] = ports

    # volumes
    volumes = get_volumes(form.cleaned_data['volume_number'], request.POST)
    if volumes:
        data['volumes'] = volumes

    # autoscale
    if autoscaler:
        data['min_replicas'] = request.POST.get('min_replicas', -1)
        data['max_replicas'] = request.POST.get('max_replicas', -1)
        data['cpu_target'] = request.POST.get('cpu_target', -1)

    logger.debug(data)

    # data = {
    #     'image': 1,
    #     'session_affinity': False,
    #     'name': 'test',
    #     'resource_limit': 1,
    #     'replicas': 1,
    #     'ports': [
    #         {'port': 80, 'protocol': 'TCP', 'name': 'http'}
    #     ],
    #     'is_public': True,
    #     'volumes': [
    #         {'volume': 2, 'mount_path': '/var/www/html'}
    #     ]
    # }

    client = Communicator(cookies=request.COOKIES)
    ok = client.create_application(project_id, data)
    if ok:
        return JsonResponse({"success": "success"})
    else:
        return JsonResponse({"error": "failed"})
Exemple #5
0
def create_application(request, *args, **kwargs):
    project_id = kwargs['pid']

    #TODO: Check validation

    form = ApplicationForm(request.POST)
    if not form.is_valid():
        return JsonResponse({"error": "data invalid"})

    service_type = (False if form.cleaned_data['service_type'] == 'false'
        else True)
    session_affinity = (False if form.cleaned_data['session_affinity'] ==
        'false' else True)
    autoscaler = (False if form.cleaned_data['autoscaler'] == 'false'
        else True )
    # logger.debug(service_type)
    # logger.debug(session_affinity)

    data = {
        'image': form.cleaned_data['image'],
        'name': form.cleaned_data['name'],
        'replicas': form.cleaned_data['replicas'],
        'resource_limit': form.cleaned_data['resource_limit'],
        'is_public': service_type,
        'session_affinity': session_affinity,
        'is_autoscaler': autoscaler
    }

    # envs
    envs = get_envs(form.cleaned_data['env_number'], request.POST)
    if envs:
        data['envs'] = envs

    # ports
    ports = get_ports(form.cleaned_data['port_number'], request.POST)
    if ports:
        data['ports'] = ports

    # volumes
    volumes = get_volumes(form.cleaned_data['volume_number'], request.POST)
    if volumes:
        data['volumes'] = volumes

    # autoscale
    if autoscaler:
        data['min_replicas'] = request.POST.get('min_replicas', -1)
        data['max_replicas'] = request.POST.get('max_replicas', -1)
        data['cpu_target'] = request.POST.get('cpu_target', -1)

    logger.debug(data)

    # data = {
    #     'image': 1,
    #     'session_affinity': False,
    #     'name': 'test',
    #     'resource_limit': 1,
    #     'replicas': 1,
    #     'ports': [
    #         {'port': 80, 'protocol': 'TCP', 'name': 'http'}
    #     ],
    #     'is_public': True,
    #     'volumes': [
    #         {'volume': 2, 'mount_path': '/var/www/html'}
    #     ]
    # }

    client = Communicator(cookies=request.COOKIES)
    ok = client.create_application(project_id, data)
    if ok:
        return JsonResponse({"success": "success"})
    else:
        return JsonResponse({"error": "failed"})