Beispiel #1
0
def request_pool(request):
    try:
        group = request.POST["stream"]
        version = request.POST["version"]
        if version == "latest":
            version = None
        date = request.POST["date"]
        if date == "latest":
            date = None
        provider = request.POST["provider"]
        if provider == "any":
            provider = None
        preconfigured = request.POST.get("preconfigured", "false").lower() == "true"
        yum_update = request.POST.get("yum_update", "false").lower() == "true"
        container = request.POST.get("container", "false").lower() == "true"
        if container:
            # Container is preconfigured only
            # We need to do this as the disabled checkbox for Preconfigured seems to not return
            # the proper value.
            preconfigured = True
        count = int(request.POST["count"])
        lease_time = int(request.POST.get("expiration", 60))
        pool_id = AppliancePool.create(
            request.user, group, version, date, provider, count, lease_time, preconfigured,
            yum_update, container).id
        messages.success(request, "Pool requested - id {}".format(pool_id))
    except Exception as e:
        messages.warning(request, "{}: {}".format(type(e).__name__, e))
    return go_back_or_home(request)
Beispiel #2
0
def request_pool(request):
    if not request.user.is_authenticated():
        return go_home(request)
    try:
        group = request.POST["stream"]
        version = request.POST["version"]
        if version == "latest":
            version = None
        date = request.POST["date"]
        if date == "latest":
            date = None
        provider = request.POST["provider"]
        if provider == "any":
            provider = None
        preconfigured = request.POST.get("preconfigured", "false").lower() == "true"
        yum_update = request.POST.get("yum_update", "false").lower() == "true"
        count = int(request.POST["count"])
        lease_time = int(request.POST.get("expiration", 60))
        pool_id = AppliancePool.create(
            request.user, group, version, date, provider, count, lease_time, preconfigured,
            yum_update).id
        messages.success(request, "Pool requested - id {}".format(pool_id))
    except Exception as e:
        messages.error(request, "Exception {} happened: {}".format(type(e).__name__, str(e)))
    return go_back_or_home(request)
Beispiel #3
0
def request_pool(request):
    if not request.user.is_authenticated():
        return go_home(request)
    try:
        group = request.POST["stream"]
        version = request.POST["version"]
        if version == "latest":
            version = None
        date = request.POST["date"]
        if date == "latest":
            date = None
        provider = request.POST["provider"]
        if provider == "any":
            provider = None
        preconfigured = request.POST.get("preconfigured",
                                         "false").lower() == "true"
        yum_update = request.POST.get("yum_update", "false").lower() == "true"
        count = int(request.POST["count"])
        lease_time = 60
        pool_id = AppliancePool.create(request.user, group, version, date,
                                       provider, count, lease_time,
                                       preconfigured, yum_update).id
        messages.success(request, "Pool requested - id {}".format(pool_id))
    except Exception as e:
        messages.error(
            request,
            "Exception {} happened: {}".format(type(e).__name__, str(e)))
    return go_back_or_home(request)
Beispiel #4
0
def request_appliances(
        user, group, count=1, lease_time=60, version=None, date=None, provider=None,
        preconfigured=True, yum_update=False):
    """Request a number of appliances."""
    if date:
        date = datetime.strptime(date, "%y%m%d")
    return AppliancePool.create(
        user, group, version, date, provider, count, lease_time, preconfigured, yum_update).id
Beispiel #5
0
def request_appliances(
        user, group, count=1, lease_time=60, version=None, date=None, provider=None,
        preconfigured=True, yum_update=False):
    """Request a number of appliances."""
    if date:
        date = datetime.strptime(date, "%y%m%d")
    return AppliancePool.create(
        user, group, version, date, provider, count, lease_time, preconfigured, yum_update).id
Beispiel #6
0
def request_appliances(
        user, group, count=1, lease_time=60, version=None, date=None, provider=None,
        preconfigured=True, yum_update=False, ram=None, cpu=None,
        provider_type=None, template_type=Template.DEFAULT_TEMPLATE_TYPE):
    """Request a number of appliances."""
    if date:
        date = datetime.strptime(date, "%y%m%d")
    return AppliancePool.create(
        user, group, version, date, provider, count, lease_time, preconfigured, yum_update,
        ram, cpu, provider_type, template_type).id
