http://wiki.libvirt.org/page/NPIV_in_libvirt
NOTE: You can also create a scsi pool with source adapter type "fc_host" for a HBA, and in that case the attribute "parent" is not necessary.
Patched Content:
NOTE: You can also create a scsi pool with source adapter type "fc_host"
for a HBA, and in that case the attribute "parent" is not necessary.Also the attribute "managed" should not be used or set to "no" , ('managed=no' ) for a scsi pool backed with physical HBA.
Here are the details for more clarity on the issue:
#git show 5530f248 (Info on managed attribute)
An optional attribute to instruct the SCSI storage backend to
manage destroying the vHBA when the pool is destroyed. For
configurations that do not provide an already created vHBA
from a 'virsh nodedev-create', libvirt will set this property
to "yes". For configurations that have already created a vHBA
via 'virsh nodedev-create' and are using the wwnn/wwpn from
that vHBA and optionally the scsi_host parent, setting this
attribute to "yes" will allow libvirt to destroy the node device
when the pool is destroyed. If this attribute is set to "no" or
not defined in the XML, then libvirt will not destroy the vHBA.
When managed=yes is used in the pool xml for scsi pools backed with physical HBA ports, the virsh pool-destroy command errors out.
#virsh pool-dumpxml poolhba_phy <pool type='scsi'> <name>poolhba_phy</name> <uuid>60d74134-0c18-4d4f-9305-24d96ce1a1b6</uuid> <capacity unit='bytes'>268435456000</capacity> <allocation unit='bytes'>268435456000</allocation> <available unit='bytes'>0</available> <source> <adapter type='fc_host' managed='yes' wwnn='20000120fa8f1271' wwpn='10000090fa8f1271'/> </source> <target> <path>/dev/disk/by-id</path> <permissions> <mode>0700</mode> <owner>0</owner> <group>0</group> </permissions> </target> </pool>
The wwnn and wwpn used above is that of the physical HBA shown below.
#virsh nodedev-dumpxml scsi_host2 <- This is the physical HBA. <device> <name>scsi_host2</name> <path>/sys/devices/pci0001:00/0001:00:00.0/0001:01:00.0/0001:02:09.0/0001:09:00.1/host2</path> <parent>pci_0001_09_00_1</parent> <capability type='scsi_host'> <host>2</host> <unique_id>1</unique_id> <capability type='fc_host'> <wwnn>20000120fa8f1271</wwnn> <wwpn>10000090fa8f1271</wwpn> <fabric_wwn>100050eb1a99d430</fabric_wwn> </capability> <capability type='vport_ops'> <max_vports>255</max_vports> <vports>0</vports> </capability> </capability> </device>
#virsh pool-destroy poolhba_phy error: Failed to destroy pool poolhba_phy error: internal error: Invalid adapter name 'pci_0001_09_00_1' for SCSI pool
However,
When managed attribute is removed OR set to no in the xml,
# virsh pool-destroy poolhba_phy
Pool poolhba_phy destroyed
Although the page http://wiki.libvirt.org/page/NPIV_in_libvirt does not talk about the managed attribute as of now, it would be helpful for a user who might face the above mentioned use-case.
Looking forward to your views.
Warm Regards,
Nitesh Konkar.
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list