Ejemplo n.º 1
0
def add_new_osd(request):
    template = 'vsm/devices-management/add_osd2.html'
    context = {}
    #get the server list
    servers = vsmapi.get_server_list(None, )
    context["init_server_id"] = None
    context["servers"] = servers
    context["upload_file"] = UploadFileForm()
    context["storage_group"] = get_storage_group_list()

    service_id = request.GET.get('service_id', None)
    print service_id
    if service_id != None:
        context["init_service_id"] = int(service_id)
        context["OSDList"] = get_osd_list_data(service_id)
    else:
        if len(servers) > 0:
            context["OSDList"] = get_osd_list_data(servers[0].service_id)

    if request.method == "POST":
        form = UploadFileForm(request.POST, request.FILES)
        if form.is_valid():
            import_data = handle_uploaded_file(request.FILES['file'])
            try:
                vsmapi.add_batch_new_disks_to_cluster(request, import_data)
            except Exception, e:
                print e

            return HttpResponseRedirect(
                "/dashboard/vsm/devices-management/add_new_osd/?service_id=" +
                service_id)
    def get_context_data(self, **kwargs):
        context = {}
        storage_group_list = vsmapi.storage_group_status(None,)

        storage_group = []
        for _sg in storage_group_list:
            sg = {
                "id":_sg.id
                ,"name":_sg.name
            }
            storage_group.append(sg)
        context["storage_group"] = storage_group

        servers = vsmapi.get_server_list(None, )
        context["servers"] = servers;

        if len(servers) > 0:
            context["OSDList"] = vsmapi.osd_status(self.request, paginate_opts={
                "service_id": servers[0].service_id
            })
            ret = vsmapi.get_available_disks(self.request, search_opts={
                "server_id": servers[0].id ,
                "result_mode":"get_disks",
            })
            disks = ret['disks'] or []
            disks_list = [disk for disk in disks if disk.find('by-path') != -1]
            context["available_disks"] = disks_list
        
        return context
Ejemplo n.º 3
0
def index(request):
    pool_status = vsmapi.pool_status(None)
    server_list = vsmapi.get_server_list(None)
    status = [server.status for server in server_list]
    if len(pool_status) != 0 or 'Active' in status:
        return render(request, 'vsm/overview/index.html', {})
    else:
        return HttpResponseRedirect("/dashboard/vsm/cluster-import/")
Ejemplo n.º 4
0
def index(request):
    pool_status = vsmapi.pool_status(None)
    server_list = vsmapi.get_server_list(None)
    status = [server.status for server in server_list]
    if len(pool_status) != 0 or 'Active' in status:
        return render(request,'vsm/overview/index.html',{})
    else:
        return HttpResponseRedirect("/dashboard/vsm/clustermgmt/")
Ejemplo n.º 5
0
Archivo: views.py Proyecto: hl10502/vsm
def CheckClusterExist(request):
    is_exsit = True
    pool_status = vsmapi.pool_status(request)
    server_list = vsmapi.get_server_list(None)
    status = [server.status for server in server_list]
    if len(pool_status) == 0 and 'Active' not in status:
        is_exsit = False
    resp = json.dumps({"is_exsit":is_exsit})
    return HttpResponse(resp)
Ejemplo n.º 6
0
def get_monitor_host(request):
    monitor_list = []
    try:
        #get the serverlist
        _servers = vsmapi.get_server_list(request, )
        for _server in _servers:
            if "monitor" in _server.type:
                server_item = {"id": _server.id, "host": _server.host}
                monitor_list.append(server_item)
    except:
        pass
    return monitor_list
Ejemplo n.º 7
0
def get_monitor_host(request):
    monitor_list = []
    try:
        # get the serverlist
        _servers = vsmapi.get_server_list(request)
        for _server in _servers:
            if "monitor" in _server.type:
                server_item = {"id": _server.id, "host": _server.host}
                monitor_list.append(server_item)
    except:
        pass
    return monitor_list
