Commit Graph

311 Commits

Author SHA1 Message Date
Zuul 929d2e1e96 Update git submodules
* Update os-brick from branch 'master'
  to 3f17bca07d4cf3d7cf9d591c13124fc53eedbf47
  - Merge "Update master for stable/2024.1"
  - Update master for stable/2024.1
    
    Add file to the reno documentation build to show release notes for
    stable/2024.1.
    
    Use pbr instruction to increment the minor version number
    automatically so that master versions are higher than the versions on
    stable/2024.1.
    
    Sem-Ver: feature
    Change-Id: I8c58db8c491fb9c66933ea44be60cadadd7b66b1
2024-03-15 14:48:34 +00:00
Zuul 42de27fa8a Update git submodules
* Update os-brick from branch 'master'
  to 1014dc16dd92f581103ce7e5efd139d0762f71bd
  - Merge "reno: Update master for victoria Unmaintained status"
  - reno: Update master for victoria Unmaintained status
    
    The stable/victoria branch has been deleted, so reno can't find its
    release notes.  Use the victoria-eom tag to indicate the end of the
    Cinder project's maintenance of the Victoria series.
    
    This strategy is what we used for the yoga transition, and was
    discussed at a cinder weekly meeting:
    https://meetings.opendev.org/irclogs/%23openstack-meeting-alt/%23openstack-meeting-alt.2024-02-07.log.html#t2024-02-07T14:06:09
    
    Change-Id: Ie986152d5fbba36a6102f9c0edafdf123f9ba3fe
2024-03-12 18:34:10 +00:00
Zuul be2afc9dc2 Update git submodules
* Update os-brick from branch 'master'
  to d32d3c5ddc14de0968bc8d6d254932a2c2d8b8b4
  - Merge "reno: Update master for wallaby Unmaintained status"
  - reno: Update master for wallaby Unmaintained status
    
    The stable/wallaby branch has been deleted, so reno can't find its
    release notes.  Use the wallaby-eom tag to indicate the end of the
    Cinder project's maintenance of the Wallaby series.
    
    This strategy is what we used for the yoga transition, and was
    discussed at a cinder weekly meeting:
    https://meetings.opendev.org/irclogs/%23openstack-meeting-alt/%23openstack-meeting-alt.2024-02-07.log.html#t2024-02-07T14:06:09
    
    Change-Id: I95d26dad9d6fccfe804bd236fba97dc3c83eb017
2024-03-12 18:31:54 +00:00
OpenStack Release Bot 935570ff5b Update git submodules
* Update os-brick from branch 'master'
  to bcca9cd8f26c263b417da4f44c8afa1f2ae2af13
  - reno: Update master for xena Unmaintained status
    
    The stable/xena branch has been deleted, so reno can't find its
    release notes.  Use the xena-eom tag to indicate the end of the
    Cinder project's maintenance of the Xena series.
    
    This strategy is what we used for the yoga transition, and was
    discussed at a cinder weekly meeting:
    https://meetings.opendev.org/irclogs/%23openstack-meeting-alt/%23openstack-meeting-alt.2024-02-07.log.html#t2024-02-07T14:06:09
    
    Change-Id: I498caa035a92bae70bb3e8e3a230b7c790642aa9
2024-03-12 08:04:58 +00:00
Zuul 7332882da6 Update git submodules
* Update os-brick from branch 'master'
  to 84fe1810c8c06e117d2afa70d3b425b5e9466e9b
  - Merge "Deprecate Windows OS support"
  - Deprecate Windows OS support
    
    Unfortunately the Winstackers project has been retired because of no
    maintainers[1][2], and OpenStack on Windows host is no longer
    maintained.
    
    [1] https://lists.openstack.org/pipermail/openstack-discuss/2022-November/031044.html
    [2] https://review.opendev.org/c/openstack/governance/+/886880
    
    Change-Id: I97a441700304765e6db33f3827d5146fed09a919
2024-02-21 19:17:10 +00:00
Zuul 52a36e88a5 Update git submodules
* Update os-brick from branch 'master'
  to 04ada3cbcce2a43cd3540dd78b5fa90db2b681d5
  - Merge "Add releasenote for unchecked LVM versions"
  - Add releasenote for unchecked LVM versions
    
    This is a followup of[1][2] where we remove checks for certain
    LVM versions.
    This patch adds a releasenote for stating that we have removed
    checks for certain LVM versions and the minimum supported version
    should be 2.02.115
    
    [1] https://review.opendev.org/c/openstack/os-brick/+/891318
    [2] https://review.opendev.org/c/openstack/os-brick/+/891319
    
    Change-Id: Id96540b3e7fae24bed2856ad08ced907d4b71aa6
