コード例 #1
0
def edit_disk(disk_id, pool):
    if request.method == 'GET' or request.method == 'POST':
        size_list_aval = [
            1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 150, 250,
            300, 400, 450, 500, 600, 700, 800, 900, 1024, 2048, 3072, 4096,
            5120, 10240, 20480, 30720, 51200, 102400
        ]

        result = ""
        if list_err in session:

            result = session[list_err]
            session.pop(list_err)
            manage_disk = ManageDisk()
            disk = manage_disk.get_disk(disk_id, pool)
            return render_template('admin/disk/edit_disk.html',
                                   disk=disk,
                                   size_list=size_list_aval,
                                   err=result)

        elif list_warning in session:
            result = session[list_warning]
            session.pop(list_warning)
            manage_disk = ManageDisk()
            disk = manage_disk.get_disk(disk_id, pool)
            return render_template('admin/disk/edit_disk.html',
                                   disk=disk,
                                   size_list=size_list_aval,
                                   warning=result)

        elif list_success in session:
            result = session[list_success]
            session.pop(list_success)
            manage_disk = ManageDisk()
            disk = manage_disk.get_disk(disk_id, pool)
            return render_template('admin/disk/edit_disk.html',
                                   disk=disk,
                                   size_list=size_list_aval,
                                   success=result)

        else:
            manage_disk = ManageDisk()
            disk = manage_disk.get_disk(disk_id, pool)
            paths = disk.get_paths()
            config = configuration()
            iscsi_1_eth_name = config.get_cluster_info().iscsi_1_eth_name
            iscsi_2_eth_name = config.get_cluster_info().iscsi_2_eth_name
            paths_iscsi_1 = []
            paths_iscsi_2 = []
            for path in paths:
                if path.eth == iscsi_1_eth_name:
                    paths_iscsi_1.append(path.ip)
                elif path.eth == iscsi_2_eth_name:
                    paths_iscsi_2.append(path.ip)
            return render_template('admin/disk/edit_disk.html',
                                   disk=disk,
                                   paths_iscsi_1=paths_iscsi_1,
                                   paths_iscsi_2=paths_iscsi_2,
                                   size_list=size_list_aval)
コード例 #2
0
def get_disk_info_by_id_pool(disk_id, pool):
    if request.method == 'GET' or request.method == 'POST':
        try:
            manage_disk = ManageDisk()
            disk = manage_disk.get_disk(disk_id, pool)
            paths = disk.get_paths()
            config = configuration()
            iscsi_1_eth_name = config.get_cluster_info().iscsi_1_eth_name
            iscsi_2_eth_name = config.get_cluster_info().iscsi_2_eth_name
            paths_iscsi_1 = []
            paths_iscsi_2 = []
            for path in paths:
                if path.eth == iscsi_1_eth_name:
                    paths_iscsi_1.append(path.ip)
                elif path.eth == iscsi_2_eth_name:
                    paths_iscsi_2.append(path.ip)
            disk = disk.__dict__
            disk.update({
                "paths_iscsi_1": paths_iscsi_1,
                "paths_iscsi_2": paths_iscsi_2
            })
            return json.dumps(disk)

        except Exception as e:
            logger.error(e)
            return -1
コード例 #3
0
def attach_diskk(disk_id):
    manage_disk = ManageDisk()
    disk_meta = DiskMeta()
    disk_meta.id = disk_id
    disk_meta.disk_name = "mostafa07"
    disk_meta.size = 6
    status = manage_disk.attach_disk(disk_meta, None, PathType.both, 2)
    print(status)
    disk = manage_disk.get_disk(disk_id)
    print disk.id, disk.disk_name, disk.size, [p for p in disk.paths]
コード例 #4
0
def update_disk(disk_id, name):
    manage_disk = ManageDisk()
    disk_meta = DiskMeta()
    disk_meta.disk_name = "sanatech" + str(name)
    disk_meta.size = 3
    disk_meta.id = disk_id
    #disk_meta.password="******"
    #disk_meta.user="******"
    status = manage_disk.edit_disk(disk_meta, True)
    print status

    disk = manage_disk.get_disk(disk_id)
    print disk.id, disk.size, [p for p in disk.paths]
