This change will ensure that the connector attempts to retrieve
the according disk paths by using its SCSI VPD unique id when not
included in the mappings reported via the HBA API.
At the same time, if multipath is requested, we're ensuring that the
disk was already claimed by the MPIO service before reporting it back
to the caller in order to avoid situations in which the disk suddenly
disappears.
Depends-On: I86d953d000e6d0244e8e8f2aaf2cbd76305cb63b
Closes-Bug: #1694671
Change-Id: I0cb96c46ca75be3836981852e22437db63910f96
This patch enable extensions:
-[H204] Use assert(Not)Equal to check for equality.
-[H205] Use assert(Greater|Less)(Equal) for comparison.
Change-Id: I89efcab9993fcbb187249e32712fe00b86715e3a
The device path to a block device on Ubuntu using a ds8k LUN
differs from the device path for other storage systems.
This patch adds the new device path as third possibility.
Change-Id: I92f1e5a2c7203af6c01c4742067ced16a840eb04
In the case that a compute host with multiple NICs can be connectted to
iscsi storage network, we expect the storage traffic only be
transimitted via storage NIC. This need to define an custom iface and set the
iface.net_ifacename value to the storage interface name.
Unfortunately, the current iscsi connector does not support to use a
custom iface. The _validate_iface_transport will change it to default.
After add tcp to the supported_transports, it is possible to use a
custom iface.
Please get the details as below:
1. CMP001 has three NICs: NIC1 is for management network, NIC2 is
for tenant network, and NIC3 is for storage network. NIC3 can access
storage device via layer 2 network. And NIC1 can access storage device
too, but it can only access via layer 3 network. We hope all the storage
traffic only be transimitted via NIC3, because they are in the same
layer 2 network.
2. Get the NIC3 MAC:
fa:16:3e:79:fd:63
3. Add new iscsi iface:
# iscsiadm -m iface --op=new -I tcp.fa:16:3e:79:fd:63
# iscsiadm -m iface -I tcp.fa:16:3e:79:fd:63 --op=update
-n iface.hwaddress -v fa:16:3e:79:fd:63
4. Edit nova.conf, and change iscsi_iface value:
iscsi_iface = tcp.fa:16:3e:79:fd:63
5. Restart nova compute service:
# systemctl restart openstack-nova-compute
Without this change, _validate_iface_transport will change the
custom iface tcp.fa:16:3e:79:fd:63 to default due to it cannot find tcp
transport.
According to this change, we should have a corresponding change to the
nova docs, here is change to nova
https://review.openstack.org/#/c/524443/
Change-Id: I85a62cb6e7f8d8982e97e792d647d38ce5641060
Closes-Bug:#1722432
The pv_list of LVM object actually wanted to be a list of dict of
physical volumes' info, but in the routine of creating a new vg,
we assign a list of physical volumes' name to it, which is unnecessary,
and also confuse people.
Change-Id: I5f74200e6df954258f261a30e9f5a5b56c6def2f
python-subunit is not used directly anywhere
and it is dependency of both testrepository
and os-testr
(probably was used by some tox wrapper script before)
Change-Id: I3f54fdbe876b2dd052d15c90dfafecd8baa03c45
The Windows SMBFS connector returns VHD/x image paths exposed by
the Cinder SMBFS volume driver.
This is fine for Nova, which will just use those image paths when
attaching volumes to instances.
The issue is that during backups/migrations, Cinder expects a raw
disk path, opening it and attempting to read volume data.
This change adds an argument to the connector init method, allowing
a raw disk path to be explicitly requested. If this argument is set,
we'll mount the image and bring the disk offline, returning the
raw disk path. This will allow direct IO operations to be performed
against the volume.
Related-Blueprint: windows-smb-backup
Change-Id: I20f791482fb0912772fa62d2949fa5becaec5675
The Windows connectors do not include the 'device_info' argument
in the 'disconnect_volume' method.
This wasn't an issue for Nova as the Hyper-V driver doesn't pass
this argument, yet Cinder does pass it, which will lead to an
exception.
This change adds the missing argument, defaulting to "None" so that
it won't break the Nova Hyper-V driver.
Change-Id: Iaf8b57c97afc393862a61a7338a35f008b65c8c1
Closes-Bug: #1738390
We do not need tox_install.sh, pip can handle constraints itself
and install the project correctly. Thus update tox.ini and remove
the now obsolete tools/tox_install.sh file.
This follows https://review.openstack.org/#/c/508061 to remove
tools/tox_install.sh.
Change-Id: I43828f47711118eba8d835222586db4faac93180
os_brick updates node.startup values from default value to
"automatic" when it creates iscsi connection.
But existing target's node.startup values will be reverted from
"automatic" to default value in creating iscsi connection process
if multipath is used.
When using multipath with a discovery type of backend, the
"iscsiadm -m discovery -t sendtargets -p ..." command will recreate
all target information of specified node.[1] node.startup value wil
be reverted to default value of existing targets by recreating.
As a result, "automatic" targets and default value targets will be
mixed on the host.
So this patch recovers node.startup values after discovering.
[1]
This behavior was explained in following page:
https://github.com/open-iscsi/open-iscsi/issues/58
Change-Id: I30b736ae3b916f77fc0778f5364c5f6ed6fecc60
closes-bug: #1670237
Allow clients to attach and detach Cinder volumes stored on
a StorPool cluster.
Change-Id: I33cfd7ab9a1d201f6c49357cacb4a809453b7201
Implements: blueprint brick-add-storpool-driver
When recovering from the failure of a compute host, Nova can call
close on an encryptor whose state Nova can't be certain of, but which
hasn't been created. This change makes the close operation idempotent,
which allows recovery to be more robust.
Related-bug: #1724573
Change-Id: I9f52f89b8466d03699cfd5c0e32c672c934cd6fb
When recovering from the failure of a compute host, Nova can call
close on an encryptor whose state Nova can't be certain of, but which
hasn't been created. This change makes the close operation idempotent,
which allows recovery to be more robust.
Related-bug: #1724573
Change-Id: I31d72357c89db53a147c2d986a28c9c6870efad0
Release notes are version independent, so remove version/release values.
We've found that most projects now require the service package to be
installed in order to build release notes, and this is entirely due to
the current convention of pulling in the version information.
Release notes should not need installation in order to build, so this
unnecessary version setting needs to be removed.
Change-Id: I0ca29d19436422a382bce8c23bba24a6e677c434
Needed-by: I56909152975f731a9d2c21b2825b972195e48ee8
Added os-brick changes to support NVMEoF for initiator CLI.
A New connector, NVMe connector, is added to handle initiator callsi for
connecting and disconnecting volumes to instances using nvme-cli over
RDMA.
Implements: blueprint nvme-over-fabirc-nova
Needed-By: I67a72c4226e54c18b3a6e4a13b5055fa6e85af09
Needed-By: I7cacd76c63e0ad29eb2d448ce07fbb5176f62721
Co-Authored-By: Ivan Kolodyazhny <e0ne@e0ne.info>
Change-Id: I83697d6b46248edbe0a0ef3b76829b28ed5c048c
Current FC tries to limit the scanning range by detecting the target and
channel, unfortunately this code has a good number of implementation
issues:
- Matching uses local WWNN instead of target's WWPN.
- Not using a shell to run the command, so the * glob won't expand.
- Not using -l on grep command to list file names instead of contents.
- Not making the search case insensitive.
This patch fixes all these issues by using the target's WWPNs instead
-taking into account FC Zone/Access control information if present- and
supporting both possible connection information formats for the WWPNs
(single value or list of values).
Rescan tests have been modified to adhere to unit tests best practices,
where each test case only tests the specific code in the method under
test and mocks everything else.
Closes-Bug: #1664653
Closes-Bug: #1684996
Closes-Bug: #1687607
Change-Id: Ib539f6a3652bab4399c30cd90f326829e839ec02