2024-02-21 16:47:57 +00:00
Zuul 4e0fd1fec9 Update git submodules
* Update os-brick from branch 'master'
  to f33b2b2b832ca642dece5decbb1e77caac0c865e
  - Merge "Dell PowerFlex: Unnecessary login happen"
  - Dell PowerFlex: Unnecessary login happen
    
    The Dell PowerFlex (scaleio) connector maintains a token cache
    for PowerFlex OS.
    The cache was overwritten with None by misktake
    in Change-ID I6f01a178616b74ed9a86876ca46e7e46eb360518.
    This patch fixes the broken cache to avoid unnecessary login.
    
    Closes-Bug: #2004630
    Change-Id: I2399b0b2af8254cd5697b44dcfcec553c2845bec
2024-02-21 16:47:55 +00:00
Zuul 217bbaa8bc Update git submodules
* Update os-brick from branch 'master'
  to d1ee8f4d1c305bd3ff15c9135be75193665f603c
  - Merge "LVM: Assume LVM >= 2.02.115"
  - LVM: Assume LVM >= 2.02.115
    
    Stop checking for support of lvcreate -l 100%FREE.
    
    LVM 2.02.115 was released in 2015.
    
    Change-Id: Ifd515ac7efd2ed23ef2715dd28e723907c28997e
2024-02-21 16:35:10 +00:00
Zuul 845b6adc02 Update git submodules
* Update os-brick from branch 'master'
  to 2d733e47a8fd9d2eddd3e9b86f2aac5bc3105511
  - Merge "LVM: Assume version >= 2.02.99"
  - LVM: Assume version >= 2.02.99
    
    Stop testing for presence of
    - lv activation support (added in 2.02.91)
    - thin provisioning (added in 2.02.95)
    - --ignoreactivationskip (added in 2.02.99)
    
    2.02.99 was released in 2013.
    
    Change-Id: I98bbe898bb1e75aa519dddfd44546fe9d477392f
2024-02-19 15:08:26 +00:00
Zuul fede6fe79e Update git submodules
* Update os-brick from branch 'master'
  to 7e0a7f8f81508237e467cc4b6dc62960f3ad660e
  - Merge "Fix: FC partial target scan"
  - Fix: FC partial target scan
    
    When fetching the target value (T in HCTL) for the storage HBAs,
    we use the /sys/class/fc_transport path to find available targets.
    However, this path only contains targets that already have a LUN
    attached from, to the host.
    
    Scenario:
    If we have 2 controllers on the backend side with 4 target HBAs each (total 8).
    For the first LUN mapping from controller1, we will do a wildcard
    scan and find the 4 targets from controller1 which will get
    populated in the /fc_transport path.
    If we try mapping a LUN from controller2, we try to find targets in the
    fc_transport path but the path only contains targets from controller1 so
    we will not be able to discover the LUN from controller2 and fail with
    NoFibreChannelVolumeDeviceFound exception.
    
    Solution:
    In each rescan attempt, we will first search for targets in the
    fc_transport path: "/sys/class/fc_transport/target<host>*".
    If the target in not found then we will search in the fc_remote_ports
    path: "/sys/class/fc_remote_ports/rport-<host>*"
    
    If a [c,t,l] combination is found from either path, we add it to
    the list of ctls we later use it for scanning.
    
    This way, we don't alter the current "working" mechanism of scanning
    but also add an additional way of discovering targets and improving
    the scan to avoid failure scenarios in each rescan attempt.
    
    Closes-Bug: #2051237
    Change-Id: Ia74b0fc24e0cf92453e65d15b4a76e565ed04d16
2024-02-15 02:09:13 +00:00
Zuul 283c86354b Update git submodules
* Update os-brick from branch 'master'
  to 72743a2139a593554d4f4f311598223e9db17f37
  - Merge "encryptors: Unbind LuksEncryptor and CryptsetupEncryptor"
  - encryptors: Unbind LuksEncryptor and CryptsetupEncryptor
    
    We want to remove the deprecated 'CryptsetupEncryptor' encryptor, but
    'LuksEncryptor' and the 'Luks2Encryptor' subclass depend on it. Fix this
    by copying across the common code, allowing us to remove
    'CryptsetupEncryptor' in a future change.
    
    Change-Id: I7c523dc982803b337a51c111b01e170bba7c341f
    Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2024-02-13 00:04:34 +00:00
