<html><body><p><font size="2">For the question on AE documentation, it's open source in [1] and the documentation for how to build and use is [2] </font><br><font size="2">once our code is upstream, there are a set of documentation change which will cover this image build process by</font><br><font size="2">adding some links to there [3]</font><br><br><font size="2">You are right, we need image to have our Active Engine, I think different arch and platform might have their unique</font><br><font size="2">requirements and our solution our Active Engine is very like to cloud-init so no harm to add it from user's perspective</font><br><font size="2">I think later we can upload image to some place so anyone is able to consume it as test image if they like </font><br><font size="2">because different arch's image (e.g x86 and s390x) can't be shared anyway. </font><br><br><font size="2">For the config drive format you mentioned, actually, as previous explanation and discussion witho Michael and Dan, </font><br><font size="2">We found the iso9660 can be used (previously we made a bad assumption) and we already changed the patch in [4],</font><br><font size="2">so it's exactly same to other virt drivers you mentioned , we don't need special format and iso9660 works perfect for our driver</font><br><br><font size="2">It make sense to me we are temply moved out from runway, I suppose we can adjust the CI to enable the run_ssh = true</font><br><font size="2">with config drive functionalities very soon and we will apply for review after that with the test result requested in our CI log.</font><br><br><font size="2">Thanks</font><br><br><font size="2">[1] </font><a href="https://github.com/mfcloud/python-zvm-sdk/blob/master/tools/share/zvmguestconfigure"><font size="2">https://github.com/mfcloud/python-zvm-sdk/blob/master/tools/share/zvmguestconfigure</font></a><br><font size="2">[2] </font><a href="http://cloudlib4zvm.readthedocs.io/en/latest/makeimage.html#configuration-of-activation-engine-ae-in-zlinux"><font size="2">http://cloudlib4zvm.readthedocs.io/en/latest/makeimage.html#configuration-of-activation-engine-ae-in-zlinux</font></a><br><font size="2">[3] </font><a href="https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:bp/add-zvm-driver-rocky"><font size="2">https://review.openstack.org/#/q/status:open+project:openstack/nova+branch:master+topic:bp/add-zvm-driver-rocky</font></a><br><font size="2">[4]  </font><a href="https://review.openstack.org/#/c/527658/33/nova/virt/zvm/utils.py"><font size="2">https://review.openstack.org/#/c/527658/33/nova/virt/zvm/utils.py</font></a><font size="2">    line 104 </font><br><br><font size="2">Best Regards! <br><br>Kevin (Chen) Ji ¼Í ³¿<br><br>Engineer, zVM Development, CSTL<br>Notes: Chen CH Ji/China/IBM@IBMCN   Internet: jichenjc@cn.ibm.com<br>Phone: +86-10-82451493<br>Address: 3/F Ring Building, ZhongGuanCun Software Park, Haidian District, Beijing 100193, PRC </font><br><br><img width="16" height="16" src="cid:1__=8FBB08E1DFA381C58f9e8a93df938690918c8FB@" border="0" alt="Inactive hide details for melanie witt ---04/17/2018 09:21:03 AM---On Mon, 16 Apr 2018 14:56:06 +0800, Chen Ch Ji wrote: >  >>>"><font size="2" color="#424282">melanie witt ---04/17/2018 09:21:03 AM---On Mon, 16 Apr 2018 14:56:06 +0800, Chen Ch Ji wrote: >  >>>The "iso file" will not be inside the gu</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">melanie witt <melwittt@gmail.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">openstack-dev@lists.openstack.org</font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">04/17/2018 09:21 AM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">Re: [openstack-dev] [Nova] z/VM introducing a new config driveformat</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><tt><font size="2">On Mon, 16 Apr 2018 14:56:06 +0800, Chen Ch Ji wrote:<br>>  >>>The "iso file" will not be inside the guest, but rather passed to <br>> the guest as a block device, right?<br>> Cloud init expects to find a config drive with following requirements <br>> [1], in order to make cloud init able to consume config drive , we <br>> should be able to prepare it,<br>> in some hypervisor, you can define something like following to the VM <br>> then VM startup is able to consume it<br>> <source file="/var/log/cloud/new/abc.iso"/><br>> but for z/VM case it allows disk to be created during VM create (define <br>> )stage but no disk format set, it's the operating system's <br>> responsibility to define the purpose of the<br>> disk, so what we do is<br>> 1) first when we build image ,we create a small AE like cloud-init but <br>> only purpose is to get files from z/VM internal pipe and handle config <br>> drive case<br><br>What does AE stand for? So, this means in order to use the z/VM driver, <br>users must have special images that will ensure the config drive will be <br>readable by cloud-init. They can't use standard cloud images.<br><br>> 2) During spawn we create config drive in nova-compute side then send <br>> the file to z/VM through z/VM internal pipe (omit detail here)<br>> 3) During startup of the virtual machine, the small AE is able to mount <br>> the file as loop device and then in turn cloud-init is able to handle it<br>> <br>> because this is our special case, we don't want to upload to cloud-init <br>> community because of uniqueness and as far as we can tell, no hook in <br>> cloud-init mechanism allowed as well<br>> to let us 'mount -o loop' ; also, from openstack point of view except <br>> this small AE (which is documented well) no special thing and <br>> inconsistent to other drivers<br>> <br>> [1]</font></tt><tt><font size="2"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_number5_cloud-2Dinit_blob_master_cloudinit_sources_DataSourceConfigDrive.py-23L225&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=3410axnNZ_62U3HOh6i7yivyc7HyTcqwx2xuKRDEeac&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_number5_cloud-2Dinit_blob_master_cloudinit_sources_DataSourceConfigDrive.py-23L225&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=3410axnNZ_62U3HOh6i7yivyc7HyTcqwx2xuKRDEeac&e=</a></font></tt><tt><font size="2"><br><br>Where is the AE documented? How do users obtain it? What tools are they <br>supposed to use to build images to use with the z/VM driver?<br><br>That aside, from what I can see, the z/VM driver behaves unlike any <br>other in-tree driver [0-5] in how it handles config drive. Drivers are <br>expected to create the config drive and present it to the guest in <br>iso9660 or vfat format without requirement of a custom image and the <br>existing drivers are doing that.<br><br>IMHO, if the z/VM driver can't be fixed to provide proper config drive <br>support, we won't be able to approve the implementation patches. I would <br>like to hear other opinions about it.<br><br>I propose that we remove the z/VM driver blueprint from the runway at <br>this time and place it back into the queue while work on the driver <br>continues. At a minimum, we need to see z/VM CI running with <br>[validation]run_validation = True in tempest.conf before we add the z/VM <br>driver blueprint back into a runway in the future.<br><br>Cheers,<br>-melanie<br><br>[0] <br></font></tt><tt><font size="2"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_hyperv_vmops.py-23L661&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=7PXdcMLIrzcekkl0V3N1vML09CGgvali0Q4v-M_vrzk&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_hyperv_vmops.py-23L661&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=7PXdcMLIrzcekkl0V3N1vML09CGgvali0Q4v-M_vrzk&e=</a></font></tt><tt><font size="2"><br>[1] <br></font></tt><tt><font size="2"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_ironic_driver.py-23L974&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=X1KzmZQEfiHW1O6N1j5vBJkERjrV0dDrZlkT3LjE5aY&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_ironic_driver.py-23L974&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=X1KzmZQEfiHW1O6N1j5vBJkERjrV0dDrZlkT3LjE5aY&e=</a></font></tt><tt><font size="2"><br>[2] <br></font></tt><tt><font size="2"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_libvirt_driver.py-23L3595&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=a5XhSWf7Ws5h_OuiUc_LpMVtM4ud3GoexVM1NKpBwfM&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_libvirt_driver.py-23L3595&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=a5XhSWf7Ws5h_OuiUc_LpMVtM4ud3GoexVM1NKpBwfM&e=</a></font></tt><tt><font size="2"><br>[3] <br></font></tt><tt><font size="2"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_powervm_media.py-23L120&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=w7kq1DhO7qw57H0ZX0uxkj1tFvLCeYOHU9QVUTmBehU&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_powervm_media.py-23L120&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=w7kq1DhO7qw57H0ZX0uxkj1tFvLCeYOHU9QVUTmBehU&e=</a></font></tt><tt><font size="2"><br>[4] <br></font></tt><tt><font size="2"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_vmwareapi_vmops.py-23L854&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=_G6MIr7OqLH48t8b8JGMVhg6bgCPg8bgHbPez9ohbG0&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_vmwareapi_vmops.py-23L854&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=_G6MIr7OqLH48t8b8JGMVhg6bgCPg8bgHbPez9ohbG0&e=</a></font></tt><tt><font size="2"><br>[5] <br></font></tt><tt><font size="2"><a href="https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_xenapi_vm-5Futils.py-23L1151&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=LZK-0hqXfMqBaLHUHMA4kjE-mReBuP1vw9pYGPoqAxU&e=">https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openstack_nova_blob_888cd51_nova_virt_xenapi_vm-5Futils.py-23L1151&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=LZK-0hqXfMqBaLHUHMA4kjE-mReBuP1vw9pYGPoqAxU&e=</a></font></tt><tt><font size="2"><br><br>__________________________________________________________________________<br>OpenStack Development Mailing List (not for usage questions)<br>Unsubscribe: OpenStack-dev-request@lists.openstack.org?subject:unsubscribe<br></font></tt><tt><font size="2"><a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openstack.org_cgi-2Dbin_mailman_listinfo_openstack-2Ddev&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=SiDXOoY94EWr2-3GDE9_5U6tsqgl7OqwbFzSwJrGAzA&e=">https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.openstack.org_cgi-2Dbin_mailman_listinfo_openstack-2Ddev&d=DwIGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=8sI5aZT88Uetyy_XsOddbPjIiLSGM-sFnua3lLy2Xr0&m=yV6OJ4IfFSLoHNWAJpBF7j0sK2pgfxSEIigv8vinYw0&s=SiDXOoY94EWr2-3GDE9_5U6tsqgl7OqwbFzSwJrGAzA&e=</a></font></tt><tt><font size="2"><br><br></font></tt><br><br><BR>
</body></html>