def get(self, request): """Get a list of flavors. The listing result is an object with property "items". Each item is a flavor. By default this will return the flavors for the user's current project. If the user is admin, public flavors will also be returned. :param is_public: For a regular user, set to True to see all public flavors. For an admin user, set to False to not see public flavors. :param get_extras: Also retrieve the extra specs. Example GET: http://localhost/api/nova/flavors?is_public=true """ is_public = request.GET.get('is_public') is_public = (is_public and is_public.lower() == 'true') get_extras = request.GET.get('get_extras') get_extras = bool(get_extras and get_extras.lower() == 'true') flavors = api.nova.flavor_list(request, is_public=is_public, get_extras=get_extras) flavors = instances_utils.sort_flavor_list(request, flavors, with_menu_label=False) result = {'items': []} for flavor in flavors: d = flavor.to_dict() if get_extras: d['extras'] = flavor.extras result['items'].append(d) return result
def get(self, request): """Get a list of flavors. The listing result is an object with property "items". Each item is a flavor. By default this will return the flavors for the user's current project. If the user is admin, public flavors will also be returned. :param is_public: For a regular user, set to True to see all public flavors. For an admin user, set to False to not see public flavors. :param get_extras: Also retrieve the extra specs. Example GET: http://localhost/api/nova/flavors?is_public=true """ is_public = request.GET.get('is_public') is_public = (is_public and is_public.lower() == 'true') get_extras = request.GET.get('get_extras') get_extras = bool(get_extras and get_extras.lower() == 'true') flavors = api.nova.flavor_list(request, is_public=is_public, get_extras=get_extras) flavors = instances_utils.sort_flavor_list(request, flavors, with_menu_label=False) result = {'items': []} for flavor in flavors: d = flavor.to_dict() if get_extras: d['extras'] = flavor.extras result['items'].append(d) return result
def get_flavors(self, *args, **kwargs): try: flavors = api.trove.flavor_list(self.request) return instance_utils.sort_flavor_list(self.request, flavors) except Exception: redirect = reverse("horizon:project:databases:index") exceptions.handle(self.request, _("Unable to retrieve flavors."), redirect=redirect)
def get_flavors(self, *args, **kwargs): try: flavors = api.trove.flavor_list(self.request) return instance_utils.sort_flavor_list(self.request, flavors) except Exception: redirect = reverse("horizon:project:databases:index") exceptions.handle(self.request, _('Unable to retrieve flavors.'), redirect=redirect)
def populate_flavor_choices(self, request, context): flavors = context.get('flavors').values() if len(flavors) > 1: flavors = instance_utils.sort_flavor_list(request, flavors) if flavors: flavors.insert(0, ("", _("Select a New Flavor"))) else: flavors.insert(0, ("", _("No flavors available"))) return flavors
def populate_flavor_choices(self, request, context): flavors = context.get('flavors').values() if len(flavors) > 1: flavors = instance_utils.sort_flavor_list(request, flavors) if flavors: flavors.insert(0, ("", _("Select a New Flavor"))) else: flavors.insert(0, ("", _("No flavors available"))) return flavors
def populate_flavor_choices(self, request, context): old_flavor_id = context.get('old_flavor_id') flavors = context.get('flavors').values() # Remove current flavor from the list of flavor choices flavors = [flavor for flavor in flavors if flavor.id != old_flavor_id] if len(flavors) > 1: flavors = instance_utils.sort_flavor_list(request, flavors) if flavors: flavors.insert(0, ("", _("Select a New Flavor"))) else: flavors.insert(0, ("", _("No flavors available"))) return flavors
def populate_flavor_choices(self, request, context): old_flavor_id = context.get('old_flavor_id') flavors = context.get('flavors').values() # Remove current flavor from the list of flavor choices flavors = [flavor for flavor in flavors if flavor.id != old_flavor_id] if len(flavors) > 1: flavors = instance_utils.sort_flavor_list(request, flavors) if flavors: flavors.insert(0, ("", _("Select a New Flavor"))) else: flavors.insert(0, ("", _("No flavors available"))) return flavors
def _get_flavors(self, request, source_type=None): sorted_flavors_list = [] if source_type: flavors = instance_utils.flavor_list(request) if flavors: new_flavors = [] for flavor in flavors: flavor_name = str(flavor.name) if flavor_name.startswith(source_type): new_flavors.append(flavor) sorted_flavors_list = instance_utils.sort_flavor_list(request, new_flavors) return sorted_flavors_list
def _get_flavors(self, request, source_type=None): sorted_flavors_list = [] if source_type: flavors = instance_utils.flavor_list(request) if flavors: new_flavors = [] for flavor in flavors: flavor_name = str(flavor.name) if flavor_name.startswith(source_type): new_flavors.append(flavor) sorted_flavors_list = instance_utils.sort_flavor_list( request, new_flavors) return sorted_flavors_list
def __init__(self, *args, **kwargs): try: request = args[0] template_string = "" if "template_upload" in kwargs: template_upload = kwargs.pop('template_upload') super(ImportNodegroupTemplateDetailsForm, self).__init__( *args, **kwargs) template_string = template_upload.read() self.fields["template"].initial = template_string else: super(ImportNodegroupTemplateDetailsForm, self).__init__( *args, **kwargs) template_string = self.data["template"] template_json = json.loads(template_string) template_json = template_json["node_group_template"] security_group_list = neutron.security_group_list(request) security_group_choices = \ [(sg.id, sg.name) for sg in security_group_list] self.fields["security_groups"].choices = security_group_choices pools = neutron.floating_ip_pools_list(request) pool_choices = [(pool.id, pool.name) for pool in pools] pool_choices.insert(0, (None, "Do not assign floating IPs")) self.fields["floating_ip_pool"].choices = pool_choices flavors = nova_utils.flavor_list(request) if flavors: self.fields["flavor"].choices = nova_utils.sort_flavor_list( request, flavors) else: self.fields["flavor"].choices = [] version = (template_json.get("hadoop_version", None) or template_json["plugin_version"]) self.fields["image_id"].choices = \ self._populate_image_choices(request, template_json["plugin_name"], version) except (ValueError, KeyError): raise exceptions.BadRequest(_("Could not parse template")) except Exception: exceptions.handle(request)
def __init__(self, *args, **kwargs): try: request = args[0] template_string = "" if "template_upload" in kwargs: template_upload = kwargs.pop('template_upload') super(ImportNodegroupTemplateDetailsForm, self).__init__(*args, **kwargs) template_string = template_upload.read() self.fields["template"].initial = template_string else: super(ImportNodegroupTemplateDetailsForm, self).__init__(*args, **kwargs) template_string = self.data["template"] template_json = json.loads(template_string) template_json = template_json["node_group_template"] security_group_list = neutron.security_group_list(request) security_group_choices = \ [(sg.id, sg.name) for sg in security_group_list] self.fields["security_groups"].choices = security_group_choices pools = neutron.floating_ip_pools_list(request) pool_choices = [(pool.id, pool.name) for pool in pools] pool_choices.insert(0, (None, "Do not assign floating IPs")) self.fields["floating_ip_pool"].choices = pool_choices flavors = nova_utils.flavor_list(request) if flavors: self.fields["flavor"].choices = nova_utils.sort_flavor_list( request, flavors) else: self.fields["flavor"].choices = [] version = (template_json.get("hadoop_version", None) or template_json["plugin_version"]) self.fields["image_id"].choices = \ self._populate_image_choices(request, template_json["plugin_name"], version) except (ValueError, KeyError): raise exceptions.BadRequest(_("Could not parse template")) except Exception: exceptions.handle(request)
def _add_datastore_flavor_field(self, request, datastore, datastore_version): name = self._build_widget_field_name(datastore, datastore_version) attr_key = 'data-datastore-' + name field = forms.ChoiceField(label=_("Flavor"), help_text=_("Size of image to launch."), required=False, widget=forms.Select( attrs={ 'class': 'switched', 'data-switch-on': 'datastore', attr_key: _("Flavor") })) valid_flavors = self.datastore_flavors(request, datastore, datastore_version) if valid_flavors: field.choices = instance_utils.sort_flavor_list( request, valid_flavors) return name, field
def get_dcs(request): dcs = [] for zone in get_zones(request, False): try: limit = api.proxy.project_absolute_limits(request, zone.id) if limit.maxTotalInstances - limit.totalInstancesUsed <= 0: disabled = True else: disabled = zone.disabled except: disabled = True _flavors = instance_utils.flavor_list(request, zone.id) flavors = instance_utils.sort_flavor_list(request, _flavors) dcs.append({"id": zone.id, "name": zone.name, "disabled": disabled, "flavors": flavors}) random.shuffle(dcs) return HttpResponse(json.dumps({"dcs": dcs}), content_type='application/json')
def _add_datastore_flavor_field(self, request, datastore, datastore_version): name = self._build_widget_field_name(datastore, datastore_version) attr_key = 'data-datastore-' + name field = forms.ChoiceField( label=_("Flavor"), help_text=_("Size of image to launch."), required=False, widget=forms.Select(attrs={ 'class': 'switched', 'data-switch-on': 'datastore', attr_key: _("Flavor") })) valid_flavors = self.datastore_flavors(request, datastore, datastore_version) if valid_flavors: field.choices = instance_utils.sort_flavor_list( request, valid_flavors) return name, field
def populate_flavor_choices(self, request, context): flavors = nova_utils.flavor_list(request) if flavors: return nova_utils.sort_flavor_list(request, flavors) return []
def populate_flavor_choices(self, request, context): flavors = self.flavors(request) if flavors: return instance_utils.sort_flavor_list(request, flavors) return []
def _flavor_choices(self, request): flavors = utils.flavor_list(request) if flavors: return utils.sort_flavor_list(request, flavors) return []
def populate_flavor_choices(self, request, context): flavors = instance_utils.flavor_list(request) if flavors: return instance_utils.sort_flavor_list(request, flavors) return []
def _flavor_choices(self, request): flavors = utils.flavor_list(request) if flavors: return utils.sort_flavor_list(request, flavors) return []