OpenStack Release Bot 5188198cc7 Update git submodules
* Update os-brick from branch 'master'
  to f03f528d7440a2a0494642652c26639048468820
  - reno: Update master for yoga Unmaintained status
    
    The stable/yoga branch has been deleted, so reno can't find its
    release notes.  Use the yoga-eom tag to indicate the end of the
    Cinder project's maintenance of the Yoga series.
    
    This strategy was agreed upon at today's cinder weekly meeting:
    https://meetings.opendev.org/irclogs/%23openstack-meeting-alt/%23openstack-meeting-alt.2024-02-07.log.html#t2024-02-07T14:06:09
    
    Change-Id: Id62a486aa66bf924a0ede98ec66e71586d1b806f
2024-02-09 15:16:09 +00:00
Zuul aba21e3d97 Update git submodules
* Update os-brick from branch 'master'
  to 7ad6acdff509b49a0a2ff39efe0af8e6123a6144
  - Merge "NVMe-oF: Support nvme cli v2"
  - NVMe-oF: Support nvme cli v2
    
    The nvme cli has changed its behavior, now they no longer differentiate
    between errors returning a different exit code.
    
    Exit code 1 is for errors and 0 for success.
    
    This patch fixes the detection of race conditions to also look for the
    message in case it's a newer CLI version.
    
    Together with change I318f167baa0ba7789f4ca2c7c12a8de5568195e0 we are
    ready for nvme CLI v2.
    
    Closes-Bug: #1961222
    Change-Id: Idf4d79527e1f03cec754ad708d069b2905b90d3f
2024-01-10 14:12:09 +00:00
Zuul 9a13ae9464 Update git submodules
* Update os-brick from branch 'master'
  to 6dec29040deb76c117380536cec0655d7e3645aa
  - Merge "NVME-oF: Fix to support new "address" in sysfs"
  - NVME-oF: Fix to support new "address" in sysfs
    
    Attaching NVMe-oF no longer works in CentosOS 9 stream using nvme 2.4
    and libnvme 1.4.
    
    The reason is that the 'address' file in sysfs now has the 'src_addr'
    information.
    
    Before we had:
       traddr=127.0.0.1,trsvcid=4420 After:
    
    Now we have:
       traddr=127.0.0.1,trsvcid=4420,src_addr=127.0.0.1
    
    This patch fixes this issue and future proofs for any additional
    information that may be added by parsing the contents and searching for
    the parts we care: destination address and port.
    
    Closes-Bug: #2035811
    Change-Id: I7a33f38fb1b215dd23e2cff3ffa79025cf19def7
2024-01-10 14:09:06 +00:00
Zuul 2c98cc78ca Update git submodules
* Update os-brick from branch 'master'
  to c1feb4f86f14fd732cf68c54b933d4474fa6cfb9
  - Merge "Update python classifier in setup.cfg"
  - Update python classifier in setup.cfg
    
    As per the current release tested runtime, we test
    till python 3.11 so updating the same in python
    classifier in setup.cfg
    
    Change-Id: I06e453b6d02ac8c7b615d3d61b06173eb249dc27
2024-01-09 23:29:21 +00:00
Zuul e7348eef34 Update git submodules
* Update os-brick from branch 'master'
  to f1fcd9a75d52774569b63eaca15df27c156f1ba0
  - Merge "NVMe-oF: Fix attach when reconnecting"
  - NVMe-oF: Fix attach when reconnecting
    
    When an nvme subsystem has all portals in connecting state and we try
    to attach a new volume to that same subsystem it will fail.
    
    We can reproduce it with LVM+nvmet if we configure it to share targets
    and then:
    - Create instance
    - Attach 2 volumes
    - Delete instance (this leaves the subsystem in connecting state [1])
    - Create instance
    - Attach volume <== FAILS
    
    The problem comes from the '_connect_target' method that ignores
    subsystems in 'connecting' state, so if they are all in that state it
    considers it equivalent to all portals being inaccessible.
    
    This patch changes this behavior and if we cannot connect to a target
    but we have portals in 'connecting' state we wait for the next retry of
    the nvme linux driver. Specifically we wait 10 more seconds that the
    interval between retries.
    
    [1]: https://bugs.launchpad.net/nova/+bug/2035375
    
    Closes-Bug: #2035695
    Change-Id: Ife710f52c339d67f2dcb160c20ad0d75480a1f48
2024-01-09 07:20:14 +00:00
Zuul d60677615c Update git submodules
* Update os-brick from branch 'master'
  to 136f76efd452d71f7463b37bf5e080466eaff98e
  - Merge "NVMe-oF: Improve hostnqn creation"
  - NVMe-oF: Improve hostnqn creation
    
    This patch improves the creation of the /etc/nvme/hostnqn file by using
    the system UUID value we usually already know.
    
    This saves us one or two calls to the nvme-cli command and it also
    allows older nvme-cli versions that don't have the `show-hostnqn`
    command or have it but can only read from file to generate the same
    value every time, which may be useful when running inside a container
    under some circumstances.
    
    Change-Id: Ib250d213295695390dbdbb3506cb297a86e95218
