<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hello Zorillas, and other interested Stackers!</div><div dir="ltr"><br></div><div dir="ltr">Sorry this is getting to you later than usual :)<br><br>We concluded a productive Project Team Gathering on 23rd Apr '21. I'd like to thank everyone that participated as well as the friendly folks at the OpenInfra Foundation who worked hard to organize this event. The following is my summary of the proceedings. I've linked associated etherpads and resources to dig in further. Please feel free to follow up here or on freenode's #openstack-manila if you have any questions.<br><br>== Day 1 - Apr 19, 2021, Mon ==<br><br>=== Manila Retrospective ===<br>Topic Etherpad: <a href="https://etherpad.opendev.org/p/manila-wallaby-retrospective" target="_blank">https://etherpad.opendev.org/p/manila-wallaby-retrospective</a><br> - interns and their mentors did a great job through Wallaby! Many accomplishments, thanks to the sponsoring organizations for their investment<br> - the two Bugsquash events at M1 and M3 were very effective.<br> - we added new core members (python-manilaclient, manila-tempest-plugin)<br> - sub-teams (manila-ui, manilaclient and manila-tempest-plugin) increased focus on the individual projects and sped up reviews<br> - good cross project collaboration with OpenStack QA, Horizon, NFS-Ganesha and Ceph communities<br> - we discussed strategies to avoid reviewer burnout and performed health checks on the team growth initiatives we took up in the Wallaby cycle<br><br>Actions:<br> - need to get proactive about reviews so we can avoid burn-out at the end of the cycle<br> - continue bug squash days in Xena<br> - look for interested contributors to join the core maintainer team<div> - bring up reviews in weekly meetings and assign review owners earlier than M-2</div><div> - contributors need to be reminded to help with reviews</div><div><br></div><div><br>== Day 3 - Apr 21, 2021, Wed ==<br><br>=== manila-tempest-plugin plans and update ===<br>- lkuchlan and vhari highlighted difficulties around "capabilities" testing that was exposed due to feature changes in the CephFS driver in the Wallaby cycle<br>- optional feature testing requires rework, the configuration options and test strategy have gotten confusing over time<br>- discussion continued on dropping testing for older API microversions where some optional features (snapshots, snapshot cloning) weren't really optional. It was agreed that this was overkill. The problem is specifically in share type extra-specs. If these are setup with API version >= 2.24, we could circumvent this: <a href="https://review.opendev.org/c/openstack/manila-tempest-plugin/+/785307" target="_blank">https://review.opendev.org/c/openstack/manila-tempest-plugin/+/785307</a>. The only issue is that tests could theoretically be run against a cloud that doesn't support API version 2.24 (has to be Newton release or older).  The team agreed that we could document this deficiency in the configuration file since Newton release has been EOL for a while. <br><br>Actions:<br> - review and merge the fix to share type extra-specs<div> - rework existing "run_XYZZY_tests" and "capability_XYZZY_support" flags to "share-feature-enabled" section where these capabilities are always set when a feature is enabled - this is in-line with the way optional feature testing for other OpenStack services is done</div><div> </div><div>=== Service Recovery ===</div><div>Topic Etherpad: <a href="https://etherpad.opendev.org/p/xena-ptg-manila-share-recovery-polling" target="_blank">https://etherpad.opendev.org/p/xena-ptg-manila-share-recovery-polling </a></div><div>- gouthamr discussed the use cases and architectures needing to run manila-share in active-active HA </div><div><span style="background-color:rgb(255,255,255)">- service recovery after failure needs to be coordinated to prevent metadata corruption</span></div><div><span style="background-color:rgb(255,255,255)">- clustering services will provide coordination for cleanup</span></div><div><span style="background-color:rgb(255,255,255)">- vendor driver authors will need to audit critical sections and replace oslo.concurrency locks with distributed locks. </span></div><div><span style="background-color:rgb(255,255,255)"><br></span></div><div><span style="background-color:rgb(255,255,255)">Actions:</span></div><div><span style="background-color:rgb(255,255,255)">- there will be a specification submitted for review</span></div><div><br></div><div><span style="background-color:rgb(255,255,255)">=== Polling operations in manila-share ===</span></div><div><span style="background-color:rgb(255,255,255)">Topic Etherpad: </span><a href="https://etherpad.opendev.org/p/xena-ptg-manila-share-recovery-polling" target="_blank">https://etherpad.opendev.org/p/xena-ptg-manila-share-recovery-polling</a></div><div><span style="background-color:rgb(255,255,255)"><font color="#000000" face="-webkit-standard" size="3"><span>- </span></font></span>haixin and gouthamr summarized the periodic tasks conducted by the share manager service</div><div>   - to update share service capabilities and real time capacity information, </div><div>   - to monitor the health of share replicas, </div><div>   - to "watch" the progress of long running clone, snapshot and migration operations. </div><div>- these periodic tasks will be inefficiently duplicated if running across multiple nodes associated with the same backend storage system/driver </div><div>- many of these periodic tasks are meant to be read-only, however, the health-check operations modify database state, currently these assume a single writer, and unless staggered, updates may be duplicated as well</div><div>- proposed mitigation was to allow clustered hosts to ignore polling operations if one is in progress elsewhere, and for the service instance executing the tasks to distribute the workload to other hosts via the message queue</div><div>- another issue with periodic tasks was the lack of ability to stop an unnecessary task from running - we could take advantage of oslo's threadgroup that exposes a start/stop API</div><div><br></div><div>Actions:</div><div>- replace loopingcall periodic tasks with threadgroups to selectively run periodic tasks</div><div>- propose a specification to coordinate and distribute polling workloads </div><div><br></div><div>=== Interop Working Group ===</div><div>- arkady_kanevsky presented the mission of the InteropWG, and laid out plans for the upcoming Interop guideline</div><div>- manila tests were added to the guideline as part of the 2020.11 guideline and have been available for the community to provide results</div><div>- there was an optional capability (shrinking shares) that was flagged, and the team discussed if it was to remain flagged, or be moved to an advisory state - including reduction of the cutoff score</div><div>- the team wants to stabilize the tests exposed through the next guideline, and work on a way to remove the necessity of an admin user to bootstrap the manila's tempest tests where unnecessary</div><div><br></div><div>Actions:</div><div>- improve manila tempest plugin to not request admin credentials for the tests exposed, and work with a configured "default" share type</div><div><br></div><div>=== Share server migration improvements ===</div><div>- share server migration was added as an experimental feature in the Victoria release</div><div>- carloss presented use cases for nondisruptive share server migration</div><div>- nondisruptive migration would mean that network changes are unnecessary, so the share manager needn't seek out any new network ports or relinquish existing ones</div><div>- the share server migration is experimental, however, we'd still make nondisruptive migration possible only from a new API microversion</div><div>- manual triggering of the second phase is still necessary to allow control of the cutover/switchover. All resources will continue to be tagged busy until the migration has been completed</div><div><br></div><div>Actions:</div><div>- no specification is necessary because the changes to the API and core manila are expected to be minimal</div><div><br></div><div>=== OpenStackSDK and Manila ===</div><div>- ashrod98, NicoleBU and markypharaoh, seniors at Boston University worked through the past cycle to expose manila resources to the OpenStackSDK</div><div>- an outreachy internship proposal has been submitted to continue their work to expose more API functionality via the SDK</div><div>- we'd prioritize common elements - quotas, limits and availability zones so we can parallely work on the OpenStackClient and Horizon implementation for these</div><div>- need review attention on the patches </div><div><br></div><div>Actions:</div><div>- some domain reviewers for manila patches to be added to the OpenStackSDK core team to help with reviews</div><div><br></div><div><br></div><div>== Day 4 - Apr 22, 2021, Thu ==</div><div><br></div><div>=== Support soft delete/recycle bin functionality ===</div><div>- haixin told us that inspur cloud has a "soft-delete" functionality that they would like to contribute to upstream manila</div><div>- the functionality allows users to recover deleted shares within a configurable time zone via Manila API</div><div>- the proposal is to only allow soft-deletion and recovery of shares, but in the future this can be extended to other resources such as snapshots, replicas, share groups</div><div>- soft deletions have the same validations as deletions currently do</div><div>- quota implications and alternatives (unmanage, an system admin API) were discussed</div><div><br></div><div>Actions:</div><div>- a specification will be proposed for this work</div><div><br></div>=== New Driver Requirements and CI knowledge sharing ===</div><div>- there was a informative presentation from the Cinder PTG [3] about using Software Factory to deploy a Third Party CI system with Gerrit, Nodepool, Zuulv3 and other components</div><div>- some helpful but unmaintained test hook code exists in the repos to aid with CI systems using devstack-gate</div><div>- since devstack-gate has been deprecated for a long time, third party CIs are strongly recommended to move away from it</div><div><br></div><div>Actions:</div><div>- complete removal of devstack-gate related manila-tempest-plugin installation from manila's devstack plugin</div><div>- create a Third Party CI and help wiki/doc that vendor driver maintainers can curate and contribute to</div><div><br></div>=== New Driver for Dell EMC PowerStore ===</div><div dir="ltr">- vb123 discussed Dell EMC powerstore storage, its capabilities and their work in cinder, and made a proposal for a driver in manila</div><div dir="ltr">- this driver's being targeted for the Xena release: <a href="https://blueprints.launchpad.net/manila/+spec/powerstore-manila-driver">https://blueprints.launchpad.net/manila/+spec/powerstore-manila-driver</a></div><div dir="ltr">- community shared updates and documentation from the Victoria and Wallaby cycles that may be helpful to the driver authors</div><div>- driver submission deadlines have been published: <a href="https://releases.openstack.org/xena/schedule.html">https://releases.openstack.org/xena/schedule.html</a> </div><div dir="ltr"><div><br></div>=== Enabling access allow/deny for container driver with LDAP ===</div><div>- esantos and carloss enabled the container driver in the Wallaby release to support addition of and updates to LDAP security services </div><div>- however, this work was just intended to expose a reference implementation to security services</div><div>- the container driver does not validate access rules applied with the LDAP server today</div><div>- the proposal is to enable validation in the driver when a security service is configured</div><div dir="ltr"><br></div><div dir="ltr">Actions:</div><div dir="ltr">- publish container driver helper image to the manila-image-elements repository and explore container registries that community can use for the long term for CI and dev/test</div><div dir="ltr">- file a bug and fix the missing LDAP validation in the container share driver</div><div dir="ltr"><br></div><div dir="ltr">=== Keystone based user/cephx authentication ===</div><div dir="ltr">- "cephx" (CEPHFS) access types are not validated beyond their structure and syntax</div><div>- with cephx access, an access key for the ceph client user can be retrieved via the access-list API call</div><div>- access keys are privileged information, while we've always had a stance that Native CephFS is only suitable in trusted tenant environments, there's a desire to hide access keys from unrelated users in the project</div><div>- gouthamr proposed that we allow deployers to choose if Keystone user identity validation must be performed</div><div>- when validation is enabled, manila ensures that users may only allow share access to other users in their project</div><div>- users may only retrieve access keys belonging to themselves, and no other project users</div><div>- an alternative would be to keystone validation would be to allow controlling the access_key via a separate RBAC policy</div><div>- with the alternative, we wouldn't be able to validate if the access to user is in the same project as the user requesting the access</div><div><br></div><div>Actions:</div><div>- a specification will be proposed, however, the work's not expected to be prioritized for Xena</div><div><br></div>=== Addressing Technical Debt ===</div><div>- we discussed tech debt that was piling up from the last couple of cycles and assigned owners to drive them to completion in the Xena cycle</div><div dir="ltr"><br></div><div>Actions:</div><div dir="ltr">- python-manilaclient still relies on keystoneclient to perform auth, there's ongoing work from vkmc+gouthamr to replace this with keystoneauth [4]</div><div dir="ltr">- code in manila relies on the retrying python library that is no longer maintained; kiwi36 will propose replacing the usage with tenacity with tbarron's help [5]</div><div dir="ltr">- tbarron will be resurrecting a patch that removes old deprecated configuration options [6]</div><div dir="ltr">- carloss will be picking up rootwrap-to-privsep migration</div><div dir="ltr"><br></div><div dir="ltr">=== Unified Limits ===</div><div dir="ltr">Topic Etherpad: <a href="https://etherpad.opendev.org/p/unified-limits-ptg">https://etherpad.opendev.org/p/unified-limits-ptg</a></div><div>- kiwi36, our Outreachy intern, proposed the design for using keystone's unified limits in manila with the help of the oslo.limit library</div><div>- he walked through the prototype using resource quotas and highlighted the differences with the current quota system</div><div>- we discussed why nested quotas were preferable to user quotas</div><div dir="ltr"><br></div><div dir="ltr">Actions:</div><div>- a release independent specification will be proposed for the community to review and continue this work</div><div>- explore how share type quotas will be handled</div><div><br></div>=== Secure RBAC Follow up ===<br>- vhari presented the RBAC changes that were made in the Wallaby release, including support for the system scope and reader role<br>- a tempest test strategy was discussed, along with improvements made to tempest itself to make test credential setup with the new default roles<br>- there's no plan to enforce the new defaults in Xena, we'll take the release to stabilize the feature and turn on deprecation warnings indicating intent to switch to the new defaults in the Y release<br><br>Actions:<br>- vhari and lkuchlan will start working on the tempest tests <br>- wrap up known issues with the new defaults and backport fixes to the Wallaby release<br>- manila's admin model and user personas will be documented<div dir="ltr"><div dir="ltr"><div><br></div><div><br>== Day 5 - Apr 23, 2021, Fri ==</div><div><br></div><div>=== VirtIOFS plans and update ===</div><div>Topic Etherpad: <a href="https://etherpad.opendev.org/p/nova-manila-virtio-fs-support-xptg-april-2021">https://etherpad.opendev.org/p/nova-manila-virtio-fs-support-xptg-april-2021</a></div><div>- tbarron and lyarwood presented an update on the research that was done in the wallaby release wrt live attaching virtiofs volumes to running compute instances</div><div>- qemu supports live attaches, the feature is coming to libvirt soon. live migration of instances with virtiofs volumes isn't supported yet - this is ongoing work in the qemu/kvm/libvirt communities</div><div>- we discussed the connection initiation and information exchange between manila and nova, and what parts will be coordinated via the os-share library</div><div>- there are as yet no anticipated changes to the manila API</div><div><br></div><div>Actions:</div><div>- continue working with the libvirt community to have the live-attach APIs added</div><div>- a specification will be proposed to nova (and manila if changes are necessary to the manila API)</div><div><br></div>=== CephFS driver update ===</div><div dir="ltr">Topic Etherpad: <a href="https://etherpad.opendev.org/p/cephfs-driver-update-xena-ptg">https://etherpad.opendev.org/p/cephfs-driver-update-xena-ptg</a></div>- vkmc presented the changes and new features in the cephfs driver in the wallaby cycle </div><div>- the driver was overhauled to interact with ceph via the ceph-mgr daemon instead of the deprecated ceph_volume_client library</div><div dir="ltr">- there's an upgrade impact going from victoria to wallaby. Deployers must consult the release notes [7]  and the ceph driver documentation [8] prior to upgrading. Data path operations are unaffected during an upgrade:</div><div dir="ltr">   - ceph clusters must be running the latest version of the release they're on to allow the wallaby manila driver to communicate with the ceph cluster</div><div>   - the ceph user configured with the driver needs mgr "caps", and mds/osd privileges can be dropped/reduced [8]</div><div>- we discussed dropping the use of dbus in the nfs-ganesha module, and using the "watch-url" approach that ganesha's ceph-fsal module provides</div><div>- we also discussed ceph-adm and ceph-orch based deployment which replaces ceph-ansible and the impact that would have on ganesha configuration</div><div>- ceph quincy will support active/active nfs-ganesha clusters (even with ceph-adm based deployment), we discussed manila side changes to take advantage of this feature</div><div><br></div><div dir="ltr">=== manilaclient and OpenStackClient plans and update ===<br>Topic Etherpad: <a href="https://etherpad.opendev.org/p/manila-osc-xena-ptg">https://etherpad.opendev.org/p/manila-osc-xena-ptg</a></div><div>- maaritamm provided an update on our multi-cycle effort to gain parity between manila's shell client and the osc plugin </div><div>- we made great progress in the wallaby cycle and covered all "user" related functionality that was requested - we discussed what's left, and sought community priority of the missing commands</div><div>- we discussed deprecation of the manila shell client and only supporting the osc plugin - albeit addressing the "standalone" use case where "manila" can be used in place of "openstack share" if users desire</div><div>- we could use help to add new commands, and to review code in the osc plugin</div><div><br></div><div>Actions:</div><div>- achieve complete feature parity between the two shell client implementations, deprecate the manila shell client </div><div dir="ltr"><br><br>=== manila-ui plans and update === <br>Topic Etherpad: <a href="https://etherpad.opendev.org/p/manila-ui-update-xena-ptg">https://etherpad.opendev.org/p/manila-ui-update-xena-ptg</a></div><div>- disap, our Outreachy intern and vkmc, highlighted the changes made in the wallaby cycle</div><div>- we lauded the cross-project collaboration that was renewed in this cycle to triage issues, and proactively work on incoming changes in horizon and elsewhere</div><div dir="ltr">- manila-ui's microversion catchup is progressing slowly, but surely</div><div dir="ltr">- we have another outreachy project proposal that overlaps with the xena cycle </div><div dir="ltr"><br></div><div dir="ltr">Actions:</div><div dir="ltr">- continue to catch up to API feature functionality in the UI</div><div dir="ltr"><div dir="ltr"><div><br><br>Thanks for staying with me so far! :) There were a number of items that we couldn't cover, that you can see on the PTG Planning etherpad [1], if you own those topics, please add them to the weekly IRC meeting agenda [2] and we can go over them. The meeting minutes etherpad continues to be available [9]. <br><br>As usual, the whole PTG was recorded and posted on the OpenStack Manila Youtube channel [10]<br><br>We had a great turn out and we heard from a diverse set of contributors, operators, interns and users from several affiliations and time zones. On behalf of the OpenStack Manila team, I deeply appreciate your time, and help in keeping the momentum on the project!</div><div><br></div><div>Best, </div><div>gouthamr</div><div><br>[1] <a href="https://etherpad.opendev.org/p/xena-ptg-manila-planning" target="_blank">https://etherpad.opendev.org/p/xena-ptg-manila-planning</a><br>[2] <a href="https://wiki.openstack.org/wiki/Manila/Meetings" target="_blank">https://wiki.openstack.org/wiki/Manila/Meetings</a></div><div>[3] <a href="https://www.youtube.com/watch?v=hVLpPBldn7g">https://www.youtube.com/watch?v=hVLpPBldn7g</a></div><div>[4] <a href="https://review.opendev.org/647538">https://review.opendev.org/647538</a></div><div>[5] <a href="https://review.opendev.org/380552">https://review.opendev.org/380552</a><br>[6] <a href="https://review.opendev.org/745206/">https://review.opendev.org/745206/</a></div><div>[7] <a href="https://docs.openstack.org/releasenotes/manila/wallaby.html">https://docs.openstack.org/releasenotes/manila/wallaby.html </a></div><div>[8] <a href="https://docs.openstack.org/manila/wallaby/admin/cephfs_driver.html">https://docs.openstack.org/manila/wallaby/admin/cephfs_driver.html</a></div><div>[9] <a href="https://etherpad.opendev.org/p/xena-ptg-manila" target="_blank">https://etherpad.opendev.org/p/xena-ptg-manila</a><br>[10] <a href="https://www.youtube.com/playlist?list=PLnpzT0InFrqDmsKKsF0MQKtv9fP4Oik17" target="_blank">https://www.youtube.com/playlist?list=PLnpzT0InFrqDmsKKsF0MQKtv9fP4Oik17</a></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>