Beispiel #7
0
def request_appliances(
        user, group, count=1, lease_time=60, version=None, date=None, provider=None,
        preconfigured=True, yum_update=False, ram=None, cpu=None,
        provider_type=None, template_type=Template.DEFAULT_TEMPLATE_TYPE):
    """Request a number of appliances."""
    if date:
        date = datetime.strptime(date, "%y%m%d")
    return AppliancePool.create(
        user, group, version, date, provider, count, lease_time, preconfigured, yum_update,
        ram, cpu, provider_type, template_type).id
Beispiel #8
0
 def request_pool(self, request, groups):
     number_appliances = int(request.POST.get('number_appliances', 1))
     if number_appliances < 1:
         self.message_user(request, "Number of appliances should >= 1!")
         return
     for group in groups:
         pool = AppliancePool.create(request.user, group, num_appliances=number_appliances)
         self.message_user(request, "Appliance pool {} was requested!".format(pool.id))
         self.logger.info(
             "User {}/{} requested appliance pool {}".format(
                 request.user.pk, request.user.username, pool.id))
Beispiel #9
0
 def request_pool(self, request, groups):
     number_appliances = int(request.POST.get('number_appliances', 1))
     if number_appliances < 1:
         self.message_user(request, "Number of appliances should >= 1!")
         return
     for group in groups:
         pool = AppliancePool.create(request.user,
                                     group,
                                     num_appliances=number_appliances)
         self.message_user(
             request, "Appliance pool {} was requested!".format(pool.id))
         self.logger.info("User {}/{} requested appliance pool {}".format(
             request.user.pk, request.user.username, pool.id))
Beispiel #10
0
def request_pool(request):
    try:
        group = request.POST["stream"]
        version = request.POST["version"]
        if version == "latest":
            version = None
        date = request.POST["date"]
        if date == "latest":
            date = None
        provider = request.POST["provider"]
        if provider == "any":
            provider = None
        preconfigured = request.POST.get("preconfigured", "false").lower() == "true"
        yum_update = request.POST.get("yum_update", "false").lower() == "true"
        container = request.POST.get("container", "false").lower() == "true"
        provider_type = request.POST.get("provider_type", "any").lower()
        if not provider_type or provider_type == 'any':
            provider_type = None
        if container:
            # Container is preconfigured only
            # We need to do this as the disabled checkbox for Preconfigured seems to not return
            # the proper value.
            preconfigured = True
        count = int(request.POST["count"])
        lease_time = int(request.POST.get("expiration", 60))
        ram = None
        cpu = None
        if request.user.has_perm('appliances.can_modify_hw'):
            if 'ram' in request.POST:
                ram = int(request.POST['ram'])
            if 'cpu' in request.POST:
                cpu = int(request.POST['cpu'])
        pool_id = AppliancePool.create(
            request.user, group, version, date, provider, count, lease_time, preconfigured,
            yum_update, container, ram, cpu, provider_type).id
        messages.success(request, "Pool requested - id {}".format(pool_id))
    except Exception as e:
        messages.warning(request, "{}: {}".format(type(e).__name__, e))
    return go_back_or_home(request)
Beispiel #11
0
def request_pool(request):
    try:
        group = request.POST["stream"]
        version = request.POST["version"]
        template_type = request.POST["template_type"]
        if version == "latest":
            version = None
        date = request.POST["date"]
        if date == "latest":
            date = None
        provider = request.POST["provider"]
        if provider == "any":
            provider = None
        preconfigured = request.POST.get("preconfigured", "false").lower() == "true"
        yum_update = request.POST.get("yum_update", "false").lower() == "true"
        provider_type = request.POST.get("provider_type", "any").lower()
        if not provider_type or provider_type == 'any':
            provider_type = None

        count = int(request.POST["count"])
        lease_time = int(request.POST.get("expiration", 60))
        ram = None
        cpu = None
        if request.user.has_perm('appliances.can_modify_hw'):
            if 'ram' in request.POST:
                ram = int(request.POST['ram'])
            if 'cpu' in request.POST:
                cpu = int(request.POST['cpu'])

        pool_id = AppliancePool.create(
            request.user, group, version, date, provider, count, lease_time, preconfigured,
            yum_update, ram, cpu, provider_type, template_type).id
        messages.success(request, "Pool requested - id {}".format(pool_id))
    except Exception as e:
        messages.warning(request, "{}: {}".format(type(e).__name__, e))
    return go_back_or_home(request)