Beispiel #1
0
 def __init__(self, request, *args, **kwargs):
     flavor_input_list = kwargs.pop('flavor_input_list')
     flavor_list = kwargs.pop('flavor_list')
     key_pair_list = kwargs.pop('keypair_list')
     self.request = request
     if key_pair_list:
         key_pair_list.insert(0, ("", _("Select a keypair")))
     else:
         key_pair_list = (("", _("No keypairs available.")), )
     security_group_list = kwargs.pop('security_group_list')
     networks = kwargs.pop('networks')
     volume_list = kwargs.pop('volume_list')
     super(LaunchImageInstanceForm, self).__init__(*args, **kwargs)
     self.fields['flavor'].choices = flavor_list
     self.fields['flavor_input'].choices = flavor_input_list
     self.fields['key_pair'].choices = key_pair_list
     self.fields['security_groups'].choices = security_group_list
     self.fields['networks'].choices = networks
     self.fields['volume'].choices = volume_list
     tenant_choices = [('', _("Select a project"))]
     try:
         for tenant in api.tenant_list(request, admin=True):
             if tenant.enabled:
                 tenant_choices.append((tenant.id, tenant.name))
             self.fields['tenant_id'].choices = tenant_choices
     except Unauthorized:
         raise
     except Exception, e:
         LOG.error('Unable to retrieve tenant list,%s ' % e)
Beispiel #2
0
 def __init__(self, request, *args, **kwargs):
     flavor_input_list = kwargs.pop('flavor_input_list')
     flavor_list = kwargs.pop('flavor_list')
     key_pair_list = kwargs.pop('keypair_list')
     self.request = request
     if key_pair_list:
         key_pair_list.insert(0, ("", _("Select a keypair")))
     else:
         key_pair_list = (("", _("No keypairs available.")),)
     security_group_list = kwargs.pop('security_group_list')
     networks = kwargs.pop('networks')
     volume_list = kwargs.pop('volume_list')
     super(LaunchImageInstanceForm, self).__init__(*args, **kwargs)
     self.fields['flavor'].choices = flavor_list
     self.fields['flavor_input'].choices = flavor_input_list
     self.fields['key_pair'].choices = key_pair_list
     self.fields['security_groups'].choices = security_group_list
     self.fields['networks'].choices = networks
     self.fields['volume'].choices = volume_list
     tenant_choices = [('', _("Select a project"))]
     try:
         for tenant in api.tenant_list(request, admin=True):
             if tenant.enabled:
                 tenant_choices.append((tenant.id, tenant.name))
             self.fields['tenant_id'].choices = tenant_choices
     except Unauthorized:
         raise
     except Exception, e:
         LOG.error('Unable to retrieve tenant list,%s ' % e)
Beispiel #3
0
def get_project_resource(request):
    projects = None
    try:
        projects = api.tenant_list(request, admin=True)
    except Unauthorized:
        raise
    except Exception, e:
        LOG.error('Unable to retrieve project list,%s.' % e.message)
Beispiel #4
0
 def update_status(self, request, tenant_id ,parameters):
     tenants = []
     try:
         tenants = api.tenant_list(request, admin = True)
     except Exception,exc:
         msg = 'Unable to retrieve project list,%s.' % exc
         LOG.error(msg)
         return False
Beispiel #5
0
def get_project_resource(request):
    projects = None
    try:
        projects = api.tenant_list(request, admin=True)
    except Unauthorized:
        raise
    except Exception, e:
        LOG.error('Unable to retrieve project list,%s.' % e.message)
Beispiel #6
0
 def update_status(self, request, tenant_id, parameters):
     tenants = []
     try:
         tenants = api.tenant_list(request, admin=True)
     except Exception, exc:
         msg = 'Unable to retrieve project list,%s.' % exc
         LOG.error(msg)
         return False
Beispiel #7
0
 def update_status(self, request, tenant_id, parameters):
     projects = []
     try:
         projects = api.tenant_list(request, admin=True)
     except Unauthorized:
         raise
     except Exception, exe:
         LOG.error('Unable to retrieve project list,%s.' % exe.message)
         return False
Beispiel #8
0
 def update_status(self, request, tenant_id, parameters):
     projects = []
     try:
         projects = api.tenant_list(request, admin=True)
     except Unauthorized:
         raise
     except Exception, e:
         LOG.error(e)
         return False
