Ejemplo n.º 1
0
 def _copy_fio_package_to_host(self):
     self.end_host_ip = test_utils.get_available_host_ip(self.params)
     self.fio_working_path = \
         self.fio_version[0:len(self.fio_version) - len('.tar.gz')]
     LOG.info('Copy file %s from local to %s' %
              (self.fio_version, self.mid_host_ip))
     remote.scp_to_remote(host=self.mid_host_ip,
                          port=22,
                          username=self.mid_host_user,
                          password=self.mid_host_password,
                          local_path=os.path.join(self.workload_path,
                                                  self.fio_version),
                          remote_path=self.dstpath)
     LOG.info('Copy file %s from %s to %s' %
              (self.fio_version, self.mid_host_ip, self.end_host_ip))
     remote.scp_between_remotes(src=self.mid_host_ip,
                                dst=self.end_host_ip,
                                port=22,
                                s_passwd=self.mid_host_password,
                                d_passwd=self.end_host_password,
                                s_name=self.mid_host_user,
                                d_name=self.end_host_user,
                                s_path=os.path.join(self.dstpath,
                                                    self.fio_version),
                                d_path=self.dstpath)
Ejemplo n.º 2
0
    def test_edit_pool(self):
        group_id = 1
        # Creating 1M rbd
        RBD_CAPACITY = 1024 * 1024

        self.pool_response = test_utils.create_pool(self.params, flag=True)
        self.pool_name = self.pool_response.get('name')
        self.pool_id = self.pool_response.get('id')
        self.rbd_response = test_utils.create_rbd_with_capacity(
            self.pool_id, self.params, RBD_CAPACITY)
        self.rbd_id = self.rbd_response.get('id')
        self.rbd_name = self.rbd_response.get('name')

        self.fio_working_path = \
            self.fio_version[0:len(self.fio_version) - len('.tar.gz')]
        LOG.info('Copy file %s from local to %s' %
                 (self.fio_version, self.mid_host_ip))
        remote.scp_to_remote(host=self.mid_host_ip,
                             port=22,
                             username=self.mid_host_user,
                             password=self.mid_host_password,
                             local_path=os.path.join(self.workload_path,
                                                     self.fio_version),
                             remote_path=self.dstpath)
        remote.scp_between_remotes(src=self.mid_host_ip,
                                   dst=self.end_host_ip,
                                   port=22,
                                   s_passwd=self.mid_host_password,
                                   d_passwd=self.end_host_passwprd,
                                   s_name=self.mid_host_user,
                                   d_name=self.end_host_user,
                                   s_path=os.path.join(self.dstpath,
                                                       self.fio_version),
                                   d_path=self.dstpath)
        self._write_rbd(self.pool_name, self.rbd_name, flag=True)
        self._check_rbd_write(self.pool_id, self.rbd_name, 0, 0)

        # Update the size and pg_num to the pool
        replicate = 2
        pg_num = 80
        self._update_pool(self.pool_id, replicate, group_id, pg_num)
        self.pool_name = \
            self._query_pool(self.pool_id, group_id, replicate, pg_num)

        self._write_rbd(self.pool_name, self.rbd_name, flag=True)
        self._check_rbd_write(self.pool_id, self.rbd_name, 0, 1024 * 1024)

        # Update the group to the pool
        group_id = 1
        self._update_pool(self.pool_id, replicate, group_id, pg_num)
        self.pool_name = \
            self._query_pool(self.pool_id, group_id, replicate, pg_num)

        self._write_rbd(self.pool_name, self.rbd_name, flag=True)
        self._check_rbd_write(self.pool_id, self.rbd_name, 0, 1024 * 1024)