2024-01-06 11:51:57 +00:00
Zuul dc3d33ef00 Update git submodules
* Update os-brick from branch 'master'
  to 8e960a9bcd2458ab0281f8c56ec41e2f44cee7b8
  - Merge "NVMe-oF: Fix generation of hostnqn file"
  - NVMe-oF: Fix generation of hostnqn file
    
    In some old nvme-cli versions the NVMe-oF create_hostnqn method fails.
    
    This happens specifically on versions between not having the
    show-hostnqn command and having it always return a value. On those
    version the command only returns the value present in the file and never
    tries to return an idempotent or random value.
    
    This patch adds for that specific case, which is identified by the
    stderr message:
    
       hostnqn is not available -- use nvme gen-hostnqn
    
    Closes-Bug: #2035606
    Change-Id: Ic57d0fd85daf358e2b23326022fc471f034b0a2f
2024-01-06 11:34:20 +00:00
Zuul df071aa529 Update git submodules
* Update os-brick from branch 'master'
  to 504836db482caffb47240137e0d572c9763defba
  - Merge "Dell Powerflex: Add new VOLUME_NOT_MAPPED_ERROR"
  - Dell Powerflex: Add new VOLUME_NOT_MAPPED_ERROR
    
    Dell Powerflex 4.x changed the error code of VOLUME_NOT_MAPPED_ERROR
    to 4039. This patch adds that error code.
    
    Closes-Bug: #2046810
    Change-Id: I76aa9e353747b1651480efb0f3de11c707fe5abe
2024-01-05 18:37:16 +00:00
Zuul b4ab3ed73b Update git submodules
* Update os-brick from branch 'master'
  to aa83cc22e5a10b82f69ebd5c2db9fff1dad74242
  - Merge "Remove unnecessary 'type: ignore' comments"
  - Remove unnecessary 'type: ignore' comments
    
    The mypy job complaints about 'exc' variable[1] since it was used
    for ExceptionChainer as well as TargetPortalNotFound exception.
    Changing the variable name for TargetPortalNotFound exception from
    'exc' to 'target_exc' makes the 'type: ignore' comments unnecessary.
    
    [1] Trying to read deleted variable 'exc'
    
    Change-Id: I4b10db0754f0e00bb02d3a60f9aaf88b90466a8f
2024-01-04 18:53:38 +00:00
Zuul 9d21029c92 Update git submodules
* Update os-brick from branch 'master'
  to 0e90d8e4c98962fa1f2740ec7b353d1e84daa5f7
  - Merge "tox: Don't share envdir between pep8 and fast8"
  - tox: Don't share envdir between pep8 and fast8
    
    This no longer works, so just drop it.
    
    fast8: recreate env because env type changed from
    {'name': 'pep8', 'type': 'VirtualEnvRunner'} to
    {'name': 'fast8', 'type': 'VirtualEnvRunner'}
    
    Tox stated here in 2022 that this functionality is
    not intended to be supported:
    https://github.com/tox-dev/tox/issues/425#issuecomment-1011944293
    
    Change-Id: I99b36cb6c906872efa4c7f943001511af917c3be
2023-12-19 17:33:59 +00:00
Zuul 3ed7199d2b Update git submodules
* Update os-brick from branch 'master'
  to f67655291a0b87c02c37c4218b4bbf97e4cbca9e
  - Merge "Support hacking>=6.0.0"
  - Support hacking>=6.0.0
    
    Removes a direct dependency on pycodestyle which we
    no longer need.
    
    Change-Id: I5a8cfb5d44324f1b7822728829b3362921933117
2023-12-15 22:13:13 +00:00
Zuul 987ff224cd Update git submodules
* Update os-brick from branch 'master'
  to 7e9f8a666f57781cebe7dc4d59628351783a9943
  - Merge "import pylint tooling from cinder"
  - import pylint tooling from cinder
    
    Make "tox -e pylint" useful.
    
    Change-Id: Ia67670dffbfd000dd8056b0ae89eb9cdb6471bcb
2023-11-29 16:47:14 +00:00
Zuul 2419cc6430 Update git submodules
* Update os-brick from branch 'master'
  to b72f575e26c5fb55c1511e02108c5c521303aa78
  - Merge "Remove egg_info from setup.cfg"
  - Remove egg_info from setup.cfg
    
    This was removed from cinder by change If7db350ea55a that removed
    py27 support, but apparently we missed it in os-brick.
    
    Change-Id: Ie49b70e69ed07589a9ca155524685d95c460374f