Beispiel #9
0
 def update_status(self, request, tenant_id ,parameters):
     projects = []
     try:
         projects = api.tenant_list(request, admin=True)
     except Unauthorized:
         raise
     except Exception, exe:
         LOG.error('Unable to retrieve project list,%s.' % exe.message)
         return False
Beispiel #10
0
 def update_status(self, request, tenant_id ,parameters):
     projects = []
     try:
         projects = api.tenant_list(request, admin=True)
     except Unauthorized:
         raise
     except Exception, e:
         LOG.error(e)
         return False
Beispiel #11
0
def get_project_menu(request):
    project_menus = []
    projects = []
    try:
        projects = api.tenant_list(request, admin=True)
    except Unauthorized:
        raise
    except Exception, e:
        LOG.error('Unable to retrieve project list. %s' % e)
Beispiel #12
0
def create_project_action(request):
    """
    :param request: request object
    :return view<'get_project_list'>::create the tenant successfully
            view<'project_manage/create.html'>::failed to create the tenant
    """
    treeFatherId = request.POST.get('tree_father_id', '')
    if not treeFatherId:
        return HttpResponse(
            {
                "message": 'Unable to create project',
                "statusCode": UI_RESPONSE_DWZ_ERROR
            },
            status=UI_RESPONSE_ERROR)

    form = CreateTenantForm(request.POST)
    if form.is_valid():
        try:
            iRet, msg = handle_create(request, form.cleaned_data)
            if iRet:
                project_id = ""
                project_name = ""
                project_enabled = ""
                try:
                    projects = api.tenant_list(request, admin=True)
                    for project in projects:
                        if project.name == form.cleaned_data['name']:
                            project_id = project.id
                            project_name = project.name
                            project_enabled = project.enabled
                except Exception, e:
                    msg = 'Can not get project list. %s' % e
                    LOG.error(msg)

                return HttpResponse(
                    {
                        "message": "Create Project Success",
                        "statusCode": UI_RESPONSE_OK,
                        "object_name": form.cleaned_data['name'],
                        "operType": "add_project",
                        "treeNodeObj": {
                            "project_id": project_id,
                            "project_name": project_name,
                            "project_enabled": project_enabled
                        }
                    },
                    status=UI_RESPONSE_OK)
            else:
                return HttpResponse(
                    {
                        "message": msg,
                        "statusCode": UI_RESPONSE_DWZ_ERROR
                    },
                    status=UI_RESPONSE_ERROR)
Beispiel #13
0
 def __init__(self, request, *args, **kwargs):
     self.request = request
     tenant_choices = [('', _("Select a project"))]
     try:
         for tenant in api.tenant_list(self.request, admin=True):
             if tenant.enabled:
                 tenant_choices.append((tenant.id, tenant.name))
     except Unauthorized:
         raise
     except Exception, e:
         LOG.error('Unable to retrieve tenant list,%s ' % e)
Beispiel #14
0
 def __init__(self, request, *args, **kwargs):
     self.request = request
     tenant_choices = [('', _("Select a project"))]
     try:
         for tenant in api.tenant_list(self.request, admin=True):
             if tenant.enabled:
                 tenant_choices.append((tenant.id, tenant.name))
     except Unauthorized:
         raise
     except Exception, e:
         LOG.error('Unable to retrieve tenant list,%s ' % e)
Beispiel #15
0
def get_network_topology_menu(request):
    """
    :param request:request object
    :return:view<'virtual_network_manage/networkprojectindex.html'>::list of tenants
    """
    project_menus = []
    try:
        projects = api.tenant_list(request, admin=True)
    except Unauthorized:
        raise
    except Exception, exe:
        LOG.error('Unable to retrieve project list,%s.' % exe.message)
Beispiel #16
0
def get_network_topology_menu(request):
    """
    :param request:request object
    :return:view<'virtual_network_manage/networkprojectindex.html'>::list of tenants
    """
    project_menus = []
    try:
        projects = api.tenant_list(request, admin = True)
    except Unauthorized:
        raise
    except Exception , exe:
        LOG.error('Unable to retrieve project list,%s.' % exe.message)
Beispiel #17
0
def get_securitygroup_ips_list(request):
    """
    :param request:request object
    :return:json :the tree of floatingip
    """
    project_menus = []
    projects = []
    try:
        projects = api.tenant_list(request, admin=True)
    except Unauthorized:
        raise
    except Exception, exe:
        LOG.error('Unable to retrieve project list,%s.' % exe)
