[openstack-dev] [Manila] PTG summary

Ben Swartzlander ben at swartzlander.org
Fri Mar 3 18:11:51 UTC 2017

Here is a brief summary of the Manila PTG. For more details, check out 
the PTG etherpad [1].

The specs process was a success, but tweaks are needed, especially 
around "high priority" specs.

Ensure Share
This driver interface is currently being used wrong and needs a rewrite. 
We reached agreement on the changes that are needed but no one 
volunteered to write a spec and do the work. There are interactions with 
IPv6 so something needs to be done in Pike.

v1 API
Everyone is in favor of removing the v1 API. I've sent a notice to the 
operators list about the removal plans and we will proceed with deletion 
during pike.

There are some unsolved problems related to testing but we are committed 
to solving these and adding IPv6 support during Pike. One approach to 
solving testing problems is to look at swapping out Ubuntu and using 
CentOS instead.

Incompatible Features
New features were once again added in Ocata without much regard for what 
existing features might not work well with them. While no specific 
incompatibilities are known, we need to comprehensively test the 
combinations and deal with any problems we find.

Experimental Features
This was a highly contentious issue with strong opinions on both sides. 
There remain good arguments for and against the continued use of 
"experimental" features. It's likely that we will evolve the exact 
mechanism for experimental APIs in the future because the existing 
mechanism has serious flaws. For feature development in general though 
there is not much support for feature branches or other styles of 
iterating on large features. We agreed to follow up on this topic in the 
weekly meeting to decide how to handle future experimental features.

Driver Tags
As discussed in Barcelona we plan to move ahead with the driver tags 
concept. I will be adding a maintainers file for the drivers with 
official information about driver maintenance status including 
maintainer contact info and CI status. We hope to use this mechanism to 
apply pressure to vendors to keep CI in good running shape, and to 
expand CI coverage as the community adds better tests (like scenario tests).

User Messages
jprovazn has volunteered to pick up this proposal and carry it forward. 
The main thing left to be done is to find a few more use cases for this 
feature so we can feel comfortable that it's not a generic solution to a 
specific problem.

Race Conditions
For Pike the plan is to keep increasing our usage of tooz locks and 
other tooz features. Also the snapshotting state will be added for shares.

Share Groups
There were many proposals to build new features on top of share groups 
but we agreed not to pursue any of those in Pike. Our priority is to 
make the feature work as well as the CG feature used to work and get the 
API fully supported.

Non-disruptive Share Manage
Ever since we added the "manage share" feature, there have been concerns 
that we don't address the use case of importing an in-use share in a 
non-disruptive way. Some drivers have implemented vendor-specific hacks 
to achieve this, but it leads to inconsistent behavior. We want to 
introduce tests that enforce common behavior across backends and also 
implement a common way to do non-disruptive "manage share" operations. 
The consensus is that we will pursue a 2-phase manage.

Share Replication
The main requirement to move this feature to non-experimental is correct 
implementation of replica quotas. Also we need to have a good plan for 
how to handle DHSS=true which involves changes to the share-networks 

Share Networks and Subnets
Share networks currently can't support either IPv6 or replication where 
the replicas are in different broadcast domains. A significant rework of 
these APIs is needed, and we need to provide backwards compatibility.

Tempest Integration/Decoupling
Ben wants to keep the tests and code in the same repo. We believe there 
is an approach that allows us to meet the needs of the tempest  and the 
rest of the Openstack community without moving our test code. The 
highest priority remains moving the stuff our tests depend on our of 
tempest into tempest-lib so we can un-pin our tempest commit.

Enabled Share Protocols in the UI
We need to make the set of enabled protocols discoverable so GUIs can 
prevent users choosing options that won't work. We agreed to address 
this with new public extra specs on share types.

vkmc volunteered to get our telemetry integration working.

Missing Public Extra Specs
The concept of public extra specs was added after some features which 
should have had public extra specs were added. In particular shrinking 
of shares is an optional feature which currently can't be discovered, 
and needs a capability/extra spec. Also the list of supported protocols 
applies here too.

Access Groups
Still not going to do this. We've punted this feature 7 releases now, 
why does it keep coming up?

We need to get rid of hard-coded is_admin checks and replace them with 
policy checks.

OpenStack Client
No volunteers to work on this. Not a priority. Still concerns about lack 
of support for some things we would need if we were to do this integration.

Share Modify
Now that the migration feature is complete, ganso plans to open up the 
functionality to end-users with the addition of the share-modify API 
which will allow users to retype, change AZ, change share-network, etc 
their shares, possibly invoking migrations.

manila-image-elements vs manila-test-image
We clarified the goals of these 2 repos: manila-test-image is a GPL repo 
only intended for our internal testing, manila-image-elements is an 
Apache-licensed repo intended for producing references images for end 
users. The work to add ganesha support to our service images will go 
into manila-image-elements.

Migration Testing Issues
Ben raised an issue with the way periodic tasks are run in the manager. 
Periodic tasks are serialized not parallelized which makes it impossible 
to increase the frequency of some checks, slowing down tests and 
ultimately causing timeouts in our test jobs. The plan is to parallelize 

-Ben Swartzlander

[1] https://etherpad.openstack.org/p/manila-pike-ptg-topics

More information about the OpenStack-dev mailing list