Ejemplo n.º 3
0
    def test(self):
        LOG.info('Copy file %s from local to %s' % (self.fio_version,
                                                    self.mid_host_ip))
        remote.scp_to_remote(host=self.mid_host_ip,
                             port=22,
                             username=self.mid_host_user,
                             password=self.mid_host_password,
                             local_path=os.path.join(self.workload_path,
                                                     self.fio_version),
                             remote_path=self.dstpath)
        LOG.info('Copy file %s from %s to %s' % (self.fio_version,
                                                 self.mid_host_ip,
                                                 self.end_host_ip))
        remote.scp_between_remotes(src=self.mid_host_ip,
                                   dst=self.end_host_ip,
                                   port=22,
                                   s_passwd=self.mid_host_password,
                                   d_passwd=self.end_host_password,
                                   s_name=self.mid_host_user,
                                   d_name=self.end_host_user,
                                   s_path=os.path.join(self.dstpath,
                                                       self.fio_version),
                                   d_path=self.dstpath)

        self.pool_response = test_utils.create_pool(self.params, flag=True)
        self.pool_name = self.pool_response.get('name')
        self.pool_id = self.pool_response.get('id')

        self.rbd_response = test_utils.create_rbd_with_capacity(self.pool_id,
                                                                self.params,
                                                                RBD_CAPACITY)
        self.rbd_id = self.rbd_response.get('id')
        self.rbd_name = self.rbd_response.get('name')

        self.rbd_client = RbdClient(self.params)

        self.params['rbds_id'] = self.rbd_id
        self.params['pool_id'] = self.pool_id
        self.qos_client = QosClient(self.params)

        self.__test_operation(property_type='iops', rw='randwrite', flag=True)
        self.__test_operation(property_type='iops', rw='randread')
        self.__test_operation(property_type='iops', rw='randrw',
                              rw_type='rwmixread', rw_value=70)
        self.__test_operation(property_type='bw', rw='randwrite')
        self.__test_operation(property_type='bw', rw='randread')
        self.__test_operation(property_type='bw', rw='randrw',
                              rw_type='rwmixread', rw_value=70)
Ejemplo n.º 4
0
 def __copy_file(self):
     LOG.info('Copy file %s from local to %s' %
              (self.fio_version, self.mid_host_ip))
     remote.scp_to_remote(host=self.mid_host_ip,
                          port=22,
                          username=self.mid_host_user,
                          password=self.mid_host_password,
                          local_path=os.path.join(self.workload_path,
                                                  self.fio_version),
                          remote_path=self.dstpath)
     LOG.info('Copy file %s from %s to %s' %
              (self.fio_version, self.mid_host_ip, self.end_host_ip))
     remote.scp_between_remotes(src=self.mid_host_ip,
                                dst=self.end_host_ip,
                                port=22,
                                s_passwd=self.mid_host_password,
                                d_passwd=self.end_host_passwprd,
                                s_name=self.mid_host_user,
                                d_name=self.end_host_user,
                                s_path=os.path.join(self.dstpath,
                                                    self.fio_version),
                                d_path=self.dstpath)