2023-11-14 19:38:46 +00:00
Zuul bf66b9861b Update git submodules
* Update os-brick from branch 'master'
  to fb23a40a65f1a6e06b4580ca309469f9ae2cced6
  - Merge "Revert "Dell PowerFlex password appears in plain text when creating a volume""
  - Revert "Dell PowerFlex password appears in plain text when creating a volume"
    
    This reverts commit 33661ece808a6c32ad36aee0acb46a3c0624d7ce.
    
    Reason for revert: breaks reading password from the config file
    
    Change-Id: I840d8c4d66daf0ab8636617b42cdb47dd4313cc9
2023-09-28 15:46:13 +00:00
Zuul e4d7e8641c Update git submodules
* Update os-brick from branch 'master'
  to 07b0e4a94be8bef55377af17b5c708e92af73557
  - Merge "Update master for stable/2023.2"
  - Update master for stable/2023.2
    
    Add file to the reno documentation build to show release notes for
    stable/2023.2.
    
    Use pbr instruction to increment the minor version number
    automatically so that master versions are higher than the versions on
    stable/2023.2.
    
    Sem-Ver: feature
    Change-Id: I25bef272ded6c7c963c6ad0f95103fe421fa8fe7
2023-09-25 14:56:44 +00:00
Zuul cb300fcbda Update git submodules
* Update os-brick from branch 'master'
  to f3b11ddf9eb59cab642a19295646152eab435215
  - Merge "Dell Powerflex: Add new VOLUME_ALREADY_MAPPED_ERROR"
  - Dell Powerflex: Add new VOLUME_ALREADY_MAPPED_ERROR
    
    Dell Powerflex 4.x changed the error code of VOLUME_ALREADY_MAPPED_ERROR
    to 4037. This patch adds that error code.
    
    Closes-Bug: #2013749
    Change-Id: I928c97ea977f6d0a0b654f15c80c00523c141406
2023-09-21 10:23:50 +00:00
Zuul 35b95ea363 Update git submodules
* Update os-brick from branch 'master'
  to 92d9963e6f855eb396dd86039b8be6a4c63c4636
  - Merge "Dell PowerFlex password appears in plain text when creating a volume from an image"
  - Dell PowerFlex password appears in plain text when creating a volume
    from an image
    
    This patch fixes the issue of password getting writen in plain text in
    logs while creating a new volume. It created a new logger with default
    log level at error.
    
    Closes-Bug: #2003179
    Change-Id: I0292a30f402e5acddd8bbc31dfaef12ce24bf0b9
2023-09-20 22:15:07 +00:00
Brian Rosmaita c7734b6c40 Update git submodules
* Update os-brick from branch 'master'
  to eea10dea212a3df5e4c9b2e16ca6af54914ea36a
  - Use generic testing template
    
    Change If402f9ae0ca06fec0 replaced cycle-specific testing templates
    that had to be changed in each project's zuul config file with a
    generic template that only needs to be updated in one place, namely,
    in the openstack-zuul-jobs repo.
    
    Apparently os-brick didn't get the memo, so we fix that now.
    
    Change-Id: I8202283d5bd5ecede3414fe3e92e95e743df2f67
2023-09-05 16:23:03 +00:00
Zuul 8a8774a75e Update git submodules
* Update os-brick from branch 'master'
  to bb730f37cd40edfc09688a14c1f3da05003383fa
  - Merge "Check paths before extending device"
  - Check paths before extending device
    
    In a multipath enabled deployment, when we try to extend a volume
    and some paths are down, we fail to extend the multipath device and
    leave the environment in an inconsistent state. See LP Bug #2032177
    for more details.
    
    To handle this, we check if all the paths are up before trying to
    extend the device and fail fast if any path is down. This ensures
    we don't partially extend some paths and leave the other to the
    original size leading to inconsistent state in the environment.
    
    Closes-Bug: 2032177
    
    Change-Id: I5fc02efc5e9657821a1335f1c1ac5fe036e9329a
2023-08-25 16:32:11 +00:00
whoami-rajat e326310c9c Update git submodules
* Update os-brick from branch 'master'
  to 71627c56ac14bd3d31e78979d430eccee9a92d91
  - Fix unit tests when hostid file exists
    
    After merging change I0b60f9078f23f8464d8234841645ed520e8ba655, we
    noticed an issue with existing unit tests which started failing.
    The reason is 'nvme_hostid' was an additional parameter returned
    in the response while fetching connector properties from nvme
    connector.
    This is environment specific and won't occur in environments where
    '/etc/nvme/hostid' file doesn't exist due to which these tests
    passed in gate but failed in the local run when hostid file
    was present.
    This patch mocks the get_nvme_host_id method for tests so the
    hostid is never returned irrespective of the environment.
    
    Closes-Bug: #2032941
    Change-Id: I8b1aaedfdb9bef6e34813e39dede9afe98371d2b
