Ejemplo n.º 1
0
    def create_volume(self, virtual_storage_id, name, size, description=None,
                      iops_per_gb=None, initiator_iqns=None, throughput=None,
                      availability_zone=None):
        """This API create additional Volume.

        :param virtual_storage_id: Virtual Storage ID.
        :param name: Name of volume.
        :param size: Size of volume in Gigabyte.
        :param description: Description of volume.
        :param iops_per_gb: Provisioned IOPS/GB for volume.
        :param throughput: Provisioned throughput for volume.
        :param initiator_iqns: List of initiator IQN who can access to this volume.
        :param availability_zone: Availability zone.
        :return: :class:`~ecl.storage.v1.volume.Volume`
        """
        body = {"virtual_storage_id": virtual_storage_id, "name": name, "size": size}
        if description:
            body["description"] = description
        if iops_per_gb:
            body["iops_per_gb"] = iops_per_gb
        if throughput:
            body["throughput"] = throughput
        if initiator_iqns:
            body["initiator_iqns"] = initiator_iqns
        if availability_zone:
            body["availability_zone"] = availability_zone
        volume = _volume.Volume()
        return volume.create(self.session, **body)
Ejemplo n.º 2
0
 def test_basic(self):
     sot = v.Volume()
     self.assertEqual('volume', sot.resource_key)
     self.assertEqual('volumes', sot.resources_key)
     self.assertEqual('/volumes', sot.base_path)
     self.assertTrue(sot.allow_list)
     self.assertTrue(sot.allow_get)
     self.assertTrue(sot.allow_create)
     self.assertTrue(sot.allow_update)
     self.assertTrue(sot.allow_delete)
     self.assertEqual('storage', sot.service.service_type)
Ejemplo n.º 3
0
    def update_volume(self, volume_id, **body):
        """This API update existing volume.

        :param kwargs body: Request parameter to update volume.

            * volume_id: ID for the requested volume.
            * name: Name of volume.
            * description: Description of volume.
            * initiator_iqns: List of initiator IQN who can access to this volume.
        :return: :class:`~ecl.storage.v1.volume.Volume`
        """
        volume = _volume.Volume()
        return volume.update(self.session, volume_id, **body)
Ejemplo n.º 4
0
 def test_make_basic(self):
     sot = v.Volume(**BASIC_EXAMPLE)
     self.assertEqual(BASIC_EXAMPLE['id'], sot.id)
     self.assertEqual(BASIC_EXAMPLE['name'], sot.name)
     self.assertEqual(BASIC_EXAMPLE['description'], sot.description)
     self.assertEqual(BASIC_EXAMPLE['status'], sot.status)
     self.assertEqual(BASIC_EXAMPLE['size'], sot.size)
     self.assertEqual(BASIC_EXAMPLE['iops_per_gb'], sot.iops_per_gb)
     self.assertEqual(BASIC_EXAMPLE['initiator_iqns'], sot.initiator_iqns)
     self.assertEqual(BASIC_EXAMPLE['initiator_secret'], sot.initiator_secret)
     self.assertEqual(BASIC_EXAMPLE['target_secret'], sot.target_secret)
     self.assertEqual(BASIC_EXAMPLE['snapshot_ids'], sot.snapshot_ids)
     self.assertEqual(BASIC_EXAMPLE['target_ips'], sot.target_ips)
     self.assertEqual(BASIC_EXAMPLE['metadata'], sot.metadata)
     self.assertEqual(BASIC_EXAMPLE['virtual_storage_id'], sot.virtual_storage_id)
     self.assertEqual(BASIC_EXAMPLE['availability_zone'], sot.availability_zone)
     self.assertEqual(BASIC_EXAMPLE['created_at'], sot.created_at)
     self.assertEqual(BASIC_EXAMPLE['updated_at'], sot.updated_at)
     self.assertEqual(BASIC_EXAMPLE['error_message'], sot.error_message)
     self.assertEqual(BASIC_EXAMPLE['throughput'], sot.throughput)
     self.assertEqual(BASIC_EXAMPLE['export_rules'], sot.export_rules)