Ejemplo n.º 5
0
    def test_image_write_read(self):
        RBD_CAPACITY = 10485760

        self.fio_working_path = \
            self.fio_version[0:len(self.fio_version) - len('.tar.gz')]
        LOG.info('Copy file %s from local to %s' %
                 (self.fio_version, self.mid_host_ip))
        remote.scp_to_remote(host=self.mid_host_ip,
                             port=22,
                             username=self.mid_host_user,
                             password=self.mid_host_password,
                             local_path=os.path.join(self.workload_path,
                                                     self.fio_version),
                             remote_path=self.dstpath)
        LOG.info('Copy file %s from %s to %s' %
                 (self.fio_version, self.mid_host_ip, self.end_host_ip))
        remote.scp_between_remotes(src=self.mid_host_ip,
                                   dst=self.end_host_ip,
                                   port=22,
                                   s_passwd=self.mid_host_password,
                                   d_passwd=self.end_host_password,
                                   s_name=self.mid_host_user,
                                   d_name=self.end_host_user,
                                   s_path=os.path.join(self.dstpath,
                                                       self.fio_version),
                                   d_path=self.dstpath)

        self.pool_response_before = test_utils.create_pool(self.params,
                                                           flag=True)
        self.pool_name_before = self.pool_response_before.get('name')
        self.pool_id_before = self.pool_response_before.get('id')
        self.rbd_response_before = test_utils.create_rbd_with_capacity(
            self.pool_id_before, self.params, RBD_CAPACITY)
        self.rbd_id_before = self.rbd_response_before.get('id')
        self.rbd_name_before = self.rbd_response_before.get('name')

        self.__write_rbd(self.pool_name_before,
                         self.rbd_name_before,
                         flag=True)
        self.__check_rbd_write(self.pool_id_before, self.rbd_name_before)

        self.server_name = test_utils.add_server(
            self.server_client, self.params.get('rest_arg_servername'),
            self.params.get('rest_arg_username'),
            self.params.get('rest_arg_password'),
            self.params.get('rest_arg_publicip'),
            self.params.get('rest_arg_clusterip'),
            self.params.get('rest_arg_managerip'),
            self.params.get('rest_arg_parent_bucket'))
        LOG.info("added server name is %s" % self.server_name)
        test_utils.expand_cluster(self.cluster_client, self.server_client,
                                  self.cluster_id, self.server_name)

        self.pool_response_after = test_utils.create_pool(self.params,
                                                          flag=True)
        self.pool_name_after = self.pool_response_after.get('name')
        self.pool_id_after = self.pool_response_after.get('id')
        self.rbd_response_after = test_utils.create_rbd_with_capacity(
            self.pool_id_after, self.params, RBD_CAPACITY)
        self.rbd_id_after = self.rbd_response_after.get('id')
        self.rbd_name_after = self.rbd_response_after.get('name')
        self.__write_rbd(self.pool_name_before, self.rbd_name_before)

        self.__check_rbd_write(self.pool_id_before, self.rbd_name_before)

        self.__write_rbd(self.pool_name_after, self.rbd_name_after)
        self.__check_rbd_write(self.pool_id_after, self.rbd_name_after)
Ejemplo n.º 6
0
    def test(self):
        LOG.info('Copy file %s from local to %s' %
                 (self.fio_version, self.mid_host_ip))
        remote.scp_to_remote(host=self.mid_host_ip,
                             port=22,
                             username=self.mid_host_user,
                             password=self.mid_host_password,
                             local_path=os.path.join(self.workload_path,
                                                     self.fio_version),
                             remote_path=self.dstpath)
        LOG.info('Copy file %s from %s to %s' %
                 (self.fio_version, self.mid_host_ip, self.end_host_ip))
        remote.scp_between_remotes(src=self.mid_host_ip,
                                   dst=self.end_host_ip,
                                   port=22,
                                   s_passwd=self.mid_host_password,
                                   d_passwd=self.end_host_passwprd,
                                   s_name=self.mid_host_user,
                                   d_name=self.end_host_user,
                                   s_path=os.path.join(self.dstpath,
                                                       self.fio_version),
                                   d_path=self.dstpath)
        self.__create_pool()
        self.__create_rbd()
        self.__write_rbd(True)

        self.__get_available_server()
        self.__get_available_osd()
        self.__down_osd()

        # self.__check_cluster_status()
        status = self.__wait_for_ceph_in_status()
        if not status:
            raise exceptions.TestFail('Cluster status must be HEALTH_OK, '
                                      'or HEALTH_WARN for clock skew detected')
        self.__write_rbd()

        self.__del_osd()
        self.__del_monitor()
        self.__del_server()

        self.server_name = test_utils.add_server(
            self.server_client, self.params.get('rest_arg_servername'),
            self.params.get('rest_arg_username'),
            self.params.get('rest_arg_password'),
            self.params.get('rest_arg_publicip'),
            self.params.get('rest_arg_clusterip'),
            self.params.get('rest_arg_managerip'),
            self.params.get('rest_arg_parent_bucket'))
        test_utils.expand_cluster(self.cluster_client, self.server_client,
                                  self.cluster_id, self.server_name)

        self.__create_monitor()
        status = self.__wait_for_ceph_in_status()
        if not status:
            raise exceptions.TestFail('Cluster status must be HEALTH_OK, '
                                      'or HEALTH_WARN for clock skew detected')
        # self.__check_cluster_status()
        self.__is_monitor_added()
        self.__create_pool()
        self.__create_rbd()
        self.__write_rbd()