Beispiel #18
0
def get_securitygroup_projects_menu(request):
    """
    :param request:request object
    :return:view<'project_manage/index.html'>::list of tenants
    """
    project_menus = []
    projects = []
    try:
        projects = api.tenant_list(request, admin=True)
    except Unauthorized:
        raise
    except Exception, ex:
        LOG.error('Unable to retrieve project list,%s.' % ex)
Beispiel #19
0
def get_all_project(request):
    """
    :param request:request object
    :return:view<'project_manage/index.html'>::list of tenants
    """
    args = {}
    projects = []
    try:
        projects = api.tenant_list(request, admin=True)
    except Unauthorized:
        raise
    except Exception, e:
        LOG.error('Unable to retrieve project list. %s' % e)
Beispiel #20
0
def get_securitygroup_ips_list(request):
    """
    :param request:request object
    :return:json :the tree of floatingip
    """
    project_menus = []
    projects = []
    try:
        projects = api.tenant_list(request, admin=True)
    except Unauthorized:
        raise
    except Exception , exe:
        LOG.error('Unable to retrieve project list,%s.' % exe)
Beispiel #21
0
def get_routers_projects_menu(request):
    """
    :param request:request object
    :return:view<'project_manage/index.html'>::list of tenants
    """
    project_menus = []
    projects = []
    try:
        projects = api.tenant_list(request, admin=True)
    except Unauthorized:
        raise
    except Exception, exc:
        msg = 'Unable to retrieve project list,%s.' % exc
        LOG.error(msg)
Beispiel #22
0
def get_volume_list_temp(request):
    volume_name = ''
    args = {}
    if request.GET.has_key("volume_name"):
        volume_name = request.GET['volume_name']

    try:
        instances = get_instance_list(request)

        tenants = api.tenant_list(request,
                                  getattr(request.user, 'is_superuser', True))

        volumes = api.volume_list(request)

        instances = SortedDict([(inst.id, inst) for inst in instances])
        tenants_dic = SortedDict([(tenant.id, tenant) for tenant in tenants])

        volumes = [
            volume for volume in volumes if volume.status != 'error_deleting'
        ]

        for volume in volumes:
            att = volume.attachments
            server_id = None
            if len(att) != 0:
                server_id = att[0]['server_id']
                #instance_id_dict[volume.id] = server_id
                ins = instances[server_id]
                #attach_instance[volume.id] = getattr(ins, "name", None)
                setattr(volume, "instance_name", getattr(ins, "name", None))
            else:
                #                attach_instance[volume.id] = None
                setattr(volume, "instance_name", None)
                #instance_id_dict[volume] = None
            try:
                setattr(
                    volume, "tenant",
                    tenants_dic[getattr(volume, 'os-vol-tenant-attr:tenant_id',
                                        None)])
            except Exception, ex:
                LOG.error("Can't found tenant %s" % ex)
            setattr(volume, "instance_id", server_id)
            setattr(volume, "status_link",
                    reverse('get_volume_status', args=[volume.id]))
    except Unauthorized:
        raise
    except Exception, ex:
        volumes = []
        LOG.error("ClientException in volume index. %s" % ex)
Beispiel #23
0
def create_volume_form(request, tenant_id, snapshot_id):
    """
    :param request: request object
    :return view<'volume_manage/create.html'>: the view create volume table
    """
    form = CreateVolumeForm()

    try:
        tenants = api.tenant_list(request,
                                  getattr(request.user, 'is_superuser', True))
    except Unauthorized:
        raise
    except Exception, ex:
        LOG.error('tenants not found,the error is %s' % ex)
        tenants = []
Beispiel #24
0
class CreateUserForm(forms.Form):
    """
    the form for creating a user
    """
    name = CharField(label=_("User Name"), max_length=10, min_length=2)
    email = EmailField(label=_("email"))
    password = RegexField(
        label=_("Password"),
        widget=PasswordInput(render_value=False),
        regex=validators.password_validator(),
        error_messages={'invalid': validators.password_validator_msg()})
    confirm_password = CharField(label=_("Confirm Password"),
                                 required=False,
                                 widget=PasswordInput(render_value=False))
    tenant_id = ChoiceField(label=_("Primary Project"), required=True)
    role_id = ChoiceField(label=_("Role"))

    def __init__(self, request, *args, **kwargs):
        super(CreateUserForm, self).__init__(*args, **kwargs)
        self.request = request

        roles = []
        role_choices = []
        try:
            roles = api.keystone.role_list(request)
        except Unauthorized:
            raise
        except Exception, e:
            LOG.error("Unable to retrieve user roles. %s" % e)

        for role in roles:
            if role.name != ROLE_ADMIN and role.enabled:
                role_choices.append((role.id, role.name))