2023-08-25 14:02:27 +00:00
Zuul 6c9a5dc466 Update git submodules
* Update os-brick from branch 'master'
  to eb76f8283ed24df856dffbd5f0ba9b3be257720d
  - Merge "NVMe-oF: Create /etc/nvme/hostid"
  - NVMe-oF: Create /etc/nvme/hostid
    
    The NVMe-oF connector currently create the `/etc/nvme/hostnqn` file if
    it doesn't exist, but it may still be missing the `/etc/nvme/hostid`
    value.
    
    Some distribution packages create the file on installation but others
    may not.
    
    It is recommended for the file to be present so that nvme doesn't
    randomly generate it.
    
    Randomly generating it means that the value will be different for the
    same storage array and the same volume if we connect, disconnect, and
    connect the volume again.
    
    This patch ensures that the file will exist and will try to use the
    system's UUID as reported by DMI or a randomly generated one.
    
    Closes-Bug: #2016029
    Change-Id: I0b60f9078f23f8464d8234841645ed520e8ba655
2023-08-24 08:35:34 +00:00
Zuul ef61253e32 Update git submodules
* Update os-brick from branch 'master'
  to 94f1f6ef591fd823fb0d0cc665dac52e10c0ae7d
  - Merge "SCSI: Support non SAM LUN addressing"
  - SCSI: Support non SAM LUN addressing
    
    This patch adds non SAM addressing modes for LUNs, specifically for
    SAM-2 and SAM-3 flat addressing.
    
    Code has been manually verified on Pure storage systems that uses SAM-2
    addressing mode, because it's unusual for CI jobs to have more than
    256 LUNs on a single target.
    
    Closes-Bug: #2006960
    Change-Id: If32d054e8f944f162bdc8700d842134a80049877
2023-08-24 08:19:36 +00:00
Gorka Eguileor 7997ed8335 Update git submodules
* Update os-brick from branch 'master'
  to 00caa73776d9987103f9023a1c4e9c643fa77039
  - RBD: Improve close and flush in IOWrapper
    
    On Change-Id Ib3b066a7da071b1c2de78a1a4e569676539bd335 we improved the
    RBDVolumeIOWrapper's flush and close methods, and this patch improves
    them even further.
    
    If the IOWrapper's close is not explicitly called and it's just
    dereferenced (happens in unit tests) then during Garbage Collection the
    wrapped image may be destroyed before the wrapper, which would trigger
    the image being closed without the wrapper knowing, so when the wrapper
    gets destroyed it will fail because it calls its close method, which
    calls its flush, which calls the underlying image's flush, which will
    fail because the underlying image was already closed.
    
    We need to check if the underlying image has already being flushed
    before calling the flush.
    
    Calling the underlying close method for the Image or IOWrapper classes
    is not a problem because they are idempotent.
    
    Change-Id: Ib5a517d58427df0d1d1b22ad3dc66f673da147fe
2023-08-23 22:32:26 +00:00
Zuul d3ad9ad589 Update git submodules
* Update os-brick from branch 'master'
  to 0a5d4c1506a9b85dfe0afa6796e1b94d2b3cc81a
  - Merge "Fix multipath resize map with friendly names"
  - Fix multipath resize map with friendly names
    
    When multipath is enabled and friendly names are ON and we try
    to extend a volume, we pass the SCSI WWID to the multipath_resize_map
    method which is not correct.
    
    There are 2 things we can pass to the multipathd resize map command:
    
    1) Multipath device (eg: dm-0)
    2) Alias (eg: mpath1) or UUID (eg: 36005076303ffc56200000000000010aa)
    
    The value should be an alias (mpath1) when friendly names are ON
    and UUID (36005076303ffc56200000000000010aa) when friendly names
    are OFF. However, we only pass the UUID irrespective of the value
    set for friendly names.
    
    This patch passes the multipath device path (to multipathd resize
    map command) which is the real path of the multipath device (/dev/dm-*).
    This fixes the issue as it passes the same value irrespective of if
    the friendly names are ON or OFF.
    
    -> self.multipath_resize_map(os.path.realpath(mpath_device))
    
    (Pdb) mpath_device
    '/dev/disk/by-id/dm-uuid-mpath-3600140522774ce73be84f9cb9537e0c9'
    
    (Pdb) os.path.realpath(mpath_device)
    '/dev/dm-5'
    
    Closes-Bug: 1609753
    Change-Id: I1c60af19c2ebaa9de878cd07cfc0077c5ea56fe3
