Bug 2002772
| Summary: | RBD: use correct stripe unit in clone operation | |||
|---|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Giulio Fidente <gfidente> | |
| Component: | openstack-cinder | Assignee: | Jon Bernard <jobernar> | |
| Status: | CLOSED ERRATA | QA Contact: | Tzach Shefi <tshefi> | |
| Severity: | high | Docs Contact: | ||
| Priority: | high | |||
| Version: | 16.2 (Train) | CC: | eharney, gcharot, jobernar, jvisser, ltoscano, pgrist, spower, sputhenp, tvignaud, vfarias, yrabl | |
| Target Milestone: | z1 | Keywords: | Triaged | |
| Target Release: | 16.2 (Train on RHEL 8.4) | Flags: | tvignaud:
needinfo+
|
|
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | openstack-cinder-15.6.1-2.20210528143333.el8ost.3 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 2006888 (view as bug list) | Environment: | ||
| Last Closed: | 2021-12-09 20:41:21 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 2006888 | |||
|
Description
Giulio Fidente
2021-09-09 16:56:19 UTC
Hey Giulio, In order to verify this bz I need to create a volume from an image, this I understand. However What I'm unsure about is how do I create a "source RBD image may have a larger stripe unit than cinder's RBD driver is configured for." ? First of all where do I see the current RBD drivers stripe unit? Cinder.conf only includes two references related to stripe, but they're related to backup image: [heat-admin@controller50-1 ~]$ sudo grep -irn stripe /var/lib/config-data/puppet-generated/cinder/etc/cinder/cinder.conf 66:# RBD stripe unit to use when creating a backup image. (integer value) 67:#backup_ceph_stripe_unit = 0 69:# RBD stripe count to use when creating a backup image. (integer value) 70:#backup_ceph_stripe_count = 0 Once I do find this "RBD driver stripe unit", how do I create an image that is larger than it? Thanks We haven't added in TripleO any parameter to configure the stripe size in either glance/cinder yet; that is tracked by [1] This bug instead is about a feature in cinder which will adapt the clone chunk size to that of the image it is cloning, when using rbd backend. It should be visible using a "# rbd image -p images info $image_id" on a controller node, then repeating that same command against a clone created in cinder pool from the image, for example "# rbd image -p volumes info $volume_id"; $image_id is the glance image id and $volume_id is the clone id created in cinder. 1. https://bugzilla.redhat.com/show_bug.cgi?id=2002755 Verified on:
openstack-cinder-15.6.1-2.20210528143333.el8ost.3.noarch
On a deployment with external RHCS5
Uploaded a cirros image:
(overcloud) [stack@undercloud-0 ~]$ glance image-show d2c7bb20-1797-4515-9cf9-1543297c1dcf
+----------------------------------+----------------------------------------------------------------------------------+
| Property | Value |
+----------------------------------+----------------------------------------------------------------------------------+
| checksum | 443b7623e27ecf03dc9e01ee93f67afe |
| container_format | bare |
| created_at | 2021-10-13T09:45:09Z |
| direct_url | rbd://6519ed48-2bd2-11ec-873c-5254009bb8c4/images/d2c7bb20-1797-4515-9cf9-154329 |
| | 7c1dcf/snap |
| disk_format | qcow2 |
| id | d2c7bb20-1797-4515-9cf9-1543297c1dcf |
| locations | [{"url": "rbd://6519ed48-2bd2-11ec-873c-5254009bb8c4/images/d2c7bb20-1797-4515-9 |
| | cf9-1543297c1dcf/snap", "metadata": {"store": "default_backend"}}] |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros |
| os_hash_algo | sha512 |
| os_hash_value | 6513f21e44aa3da349f248188a44bc304a3653a04122d8fb4535423c8e1d14cd6a153f735bb0982e |
| | 2161b5b5186106570c17a9e58b64dd39390617cd5a350f78 |
| os_hidden | False |
| owner | 8007fd8ef4a348159d4f0360b9a9df7d |
| owner_specified.openstack.md5 | |
| owner_specified.openstack.object | images/cirros |
| owner_specified.openstack.sha256 | |
| protected | False |
| size | 12716032 |
| status | active |
| stores | default_backend |
| tags | [] |
| updated_at | 2021-10-13T09:45:12Z |
| virtual_size | Not available |
| visibility | public |
+----------------------------------+----------------------------------------------------------------------------------+
Successfully booted a new instance from image (create bootable volume):
(overcloud) [stack@undercloud-0 ~]$ nova boot --flavor tiny --block-device source=image,id=d2c7bb20-1797-4515-9cf9-1543297c1dcf,dest=volume,size=1,shutdown=preserve,bootindex=0 myInstanceFromVolume --nic net-id=0ee6ba6a-0d24-452f-b40c-81b9a3cee4f8
+--------------------------------------+-------------------------------------------------+
| Property | Value |
+--------------------------------------+-------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | |
| OS-EXT-SRV-ATTR:host | - |
| OS-EXT-SRV-ATTR:hostname | myinstancefromvolume |
| OS-EXT-SRV-ATTR:hypervisor_hostname | - |
| OS-EXT-SRV-ATTR:instance_name | |
| OS-EXT-SRV-ATTR:kernel_id | |
| OS-EXT-SRV-ATTR:launch_index | 0 |
| OS-EXT-SRV-ATTR:ramdisk_id | |
| OS-EXT-SRV-ATTR:reservation_id | r-f2g0eqlm |
| OS-EXT-SRV-ATTR:root_device_name | - |
| OS-EXT-SRV-ATTR:user_data | - |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-STS:task_state | scheduling |
| OS-EXT-STS:vm_state | building |
| OS-SRV-USG:launched_at | - |
| OS-SRV-USG:terminated_at | - |
| accessIPv4 | |
| accessIPv6 | |
| adminPass | c2zHHarUvX4V |
| config_drive | |
| created | 2021-10-13T10:26:48Z |
| description | - |
| flavor:disk | 1 |
| flavor:ephemeral | 0 |
| flavor:extra_specs | {} |
| flavor:original_name | tiny |
| flavor:ram | 512 |
| flavor:swap | 0 |
| flavor:vcpus | 1 |
| hostId | |
| host_status | |
| id | 7779e2e2-2e85-405f-a5b2-ac52145d0ffb |
| image | Attempt to boot from volume - no image supplied |
| key_name | - |
| locked | False |
| locked_reason | - |
| metadata | {} |
| name | myInstanceFromVolume |
| os-extended-volumes:volumes_attached | [] |
| progress | 0 |
| security_groups | default |
| server_groups | [] |
| status | BUILD |
| tags | [] |
| tenant_id | 8007fd8ef4a348159d4f0360b9a9df7d |
| trusted_image_certificates | - |
| updated | 2021-10-13T10:26:48Z |
| user_id | e471ecb3402d409495ba53c8f9cd0b2b |
+--------------------------------------+-------------------------------------------------+
(overcloud) [stack@undercloud-0 ~]$ nova list
+--------------------------------------+----------------------+--------+------------+-------------+-----------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+----------------------+--------+------------+-------------+-----------------------------------+
| 7779e2e2-2e85-405f-a5b2-ac52145d0ffb | myInstanceFromVolume | ACTIVE | - | Running | internal=192.168.0.12 |
As can be seen the instance is up, we can ssh into it:
login as 'cirros' user. default password: 'gocubsgo'. use 'sudo' for root.
myinstancefromvolume login: cirros
Password:
$
$ #inside instance, yay!
Thus confirming volume clone worked as expected once chunk issue fixed.
Had the chunk size mismatch not been fixed the volume/instance wouldn't have booted up.
Good to verify.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Release of components for Red Hat OpenStack Platform 16.2.1 (Train)), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2021:5067 The needinfo request[s] on this closed bug have been removed as they have been unresolved for 500 days |