Manila/TrainCycle

This wiki document is used to track work that has been scheduled for the Train release of OpenStack Manila.

The release schedule is here.

The manila project specific deadlines proposed are here.

Create share from snapshots in another pool or back end
Owner/s: dviroel

Work Items:

- Spec: https://review.opendev.org/#/c/609537/

Share network multiple subnets
Owner/s: lseki

Work Items:

- Spec: https://review.opendev.org/#/c/619925/

Share and back end capabilities improvements
Owner/s:

Work Items:

- Spec: https://review.opendev.org/#/c/616383/

Manila support for python-openstackclient
Owner/s: vkmc, s0ru

Work items: - Spec: https://review.opendev.org/#/c/644218/

Add update share-type api to share types
Owner/s: haixin

Work items: - Spec: https://review.opendev.org/#/c/661209/ - Spec: https://review.opendev.org/#/c/672244/

Render docs as PDFs
Owner/s:

TC Goal Champion: Alexandra Settle (asettle)

Work Items:

- Goal Description: https://governance.openstack.org/tc/goals/train/pdf-doc-generation.html

IPv6 testing
Owner/s:

TC Goal Champion: Ghanshyam Mann (gmann)

Work Items:

- Goal description: https://review.opendev.org/#/c/653545/9/goals/train/ipv6-support-and-testing.rst - Goal description (changes by fungi): https://review.opendev.org/#/c/657174/1/goals/train/ipv6-support-and-testing.rst

Python3 Testing
Building on our Stein Python3 work, we need to get Manila Third Pary CI jobs running Python 3.

Background
Python 2 (that is, Python 2 itself, not simply OpenStack support for Python 2) is end-of-life on 1 January 2020. This means that the Train release of OpenStack is the last release that will support Python 2. The OpenStack Technical Committee has declared that Python 2 support will be dropped completely during the beginning of the U development cycle (that is, late in 2019).

Reference: 2018-05-29 Python2 Deprecation Timeline

Third Party CI
We worked in the Pike release to get Manila unit tests running under Python3. In Train we have completed the work begun in Stein to get all first party functional test jobs running under Python 3. Now we need to push to get third party jobs converted to Python 3 since Train will be the last OpenStack release to keep support for Python2 and it will itself support Python3 first.

VNX driver urllib/eventlet issue

Compliance List

 * NetApp ONTAP CI (DHSS=True/False): all Manila projects are running against NetApp CI configured with Python 3.7.
 * Quobyte CI: all projects running with Python 3.7.
 * "INFINIDAT CI": all projects running with Python 3.7.

The steps to convert the tempest jobs to Python 3 were based on Cinder's Tips_for_Converting_Your_CI_to_Python_3 guide that can be found in the following section.

Tips for Converting Your CI to Python 3
Please share your experiences to help other CI maintainers. If you can't edit this wiki page (permissions were restricted due to a really bad spam storm in 2017), please slap your comments into a paste and contact tbarron, vkmc, or gouthamr in the #openstack-manila IRC channel and we'll add them for you.

For reference, here is the review that converted our first party tempest jobs to Python 3.

Here is Cinder's conversion tips page.

Manila UI plugin
Owner/s: vkmc

Work Items:
 * Extending integration tests
 * manila-ui integration test framework was added in Stein release by e0ne: https://review.openstack.org/#/c/635112/
 * Catching up to Manila API versions - v2.32 as of Stein release
 * We need bugs against each API version and volunteers to work on these bugs

Manila CSI
Owner/s: tbarron/gouthamr https://github.com/kubernetes/cloud-provider-openstack/pull/704 Work Items:
 * CSI driver implementation: https://github.com/kubernetes/cloud-provider-openstack/pull/536 Merged
 * Add CI jobs for Manila CSI: https://github.com/kubernetes/cloud-provider-openstack/issues/630
 * Initial snapshot support: https://github.com/kubernetes/cloud-provider-openstack/pull/652 Merged
 * Roll back storage resources on failure: https://github.com/kubernetes/cloud-provider-openstack/pull/704 Merged
 * Deployment manifests refactoring and helm chart: https://github.com/kubernetes/cloud-provider-openstack/pull/711 Merged
 * Add CSI sanity tests: https://github.com/kubernetes/cloud-provider-openstack/issues/714
 * Move manila client into its own package: https://github.com/kubernetes/cloud-provider-openstack/issues/716
 * Enhancements to the CSI driver:
 * Volume extension
 * Snapshots -- implemented
 * Topology

Active-Active Share Service
Owner/s: gouthamr

Work Items:
 * Enable tooz with etcd on DevStack
 * Convert remaining oslo_concurrency file locks to tooz
 * https://bugs.launchpad.net/manila/+bug/1585241
 * Create a multi-node devstack job template
 * Create a "HA" test job with the muti-node devstack job

OpenStack Client Integration
Owner/s: s0ru, vkmc, enriquetaso

Work Items:
 * Extend the osc shell support within python-manilaclient
 * Shell implementation added here (gouthamr): https://review.opendev.org/#/c/642222/
 * Add CRUD operations on shares as a beginning
 * Implementation: https://review.opendev.org/#/q/topic:bp/openstack-client-support+(status:open+OR+status:merged)+project:%255E.*manila.*

OpenStack SDK integration
Owner/s: amito

Work Items:
 * Workplan: https://storyboard.openstack.org/#!/story/2003752
 * Add basic resources and actions (Share Types, Shares, Access Rules) (amito)
 * Shares (basic and share detail) nearly done. I will hopefully upload a patch in the upcoming week (01/11/2018, amito)
 * https://review.openstack.org/#/c/638782/
 * Add supplementary resources and actions (Snapshots, etc) (gouthamr, amito)

Bug Triage
Bug Czar: jgrosso

Work Items:
 * Manila Bug Tracking Etherpad

Reference
Train PTG Etherpad