Provide primitives for vopt deletion
Provides the functions needed to delete a Virtual Optical device and the associated file. Includes the appropriate unit test, but a subsequent change set is needed to incorporate (and test) it within the TaskFlow framework. Change-Id: Ia460d06c76925e0c3c54caffb3570ea456bcdf06
This commit is contained in:
parent
9af5378a88
commit
5d709f9ce4
nova_powervm
1815
nova_powervm/tests/virt/powervm/data/fake_file_feed.txt
Normal file
1815
nova_powervm/tests/virt/powervm/data/fake_file_feed.txt
Normal file
File diff suppressed because it is too large
Load Diff
463
nova_powervm/tests/virt/powervm/data/fake_single_vol_group.txt
Normal file
463
nova_powervm/tests/virt/powervm/data/fake_single_vol_group.txt
Normal file
@ -0,0 +1,463 @@
|
||||
####################################################
|
||||
# THIS IS AN AUTOMATICALLY GENERATED FILE
|
||||
# DO NOT EDIT. ANY EDITS WILL BE LOST ON NEXT UPDATE
|
||||
#
|
||||
# To update file, run: create_httpresp.py -refresh fake_single_vol_group.txt
|
||||
#
|
||||
####################################################
|
||||
INFO{
|
||||
{'comment': 'Used for testing test_volume_group.', 'status': 200, 'pw': 'Passw0rd', 'reason': 'OK', 'host': '9.1.2.3', 'user': 'hscroot', 'path': 'VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup'}
|
||||
END OF SECTION}
|
||||
HEADERS{
|
||||
{'content-length': '2927', 'x-powered-by': 'Servlet/3.0', 'set-cookie': 'JSESSIONID=0000NDn35hM1wmiEggkwHYt86o5:375f7c5b-d5fc-4d80-91de-1d4d29170e01; Path=/; Secure; HttpOnly', 'x-hmc-schema-version': 'V1_1_0', 'expires': 'Thu, 01 Jan 1970 00:00:00 GMT', 'last-modified': 'Thu, 18 Sep 2014 07:04:42 GMT', 'x-transaction-id': 'XT10023645', 'etag': '249747277', 'cache-control': 'no-transform, must-revalidate, proxy-revalidate, no-cache=set-cookie', 'date': 'Thu, 18 Sep 2014 07:04:42 GMT', 'content-type': 'application/atom+xml'}
|
||||
END OF SECTION}
|
||||
BODY{
|
||||
|
||||
|
||||
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:ns2="http://a9.com/-/spec/opensearch/1.1/" xmlns:ns3="http://www.w3.org/1999/xhtml">
|
||||
<id>b6bdbf1f-eddf-3c81-8801-9859eb6fedcb</id>
|
||||
<title>VolumeGroup</title>
|
||||
<published>2015-01-22T04:15:33.816Z</published>
|
||||
<link rel="SELF" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb"/>
|
||||
<author>
|
||||
<name>IBM Power Systems Management Console</name>
|
||||
</author>
|
||||
<etag:etag xmlns:etag="http://www.ibm.com/xmlns/systems/power/firmware/uom/mc/2012_10/" xmlns="http://www.ibm.com/xmlns/systems/power/firmware/uom/mc/2012_10/">71932090</etag:etag>
|
||||
<content type="application/vnd.ibm.powervm.uom+xml; type=VolumeGroup">
|
||||
<VolumeGroup:VolumeGroup xmlns:VolumeGroup="http://www.ibm.com/xmlns/systems/power/firmware/uom/mc/2012_10/" xmlns="http://www.ibm.com/xmlns/systems/power/firmware/uom/mc/2012_10/" xmlns:ns2="http://www.w3.org/XML/1998/namespace/k2" schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom>
|
||||
<AtomID>b6bdbf1f-eddf-3c81-8801-9859eb6fedcb</AtomID>
|
||||
<AtomCreated>1421883668662</AtomCreated>
|
||||
</Atom>
|
||||
</Metadata>
|
||||
<AvailableSize kb="ROR" kxe="false">997</AvailableSize>
|
||||
<FreeSpace kxe="false" kb="ROR">997</FreeSpace>
|
||||
<GroupCapacity kb="CUR" kxe="false">1063</GroupCapacity>
|
||||
<GroupName kb="CUR" kxe="false">image_pool</GroupName>
|
||||
<GroupSerialID kb="ROR" kxe="false">00f8d6de00004b000000014a54555cd9</GroupSerialID>
|
||||
<MaximumLogicalVolumes kb="ROR" kxe="false">1024</MaximumLogicalVolumes>
|
||||
<MediaRepositories kb="CUD" kxe="false" schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<VirtualMediaRepository schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<OpticalMedia kb="CUD" kxe="false" schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<VirtualOpticalMedia schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<MediaName kb="CUR" kxe="false">asdcv_3bc2b715_userID_config.iso</MediaName>
|
||||
<MediaUDID kb="ROR" kxe="false">0easdcv_3bc2b715_userID_config.iso</MediaUDID>
|
||||
<MountType kb="CUD" kxe="false">rw</MountType>
|
||||
<Size kb="CUR" kxe="false">0.000000</Size>
|
||||
</VirtualOpticalMedia>
|
||||
<VirtualOpticalMedia schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<MediaName kb="CUR" kxe="false">asdf_c3f7b1e7_userID_config.iso</MediaName>
|
||||
<MediaUDID kb="ROR" kxe="false">0easdf_c3f7b1e7_userID_config.iso</MediaUDID>
|
||||
<MountType kb="CUD" kxe="false">rw</MountType>
|
||||
<Size kb="CUR" kxe="false">0.000000</Size>
|
||||
</VirtualOpticalMedia>
|
||||
<VirtualOpticalMedia schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<MediaName kb="CUR" kxe="false">blank_media1</MediaName>
|
||||
<MediaUDID kb="ROR" kxe="false">0eblank_media1</MediaUDID>
|
||||
<MountType kb="CUD" kxe="false">rw</MountType>
|
||||
<Size kb="CUR" kxe="false">0.0977</Size>
|
||||
</VirtualOpticalMedia>
|
||||
<VirtualOpticalMedia schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<MediaName kb="CUR" kxe="false">blank_media_2</MediaName>
|
||||
<MediaUDID kb="ROR" kxe="false">0eblank_media_2</MediaUDID>
|
||||
<MountType kb="CUD" kxe="false">rw</MountType>
|
||||
<Size kb="CUR" kxe="false">0.0488</Size>
|
||||
</VirtualOpticalMedia>
|
||||
<VirtualOpticalMedia schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<MediaName kb="CUR" kxe="false">cirros_eea81ef4_userID_config.iso</MediaName>
|
||||
<MediaUDID kb="ROR" kxe="false">0ecirros_eea81ef4_userID_config.iso</MediaUDID>
|
||||
<MountType kb="CUD" kxe="false">rw</MountType>
|
||||
<Size kb="CUR" kxe="false">0.000000</Size>
|
||||
</VirtualOpticalMedia>
|
||||
<VirtualOpticalMedia schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<MediaName kb="CUR" kxe="false">test_aix_17cbd370_userID_config.iso</MediaName>
|
||||
<MediaUDID kb="ROR" kxe="false">0etest_aix_17cbd370_userID_config.iso</MediaUDID>
|
||||
<MountType kb="CUD" kxe="false">rw</MountType>
|
||||
<Size kb="CUR" kxe="false">0.000000</Size>
|
||||
</VirtualOpticalMedia>
|
||||
</OpticalMedia>
|
||||
<RepositoryName kb="CUR" kxe="false">VMLibrary</RepositoryName>
|
||||
<RepositorySize kb="CUR" kxe="false">11</RepositorySize>
|
||||
</VirtualMediaRepository>
|
||||
</MediaRepositories>
|
||||
<PhysicalVolumes kb="CUD" kxe="false" schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<PhysicalVolume schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<Description kb="CUD" kxe="false">SAS RAID 0 Disk Array</Description>
|
||||
<LocationCode kb="ROR" kxe="false">U78C9.001.WZS0095-P1-C14-R1-L405D828300-L0</LocationCode>
|
||||
<ReservePolicy kb="CUD" kxe="false">NoReserve</ReservePolicy>
|
||||
<ReservePolicyAlgorithm kb="CUD" kxe="false">Failover</ReservePolicyAlgorithm>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">01MUlCTSAgICAgSVBSLTAgICA1RDgyODMwMDAwMDAwMDQw</UniqueDeviceID>
|
||||
<AvailableForUsage kb="CUD" kxe="false">false</AvailableForUsage>
|
||||
<VolumeCapacity kb="CUR" kxe="false">1089592</VolumeCapacity>
|
||||
<VolumeName kb="CUR" kxe="false">hdisk1</VolumeName>
|
||||
<VolumeState kb="ROR" kxe="false">active</VolumeState>
|
||||
<VolumeUniqueID kb="ROR" kxe="false">391BIBMIPR-0 5D8283000000004010IPR-0 5D82830003IBMsas</VolumeUniqueID>
|
||||
<IsFibreChannelBacked kb="ROR" kxe="false">false</IsFibreChannelBacked>
|
||||
</PhysicalVolume>
|
||||
</PhysicalVolumes>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0400f8d6de00004b000000014a54555cd9</UniqueDeviceID>
|
||||
<VirtualDisks kb="CUD" kxe="false" schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_b853fd66</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.20</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_df4029a6</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.21</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_e0dd0297</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.22</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">5</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_17cbd370</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.23</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_d2d886e1</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.24</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_947a017f</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.25</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_810f7730</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.26</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_9f5befd2</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.27</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_9699a0f5</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.28</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_d50cd8e4</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.29</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_540240c8</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.30</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_16eea13e</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.31</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_37e3c8d3</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.32</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_f07b23e2</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.10</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_6ec6f2cd</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.33</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_9306783f</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.11</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">efried0.207216</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.12</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">asdf</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.1</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_925c5fa3</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.13</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_a919a184</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.3</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">10</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">aix_disk1</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.14</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">10</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">aix_disk2</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.15</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">2</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">asdf2</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.4</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_30a56789</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.5</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_26610873</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.16</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_42364069</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.6</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_c3f7b1e7</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.17</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_96654a43</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.7</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_1ecdfefc</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.18</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_b2460263</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.19</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_bef997cd</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.8</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
<VirtualDisk schemaVersion="V1_2_0">
|
||||
<Metadata>
|
||||
<Atom/>
|
||||
</Metadata>
|
||||
<DiskCapacity kb="CUR" kxe="false">1</DiskCapacity>
|
||||
<DiskLabel kb="CUR" kxe="false">None</DiskLabel>
|
||||
<DiskName kb="CUR" kxe="false">boot_21e1de68</DiskName>
|
||||
<VolumeGroup kb="ROR" kxe="false" href="https://9.1.2.3:12443/rest/api/uom/VirtualIOServer/14B854F7-42CE-4FF0-BD57-1D117054E701/VolumeGroup/b6bdbf1f-eddf-3c81-8801-9859eb6fedcb" rel="related"/>
|
||||
<UniqueDeviceID kb="ROR" kxe="false">0300f8d6de00004b000000014a54555cd9.9</UniqueDeviceID>
|
||||
</VirtualDisk>
|
||||
</VirtualDisks>
|
||||
</VolumeGroup:VolumeGroup>
|
||||
</content>
|
||||
</entry>
|
||||
|
||||
|
||||
END OF SECTION}
|
@ -24,6 +24,8 @@ from nova_powervm.virt.powervm import media as m
|
||||
|
||||
VOL_GRP_DATA = 'fake_volume_group.txt'
|
||||
VOL_GRP_NOVG_DATA = 'fake_volume_group_no_vg.txt'
|
||||
VOL_GRP_SING_DATA = 'fake_single_vol_group.txt'
|
||||
FILE_FEED = 'fake_file_feed.txt'
|
||||
|
||||
|
||||
class TestConfigDrivePowerVM(test.TestCase):
|
||||
@ -43,6 +45,8 @@ class TestConfigDrivePowerVM(test.TestCase):
|
||||
|
||||
self.vol_grp_resp = resp(VOL_GRP_DATA)
|
||||
self.vol_grp_novg_resp = resp(VOL_GRP_NOVG_DATA)
|
||||
self.vol_grp_sing_resp = resp(VOL_GRP_SING_DATA)
|
||||
self.file_feed_resp = resp(FILE_FEED)
|
||||
|
||||
@mock.patch('nova_powervm.virt.powervm.media.ConfigDrivePowerVM.'
|
||||
'_validate_vopt_vg')
|
||||
@ -90,6 +94,22 @@ class TestConfigDrivePowerVM(test.TestCase):
|
||||
self.assertIsNotNone(resp)
|
||||
self.assertTrue(mock_upld.called)
|
||||
|
||||
@mock.patch('pypowervm.adapter.Adapter')
|
||||
@mock.patch('nova_powervm.virt.powervm.media.ConfigDrivePowerVM.'
|
||||
'_validate_vopt_vg')
|
||||
def test_dlt_cfg_drv_vopt(self, m_validate, m_adpt):
|
||||
# Set up the data
|
||||
file_to_del = 'asdcv_3bc2b715_userID_config.iso'
|
||||
m_adpt.read.side_effect = [self.vol_grp_sing_resp, self.file_feed_resp]
|
||||
|
||||
# Run the deletes.
|
||||
cfg_dr_builder = m.ConfigDrivePowerVM(m_adpt, 'fake_host', 'fake_vios')
|
||||
cfg_dr_builder.dlt_cfg_drv_vopt(file_to_del)
|
||||
|
||||
# Make sure the update and delete were called only once.
|
||||
self.assertEqual(1, m_adpt.update.call_count)
|
||||
self.assertEqual(1, m_adpt.delete.call_count)
|
||||
|
||||
@mock.patch('pypowervm.adapter.Adapter')
|
||||
def test_validate_opt_vg(self, mock_adpt):
|
||||
mock_adpt.read.return_value = self.vol_grp_resp
|
||||
|
@ -18,6 +18,7 @@ import abc
|
||||
from nova.api.metadata import base as instance_metadata
|
||||
from nova.i18n import _LE
|
||||
from nova.i18n import _LI
|
||||
from nova.i18n import _LW
|
||||
from nova.openstack.common import log as logging
|
||||
from nova.virt import configdrive
|
||||
import os
|
||||
@ -26,6 +27,7 @@ from oslo.config import cfg
|
||||
|
||||
from pypowervm.jobs import upload_lv
|
||||
from pypowervm.wrappers import constants as pvmc
|
||||
from pypowervm.wrappers import vios_file
|
||||
from pypowervm.wrappers import virtual_io_server as vios_w
|
||||
from pypowervm.wrappers import volume_group as vg
|
||||
|
||||
@ -109,6 +111,9 @@ class ConfigDrivePowerVM(object):
|
||||
:param network_info: The network_info from the nova spawn method.
|
||||
:param lpar_uuid: The UUID of the client LPAR
|
||||
:param admin_pass: Optional password to inject for the VM.
|
||||
|
||||
:returns: The VirtualSCSIMapping wrapper that can be added to the VIOS
|
||||
to attach it to the VM.
|
||||
"""
|
||||
iso_path, file_name = self._create_cfg_dr_iso(instance, injected_files,
|
||||
network_info, admin_pass)
|
||||
@ -127,6 +132,68 @@ class ConfigDrivePowerVM(object):
|
||||
lpar_uuid, file_name)
|
||||
return vios_w.VirtualSCSIMapping(elem)
|
||||
|
||||
def dlt_cfg_drv_vopt(self, file_name):
|
||||
"""Deletes the config drive from the system.
|
||||
|
||||
Prior to calling this method, the config drive must be detached from
|
||||
the VM.
|
||||
|
||||
Will delete the virtual optical media, as well as the file that backs
|
||||
it.
|
||||
|
||||
If the file can not be found, the method completes without error.
|
||||
|
||||
:param file_name: The name of the media to remove off of the system.
|
||||
"""
|
||||
# Load the latest volume group
|
||||
resp = self.adapter.read(vios_w.VIO_ROOT, root_id=self.vios_uuid,
|
||||
child_type=vg.VG_ROOT,
|
||||
child_id=CONF.vopt_media_volume_group)
|
||||
vol_grp = vg.VolumeGroup.load_from_response(resp)
|
||||
|
||||
# Now, find the vopt in the vg and remove it from the list
|
||||
vmedia_repo = None
|
||||
optical_media = None
|
||||
vopt_media = None
|
||||
for vmedia in vol_grp.get_vmedia_repos():
|
||||
optical_media = vmedia.get_optical_media()
|
||||
for vopt in optical_media:
|
||||
if vopt.media_name == file_name:
|
||||
vmedia_repo = vmedia
|
||||
vopt_media = vopt
|
||||
break
|
||||
|
||||
if vopt_media is None:
|
||||
LOG.info(_LI("Virtual Optical %(file_name)s was not found for "
|
||||
"deletion.") % {'file_name': file_name})
|
||||
return
|
||||
|
||||
# Remove the entry from the wrapper and then do an update
|
||||
optical_media.remove(vopt_media)
|
||||
vmedia_repo.set_optical_media(optical_media)
|
||||
self.adapter.update(vol_grp._element, vol_grp.etag, vios_w.VIO_ROOT,
|
||||
root_id=self.vios_uuid, child_type=vg.VG_ROOT,
|
||||
child_id=CONF.vopt_media_volume_group)
|
||||
|
||||
# Now we need to delete the file. Unfortunately, we have to find the
|
||||
# file as the vopt media doesn't point us to the file directly.
|
||||
# So we have to load all the files (pretty quick) and then find
|
||||
# the one to delete.
|
||||
#
|
||||
# Should look at optimizations that can be made.
|
||||
file_feed_resp = self.adapter.read(vios_file.FILE_ROOT, service='web')
|
||||
file_feed = vios_file.File.load_from_response(file_feed_resp)
|
||||
for v_file in file_feed:
|
||||
if v_file.file_name == file_name:
|
||||
self.adapter.delete(vios_file.FILE_ROOT, root_id=v_file.uuid,
|
||||
service='web')
|
||||
return
|
||||
|
||||
# If we made it here, the file wasn't actually deleted, but vopt was.
|
||||
LOG.warn(_LW("Virtual Optical for %(file_name)s was deleted, but the "
|
||||
"corresponding file was not found to be deleted.")
|
||||
% {'file_name': file_name})
|
||||
|
||||
def _upload_lv(self, iso_path, file_name, file_size):
|
||||
with open(iso_path, 'rb') as d_stream:
|
||||
upload_lv.upload_vopt(self.adapter, self.vios_uuid, d_stream,
|
||||
|
Loading…
x
Reference in New Issue
Block a user