コード例 #5
0
def get_disk_info(disk_id):
    manage_disk = ManageDisk()
    i = manage_disk.get_disk(disk_id)
    print i.user, i.disk_name, i.ip, i.ip2, i.subnet1, i.subnet2, i.password, i.id, i.iqn, i.size
コード例 #6
0
def deattach_disk(disk_id):
    ceph_manage = ManageDisk()
    ceph_manage.detach_disk(disk_id)
    disk = ceph_manage.get_disk(disk_id)
    print disk.id, disk.disk_name, disk.size, [p for p in disk.paths]
コード例 #7
0
def attach_disk(disk_id, pool):
    if request.method == 'GET' or request.method == 'POST':
        failed_pools = 0
        manage_pool = ManagePools()
        active_pools = manage_pool.get_active_pools()
        all_pools = manage_pool.get_pools_info()
        if len(all_pools) > len(active_pools):
            failed_pools = len(all_pools) - len(active_pools)

        manage_config = ManageConfig()
        subnet1_info = manage_config.get_iscsi1_subnet()
        subnet2_info = manage_config.get_iscsi2_subnet()
        size_list_aval = [
            1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 150, 250,
            300, 400, 450, 500, 600, 700, 800, 900, 1024, 2048, 3072, 4096,
            5120, 10240, 20480, 30720, 51200, 102400
        ]

        result = ""
        if list_err in session:
            result = session[list_err]
            session.pop(list_err)
            manage_disk = ManageDisk()
            disk = manage_disk.get_disk(disk_id, pool)
            form1 = add_disk_form()
            form1.id = disk.id
            form1.diskSize = disk.size
            form1.pool = pool
            form1.data_pool = disk.data_pool
            form1.diskName = disk.disk_name
            form1.is_replication_target = disk.is_replication_target
            return render_template('admin/disk/attach_disk.html',
                                   subnet1=subnet1_info,
                                   subnet2=subnet2_info,
                                   form=form1,
                                   failed_pools=failed_pools,
                                   size_list=size_list_aval,
                                   err=result)

        elif list_warning in session:
            result = session[list_warning]
            session.pop(list_warning)
            manage_disk = ManageDisk()
            disk = manage_disk.get_disk(disk_id, pool)
            form1 = add_disk_form()
            form1.id = disk.id
            form1.diskSize = disk.size
            form1.pool = pool
            form1.data_pool = disk.data_pool
            form1.diskName = disk.disk_name
            form1.is_replication_target = disk.is_replication_target
            return render_template('admin/disk/attach_disk.html',
                                   subnet1=subnet1_info,
                                   subnet2=subnet2_info,
                                   form=form1,
                                   failed_pools=failed_pools,
                                   size_list=size_list_aval,
                                   warning=result)

        elif list_success in session:
            result = session[list_success]
            session.pop(list_success)
            manage_disk = ManageDisk()
            disk = manage_disk.get_disk(disk_id, pool)
            form1 = add_disk_form()
            form1.id = disk.id
            form1.diskSize = disk.size
            form1.pool = pool
            form1.data_pool = disk.data_pool
            form1.diskName = disk.disk_name
            form1.is_replication_target = disk.is_replication_target
            return render_template('admin/disk/attach_disk.html',
                                   subnet1=subnet1_info,
                                   subnet2=subnet2_info,
                                   form=form1,
                                   failed_pools=failed_pools,
                                   size_list=size_list_aval,
                                   success=result)

        else:
            is_not_petasan_warning = ''
            manage_disk = ManageDisk()
            disk = manage_disk.get_disk(disk_id, pool)
            form1 = add_disk_form()
            if disk.is_petasan_image is not None and disk.is_petasan_image == False:
                form1.diskName = disk.id
                is_not_petasan_warning = "ui_admin_attach_disk_warning_disk_is_not_petasan"
            form1.id = disk.id
            form1.diskSize = disk.size
            form1.pool = pool
            form1.data_pool = disk.data_pool
            form1.diskName = disk.disk_name
            form1.is_replication_target = disk.is_replication_target
            if is_not_petasan_warning != '':
                result = is_not_petasan_warning
            return render_template('admin/disk/attach_disk.html',
                                   subnet1=subnet1_info,
                                   subnet2=subnet2_info,
                                   form=form1,
                                   failed_pools=failed_pools,
                                   size_list=size_list_aval,
                                   warning=result)