#            if role.name == ROLE_PROJECTADMIN:
#                if get_user_role_name(request) == ROLE_ADMIN:
#                    role_choices.append((role.id, role.name))
#            elif role.name != ROLE_ADMIN:
#                role_choices.insert(0, (role.id, role.name))

        self.fields['role_id'].choices = role_choices

        tenant_choices = [('', _("Select a project"))]
        for tenant in api.tenant_list(request, admin=True):
            if tenant.enabled:
                tenant_choices.append((tenant.id, tenant.name))
        self.fields['tenant_id'].choices = tenant_choices
Beispiel #25
0
def get_snapshot_index(request):
    snapshots = []
    tenants_dic = {}
    args = {}

    if request.GET.has_key('tenant_id'):
        tenant_id = request.GET['tenant_id']
        switch_tenants(request, tenant_id)
    else:
        tenant_id = None

    try:
        tenants = api.tenant_list(request,
                                  getattr(request.user, 'is_superuser', True))

        snapshots = api.volume_snapshot_list(request)

        volumes = api.volume_list(request)

        volumes_dic = SortedDict([(volume.id, volume) for volume in volumes])

        tenants_dic = SortedDict([(tenant.id, tenant.name)
                                  for tenant in tenants])

        for snapshot in snapshots:
            volume_name = None
            tenant_name = None
            try:
                volume_name = volumes_dic[snapshot.volume_id].display_name

                tenant_name = tenants_dic[snapshot.project_id]
            except Exception, ex:
                LOG.error("volume is not found the error is %s" % ex)
            setattr(snapshot, 'volume_name', volume_name)
            setattr(snapshot, 'project_name', tenant_name)
            setattr(snapshot, 'tenant_id', snapshot.project_id)
    except Unauthorized:
        raise
    except Exception, ex:
        LOG.error("snapshots is not found the error is %s" % ex)
Beispiel #26
0
 def __init__(self, request, *args, **kwargs):
     flavor_input_list = kwargs.pop('flavor_input_list')
     flavor_list = kwargs.pop('flavor_list')
     security_group_list = kwargs.pop('security_group_list')
     networks = kwargs.pop('networks')
     volume_list = kwargs.pop('volume_list')
     super(LaunchForm, self).__init__(*args, **kwargs)
     self.fields['flavor'].choices = flavor_list
     self.fields['security_groups'].choices = security_group_list
     if flavor_input_list is not None:
         self.fields['flavor_input'].choices = flavor_input_list
     self.fields['networks'].choices = networks
     self.fields['volume'].choices = volume_list
     tenant_choices = [('', _("Select a project"))]
     try:
         for tenant in api.tenant_list(request, admin=True):
             if tenant.enabled:
                 tenant_choices.append((tenant.id, tenant.name))
         self.fields['ins_tenant_id'].choices = tenant_choices
     except Unauthorized:
         raise
     except Exception, e:
         LOG.error('Unable to retrieve tenant list,%s ' % e)
Beispiel #27
0
def get_project_summary(request):
    project_summary = {}
    INSTANCE_ON_STATUS = ('active', )
    try:
        projects = api.tenant_list(request, admin=True)
        for project in projects:
            if not project.enabled:
                continue

            users = api.user_list(request, project.id)
            networks = api.network_list_for_tenant(request, project.id)

            instance_on_cnt = 0
            instance_off_cnt = 0
            instances = []
            if switch_tenants(request, project.id):
                instances = api.server_list(request)

            for instance in instances:
                if instance.status.lower() in INSTANCE_ON_STATUS:
                    instance_on_cnt += 1
                else:
                    instance_off_cnt += 1

            summary = {
                'project_name': project.name,
                'user_cnt': len(users),
                'network_cnt': len(networks),
                'instance_on_cnt': instance_on_cnt,
                'instance_off_cnt': instance_off_cnt
            }

            project_summary[project.id] = summary
    except Unauthorized:
        raise
    except Exception, e:
        LOG.error(e)