2023-08-17 00:56:26 +00:00
Zuul 44f09a0f5e Update git submodules
* Update os-brick from branch 'master'
  to bfb55b7b58b4a89a690c9c72d7c0ec45b3b66493
  - Merge "nvmeof: Call findmnt with -v"
  - nvmeof: Call findmnt with -v
    
    The -v arg suppresses printing of [/dir] with the
    device for bind mounts and btrfs volumes, which is
    what we want for this usage.
    
    This fixes _get_host_uuid() failing when using
    a btrfs rootfs.
    
    Closes-Bug: #2026257
    Change-Id: I2d8f24193ecf821843bf8f4ea14b445561d6225c
2023-07-21 17:07:17 +00:00
Brian Rosmaita ae05b76c60 Update git submodules
* Update os-brick from branch 'master'
  to c187a33b7b15b1c17d4d007fbf1b62b76a1c575c
  - [docs] add autodoc_mock_imports
    
    The docs job has recently begun failing with:
    
    autodoc: failed to import module 'connector' from module
    'os_brick.initiator'; the following exception was raised: No module
    named 'cryptography'
    
    We're not directly importing cryptography in os-brick, so address this
    by adding 'cryptography' to the autodoc_mock_imports list.
    
    Change-Id: I5128d717f7a31fb9042f690ed7c17a3191f1a99e
2023-07-21 14:27:21 +00:00
Zuul 4c36b96153 Update git submodules
* Update os-brick from branch 'master'
  to 6d70ace1bbc8cd94280ac7efc9d33066ff7bbf83
  - Merge "linuxrbd: Remove rados_connect_timeout parameter"
  - linuxrbd: Remove rados_connect_timeout parameter
    
    This parameter doesn't do anything, we should skip it here.
    
    https://docs.ceph.com/en/latest/rados/api/python/#rados.Rados.connect
    https://github.com/ceph/ceph/blob/974339d1f/src/pybind/rados/rados.pyx#L674
    
    Change-Id: I819e32f807bcba4c9d6f928f2ad04c4dd27f22c2
2023-07-10 08:35:57 +00:00
Zuul cd36c6d010 Update git submodules
* Update os-brick from branch 'master'
  to 5c840f28158f657ad168de18ac7c2452555c96f9
  - Merge "mypy: Fix failing mypy job"
  - mypy: Fix failing mypy job
    
    Currently fails w/ "Unused type: ignore comment" errors.
    
    Change-Id: I7cced8b9d8704c1782ac8583ce227efcc21b2847
2023-07-07 19:02:48 +00:00
Zuul 3f4b6c4902 Update git submodules
* Update os-brick from branch 'master'
  to f7432b56f022556f63e50e5b1753bf4ae2ca36ba
  - Merge "LVM: Remove outdated comment"
  - LVM: Remove outdated comment
    
    -l100%FREE was implemented years ago and is
    already used by our code when the LVM version
    meets the supports_full_pool_create check.
    
    Change-Id: I8f26e3880429e648e7e985f9c6cb7dff56715727
2023-07-03 16:29:39 +00:00
Zuul 4fe1028791 Update git submodules
* Update os-brick from branch 'master'
  to ccda511ed531c872cb23b5cdc07067ea2e6cb32a
  - Merge "Bump mypy to 1.2.0"
  - Bump mypy to 1.2.0
    
    Change-Id: I128de9ac7195adb5fc1467607abe8c1f40f47d16
2023-05-23 13:11:39 +00:00
Zuul 9f2f4ee200 Update git submodules
* Update os-brick from branch 'master'
  to 8daafd376bdca8daa2d285923e61cdc26119f290
  - Merge "Support force disconnect for FC"
  - Support force disconnect for FC
    
    This patch adds support for the force and ignore_errors on the
    disconnect_volume of the FC connector like we have in the iSCSI
    connector.
    
    Related-Bug: #2004555
    Change-Id: Ia74ecfba03ba23de9d30eb33706245a7f85e1d66
2023-05-10 20:03:25 +00:00
Zuul ea037f48d8 Update git submodules
* Update os-brick from branch 'master'
  to f7adadef4f1e648efc68351b697b69fdc3930a1d
  - Merge "Revert "Fix iSCSI disconnect_volume when flush fails""
  - Revert "Fix iSCSI disconnect_volume when flush fails"
    
    This reverts commit 8070ac3bd903a443fbfd02abf8b0554d5d05cac1.
    
    Reason for revert: This requires some more discussion, I should not have ninja-approved it.
    
    Change-Id: I25917b95a32da4fd831d669cd21988f400f258e0