Ejemplo n.º 8
0
    def get_data(self):
        _zones = []
        _servers = []
        #_servers= vsmapi.get_server_list(self.request,)
        try:
            _servers = vsmapi.get_server_list(self.request, )
            _zones = vsmapi.get_zone_list(self.request, )
            logging.debug("resp body in view: %s" % _servers)
        except:
            exceptions.handle(self.request,
                              _('Unable to retrieve sever list. '))

        zones = {}
        for _zone in _zones:
            zones.setdefault(_zone.id, _zone.name)
        zone_list = zones.items()

        servers = []
        for _server in _servers:
            if _server.status != 'available':
                continue

            server = {
                "id": _server.id,
                "name": _server.host,
                "primary_public_ip": _server.primary_public_ip,
                "secondary_public_ip": _server.secondary_public_ip,
                "cluster_ip": _server.cluster_ip,
                "zone_id": _server.zone_id,
                "osds": _server.osds,
                "type": _server.type,
                "status": _server.status
            }
            if "monitor" in _server.type:
                server['is_monitor'] = {"value": True}
                server['monitor'] = "yes"
            else:
                server['is_monitor'] = {"value": False}
                server['monitor'] = "no"
            if "storage" in _server.type:
                server['is_storage'] = {"value": True}
                server['storage'] = "yes"
            else:
                server['is_storage'] = {"value": False}
                server['storage'] = "no"
            if _server.zone_id in zones:
                server['zone'] = zones[_server.zone_id]
            server['ismonitor'] = ''
            server['isstorage'] = ''
            servers.append(server)

        return servers
    def get_data(self):
        _zones = []
        _servers = []
        # _servers= vsmapi.get_server_list(self.request,)
        try:
            _servers = vsmapi.get_server_list(self.request)
            _zones = vsmapi.get_zone_list(self.request)
            logging.debug("resp body in view: %s" % _servers)
        except:
            exceptions.handle(self.request, _("Unable to retrieve sever list. "))

        zones = {}
        for _zone in _zones:
            zones.setdefault(_zone.id, _zone.name)
        zone_list = zones.items()

        servers = []
        for _server in _servers:
            if _server.status != "available":
                continue

            server = {
                "id": _server.id,
                "name": _server.host,
                "primary_public_ip": _server.primary_public_ip,
                "secondary_public_ip": _server.secondary_public_ip,
                "cluster_ip": _server.cluster_ip,
                "zone_id": _server.zone_id,
                "osds": _server.osds,
                "type": _server.type,
                "status": _server.status,
            }
            if "monitor" in _server.type:
                server["is_monitor"] = {"value": True}
                server["monitor"] = "yes"
            else:
                server["is_monitor"] = {"value": False}
                server["monitor"] = "no"
            if "storage" in _server.type:
                server["is_storage"] = {"value": True}
                server["storage"] = "yes"
            else:
                server["is_storage"] = {"value": False}
                server["storage"] = "no"
            if _server.zone_id in zones:
                server["zone"] = zones[_server.zone_id]

            servers.append(server)

        return servers
Ejemplo n.º 10
0
 def __init__(self, request, *args, **kwargs):
     super(ImportCluster, self).__init__(request, *args, **kwargs)
     monitor_list = []
     try:
         #get the serverlist
         _servers = vsm_api.get_server_list(self.request,)
         for _server in _servers:
             if "monitor" in _server.type:
                 monitor_list.append((_server.id,_server.host))
     except:
         msg = _('Failed to get server_list.')
         redirect = reverse(self.failure_url)
         exceptions.handle(request, msg, redirect=redirect)
         return False
     self.fields["monitor_host"].choices = monitor_list
Ejemplo n.º 11
0
    def get_context_data(self, **kwargs):
        context = {}
        storage_group_list = vsmapi.storage_group_status(None, )

        storage_group = []
        for _sg in storage_group_list:
            sg = {"id": _sg.id, "storage_class": _sg.storage_class}
            storage_group.append(sg)
        context["storage_group"] = storage_group

        servers = vsmapi.get_server_list(None, )
        context["servers"] = servers

        if len(servers) > 0:
            context["OSDList"] = vsmapi.osd_status(
                self.request,
                paginate_opts={"service_id": servers[0].service_id})

        return context
Ejemplo n.º 12
0
Archivo: views.py Proyecto: hl10502/vsm
def add_new_osd(request):
    template = "vsm/devices-management/add_osd.html"
    context = {}
    #get the server list
    servers = vsmapi.get_server_list(None, )
    context["servers"] = servers
    context["upload_file"] = UploadFileForm()
    context["storage_group"] = get_storage_group_list(request)
    context["osd_location"] = get_osd_location_list(request)

    #get the osd list from the file
    if request.method == "POST":
        form = UploadFileForm(request.POST,request.FILES)
        if form.is_valid():
            context["osd_list"] = handle_uploaded_file(request.FILES['file'])
            print 10 * "="
            print "the import osd list"
            print context["osd_list"]
            return render(request,template,context)
    return render(request,template,context)