Beispiel #28
0
class CreateImageAndLaunchForm(forms.Form):
    name = forms.CharField(max_length=50, label=_("Name"), required=False)
    u_uid = forms.CharField(max_length=100, label=_("Uuid"))
    image_file = forms.FileField(label="Image file", required=False)
    disk_format = forms.ChoiceField(label=_('Disk Format'),
                                    required=True,
                                    choices=UI_DISK_FORMAT_CHOICE)
    image_data = forms.ChoiceField(label=_("Image Data"), required=False)
    min_disk = forms.IntegerField(
        label=_("Min Disk (GB)"),
        help_text=
        _('The minimum disk size required to boot the image. If unspecified, this value defaults to 0 (no minimum).'
          ),
        required=False)
    min_ram = forms.IntegerField(
        label=_("Min Ram (MB)"),
        help_text=
        _('The minimum ram size required to boot the image. If unspecified, this value defaults to 0 (no minimum).'
          ),
        required=False)
    is_public = forms.BooleanField(label=_("Public"), required=False)

    name_launch = forms.CharField(max_length=20,
                                  label=_("Instance Name"),
                                  required=False)

    tenant_id = forms.ChoiceField(label="Tenant")
    user_data = forms.CharField(widget=forms.Textarea,
                                label=_("User Data"),
                                required=False)
    flavor = forms.ChoiceField(label=_("Flavor"),
                               help_text=_("Size of image to launch."))
    key_pair = forms.ChoiceField(
        label=_("Keypair"),
        required=False,
        help_text=_("Which keypair to use for authentication."))
    count = forms.IntegerField(label=_("Instance Count"),
                               required=False,
                               min_value=1,
                               initial=1,
                               help_text=_("Number of instances to launch."))
    volume = forms.ChoiceField(label=_("Volume or Volume Snapshot"),
                               required=False,
                               help_text=_("Volume to boot from."))
    security_groups = forms.MultipleChoiceField(
        label=_("Security Groups"),
        required=False,
        initial=["default"],
        widget=forms.CheckboxSelectMultiple(),
        help_text=_("Launch instance in these security groups."))
    networks = forms.MultipleChoiceField(
        label=_("Aviable networks"),
        required=True,
        widget=forms.CheckboxSelectMultiple(),
        help_text=_("Select aviable network here."))
    volume = forms.ChoiceField(label=_("Volume or Volume Snapshot"),
                               required=False,
                               help_text=_("Volume to boot from."))
    device_name = forms.CharField(
        label=_("Device Name"),
        required=False,
        initial="vda",
        help_text=_("Volume mount point (e.g. 'vda' mounts at '/dev/vda')."))
    delete_on_terminate = forms.BooleanField(
        label=_("Delete on Terminate"),
        initial=False,
        required=False,
        help_text=_("Delete volume on instance terminate"))

    def __init__(self, request, *args, **kwargs):
        flavor_list = kwargs.pop('flavor_list')
        key_pair_list = kwargs.pop('keypair_list')
        self.request = request

        if key_pair_list:
            key_pair_list.insert(0, ("", _("Select a keypair")))
        else:
            key_pair_list = (("", _("No keypairs available.")), )
        security_group_list = kwargs.pop('security_group_list')
        volume_list = kwargs.pop('volume_list')
        networks = kwargs.pop('networks')
        super(CreateImageAndLaunchForm, self).__init__(*args, **kwargs)
        software_list = [("", _("Select a Image Data"))]
        try:
            soft_wares = Software.objects.filter(classify='SystemSoftware',
                                                 status="active")
            for software in soft_wares:
                path = software.get_local_file()
                display = (path, software.name)
                software_list.append(display)
        except Exception, e:
            LOG.error('Something was wrong when get software list %s' % e)

        self.fields['image_data'].choices = software_list
        self.fields['flavor'].choices = flavor_list
        self.fields['networks'].choices = networks
        self.fields['key_pair'].choices = key_pair_list
        self.fields['security_groups'].choices = security_group_list
        self.fields['volume'].choices = volume_list
        tenant_choices = [('', _("Select a project"))]

        try:
            for tenant in api.tenant_list(request, admin=True):
                if tenant.enabled:
                    tenant_choices.append((tenant.id, tenant.name))
                self.fields['tenant_id'].choices = tenant_choices
        except Unauthorized:
            raise
        except Exception, e:
            LOG.error('Unable to retrieve tenant list,%s ' % e)