2023-04-27 15:56:56 +00:00
Zuul 0ef35310de Update git submodules
* Update os-brick from branch 'master'
  to 7f780b62f504a19d878c54ef2ed26fae539a2aca
  - Merge "Fix iSCSI disconnect_volume when flush fails"
  - Fix iSCSI disconnect_volume when flush fails
    
    The purpose of providing force=True and ignore_errors=True
    is to tell os-brick that we want to disconnect the volume
    even if flush fails (force) and not raise any exceptions
    (ignore_errors). Currently, in an iSCSI multipath environment,
    disconnect_volume can fail when both parameters are True.
    
    The current flow when disconnecting an iSCSI volume is
    that if flushing a multipath device fails, we manually
    remove the device, logout from the target portals,
    and try the flush again.
    
    There are two problems here:
    
    1) code problem: The second flush is not wrapped by
    ExceptionChainer. This causes it to raise the exception
    immediately after flush fails irrespective of the value
    of the ignore_errors flag.
    
    2) conceptual problem: In this situation, there is no point
    in making the second flush attempt. Instead, we should just
    remove the multipath map from multipathd monitoring since
    we have already removed the paths manually.
    
    This patch fixes the conceptual problem, as we don't make a second
    flush call and ignore any errors on the execution ``multipathd del map``
    thereby also fixing the code problem.
    
    Closes-Bug: #2012251
    Change-Id: I828911495a2de550ea997e6f51cc039a7b7fa8cd
2023-04-26 23:21:09 +00:00
Zuul f89be63039 Update git submodules
* Update os-brick from branch 'master'
  to b6f0f3c25ecda80861ff233ca8526d338319bd49
  - Merge "Set packages in setup.cfg"
  - Set packages in setup.cfg
    
    Without this, "tox -e py38" fails with an error from
    setuptools:
        error: Multiple top-level packages discovered in
        a flat-layout: ['etc', 'os_brick', 'releasenotes'].
    
    Change-Id: Icd68f845d83df2d4875e61a7e92630e73e4564c4
2023-04-21 16:39:10 +00:00
Zuul f41bb82238 Update git submodules
* Update os-brick from branch 'master'
  to 2d85b5a8115b099e8baac0b544133ba122319244
  - Merge "Bump mypy to 1.1.1"
  - Bump mypy to 1.1.1
    
    Change-Id: I50944c3efc7e2010d3c6475dd4c79a27c9f94cf6
2023-04-17 20:48:06 +00:00
Zuul 33c42ffaa3 Update git submodules
* Update os-brick from branch 'master'
  to 42cbce38c162498f669ab74e556b50dbc763b669
  - Merge "LVM: Fix supports_full_pool_create"
  - LVM: Fix supports_full_pool_create
    
    mypy detected this problem -- the
    supports_full_pool_create property will always
    return True when referenced via the class instead
    of via an instance.
    
    Change-Id: Iefc691ae8d5eb001c9abbf554600a8f8132e038c
2023-04-17 20:48:04 +00:00
Zuul 78b42d462d Update git submodules
* Update os-brick from branch 'master'
  to 28ffcdbfa138859859beca2f80627c076269be56
  - Merge "LVM: Fix bare raise on LVM command error"
  - LVM: Fix bare raise on LVM command error
    
    This should have an associated message, and is
    detected as an error by pylint.
    
    Change-Id: Icc312cb960971ecf2a7754b9056a869c9ec8098a
2023-03-23 16:34:17 +00:00
Eric Harney 90239785c8 Update git submodules
* Update os-brick from branch 'master'
  to e15edf6c17449899ec8401c37482f7cb5de207d3
  - Add Python 3.10 to setup.cfg metadata
    
    We support 3.10 as of Antelope.
    
    Change-Id: Ie3eaf0d16e27e35ec30635c82b38c634db9c4541
2023-03-09 23:07:14 +00:00
OpenStack Release Bot 683ab455f7 Update git submodules
* Update os-brick from branch 'master'
  to a0bc09ba50aae1a3f6c3601a4b90c5cb1a84b565
  - Update master for stable/2023.1
    
    Add file to the reno documentation build to show release notes for
    stable/2023.1.
    
    Use pbr instruction to increment the minor version number
    automatically so that master versions are higher than the versions on
    stable/2023.1.
    
    Sem-Ver: feature
    Change-Id: Ic3ac791f083aa097412dc9075a6b20f2b148db02
2023-02-24 21:35:45 +00:00