Ejemplo n.º 13
0
    def get_data(self):
        _servers = []
        _mon_host = None
        _client_keyring = None

        #_servers= vsmapi.get_server_list(self.request,)
        try:
            _servers = vsmapi.get_server_list(self.request,)
            _zones = vsmapi.get_zone_list(self.request)
            if _servers:
                logging.debug("resp body in view: %s" % _servers)
        except:
            exceptions.handle(self.request,
                              _('Unable to retrieve sever list. '))

        zones = {}
        for _zone in _zones:
            zones.setdefault(_zone.id, _zone.name)

        servers = []
        for _server in _servers:
            server = {"id": _server.id,
                        "name": _server.host,
                        "primary_public_ip": _server.primary_public_ip,
                        "secondary_public_ip": _server.secondary_public_ip,
                        "cluster_ip": _server.cluster_ip,
                        "zone_id": _server.zone_id,
                        "zone": "",
                        "osds": _server.osds,
                        "type": _server.type,
                        "status": _server.status}

            if "monitor" in _server.type:
                server['is_monitor'] = "yes"
            else:
                server['is_monitor'] = "no"
            if _server.zone_id in zones:
                server['zone'] = zones[_server.zone_id]

            servers.append(server)
        return servers
Ejemplo n.º 14
0
    def get_context_data(self, **kwargs):
        context = {}
        storage_group_list = vsmapi.storage_group_status(None,)

        storage_group = []
        for _sg in storage_group_list:
            sg = {
                "id":_sg.id
                ,"storage_class":_sg.storage_class
            }
            storage_group.append(sg)
        context["storage_group"] = storage_group

        servers = vsmapi.get_server_list(None, )
        context["servers"] = servers;

        if len(servers) > 0:
            context["OSDList"] = vsmapi.osd_status(self.request, paginate_opts={
                "service_id": servers[0].service_id
            })
        
        return context
Ejemplo n.º 15
0
    resp = json.dumps({"is_exsit": is_exsit})
    return HttpResponse(resp)


def update_table(request):
    try:
        _zones = vsmapi.get_zone_list(request, )
    except Exception, e:
        exceptions.handle(request, _('Unable to retrieve sever list. '))

    #generate the zone list
    zones = {}
    for _zone in _zones:
        zones.setdefault(_zone.id, _zone.name)

    _server_list = vsmapi.get_server_list(request)
    _new_server_list = []
    for _server in _server_list:
        _zone_name = ""
        _is_monitor = "no"
        if _server.zone_id in zones:
            _zone_name = zones[_server.zone_id]
        if "monitor" in _server.type:
            _is_monitor = "yes"
        _new_server = {
            "id": _server.id,
            "name": _server.host,
            "primary_public_ip": _server.primary_public_ip,
            "secondary_public_ip": _server.secondary_public_ip,
            "cluster_ip": _server.cluster_ip,
            "zone_id": _server.zone_id,
Ejemplo n.º 16
0
    resp = json.dumps({"is_exsit":is_exsit})
    return HttpResponse(resp)


def update_table(request):
    try:
        _zones = vsmapi.get_zone_list(request,)
    except Exception, e:
        exceptions.handle(request,_('Unable to retrieve sever list. '))

    #generate the zone list
    zones = {}
    for _zone in _zones:
        zones.setdefault(_zone.id, _zone.name)

    _server_list = vsmapi.get_server_list(request)
    _new_server_list = []
    for _server in _server_list:
        _zone_name = ""
        _is_monitor = "no"
        if _server.zone_id in zones:
            _zone_name = zones[_server.zone_id]
        if "monitor" in _server.type:
            _is_monitor = "yes"
        _new_server = {
            "id": _server.id,
            "name": _server.host,
            "primary_public_ip": _server.primary_public_ip,
            "secondary_public_ip": _server.secondary_public_ip,
            "cluster_ip": _server.cluster_ip,
            "zone_id": _server.zone_id,