<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vponomaryov</id>
		<title>OpenStack - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.openstack.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vponomaryov"/>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/wiki/Special:Contributions/Vponomaryov"/>
		<updated>2026-07-08T19:14:03Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.28.2</generator>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=153620</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=153620"/>
				<updated>2017-04-27T11:46:45Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Next meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
'''Previous meeting logs can be found here:''' http://eavesdrop.openstack.org/meetings/manila/&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 20 Apr, 2017, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Ensure shares (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/446494/&lt;br /&gt;
# Update shares (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/453553/&lt;br /&gt;
# Infinite shares (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/452097/&lt;br /&gt;
#* What &amp;quot;infinite&amp;quot; shares ought to be?&lt;br /&gt;
#* How should we collect actual share usage?&lt;br /&gt;
# API filtering (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/447775/&lt;br /&gt;
# Notification about vponomaryov's stepping out of project&lt;br /&gt;
#* Valeriy Ponomaryov, known as &amp;quot;vponomaryov&amp;quot; in IRC, will be involved in Manila project till the middle of June. Then he will have other responsibilities.&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 13 Apr, 2017, 15:00 UTC'''&lt;br /&gt;
# Spec Freeze&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 6 Apr, 2017, 15:00 UTC'''&lt;br /&gt;
# Concurrency bugs with LVM driver? [http://lists.openstack.org/pipermail/openstack-dev/2017-April/114945.html email ] (tbarron)&lt;br /&gt;
# Pike Specs&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-pike-spec-review-focus&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 30 Mar, 2017, 15:00 UTC'''&lt;br /&gt;
# ensure share(zhongjun_)&lt;br /&gt;
#*https://review.openstack.org/#/c/446494&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 23 Mar, 2017, 15:00 UTC'''&lt;br /&gt;
# SSL certificate verification&lt;br /&gt;
# Specs&lt;br /&gt;
#* https://review.openstack.org/#/q/status:open+project:openstack/manila-specs&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 9 Mar, 2017, 15:00 UTC'''&lt;br /&gt;
# Specs Deadline (continued) (bswartz)&lt;br /&gt;
# Community Goals (bswartz)&lt;br /&gt;
#* https://github.com/openstack/governance/blob/master/goals/pike/deploy-api-in-wsgi.rst&lt;br /&gt;
#* https://github.com/openstack/governance/blob/master/goals/pike/python35.rst&lt;br /&gt;
# Experimental APIs (bswartz)&lt;br /&gt;
# Refactor of Tempest scenario base classes (bswartz)&lt;br /&gt;
#* http://lists.openstack.org/pipermail/openstack-dev/2017-March/113071.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 2 Mar, 2017, 15:00 UTC'''&lt;br /&gt;
# Experimental Features (bswartz)&lt;br /&gt;
# Specs Deadline (bswartz)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 16 Feb, 2017, 15:00 UTC'''&lt;br /&gt;
# i18n liason needed&lt;br /&gt;
#* https://wiki.openstack.org/wiki/CrossProjectLiaisons#I18n&lt;br /&gt;
# PTG&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-pike-ptg-topics&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 2 Feb, 2017, 15:00 UTC'''&lt;br /&gt;
# Microversions (rhagarty)&lt;br /&gt;
#* Do we follow Cinder's lead and provide an easy way for other projects to know our current supported microversion? (see https://review.openstack.org/#/c/420119). This would provide the mechanism for the Manila UI to determine if features should/should not be made available to the user.&lt;br /&gt;
# Share groups bugs&lt;br /&gt;
#* https://bugs.launchpad.net/manila/+bug/1660321&lt;br /&gt;
#* https://bugs.launchpad.net/manila/+bug/1660319&lt;br /&gt;
#* https://bugs.launchpad.net/manila/+bug/1659023&lt;br /&gt;
#* https://bugs.launchpad.net/manila/+bug/1661266&lt;br /&gt;
#* https://bugs.launchpad.net/manila/+bug/1661268&lt;br /&gt;
# LVM revert to snapshot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 26 Jan, 2017, 15:00 UTC'''&lt;br /&gt;
# Feature Freeze&lt;br /&gt;
#* IPv6&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 19 Jan, 2017, 15:00 UTC'''&lt;br /&gt;
# Specs implementation status (bswartz)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-ocata-code-review-focus&lt;br /&gt;
# Filterscheduler warning in logs (ravichandran)&lt;br /&gt;
#* &amp;quot;WARNING manila.scheduler.manager [-] Scheduler driver path manila.scheduler.filter_scheduler.FilterScheduler is deprecated, update your configuration to the new path manila.scheduler.drivers.filter.FilterScheduler &amp;quot;&lt;br /&gt;
# How to see the recently committed  changes to (master branch ) /config-reference/shared-file-systems/drivers/hpe-3par-share-driver.html in docs.openstack.org.(ravichandran)&lt;br /&gt;
# How to update the tables inside manuals.Is it auto updated from the code. (ravichandran)&lt;br /&gt;
#* Is there any way to call some scripts or manila cli commands with in setupClass of tempest tests to address the prerequisite steps of backedn&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 22 Dec, 2016, 15:00 UTC'''&lt;br /&gt;
# Specs implementation status (bswartz)&lt;br /&gt;
# briefly clarify the &amp;quot;24 hour rule&amp;quot; (tbarron)&lt;br /&gt;
# Manila CI Tempest Test Cases are Failing (ravichandran)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 8 Dec, 2016, 15:00 UTC'''&lt;br /&gt;
# PTG (bswartz)&lt;br /&gt;
# Default share type (tbarron)&lt;br /&gt;
# migration-start new command syntax (ganso)&lt;br /&gt;
# remove access-update fallback to access_allow/deny? (tbarron)&lt;br /&gt;
# decision of deadline for driver config docs in devref removal (ganso)&lt;br /&gt;
# Specs implementation status (bswartz)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Dec, 2016, 15:00 UTC'''&lt;br /&gt;
# Discussion about driver docs in devref (ganso)&lt;br /&gt;
# Specs implementation status (bswartz)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 17 Nov, 2016, 15:00 UTC'''&lt;br /&gt;
# Spec review &amp;amp; prioritization (bswartz)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-ocata-spec-review-focus&lt;br /&gt;
#* https://review.openstack.org/#/q/status:open+project:openstack/manila-specs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Nov, 2016, 15:00 UTC'''&lt;br /&gt;
# Decide defaults for migration options (ganso)&lt;br /&gt;
#* https://review.openstack.org/#/c/392291&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 3 Nov, 2016, 15:00 UTC'''&lt;br /&gt;
# Spec review &amp;amp; prioritization&lt;br /&gt;
#* https://review.openstack.org/#/q/project:%22%255Eopenstack/manila-specs%22++status:open&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-ocata-spec-review-focus&lt;br /&gt;
#* List of open specs&lt;br /&gt;
#** manila-ipv6&lt;br /&gt;
#** add-db-manage-purge&lt;br /&gt;
#** create-share-from-snapshot-extra-spec&lt;br /&gt;
#** support-quota-usage-in-detail&lt;br /&gt;
#** ocata-migration-improvements&lt;br /&gt;
#** data-service-jobs-table&lt;br /&gt;
#** add-share-type-filter-to-get-pools&lt;br /&gt;
#** manila-share-revert-to-snapshot&lt;br /&gt;
#** scenario-tests&lt;br /&gt;
#** mountable_snapshots&lt;br /&gt;
#** share-network-multiple-subnets&lt;br /&gt;
#** share-retype&lt;br /&gt;
#** multiple_protocol_share&lt;br /&gt;
#** access-groups&lt;br /&gt;
#** backup_share&lt;br /&gt;
#** manila-share-groups&lt;br /&gt;
#** data-service-api&lt;br /&gt;
#* vponomaryov's prioritiesː https://docs.google.com/document/d/1zdMNuQTIqrtDtzbdcxyZVn8SoPN9pbtv_HSLVR3Eld0/edit&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 20 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Specs and Deadlines (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/374883/&lt;br /&gt;
# Adding invalid user to the access rule changes valid access rule state from 'active' to 'error' (ravichandran)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 13 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Ocata Design Summit&lt;br /&gt;
#* https://www.openstack.org/summit/barcelona-2016/summit-schedule/global-search?t=Manila%3A&lt;br /&gt;
# PTG&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 6 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Microversion-ing addition or removal of transitional ('micro') states (gouthamr)&lt;br /&gt;
#* https://review.openstack.org/#/c/369668/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 29 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Ocata Design Summit&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-ocata-design-summit-topics&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 22 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Specs process&lt;br /&gt;
#* https://review.openstack.org/#/c/374883&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 8 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# RC1 status&lt;br /&gt;
#* https://launchpad.net/manila/+milestone/newton-rc1&lt;br /&gt;
# Project Logo&lt;br /&gt;
#* http://civs.cs.cornell.edu/cgi-bin/vote.pl?id=E_6f0d111cec78c5ef&amp;amp;akey=d34a751f2d084d79&lt;br /&gt;
# Container Driver Security (aovchinnikov)&lt;br /&gt;
#* https://review.openstack.org/#/c/353463/&lt;br /&gt;
# Security &amp;quot;vulnerability-managed&amp;quot; tag for manila (tbarron)&lt;br /&gt;
# Zanata translations for manila-client and manila-ui (tbarron)&lt;br /&gt;
# Tempest direction (tbarron)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Mascot (bswartz)&lt;br /&gt;
# Vulnerability Management&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 25 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Huawei share replication and CI&lt;br /&gt;
# IPv6 (cknight)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 18 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Driver private data admin API&lt;br /&gt;
#* Disagreement abounds on how this API is to be designed, tested, and presented.&lt;br /&gt;
#* https://review.openstack.org/#/c/315346/&lt;br /&gt;
# Scenario tests are broken&lt;br /&gt;
#* http://logs.openstack.org/86/309286/34/check/gate-manila-tempest-dsvm-scenario/610f96e/console.html&lt;br /&gt;
# Revert to snapshot&lt;br /&gt;
#* https://review.openstack.org/#/c/340502/&lt;br /&gt;
#* https://review.openstack.org/#/c/356682/&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Scheduled for 11 Aug, 2016, 15:00 UTC&amp;quot;&lt;br /&gt;
# None&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 4 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Migration APIs&lt;br /&gt;
#* http://lists.openstack.org/pipermail/openstack-dev/2016-August/100682.html&lt;br /&gt;
# Correct approach for avoiding races&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 28 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# Stepping Down as Docs Liaison (dustins)&lt;br /&gt;
#* Current job responsibilities don't give me the time to devote to this that I'd like to have, so it should go to someone else with a passion for documentation and has the willingness and desire for taking up the mantle.&lt;br /&gt;
# N-3 Review focus&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-newton3-priorities&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 21 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# Migrate API reference into tree (dgonzalez)&lt;br /&gt;
#* https://review.openstack.org/#/c/313874/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 14 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# N-2 milestone&lt;br /&gt;
# Managing initial security (of the root directory) for new shares&lt;br /&gt;
# Mascot/Logo discussion&lt;br /&gt;
# Tempest alternatives&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 30 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# non-disruptive nfs-ganesha export modifications (rraja/tbarron)&lt;br /&gt;
#* https://sourceforge.net/p/nfs-ganesha/mailman/message/35173839&lt;br /&gt;
# share backup spec discussion (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/330306&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 23 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# Implement extend and shrink features for glusterfs driver (DaiDV)&lt;br /&gt;
# Do all drivers have to inherit from driver.ShareDriver? (mkoderer)&lt;br /&gt;
# Creating a second share instance for driver-assisted migration (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 16 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# A share support multiple protocols (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/329392/&lt;br /&gt;
# Drivers with minimum size for shares (tpsilva)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 9 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# HPB feature (mkoderer)&lt;br /&gt;
# the fate of nova-network support in manila (gouthamr)&lt;br /&gt;
# multi-AZ tests in the gate&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 2 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# N-1 milestone (bswartz)&lt;br /&gt;
# Decision on APIv1 removal for newton (bswartz)&lt;br /&gt;
# Model updates from drivers (bswartz)&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Spec update&lt;br /&gt;
#* New spec - Extending share networks to span subnets - https://review.openstack.org/#/c/323646/ (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 26 May, 2016, 15:00 UTC'''&lt;br /&gt;
# N-1 milestone&lt;br /&gt;
# Update access remaining work&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Nova-network removal&lt;br /&gt;
#* APIv1 removal&lt;br /&gt;
#* Model updates from the driver&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 19 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* UI Customization&lt;br /&gt;
# Share Backup(zhongjun)&lt;br /&gt;
# Snapshot Restore (cknight)&lt;br /&gt;
# Specs (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 12 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Driver private storage: https://review.openstack.org/#/c/315346/ (xyang)&lt;br /&gt;
#* Admin wants to check driver private storage before doing some actions on a resource, i.e., force delete a share or unmanage a share.&lt;br /&gt;
#* The patch proposes to add admin API to retrieve driver private storage data. Alternative approach proposed by Valeriy to use manila-manage (i.e., manila-manage driver-private-storage &amp;lt;uuid of a resource&amp;gt;). Which one should we choose?&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Py3 functional tests&lt;br /&gt;
#* Replication with share networks&lt;br /&gt;
#* Service-check&lt;br /&gt;
#* Container driver&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 5 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Documentation update (dustins/gouthamr)&lt;br /&gt;
#* User messages&lt;br /&gt;
#* Experimental features in UI&lt;br /&gt;
#* Share/snapshot size mismatch&lt;br /&gt;
#  BP Specs (tbarron)&lt;br /&gt;
#* Need to ensure that the repo doesn't become &amp;quot;a wasteland of partial ideas where hope goes to die.&amp;quot;  (See http://lists.openstack.org/pipermail/openstack-dev/2016-May/094026.html)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 14 Apr, 2016, 15:00 UTC'''&lt;br /&gt;
# Manage API retrying (gouthamr/nidhimittalhada)&lt;br /&gt;
# Tempest test structuring - resource sharing and cleanup issues (akerr)&lt;br /&gt;
# Snapshot support common capability in the documentation (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 7 Apr, 2016, 15:00 UTC'''&lt;br /&gt;
# Access rules (bswartz)&lt;br /&gt;
# Design summit planning (bswartz)&lt;br /&gt;
#* Link: https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Release notes, continued (gouthamr)&lt;br /&gt;
#* Link: https://review.openstack.org/#/c/300656/&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Access Groups&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/design/access_groups&lt;br /&gt;
# Revert to snapshot&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 31 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Mitaka release status&lt;br /&gt;
#* RC1 expected to be the Mitaka release build&lt;br /&gt;
#* Last day for a re-spin is today&lt;br /&gt;
#** http://lists.openstack.org/pipermail/openstack-dev/2016-March/090877.html&lt;br /&gt;
# Design summit planning&lt;br /&gt;
#* Final schedule confirms 2 fishbowls, 4 working sessions, 1 half-day meetup&lt;br /&gt;
#** http://lists.openstack.org/pipermail/openstack-dev/2016-March/091032.html&lt;br /&gt;
#* Voting open now for summit topics&lt;br /&gt;
#** https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Manila Documentation (gouthamr)&lt;br /&gt;
#* Where do our docs live? how do we maintain them? (In Tree: devref, adminref | out of tree: install-guide, config-ref, cloud-admin guide)&lt;br /&gt;
#* Need a docs liaison&lt;br /&gt;
#** https://wiki.openstack.org/wiki/CrossProjectLiaisons#Documentation&lt;br /&gt;
#* Release Notes&lt;br /&gt;
#** http://docs.openstack.org/developer/reno/usage.html&lt;br /&gt;
# Managing/unmanaging replicated shares and snapshots (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 24 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Design summit planning&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Question about share servers (Jay.Xu)&lt;br /&gt;
#* Is there a way to get gateway IP address when the API setup_server() is invoked. I did not see this attribute in the input parameter network_info. Gateway IP is mandatory to create the interface for EMC storage which will be release coming soon, so it is expected that we can add the gateway IP into NetworkAllocation model if not.&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Common Capabilities Matrix (dustins)&lt;br /&gt;
#* https://review.openstack.org/#/c/288504/&lt;br /&gt;
#* I'm adding a table in the Developer Reference documentation to show which common capabilities are supported by which backends and when that support started.&lt;br /&gt;
#* I've got most drivers covered now.&lt;br /&gt;
#* If you want me to add your capabilities, leave a review on the patch and I'll update the table!&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 25 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# OpenStack bug smash event (toabctl, mkoderer)&lt;br /&gt;
## link: https://etherpad.openstack.org/p/OpenStack-Bug-Smash-Mitaka&lt;br /&gt;
# Status of new drivers&lt;br /&gt;
## M.3 deadline is a week away.&lt;br /&gt;
## Only a few things have merged in the last couple days.  At this rate, many things won't make it.&lt;br /&gt;
## Zuul is busy and will only get worse until the deadline.&lt;br /&gt;
## Multiple Manila gate breakages have occurred recently, and more are likely.&lt;br /&gt;
## The Manila tests are very unreliable at concurrency &amp;gt; 1.&lt;br /&gt;
## The generic driver is too slow to pass the gate at concurrency = 1.&lt;br /&gt;
## The new drivers *are* fast enough to run at concurrency = 1.&lt;br /&gt;
## The new drivers may not be 100% done, but they are done enough to pass reliably at concurrency = 1.&lt;br /&gt;
## We should switch voting to the new drivers NOW, or start throwing stuff overboard for the release.&lt;br /&gt;
# Next Manila mid-cycle location&lt;br /&gt;
## Proposal is to do it in Germany&lt;br /&gt;
## Need to know who could attend at that location.&lt;br /&gt;
## Would it make a difference if the Cinder mid-cycle happens in Dublin, and the Manila meeting is immediately before or after the Cinder one?&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 18 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Feature Proposal Freeze (bswartz)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 11 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Hierarchical port binding support (mkoderer)&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/design/manila-newton-hpb-support&lt;br /&gt;
#* https://blueprints.launchpad.net/manila/+spec/manila-hpb-support&lt;br /&gt;
#* https://review.openstack.org/#/c/277731/&lt;br /&gt;
# Next Manila mid-cycle (mkoderer)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-n-release-midcycle&lt;br /&gt;
# Replication + ZFS Driver (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/238572&lt;br /&gt;
# Driver FPF (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/279090/&lt;br /&gt;
#* https://review.openstack.org/#/c/278169/&lt;br /&gt;
# HDFS CI (bswartz)&lt;br /&gt;
'''Scheduled for 4 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
# Data service handling protocol mount commands (ganso)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-data-service-mount-meeting&lt;br /&gt;
# Separate process for copy on data service (tpsilva)&lt;br /&gt;
# ZFS driver (bswartz)&lt;br /&gt;
# First party drivers share migration support cooperation (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 28 Jan, 2016, 15:00 UTC'''&lt;br /&gt;
# Hierarchical port binding support (mkoderer)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-hierarchical-port-binding&lt;br /&gt;
# Core reviewer team and other manila-related projects (bswartz)&lt;br /&gt;
# Replication status (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 21 Jan, 2016, 15:00 UTC'''&lt;br /&gt;
# Update_access backwards compatibility approach discussion. (ganso)&lt;br /&gt;
# Exposing the Data Service to drivers. (ganso)&lt;br /&gt;
# Snapshot manage/unmanage (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 17 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# Proposal for share groups (cknight)&lt;br /&gt;
# Liberty.1 stable release (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# The most of the driver already report the &amp;quot;'QoS_support': False&amp;quot; to scheduler. Does we need to remove it or save it as Qos support flat? and write 'QoS_support' to capabilities_and_extra_specs.rst?(zhongjun)&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/hpe/hpe_3par_driver.py#L391&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/hitachi/hds_hnas.py#L354&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py#L257&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/scheduler/host_manager.py#L111&lt;br /&gt;
##https://review.openstack.org/#/c/247286/4/doc/source/devref/capabilities_and_extra_specs.rst&lt;br /&gt;
# Architectural concerns and interoperability of new features (cknight)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 3 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Add &amp;quot;data loss&amp;quot; flag in DB migrations which lead to losing of existing data and update &amp;quot;manila-manage db sync&amp;quot; command to forbid applying such migrations without &amp;quot;--force&amp;quot; flag (u_glide)&lt;br /&gt;
# Reorganization of Manila scheduler to merge oslo-incubator code and simplify future maintenance  (cknight)&lt;br /&gt;
## https://review.openstack.org/#/c/252060/&lt;br /&gt;
## Mostly for awareness, this is now merged and should be backwards compatible.&lt;br /&gt;
## Cinder could benefit from a similar treatment.  And with the incubator gone, we could explore a common library with the Cinder team, since the heretofore shared components are certain to diverge over time, but I'm not sure how receptive they would be.  Xing?&lt;br /&gt;
# CI reliability&lt;br /&gt;
## Why should we merge patches for drivers whose CI systems consistently fail?  This negates the value of CI.  I think that accepting patches that aren't proven by CI does a disservice to everyone, most of all to the driver owners themselves.  Refusing to merge driver patches without a good CI result for that driver seems like a gentler and more uniform-over-time approach than threatening to throw out a driver near the end of a release.  And why make our illustrious and overworked PTL be the CI policeman when all core reviewers could simply glance at the corresponding CI result before giving +A?  (cknight)&lt;br /&gt;
## http://ci-watch.tintri.com/project?project=manila&lt;br /&gt;
## https://review.openstack.org/#/c/232293/&lt;br /&gt;
## https://review.openstack.org/#/c/235522/&lt;br /&gt;
## https://review.openstack.org/#/c/235726/&lt;br /&gt;
## https://review.openstack.org/#/c/249999/&lt;br /&gt;
## https://review.openstack.org/#/c/237454/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 19 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# GB --&amp;gt; GiB (markstur)&lt;br /&gt;
# OpenStack Manuals and Devref (markstur)&lt;br /&gt;
#* Config Ref (and others) are moving to .RST!&lt;br /&gt;
#* How should we document prior releases in devref?&lt;br /&gt;
# Midcycle Meetup Date (bswartz)&lt;br /&gt;
# Deadlines for features (bswartz)&lt;br /&gt;
#* Feature proposal freeze vs Big Features&lt;br /&gt;
#* New drivers&lt;br /&gt;
# Data Copy Service network approach discussion (ganso)&lt;br /&gt;
#* https://drive.google.com/file/d/0B30HPZmaePCHMlAzcjJlYm5rRTA/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 12 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# Which method is better for Manila QoS(independent way or just use extra specs ) (zhongjun)&lt;br /&gt;
#* link:http://paste.openstack.org/show/477677/ &lt;br /&gt;
#*If use extra specs to config QoS, Does we first need add “QoS_support=true/false” in share_type. Does we need to add QoS_support flag in common capabilities&lt;br /&gt;
#**https://github.com/openstack/manila/blob/master/doc/source/devref/capabilities_and_extra_specs.rst)?&lt;br /&gt;
#** eg:  share_type: qos_support='&amp;lt;is&amp;gt; True' or '&amp;lt;is&amp;gt; False' &lt;br /&gt;
#**                            netapp:max_iops=100  or qos:netapp:max_iops=100 or qos:max_iops=100&lt;br /&gt;
#**        driver update: qos_support=true&lt;br /&gt;
#** An alternative could be to have the driver report a range&lt;br /&gt;
# Manila DR update (ameade)&lt;br /&gt;
#* Still no reviews on https://review.openstack.org/#/c/238572/&lt;br /&gt;
#* First-party driver implementation? Which driver, current generic or new solution? When do we need this implemented and who wants to do it?&lt;br /&gt;
#* Replication_change share state - This is the state of the share when any of it's replicas are being promoted. Is 'replication_change' good or is there a better phrase?&lt;br /&gt;
# Manila Driver minimum requirements document update (ganso)&lt;br /&gt;
# Manila Data Copy service name (bswartz)&lt;br /&gt;
#*https://review.openstack.org/#/c/244286/&lt;br /&gt;
# Upcoming change for Manila CI hooks (vponomaryov)&lt;br /&gt;
#*https://review.openstack.org/#/c/243233/&lt;br /&gt;
# Manilaclient enhancement to provide request_id when set http_log_debug is True. It will co-ordinate the request and its id, so it will be helpful to filter the log and the failed request. (Jay Xu)&lt;br /&gt;
#*http://paste.openstack.org/show/478675/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 5 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# Decide on read-only access rules as a required feature&lt;br /&gt;
# Manila DR - Design/Code feedback (gouthamr) &lt;br /&gt;
#* [https://wiki.openstack.org/wiki/Manila/design/manila-mitaka-data-replication Design Document]&lt;br /&gt;
#* [https://review.openstack.org/#/c/238572/ Core Implementation on Gerrit]&lt;br /&gt;
#* [https://review.openstack.org/#/c/235448/ Client Implementation on Gerrit]&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Oct, 2015, 15:00 UTC'''&lt;br /&gt;
# Liberty RC2 status&lt;br /&gt;
#* https://launchpad.net/manila/+milestone/liberty-rc2&lt;br /&gt;
#* https://review.openstack.org/#/q/project:openstack/manila+branch:stable/liberty,n,z&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
#* https://github.com/openstack/manila/blob/master/doc/source/devref/share_back_ends_feature_support_mapping.rst&lt;br /&gt;
# Manila Client Nova Style Microversion Support (cfouts)&lt;br /&gt;
#* https://review.openstack.org/#/c/229142/&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/api_microversion_dev.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 24 Sep, 2015, 15:00 UTC'''&lt;br /&gt;
# 3rd-party CI status&lt;br /&gt;
#* http://ec2-54-67-102-119.us-west-1.compute.amazonaws.com:5000/?project=openstack/manila&amp;amp;user=&amp;amp;timeframe=72&amp;amp;start=&amp;amp;end=&amp;amp;page_size=500&lt;br /&gt;
#* http://ci-watch.tintri.com/project?project=manila&lt;br /&gt;
# Liberty RC status&lt;br /&gt;
# Support for QoS in Manila (zhongjun2)&lt;br /&gt;
#* https://blueprints.launchpad.net/manila/+spec/manila-support-qos&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/QoS&lt;br /&gt;
# Reminder for backend driver maintainers to update feature support table (toabctl)&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/share_back_ends_feature_support_mapping.html&lt;br /&gt;
# Regression when using NetApp - license issue with netapp_lib (toabctl)&lt;br /&gt;
#* https://bugs.launchpad.net/cinder/+bug/1499334&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* Propose topics - https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
# Open Discussion&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=138403</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=138403"/>
				<updated>2016-11-10T12:23:18Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Next meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
'''Previous meeting logs can be found here:''' http://eavesdrop.openstack.org/meetings/manila/&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Nov, 2016, 15:00 UTC'''&lt;br /&gt;
# Decide defaults for migration options (ganso)&lt;br /&gt;
#* https://review.openstack.org/#/c/392291&lt;br /&gt;
# Spec review &amp;amp; prioritization (bswartz)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-ocata-spec-review-focus&lt;br /&gt;
#* https://review.openstack.org/#/q/status:open+project:openstack/manila-specs&lt;br /&gt;
# Topics not covered at design summit (bswartz)&lt;br /&gt;
#* ensure share&lt;br /&gt;
#* manage API requirements (vponomaryov)&lt;br /&gt;
#** Add possibility for share drivers to set all existing rules of just managed share?&lt;br /&gt;
#** Should it be renamed on storage based on new share_instance_id or not?&lt;br /&gt;
#** Should its export locations be changed or not?&lt;br /&gt;
#* manila-ui displaying only enabled share protocols&lt;br /&gt;
#* app-catalog use case&lt;br /&gt;
#* share replica quotas (vponomaryov)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 3 Nov, 2016, 15:00 UTC'''&lt;br /&gt;
# Spec review &amp;amp; prioritization&lt;br /&gt;
#* https://review.openstack.org/#/q/project:%22%255Eopenstack/manila-specs%22++status:open&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-ocata-spec-review-focus&lt;br /&gt;
#* List of open specs&lt;br /&gt;
#** manila-ipv6&lt;br /&gt;
#** add-db-manage-purge&lt;br /&gt;
#** create-share-from-snapshot-extra-spec&lt;br /&gt;
#** support-quota-usage-in-detail&lt;br /&gt;
#** ocata-migration-improvements&lt;br /&gt;
#** data-service-jobs-table&lt;br /&gt;
#** add-share-type-filter-to-get-pools&lt;br /&gt;
#** manila-share-revert-to-snapshot&lt;br /&gt;
#** scenario-tests&lt;br /&gt;
#** mountable_snapshots&lt;br /&gt;
#** share-network-multiple-subnets&lt;br /&gt;
#** share-retype&lt;br /&gt;
#** multiple_protocol_share&lt;br /&gt;
#** access-groups&lt;br /&gt;
#** backup_share&lt;br /&gt;
#** manila-share-groups&lt;br /&gt;
#** data-service-api&lt;br /&gt;
#* vponomaryov's prioritiesː https://docs.google.com/document/d/1zdMNuQTIqrtDtzbdcxyZVn8SoPN9pbtv_HSLVR3Eld0/edit&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 20 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Specs and Deadlines (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/374883/&lt;br /&gt;
# Adding invalid user to the access rule changes valid access rule state from 'active' to 'error' (ravichandran)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 13 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Ocata Design Summit&lt;br /&gt;
#* https://www.openstack.org/summit/barcelona-2016/summit-schedule/global-search?t=Manila%3A&lt;br /&gt;
# PTG&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 6 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Microversion-ing addition or removal of transitional ('micro') states (gouthamr)&lt;br /&gt;
#* https://review.openstack.org/#/c/369668/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 29 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Ocata Design Summit&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-ocata-design-summit-topics&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 22 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Specs process&lt;br /&gt;
#* https://review.openstack.org/#/c/374883&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 8 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# RC1 status&lt;br /&gt;
#* https://launchpad.net/manila/+milestone/newton-rc1&lt;br /&gt;
# Project Logo&lt;br /&gt;
#* http://civs.cs.cornell.edu/cgi-bin/vote.pl?id=E_6f0d111cec78c5ef&amp;amp;akey=d34a751f2d084d79&lt;br /&gt;
# Container Driver Security (aovchinnikov)&lt;br /&gt;
#* https://review.openstack.org/#/c/353463/&lt;br /&gt;
# Security &amp;quot;vulnerability-managed&amp;quot; tag for manila (tbarron)&lt;br /&gt;
# Zanata translations for manila-client and manila-ui (tbarron)&lt;br /&gt;
# Tempest direction (tbarron)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Mascot (bswartz)&lt;br /&gt;
# Vulnerability Management&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 25 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Huawei share replication and CI&lt;br /&gt;
# IPv6 (cknight)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 18 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Driver private data admin API&lt;br /&gt;
#* Disagreement abounds on how this API is to be designed, tested, and presented.&lt;br /&gt;
#* https://review.openstack.org/#/c/315346/&lt;br /&gt;
# Scenario tests are broken&lt;br /&gt;
#* http://logs.openstack.org/86/309286/34/check/gate-manila-tempest-dsvm-scenario/610f96e/console.html&lt;br /&gt;
# Revert to snapshot&lt;br /&gt;
#* https://review.openstack.org/#/c/340502/&lt;br /&gt;
#* https://review.openstack.org/#/c/356682/&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Scheduled for 11 Aug, 2016, 15:00 UTC&amp;quot;&lt;br /&gt;
# None&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 4 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Migration APIs&lt;br /&gt;
#* http://lists.openstack.org/pipermail/openstack-dev/2016-August/100682.html&lt;br /&gt;
# Correct approach for avoiding races&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 28 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# Stepping Down as Docs Liaison (dustins)&lt;br /&gt;
#* Current job responsibilities don't give me the time to devote to this that I'd like to have, so it should go to someone else with a passion for documentation and has the willingness and desire for taking up the mantle.&lt;br /&gt;
# N-3 Review focus&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-newton3-priorities&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 21 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# Migrate API reference into tree (dgonzalez)&lt;br /&gt;
#* https://review.openstack.org/#/c/313874/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 14 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# N-2 milestone&lt;br /&gt;
# Managing initial security (of the root directory) for new shares&lt;br /&gt;
# Mascot/Logo discussion&lt;br /&gt;
# Tempest alternatives&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 30 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# non-disruptive nfs-ganesha export modifications (rraja/tbarron)&lt;br /&gt;
#* https://sourceforge.net/p/nfs-ganesha/mailman/message/35173839&lt;br /&gt;
# share backup spec discussion (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/330306&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 23 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# Implement extend and shrink features for glusterfs driver (DaiDV)&lt;br /&gt;
# Do all drivers have to inherit from driver.ShareDriver? (mkoderer)&lt;br /&gt;
# Creating a second share instance for driver-assisted migration (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 16 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# A share support multiple protocols (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/329392/&lt;br /&gt;
# Drivers with minimum size for shares (tpsilva)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 9 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# HPB feature (mkoderer)&lt;br /&gt;
# the fate of nova-network support in manila (gouthamr)&lt;br /&gt;
# multi-AZ tests in the gate&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 2 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# N-1 milestone (bswartz)&lt;br /&gt;
# Decision on APIv1 removal for newton (bswartz)&lt;br /&gt;
# Model updates from drivers (bswartz)&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Spec update&lt;br /&gt;
#* New spec - Extending share networks to span subnets - https://review.openstack.org/#/c/323646/ (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 26 May, 2016, 15:00 UTC'''&lt;br /&gt;
# N-1 milestone&lt;br /&gt;
# Update access remaining work&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Nova-network removal&lt;br /&gt;
#* APIv1 removal&lt;br /&gt;
#* Model updates from the driver&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 19 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* UI Customization&lt;br /&gt;
# Share Backup(zhongjun)&lt;br /&gt;
# Snapshot Restore (cknight)&lt;br /&gt;
# Specs (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 12 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Driver private storage: https://review.openstack.org/#/c/315346/ (xyang)&lt;br /&gt;
#* Admin wants to check driver private storage before doing some actions on a resource, i.e., force delete a share or unmanage a share.&lt;br /&gt;
#* The patch proposes to add admin API to retrieve driver private storage data. Alternative approach proposed by Valeriy to use manila-manage (i.e., manila-manage driver-private-storage &amp;lt;uuid of a resource&amp;gt;). Which one should we choose?&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Py3 functional tests&lt;br /&gt;
#* Replication with share networks&lt;br /&gt;
#* Service-check&lt;br /&gt;
#* Container driver&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 5 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Documentation update (dustins/gouthamr)&lt;br /&gt;
#* User messages&lt;br /&gt;
#* Experimental features in UI&lt;br /&gt;
#* Share/snapshot size mismatch&lt;br /&gt;
#  BP Specs (tbarron)&lt;br /&gt;
#* Need to ensure that the repo doesn't become &amp;quot;a wasteland of partial ideas where hope goes to die.&amp;quot;  (See http://lists.openstack.org/pipermail/openstack-dev/2016-May/094026.html)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 14 Apr, 2016, 15:00 UTC'''&lt;br /&gt;
# Manage API retrying (gouthamr/nidhimittalhada)&lt;br /&gt;
# Tempest test structuring - resource sharing and cleanup issues (akerr)&lt;br /&gt;
# Snapshot support common capability in the documentation (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 7 Apr, 2016, 15:00 UTC'''&lt;br /&gt;
# Access rules (bswartz)&lt;br /&gt;
# Design summit planning (bswartz)&lt;br /&gt;
#* Link: https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Release notes, continued (gouthamr)&lt;br /&gt;
#* Link: https://review.openstack.org/#/c/300656/&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Access Groups&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/design/access_groups&lt;br /&gt;
# Revert to snapshot&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 31 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Mitaka release status&lt;br /&gt;
#* RC1 expected to be the Mitaka release build&lt;br /&gt;
#* Last day for a re-spin is today&lt;br /&gt;
#** http://lists.openstack.org/pipermail/openstack-dev/2016-March/090877.html&lt;br /&gt;
# Design summit planning&lt;br /&gt;
#* Final schedule confirms 2 fishbowls, 4 working sessions, 1 half-day meetup&lt;br /&gt;
#** http://lists.openstack.org/pipermail/openstack-dev/2016-March/091032.html&lt;br /&gt;
#* Voting open now for summit topics&lt;br /&gt;
#** https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Manila Documentation (gouthamr)&lt;br /&gt;
#* Where do our docs live? how do we maintain them? (In Tree: devref, adminref | out of tree: install-guide, config-ref, cloud-admin guide)&lt;br /&gt;
#* Need a docs liaison&lt;br /&gt;
#** https://wiki.openstack.org/wiki/CrossProjectLiaisons#Documentation&lt;br /&gt;
#* Release Notes&lt;br /&gt;
#** http://docs.openstack.org/developer/reno/usage.html&lt;br /&gt;
# Managing/unmanaging replicated shares and snapshots (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 24 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Design summit planning&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Question about share servers (Jay.Xu)&lt;br /&gt;
#* Is there a way to get gateway IP address when the API setup_server() is invoked. I did not see this attribute in the input parameter network_info. Gateway IP is mandatory to create the interface for EMC storage which will be release coming soon, so it is expected that we can add the gateway IP into NetworkAllocation model if not.&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Common Capabilities Matrix (dustins)&lt;br /&gt;
#* https://review.openstack.org/#/c/288504/&lt;br /&gt;
#* I'm adding a table in the Developer Reference documentation to show which common capabilities are supported by which backends and when that support started.&lt;br /&gt;
#* I've got most drivers covered now.&lt;br /&gt;
#* If you want me to add your capabilities, leave a review on the patch and I'll update the table!&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 25 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# OpenStack bug smash event (toabctl, mkoderer)&lt;br /&gt;
## link: https://etherpad.openstack.org/p/OpenStack-Bug-Smash-Mitaka&lt;br /&gt;
# Status of new drivers&lt;br /&gt;
## M.3 deadline is a week away.&lt;br /&gt;
## Only a few things have merged in the last couple days.  At this rate, many things won't make it.&lt;br /&gt;
## Zuul is busy and will only get worse until the deadline.&lt;br /&gt;
## Multiple Manila gate breakages have occurred recently, and more are likely.&lt;br /&gt;
## The Manila tests are very unreliable at concurrency &amp;gt; 1.&lt;br /&gt;
## The generic driver is too slow to pass the gate at concurrency = 1.&lt;br /&gt;
## The new drivers *are* fast enough to run at concurrency = 1.&lt;br /&gt;
## The new drivers may not be 100% done, but they are done enough to pass reliably at concurrency = 1.&lt;br /&gt;
## We should switch voting to the new drivers NOW, or start throwing stuff overboard for the release.&lt;br /&gt;
# Next Manila mid-cycle location&lt;br /&gt;
## Proposal is to do it in Germany&lt;br /&gt;
## Need to know who could attend at that location.&lt;br /&gt;
## Would it make a difference if the Cinder mid-cycle happens in Dublin, and the Manila meeting is immediately before or after the Cinder one?&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 18 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Feature Proposal Freeze (bswartz)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 11 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Hierarchical port binding support (mkoderer)&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/design/manila-newton-hpb-support&lt;br /&gt;
#* https://blueprints.launchpad.net/manila/+spec/manila-hpb-support&lt;br /&gt;
#* https://review.openstack.org/#/c/277731/&lt;br /&gt;
# Next Manila mid-cycle (mkoderer)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-n-release-midcycle&lt;br /&gt;
# Replication + ZFS Driver (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/238572&lt;br /&gt;
# Driver FPF (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/279090/&lt;br /&gt;
#* https://review.openstack.org/#/c/278169/&lt;br /&gt;
# HDFS CI (bswartz)&lt;br /&gt;
'''Scheduled for 4 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
# Data service handling protocol mount commands (ganso)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-data-service-mount-meeting&lt;br /&gt;
# Separate process for copy on data service (tpsilva)&lt;br /&gt;
# ZFS driver (bswartz)&lt;br /&gt;
# First party drivers share migration support cooperation (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 28 Jan, 2016, 15:00 UTC'''&lt;br /&gt;
# Hierarchical port binding support (mkoderer)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-hierarchical-port-binding&lt;br /&gt;
# Core reviewer team and other manila-related projects (bswartz)&lt;br /&gt;
# Replication status (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 21 Jan, 2016, 15:00 UTC'''&lt;br /&gt;
# Update_access backwards compatibility approach discussion. (ganso)&lt;br /&gt;
# Exposing the Data Service to drivers. (ganso)&lt;br /&gt;
# Snapshot manage/unmanage (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 17 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# Proposal for share groups (cknight)&lt;br /&gt;
# Liberty.1 stable release (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# The most of the driver already report the &amp;quot;'QoS_support': False&amp;quot; to scheduler. Does we need to remove it or save it as Qos support flat? and write 'QoS_support' to capabilities_and_extra_specs.rst?(zhongjun)&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/hpe/hpe_3par_driver.py#L391&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/hitachi/hds_hnas.py#L354&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py#L257&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/scheduler/host_manager.py#L111&lt;br /&gt;
##https://review.openstack.org/#/c/247286/4/doc/source/devref/capabilities_and_extra_specs.rst&lt;br /&gt;
# Architectural concerns and interoperability of new features (cknight)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 3 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Add &amp;quot;data loss&amp;quot; flag in DB migrations which lead to losing of existing data and update &amp;quot;manila-manage db sync&amp;quot; command to forbid applying such migrations without &amp;quot;--force&amp;quot; flag (u_glide)&lt;br /&gt;
# Reorganization of Manila scheduler to merge oslo-incubator code and simplify future maintenance  (cknight)&lt;br /&gt;
## https://review.openstack.org/#/c/252060/&lt;br /&gt;
## Mostly for awareness, this is now merged and should be backwards compatible.&lt;br /&gt;
## Cinder could benefit from a similar treatment.  And with the incubator gone, we could explore a common library with the Cinder team, since the heretofore shared components are certain to diverge over time, but I'm not sure how receptive they would be.  Xing?&lt;br /&gt;
# CI reliability&lt;br /&gt;
## Why should we merge patches for drivers whose CI systems consistently fail?  This negates the value of CI.  I think that accepting patches that aren't proven by CI does a disservice to everyone, most of all to the driver owners themselves.  Refusing to merge driver patches without a good CI result for that driver seems like a gentler and more uniform-over-time approach than threatening to throw out a driver near the end of a release.  And why make our illustrious and overworked PTL be the CI policeman when all core reviewers could simply glance at the corresponding CI result before giving +A?  (cknight)&lt;br /&gt;
## http://ci-watch.tintri.com/project?project=manila&lt;br /&gt;
## https://review.openstack.org/#/c/232293/&lt;br /&gt;
## https://review.openstack.org/#/c/235522/&lt;br /&gt;
## https://review.openstack.org/#/c/235726/&lt;br /&gt;
## https://review.openstack.org/#/c/249999/&lt;br /&gt;
## https://review.openstack.org/#/c/237454/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 19 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# GB --&amp;gt; GiB (markstur)&lt;br /&gt;
# OpenStack Manuals and Devref (markstur)&lt;br /&gt;
#* Config Ref (and others) are moving to .RST!&lt;br /&gt;
#* How should we document prior releases in devref?&lt;br /&gt;
# Midcycle Meetup Date (bswartz)&lt;br /&gt;
# Deadlines for features (bswartz)&lt;br /&gt;
#* Feature proposal freeze vs Big Features&lt;br /&gt;
#* New drivers&lt;br /&gt;
# Data Copy Service network approach discussion (ganso)&lt;br /&gt;
#* https://drive.google.com/file/d/0B30HPZmaePCHMlAzcjJlYm5rRTA/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 12 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# Which method is better for Manila QoS(independent way or just use extra specs ) (zhongjun)&lt;br /&gt;
#* link:http://paste.openstack.org/show/477677/ &lt;br /&gt;
#*If use extra specs to config QoS, Does we first need add “QoS_support=true/false” in share_type. Does we need to add QoS_support flag in common capabilities&lt;br /&gt;
#**https://github.com/openstack/manila/blob/master/doc/source/devref/capabilities_and_extra_specs.rst)?&lt;br /&gt;
#** eg:  share_type: qos_support='&amp;lt;is&amp;gt; True' or '&amp;lt;is&amp;gt; False' &lt;br /&gt;
#**                            netapp:max_iops=100  or qos:netapp:max_iops=100 or qos:max_iops=100&lt;br /&gt;
#**        driver update: qos_support=true&lt;br /&gt;
#** An alternative could be to have the driver report a range&lt;br /&gt;
# Manila DR update (ameade)&lt;br /&gt;
#* Still no reviews on https://review.openstack.org/#/c/238572/&lt;br /&gt;
#* First-party driver implementation? Which driver, current generic or new solution? When do we need this implemented and who wants to do it?&lt;br /&gt;
#* Replication_change share state - This is the state of the share when any of it's replicas are being promoted. Is 'replication_change' good or is there a better phrase?&lt;br /&gt;
# Manila Driver minimum requirements document update (ganso)&lt;br /&gt;
# Manila Data Copy service name (bswartz)&lt;br /&gt;
#*https://review.openstack.org/#/c/244286/&lt;br /&gt;
# Upcoming change for Manila CI hooks (vponomaryov)&lt;br /&gt;
#*https://review.openstack.org/#/c/243233/&lt;br /&gt;
# Manilaclient enhancement to provide request_id when set http_log_debug is True. It will co-ordinate the request and its id, so it will be helpful to filter the log and the failed request. (Jay Xu)&lt;br /&gt;
#*http://paste.openstack.org/show/478675/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 5 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# Decide on read-only access rules as a required feature&lt;br /&gt;
# Manila DR - Design/Code feedback (gouthamr) &lt;br /&gt;
#* [https://wiki.openstack.org/wiki/Manila/design/manila-mitaka-data-replication Design Document]&lt;br /&gt;
#* [https://review.openstack.org/#/c/238572/ Core Implementation on Gerrit]&lt;br /&gt;
#* [https://review.openstack.org/#/c/235448/ Client Implementation on Gerrit]&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Oct, 2015, 15:00 UTC'''&lt;br /&gt;
# Liberty RC2 status&lt;br /&gt;
#* https://launchpad.net/manila/+milestone/liberty-rc2&lt;br /&gt;
#* https://review.openstack.org/#/q/project:openstack/manila+branch:stable/liberty,n,z&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
#* https://github.com/openstack/manila/blob/master/doc/source/devref/share_back_ends_feature_support_mapping.rst&lt;br /&gt;
# Manila Client Nova Style Microversion Support (cfouts)&lt;br /&gt;
#* https://review.openstack.org/#/c/229142/&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/api_microversion_dev.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 24 Sep, 2015, 15:00 UTC'''&lt;br /&gt;
# 3rd-party CI status&lt;br /&gt;
#* http://ec2-54-67-102-119.us-west-1.compute.amazonaws.com:5000/?project=openstack/manila&amp;amp;user=&amp;amp;timeframe=72&amp;amp;start=&amp;amp;end=&amp;amp;page_size=500&lt;br /&gt;
#* http://ci-watch.tintri.com/project?project=manila&lt;br /&gt;
# Liberty RC status&lt;br /&gt;
# Support for QoS in Manila (zhongjun2)&lt;br /&gt;
#* https://blueprints.launchpad.net/manila/+spec/manila-support-qos&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/QoS&lt;br /&gt;
# Reminder for backend driver maintainers to update feature support table (toabctl)&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/share_back_ends_feature_support_mapping.html&lt;br /&gt;
# Regression when using NetApp - license issue with netapp_lib (toabctl)&lt;br /&gt;
#* https://bugs.launchpad.net/cinder/+bug/1499334&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* Propose topics - https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
# Open Discussion&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=137489</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=137489"/>
				<updated>2016-11-07T13:18:56Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Next meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
'''Previous meeting logs can be found here:''' http://eavesdrop.openstack.org/meetings/manila/&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Nov, 2016, 15:00 UTC'''&lt;br /&gt;
# Spec review &amp;amp; prioritization&lt;br /&gt;
# Topics not covered at design summit&lt;br /&gt;
#* ensure share&lt;br /&gt;
#* manage API requirements&lt;br /&gt;
#* manila-ui displaying only enabled share protocols&lt;br /&gt;
#* app-catalog use case&lt;br /&gt;
#* share replica quotas&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 3 Nov, 2016, 15:00 UTC'''&lt;br /&gt;
# Spec review &amp;amp; prioritization&lt;br /&gt;
#* https://review.openstack.org/#/q/project:%22%255Eopenstack/manila-specs%22++status:open&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-ocata-spec-review-focus&lt;br /&gt;
#* List of open specs&lt;br /&gt;
#** manila-ipv6&lt;br /&gt;
#** add-db-manage-purge&lt;br /&gt;
#** create-share-from-snapshot-extra-spec&lt;br /&gt;
#** support-quota-usage-in-detail&lt;br /&gt;
#** ocata-migration-improvements&lt;br /&gt;
#** data-service-jobs-table&lt;br /&gt;
#** add-share-type-filter-to-get-pools&lt;br /&gt;
#** manila-share-revert-to-snapshot&lt;br /&gt;
#** scenario-tests&lt;br /&gt;
#** mountable_snapshots&lt;br /&gt;
#** share-network-multiple-subnets&lt;br /&gt;
#** share-retype&lt;br /&gt;
#** multiple_protocol_share&lt;br /&gt;
#** access-groups&lt;br /&gt;
#** backup_share&lt;br /&gt;
#** manila-share-groups&lt;br /&gt;
#** data-service-api&lt;br /&gt;
#* vponomaryov's prioritiesː https://docs.google.com/document/d/1zdMNuQTIqrtDtzbdcxyZVn8SoPN9pbtv_HSLVR3Eld0/edit&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 20 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Specs and Deadlines (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/374883/&lt;br /&gt;
# Adding invalid user to the access rule changes valid access rule state from 'active' to 'error' (ravichandran)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 13 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Ocata Design Summit&lt;br /&gt;
#* https://www.openstack.org/summit/barcelona-2016/summit-schedule/global-search?t=Manila%3A&lt;br /&gt;
# PTG&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 6 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Microversion-ing addition or removal of transitional ('micro') states (gouthamr)&lt;br /&gt;
#* https://review.openstack.org/#/c/369668/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 29 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Ocata Design Summit&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-ocata-design-summit-topics&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 22 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Specs process&lt;br /&gt;
#* https://review.openstack.org/#/c/374883&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 8 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# RC1 status&lt;br /&gt;
#* https://launchpad.net/manila/+milestone/newton-rc1&lt;br /&gt;
# Project Logo&lt;br /&gt;
#* http://civs.cs.cornell.edu/cgi-bin/vote.pl?id=E_6f0d111cec78c5ef&amp;amp;akey=d34a751f2d084d79&lt;br /&gt;
# Container Driver Security (aovchinnikov)&lt;br /&gt;
#* https://review.openstack.org/#/c/353463/&lt;br /&gt;
# Security &amp;quot;vulnerability-managed&amp;quot; tag for manila (tbarron)&lt;br /&gt;
# Zanata translations for manila-client and manila-ui (tbarron)&lt;br /&gt;
# Tempest direction (tbarron)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Mascot (bswartz)&lt;br /&gt;
# Vulnerability Management&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 25 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Huawei share replication and CI&lt;br /&gt;
# IPv6 (cknight)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 18 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Driver private data admin API&lt;br /&gt;
#* Disagreement abounds on how this API is to be designed, tested, and presented.&lt;br /&gt;
#* https://review.openstack.org/#/c/315346/&lt;br /&gt;
# Scenario tests are broken&lt;br /&gt;
#* http://logs.openstack.org/86/309286/34/check/gate-manila-tempest-dsvm-scenario/610f96e/console.html&lt;br /&gt;
# Revert to snapshot&lt;br /&gt;
#* https://review.openstack.org/#/c/340502/&lt;br /&gt;
#* https://review.openstack.org/#/c/356682/&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Scheduled for 11 Aug, 2016, 15:00 UTC&amp;quot;&lt;br /&gt;
# None&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 4 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Migration APIs&lt;br /&gt;
#* http://lists.openstack.org/pipermail/openstack-dev/2016-August/100682.html&lt;br /&gt;
# Correct approach for avoiding races&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 28 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# Stepping Down as Docs Liaison (dustins)&lt;br /&gt;
#* Current job responsibilities don't give me the time to devote to this that I'd like to have, so it should go to someone else with a passion for documentation and has the willingness and desire for taking up the mantle.&lt;br /&gt;
# N-3 Review focus&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-newton3-priorities&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 21 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# Migrate API reference into tree (dgonzalez)&lt;br /&gt;
#* https://review.openstack.org/#/c/313874/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 14 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# N-2 milestone&lt;br /&gt;
# Managing initial security (of the root directory) for new shares&lt;br /&gt;
# Mascot/Logo discussion&lt;br /&gt;
# Tempest alternatives&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 30 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# non-disruptive nfs-ganesha export modifications (rraja/tbarron)&lt;br /&gt;
#* https://sourceforge.net/p/nfs-ganesha/mailman/message/35173839&lt;br /&gt;
# share backup spec discussion (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/330306&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 23 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# Implement extend and shrink features for glusterfs driver (DaiDV)&lt;br /&gt;
# Do all drivers have to inherit from driver.ShareDriver? (mkoderer)&lt;br /&gt;
# Creating a second share instance for driver-assisted migration (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 16 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# A share support multiple protocols (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/329392/&lt;br /&gt;
# Drivers with minimum size for shares (tpsilva)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 9 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# HPB feature (mkoderer)&lt;br /&gt;
# the fate of nova-network support in manila (gouthamr)&lt;br /&gt;
# multi-AZ tests in the gate&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 2 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# N-1 milestone (bswartz)&lt;br /&gt;
# Decision on APIv1 removal for newton (bswartz)&lt;br /&gt;
# Model updates from drivers (bswartz)&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Spec update&lt;br /&gt;
#* New spec - Extending share networks to span subnets - https://review.openstack.org/#/c/323646/ (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 26 May, 2016, 15:00 UTC'''&lt;br /&gt;
# N-1 milestone&lt;br /&gt;
# Update access remaining work&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Nova-network removal&lt;br /&gt;
#* APIv1 removal&lt;br /&gt;
#* Model updates from the driver&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 19 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* UI Customization&lt;br /&gt;
# Share Backup(zhongjun)&lt;br /&gt;
# Snapshot Restore (cknight)&lt;br /&gt;
# Specs (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 12 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Driver private storage: https://review.openstack.org/#/c/315346/ (xyang)&lt;br /&gt;
#* Admin wants to check driver private storage before doing some actions on a resource, i.e., force delete a share or unmanage a share.&lt;br /&gt;
#* The patch proposes to add admin API to retrieve driver private storage data. Alternative approach proposed by Valeriy to use manila-manage (i.e., manila-manage driver-private-storage &amp;lt;uuid of a resource&amp;gt;). Which one should we choose?&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Py3 functional tests&lt;br /&gt;
#* Replication with share networks&lt;br /&gt;
#* Service-check&lt;br /&gt;
#* Container driver&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 5 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Documentation update (dustins/gouthamr)&lt;br /&gt;
#* User messages&lt;br /&gt;
#* Experimental features in UI&lt;br /&gt;
#* Share/snapshot size mismatch&lt;br /&gt;
#  BP Specs (tbarron)&lt;br /&gt;
#* Need to ensure that the repo doesn't become &amp;quot;a wasteland of partial ideas where hope goes to die.&amp;quot;  (See http://lists.openstack.org/pipermail/openstack-dev/2016-May/094026.html)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 14 Apr, 2016, 15:00 UTC'''&lt;br /&gt;
# Manage API retrying (gouthamr/nidhimittalhada)&lt;br /&gt;
# Tempest test structuring - resource sharing and cleanup issues (akerr)&lt;br /&gt;
# Snapshot support common capability in the documentation (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 7 Apr, 2016, 15:00 UTC'''&lt;br /&gt;
# Access rules (bswartz)&lt;br /&gt;
# Design summit planning (bswartz)&lt;br /&gt;
#* Link: https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Release notes, continued (gouthamr)&lt;br /&gt;
#* Link: https://review.openstack.org/#/c/300656/&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Access Groups&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/design/access_groups&lt;br /&gt;
# Revert to snapshot&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 31 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Mitaka release status&lt;br /&gt;
#* RC1 expected to be the Mitaka release build&lt;br /&gt;
#* Last day for a re-spin is today&lt;br /&gt;
#** http://lists.openstack.org/pipermail/openstack-dev/2016-March/090877.html&lt;br /&gt;
# Design summit planning&lt;br /&gt;
#* Final schedule confirms 2 fishbowls, 4 working sessions, 1 half-day meetup&lt;br /&gt;
#** http://lists.openstack.org/pipermail/openstack-dev/2016-March/091032.html&lt;br /&gt;
#* Voting open now for summit topics&lt;br /&gt;
#** https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Manila Documentation (gouthamr)&lt;br /&gt;
#* Where do our docs live? how do we maintain them? (In Tree: devref, adminref | out of tree: install-guide, config-ref, cloud-admin guide)&lt;br /&gt;
#* Need a docs liaison&lt;br /&gt;
#** https://wiki.openstack.org/wiki/CrossProjectLiaisons#Documentation&lt;br /&gt;
#* Release Notes&lt;br /&gt;
#** http://docs.openstack.org/developer/reno/usage.html&lt;br /&gt;
# Managing/unmanaging replicated shares and snapshots (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 24 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Design summit planning&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Question about share servers (Jay.Xu)&lt;br /&gt;
#* Is there a way to get gateway IP address when the API setup_server() is invoked. I did not see this attribute in the input parameter network_info. Gateway IP is mandatory to create the interface for EMC storage which will be release coming soon, so it is expected that we can add the gateway IP into NetworkAllocation model if not.&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Common Capabilities Matrix (dustins)&lt;br /&gt;
#* https://review.openstack.org/#/c/288504/&lt;br /&gt;
#* I'm adding a table in the Developer Reference documentation to show which common capabilities are supported by which backends and when that support started.&lt;br /&gt;
#* I've got most drivers covered now.&lt;br /&gt;
#* If you want me to add your capabilities, leave a review on the patch and I'll update the table!&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 25 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# OpenStack bug smash event (toabctl, mkoderer)&lt;br /&gt;
## link: https://etherpad.openstack.org/p/OpenStack-Bug-Smash-Mitaka&lt;br /&gt;
# Status of new drivers&lt;br /&gt;
## M.3 deadline is a week away.&lt;br /&gt;
## Only a few things have merged in the last couple days.  At this rate, many things won't make it.&lt;br /&gt;
## Zuul is busy and will only get worse until the deadline.&lt;br /&gt;
## Multiple Manila gate breakages have occurred recently, and more are likely.&lt;br /&gt;
## The Manila tests are very unreliable at concurrency &amp;gt; 1.&lt;br /&gt;
## The generic driver is too slow to pass the gate at concurrency = 1.&lt;br /&gt;
## The new drivers *are* fast enough to run at concurrency = 1.&lt;br /&gt;
## The new drivers may not be 100% done, but they are done enough to pass reliably at concurrency = 1.&lt;br /&gt;
## We should switch voting to the new drivers NOW, or start throwing stuff overboard for the release.&lt;br /&gt;
# Next Manila mid-cycle location&lt;br /&gt;
## Proposal is to do it in Germany&lt;br /&gt;
## Need to know who could attend at that location.&lt;br /&gt;
## Would it make a difference if the Cinder mid-cycle happens in Dublin, and the Manila meeting is immediately before or after the Cinder one?&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 18 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Feature Proposal Freeze (bswartz)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 11 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Hierarchical port binding support (mkoderer)&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/design/manila-newton-hpb-support&lt;br /&gt;
#* https://blueprints.launchpad.net/manila/+spec/manila-hpb-support&lt;br /&gt;
#* https://review.openstack.org/#/c/277731/&lt;br /&gt;
# Next Manila mid-cycle (mkoderer)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-n-release-midcycle&lt;br /&gt;
# Replication + ZFS Driver (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/238572&lt;br /&gt;
# Driver FPF (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/279090/&lt;br /&gt;
#* https://review.openstack.org/#/c/278169/&lt;br /&gt;
# HDFS CI (bswartz)&lt;br /&gt;
'''Scheduled for 4 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
# Data service handling protocol mount commands (ganso)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-data-service-mount-meeting&lt;br /&gt;
# Separate process for copy on data service (tpsilva)&lt;br /&gt;
# ZFS driver (bswartz)&lt;br /&gt;
# First party drivers share migration support cooperation (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 28 Jan, 2016, 15:00 UTC'''&lt;br /&gt;
# Hierarchical port binding support (mkoderer)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-hierarchical-port-binding&lt;br /&gt;
# Core reviewer team and other manila-related projects (bswartz)&lt;br /&gt;
# Replication status (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 21 Jan, 2016, 15:00 UTC'''&lt;br /&gt;
# Update_access backwards compatibility approach discussion. (ganso)&lt;br /&gt;
# Exposing the Data Service to drivers. (ganso)&lt;br /&gt;
# Snapshot manage/unmanage (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 17 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# Proposal for share groups (cknight)&lt;br /&gt;
# Liberty.1 stable release (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# The most of the driver already report the &amp;quot;'QoS_support': False&amp;quot; to scheduler. Does we need to remove it or save it as Qos support flat? and write 'QoS_support' to capabilities_and_extra_specs.rst?(zhongjun)&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/hpe/hpe_3par_driver.py#L391&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/hitachi/hds_hnas.py#L354&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py#L257&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/scheduler/host_manager.py#L111&lt;br /&gt;
##https://review.openstack.org/#/c/247286/4/doc/source/devref/capabilities_and_extra_specs.rst&lt;br /&gt;
# Architectural concerns and interoperability of new features (cknight)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 3 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Add &amp;quot;data loss&amp;quot; flag in DB migrations which lead to losing of existing data and update &amp;quot;manila-manage db sync&amp;quot; command to forbid applying such migrations without &amp;quot;--force&amp;quot; flag (u_glide)&lt;br /&gt;
# Reorganization of Manila scheduler to merge oslo-incubator code and simplify future maintenance  (cknight)&lt;br /&gt;
## https://review.openstack.org/#/c/252060/&lt;br /&gt;
## Mostly for awareness, this is now merged and should be backwards compatible.&lt;br /&gt;
## Cinder could benefit from a similar treatment.  And with the incubator gone, we could explore a common library with the Cinder team, since the heretofore shared components are certain to diverge over time, but I'm not sure how receptive they would be.  Xing?&lt;br /&gt;
# CI reliability&lt;br /&gt;
## Why should we merge patches for drivers whose CI systems consistently fail?  This negates the value of CI.  I think that accepting patches that aren't proven by CI does a disservice to everyone, most of all to the driver owners themselves.  Refusing to merge driver patches without a good CI result for that driver seems like a gentler and more uniform-over-time approach than threatening to throw out a driver near the end of a release.  And why make our illustrious and overworked PTL be the CI policeman when all core reviewers could simply glance at the corresponding CI result before giving +A?  (cknight)&lt;br /&gt;
## http://ci-watch.tintri.com/project?project=manila&lt;br /&gt;
## https://review.openstack.org/#/c/232293/&lt;br /&gt;
## https://review.openstack.org/#/c/235522/&lt;br /&gt;
## https://review.openstack.org/#/c/235726/&lt;br /&gt;
## https://review.openstack.org/#/c/249999/&lt;br /&gt;
## https://review.openstack.org/#/c/237454/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 19 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# GB --&amp;gt; GiB (markstur)&lt;br /&gt;
# OpenStack Manuals and Devref (markstur)&lt;br /&gt;
#* Config Ref (and others) are moving to .RST!&lt;br /&gt;
#* How should we document prior releases in devref?&lt;br /&gt;
# Midcycle Meetup Date (bswartz)&lt;br /&gt;
# Deadlines for features (bswartz)&lt;br /&gt;
#* Feature proposal freeze vs Big Features&lt;br /&gt;
#* New drivers&lt;br /&gt;
# Data Copy Service network approach discussion (ganso)&lt;br /&gt;
#* https://drive.google.com/file/d/0B30HPZmaePCHMlAzcjJlYm5rRTA/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 12 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# Which method is better for Manila QoS(independent way or just use extra specs ) (zhongjun)&lt;br /&gt;
#* link:http://paste.openstack.org/show/477677/ &lt;br /&gt;
#*If use extra specs to config QoS, Does we first need add “QoS_support=true/false” in share_type. Does we need to add QoS_support flag in common capabilities&lt;br /&gt;
#**https://github.com/openstack/manila/blob/master/doc/source/devref/capabilities_and_extra_specs.rst)?&lt;br /&gt;
#** eg:  share_type: qos_support='&amp;lt;is&amp;gt; True' or '&amp;lt;is&amp;gt; False' &lt;br /&gt;
#**                            netapp:max_iops=100  or qos:netapp:max_iops=100 or qos:max_iops=100&lt;br /&gt;
#**        driver update: qos_support=true&lt;br /&gt;
#** An alternative could be to have the driver report a range&lt;br /&gt;
# Manila DR update (ameade)&lt;br /&gt;
#* Still no reviews on https://review.openstack.org/#/c/238572/&lt;br /&gt;
#* First-party driver implementation? Which driver, current generic or new solution? When do we need this implemented and who wants to do it?&lt;br /&gt;
#* Replication_change share state - This is the state of the share when any of it's replicas are being promoted. Is 'replication_change' good or is there a better phrase?&lt;br /&gt;
# Manila Driver minimum requirements document update (ganso)&lt;br /&gt;
# Manila Data Copy service name (bswartz)&lt;br /&gt;
#*https://review.openstack.org/#/c/244286/&lt;br /&gt;
# Upcoming change for Manila CI hooks (vponomaryov)&lt;br /&gt;
#*https://review.openstack.org/#/c/243233/&lt;br /&gt;
# Manilaclient enhancement to provide request_id when set http_log_debug is True. It will co-ordinate the request and its id, so it will be helpful to filter the log and the failed request. (Jay Xu)&lt;br /&gt;
#*http://paste.openstack.org/show/478675/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 5 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# Decide on read-only access rules as a required feature&lt;br /&gt;
# Manila DR - Design/Code feedback (gouthamr) &lt;br /&gt;
#* [https://wiki.openstack.org/wiki/Manila/design/manila-mitaka-data-replication Design Document]&lt;br /&gt;
#* [https://review.openstack.org/#/c/238572/ Core Implementation on Gerrit]&lt;br /&gt;
#* [https://review.openstack.org/#/c/235448/ Client Implementation on Gerrit]&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Oct, 2015, 15:00 UTC'''&lt;br /&gt;
# Liberty RC2 status&lt;br /&gt;
#* https://launchpad.net/manila/+milestone/liberty-rc2&lt;br /&gt;
#* https://review.openstack.org/#/q/project:openstack/manila+branch:stable/liberty,n,z&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
#* https://github.com/openstack/manila/blob/master/doc/source/devref/share_back_ends_feature_support_mapping.rst&lt;br /&gt;
# Manila Client Nova Style Microversion Support (cfouts)&lt;br /&gt;
#* https://review.openstack.org/#/c/229142/&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/api_microversion_dev.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 24 Sep, 2015, 15:00 UTC'''&lt;br /&gt;
# 3rd-party CI status&lt;br /&gt;
#* http://ec2-54-67-102-119.us-west-1.compute.amazonaws.com:5000/?project=openstack/manila&amp;amp;user=&amp;amp;timeframe=72&amp;amp;start=&amp;amp;end=&amp;amp;page_size=500&lt;br /&gt;
#* http://ci-watch.tintri.com/project?project=manila&lt;br /&gt;
# Liberty RC status&lt;br /&gt;
# Support for QoS in Manila (zhongjun2)&lt;br /&gt;
#* https://blueprints.launchpad.net/manila/+spec/manila-support-qos&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/QoS&lt;br /&gt;
# Reminder for backend driver maintainers to update feature support table (toabctl)&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/share_back_ends_feature_support_mapping.html&lt;br /&gt;
# Regression when using NetApp - license issue with netapp_lib (toabctl)&lt;br /&gt;
#* https://bugs.launchpad.net/cinder/+bug/1499334&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* Propose topics - https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
# Open Discussion&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=137170</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=137170"/>
				<updated>2016-11-03T13:52:09Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Next meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
'''Previous meeting logs can be found here:''' http://eavesdrop.openstack.org/meetings/manila/&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 3 Nov, 2016, 15:00 UTC'''&lt;br /&gt;
# Spec review &amp;amp; prioritization&lt;br /&gt;
#* https://review.openstack.org/#/q/project:%22%255Eopenstack/manila-specs%22++status:open&lt;br /&gt;
#** vponomaryov's prioritiesː https://docs.google.com/document/d/1zdMNuQTIqrtDtzbdcxyZVn8SoPN9pbtv_HSLVR3Eld0/edit&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 20 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Specs and Deadlines (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/374883/&lt;br /&gt;
# Adding invalid user to the access rule changes valid access rule state from 'active' to 'error' (ravichandran)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 13 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Ocata Design Summit&lt;br /&gt;
#* https://www.openstack.org/summit/barcelona-2016/summit-schedule/global-search?t=Manila%3A&lt;br /&gt;
# PTG&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 6 Oct, 2016, 15:00 UTC'''&lt;br /&gt;
# Microversion-ing addition or removal of transitional ('micro') states (gouthamr)&lt;br /&gt;
#* https://review.openstack.org/#/c/369668/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 29 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Ocata Design Summit&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-ocata-design-summit-topics&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 22 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Specs process&lt;br /&gt;
#* https://review.openstack.org/#/c/374883&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 8 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# RC1 status&lt;br /&gt;
#* https://launchpad.net/manila/+milestone/newton-rc1&lt;br /&gt;
# Project Logo&lt;br /&gt;
#* http://civs.cs.cornell.edu/cgi-bin/vote.pl?id=E_6f0d111cec78c5ef&amp;amp;akey=d34a751f2d084d79&lt;br /&gt;
# Container Driver Security (aovchinnikov)&lt;br /&gt;
#* https://review.openstack.org/#/c/353463/&lt;br /&gt;
# Security &amp;quot;vulnerability-managed&amp;quot; tag for manila (tbarron)&lt;br /&gt;
# Zanata translations for manila-client and manila-ui (tbarron)&lt;br /&gt;
# Tempest direction (tbarron)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Sep, 2016, 15:00 UTC'''&lt;br /&gt;
# Mascot (bswartz)&lt;br /&gt;
# Vulnerability Management&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 25 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Huawei share replication and CI&lt;br /&gt;
# IPv6 (cknight)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 18 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Driver private data admin API&lt;br /&gt;
#* Disagreement abounds on how this API is to be designed, tested, and presented.&lt;br /&gt;
#* https://review.openstack.org/#/c/315346/&lt;br /&gt;
# Scenario tests are broken&lt;br /&gt;
#* http://logs.openstack.org/86/309286/34/check/gate-manila-tempest-dsvm-scenario/610f96e/console.html&lt;br /&gt;
# Revert to snapshot&lt;br /&gt;
#* https://review.openstack.org/#/c/340502/&lt;br /&gt;
#* https://review.openstack.org/#/c/356682/&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Scheduled for 11 Aug, 2016, 15:00 UTC&amp;quot;&lt;br /&gt;
# None&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 4 Aug, 2016, 15:00 UTC'''&lt;br /&gt;
# Migration APIs&lt;br /&gt;
#* http://lists.openstack.org/pipermail/openstack-dev/2016-August/100682.html&lt;br /&gt;
# Correct approach for avoiding races&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 28 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# Stepping Down as Docs Liaison (dustins)&lt;br /&gt;
#* Current job responsibilities don't give me the time to devote to this that I'd like to have, so it should go to someone else with a passion for documentation and has the willingness and desire for taking up the mantle.&lt;br /&gt;
# N-3 Review focus&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-newton3-priorities&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 21 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# Migrate API reference into tree (dgonzalez)&lt;br /&gt;
#* https://review.openstack.org/#/c/313874/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 14 Jul, 2016, 15:00 UTC'''&lt;br /&gt;
# N-2 milestone&lt;br /&gt;
# Managing initial security (of the root directory) for new shares&lt;br /&gt;
# Mascot/Logo discussion&lt;br /&gt;
# Tempest alternatives&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 30 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# non-disruptive nfs-ganesha export modifications (rraja/tbarron)&lt;br /&gt;
#* https://sourceforge.net/p/nfs-ganesha/mailman/message/35173839&lt;br /&gt;
# share backup spec discussion (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/330306&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 23 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# Implement extend and shrink features for glusterfs driver (DaiDV)&lt;br /&gt;
# Do all drivers have to inherit from driver.ShareDriver? (mkoderer)&lt;br /&gt;
# Creating a second share instance for driver-assisted migration (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 16 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# A share support multiple protocols (zhongjun)&lt;br /&gt;
#* https://review.openstack.org/#/c/329392/&lt;br /&gt;
# Drivers with minimum size for shares (tpsilva)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 9 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# HPB feature (mkoderer)&lt;br /&gt;
# the fate of nova-network support in manila (gouthamr)&lt;br /&gt;
# multi-AZ tests in the gate&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 2 Jun, 2016, 15:00 UTC'''&lt;br /&gt;
# N-1 milestone (bswartz)&lt;br /&gt;
# Decision on APIv1 removal for newton (bswartz)&lt;br /&gt;
# Model updates from drivers (bswartz)&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Spec update&lt;br /&gt;
#* New spec - Extending share networks to span subnets - https://review.openstack.org/#/c/323646/ (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 26 May, 2016, 15:00 UTC'''&lt;br /&gt;
# N-1 milestone&lt;br /&gt;
# Update access remaining work&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Nova-network removal&lt;br /&gt;
#* APIv1 removal&lt;br /&gt;
#* Model updates from the driver&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 19 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* UI Customization&lt;br /&gt;
# Share Backup(zhongjun)&lt;br /&gt;
# Snapshot Restore (cknight)&lt;br /&gt;
# Specs (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 12 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Driver private storage: https://review.openstack.org/#/c/315346/ (xyang)&lt;br /&gt;
#* Admin wants to check driver private storage before doing some actions on a resource, i.e., force delete a share or unmanage a share.&lt;br /&gt;
#* The patch proposes to add admin API to retrieve driver private storage data. Alternative approach proposed by Valeriy to use manila-manage (i.e., manila-manage driver-private-storage &amp;lt;uuid of a resource&amp;gt;). Which one should we choose?&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Py3 functional tests&lt;br /&gt;
#* Replication with share networks&lt;br /&gt;
#* Service-check&lt;br /&gt;
#* Container driver&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 5 May, 2016, 15:00 UTC'''&lt;br /&gt;
# Topics not covered at design summit https://etherpad.openstack.org/p/newton-manila-contributor-meetup&lt;br /&gt;
#* Documentation update (dustins/gouthamr)&lt;br /&gt;
#* User messages&lt;br /&gt;
#* Experimental features in UI&lt;br /&gt;
#* Share/snapshot size mismatch&lt;br /&gt;
#  BP Specs (tbarron)&lt;br /&gt;
#* Need to ensure that the repo doesn't become &amp;quot;a wasteland of partial ideas where hope goes to die.&amp;quot;  (See http://lists.openstack.org/pipermail/openstack-dev/2016-May/094026.html)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 14 Apr, 2016, 15:00 UTC'''&lt;br /&gt;
# Manage API retrying (gouthamr/nidhimittalhada)&lt;br /&gt;
# Tempest test structuring - resource sharing and cleanup issues (akerr)&lt;br /&gt;
# Snapshot support common capability in the documentation (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 7 Apr, 2016, 15:00 UTC'''&lt;br /&gt;
# Access rules (bswartz)&lt;br /&gt;
# Design summit planning (bswartz)&lt;br /&gt;
#* Link: https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Release notes, continued (gouthamr)&lt;br /&gt;
#* Link: https://review.openstack.org/#/c/300656/&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Access Groups&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/design/access_groups&lt;br /&gt;
# Revert to snapshot&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 31 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Mitaka release status&lt;br /&gt;
#* RC1 expected to be the Mitaka release build&lt;br /&gt;
#* Last day for a re-spin is today&lt;br /&gt;
#** http://lists.openstack.org/pipermail/openstack-dev/2016-March/090877.html&lt;br /&gt;
# Design summit planning&lt;br /&gt;
#* Final schedule confirms 2 fishbowls, 4 working sessions, 1 half-day meetup&lt;br /&gt;
#** http://lists.openstack.org/pipermail/openstack-dev/2016-March/091032.html&lt;br /&gt;
#* Voting open now for summit topics&lt;br /&gt;
#** https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Manila Documentation (gouthamr)&lt;br /&gt;
#* Where do our docs live? how do we maintain them? (In Tree: devref, adminref | out of tree: install-guide, config-ref, cloud-admin guide)&lt;br /&gt;
#* Need a docs liaison&lt;br /&gt;
#** https://wiki.openstack.org/wiki/CrossProjectLiaisons#Documentation&lt;br /&gt;
#* Release Notes&lt;br /&gt;
#** http://docs.openstack.org/developer/reno/usage.html&lt;br /&gt;
# Managing/unmanaging replicated shares and snapshots (gouthamr)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 24 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Design summit planning&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-newton-summit-topics&lt;br /&gt;
# Question about share servers (Jay.Xu)&lt;br /&gt;
#* Is there a way to get gateway IP address when the API setup_server() is invoked. I did not see this attribute in the input parameter network_info. Gateway IP is mandatory to create the interface for EMC storage which will be release coming soon, so it is expected that we can add the gateway IP into NetworkAllocation model if not.&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Mar, 2016, 15:00 UTC'''&lt;br /&gt;
# Common Capabilities Matrix (dustins)&lt;br /&gt;
#* https://review.openstack.org/#/c/288504/&lt;br /&gt;
#* I'm adding a table in the Developer Reference documentation to show which common capabilities are supported by which backends and when that support started.&lt;br /&gt;
#* I've got most drivers covered now.&lt;br /&gt;
#* If you want me to add your capabilities, leave a review on the patch and I'll update the table!&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 25 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# OpenStack bug smash event (toabctl, mkoderer)&lt;br /&gt;
## link: https://etherpad.openstack.org/p/OpenStack-Bug-Smash-Mitaka&lt;br /&gt;
# Status of new drivers&lt;br /&gt;
## M.3 deadline is a week away.&lt;br /&gt;
## Only a few things have merged in the last couple days.  At this rate, many things won't make it.&lt;br /&gt;
## Zuul is busy and will only get worse until the deadline.&lt;br /&gt;
## Multiple Manila gate breakages have occurred recently, and more are likely.&lt;br /&gt;
## The Manila tests are very unreliable at concurrency &amp;gt; 1.&lt;br /&gt;
## The generic driver is too slow to pass the gate at concurrency = 1.&lt;br /&gt;
## The new drivers *are* fast enough to run at concurrency = 1.&lt;br /&gt;
## The new drivers may not be 100% done, but they are done enough to pass reliably at concurrency = 1.&lt;br /&gt;
## We should switch voting to the new drivers NOW, or start throwing stuff overboard for the release.&lt;br /&gt;
# Next Manila mid-cycle location&lt;br /&gt;
## Proposal is to do it in Germany&lt;br /&gt;
## Need to know who could attend at that location.&lt;br /&gt;
## Would it make a difference if the Cinder mid-cycle happens in Dublin, and the Manila meeting is immediately before or after the Cinder one?&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 18 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Feature Proposal Freeze (bswartz)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 11 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Hierarchical port binding support (mkoderer)&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/design/manila-newton-hpb-support&lt;br /&gt;
#* https://blueprints.launchpad.net/manila/+spec/manila-hpb-support&lt;br /&gt;
#* https://review.openstack.org/#/c/277731/&lt;br /&gt;
# Next Manila mid-cycle (mkoderer)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-n-release-midcycle&lt;br /&gt;
# Replication + ZFS Driver (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/238572&lt;br /&gt;
# Driver FPF (bswartz)&lt;br /&gt;
#* https://review.openstack.org/#/c/279090/&lt;br /&gt;
#* https://review.openstack.org/#/c/278169/&lt;br /&gt;
# HDFS CI (bswartz)&lt;br /&gt;
'''Scheduled for 4 Feb, 2016, 15:00 UTC'''&lt;br /&gt;
# Data service handling protocol mount commands (ganso)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-data-service-mount-meeting&lt;br /&gt;
# Separate process for copy on data service (tpsilva)&lt;br /&gt;
# ZFS driver (bswartz)&lt;br /&gt;
# First party drivers share migration support cooperation (ganso)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 28 Jan, 2016, 15:00 UTC'''&lt;br /&gt;
# Hierarchical port binding support (mkoderer)&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-hierarchical-port-binding&lt;br /&gt;
# Core reviewer team and other manila-related projects (bswartz)&lt;br /&gt;
# Replication status (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 21 Jan, 2016, 15:00 UTC'''&lt;br /&gt;
# Update_access backwards compatibility approach discussion. (ganso)&lt;br /&gt;
# Exposing the Data Service to drivers. (ganso)&lt;br /&gt;
# Snapshot manage/unmanage (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 17 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# Proposal for share groups (cknight)&lt;br /&gt;
# Liberty.1 stable release (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# The most of the driver already report the &amp;quot;'QoS_support': False&amp;quot; to scheduler. Does we need to remove it or save it as Qos support flat? and write 'QoS_support' to capabilities_and_extra_specs.rst?(zhongjun)&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/hpe/hpe_3par_driver.py#L391&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/hitachi/hds_hnas.py#L354&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py#L257&lt;br /&gt;
##https://github.com/openstack/manila/blob/master/manila/scheduler/host_manager.py#L111&lt;br /&gt;
##https://review.openstack.org/#/c/247286/4/doc/source/devref/capabilities_and_extra_specs.rst&lt;br /&gt;
# Architectural concerns and interoperability of new features (cknight)&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 3 Dec, 2015, 15:00 UTC'''&lt;br /&gt;
# Midcycle meetup&lt;br /&gt;
# Add &amp;quot;data loss&amp;quot; flag in DB migrations which lead to losing of existing data and update &amp;quot;manila-manage db sync&amp;quot; command to forbid applying such migrations without &amp;quot;--force&amp;quot; flag (u_glide)&lt;br /&gt;
# Reorganization of Manila scheduler to merge oslo-incubator code and simplify future maintenance  (cknight)&lt;br /&gt;
## https://review.openstack.org/#/c/252060/&lt;br /&gt;
## Mostly for awareness, this is now merged and should be backwards compatible.&lt;br /&gt;
## Cinder could benefit from a similar treatment.  And with the incubator gone, we could explore a common library with the Cinder team, since the heretofore shared components are certain to diverge over time, but I'm not sure how receptive they would be.  Xing?&lt;br /&gt;
# CI reliability&lt;br /&gt;
## Why should we merge patches for drivers whose CI systems consistently fail?  This negates the value of CI.  I think that accepting patches that aren't proven by CI does a disservice to everyone, most of all to the driver owners themselves.  Refusing to merge driver patches without a good CI result for that driver seems like a gentler and more uniform-over-time approach than threatening to throw out a driver near the end of a release.  And why make our illustrious and overworked PTL be the CI policeman when all core reviewers could simply glance at the corresponding CI result before giving +A?  (cknight)&lt;br /&gt;
## http://ci-watch.tintri.com/project?project=manila&lt;br /&gt;
## https://review.openstack.org/#/c/232293/&lt;br /&gt;
## https://review.openstack.org/#/c/235522/&lt;br /&gt;
## https://review.openstack.org/#/c/235726/&lt;br /&gt;
## https://review.openstack.org/#/c/249999/&lt;br /&gt;
## https://review.openstack.org/#/c/237454/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 19 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# GB --&amp;gt; GiB (markstur)&lt;br /&gt;
# OpenStack Manuals and Devref (markstur)&lt;br /&gt;
#* Config Ref (and others) are moving to .RST!&lt;br /&gt;
#* How should we document prior releases in devref?&lt;br /&gt;
# Midcycle Meetup Date (bswartz)&lt;br /&gt;
# Deadlines for features (bswartz)&lt;br /&gt;
#* Feature proposal freeze vs Big Features&lt;br /&gt;
#* New drivers&lt;br /&gt;
# Data Copy Service network approach discussion (ganso)&lt;br /&gt;
#* https://drive.google.com/file/d/0B30HPZmaePCHMlAzcjJlYm5rRTA/view?usp=sharing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 12 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# Which method is better for Manila QoS(independent way or just use extra specs ) (zhongjun)&lt;br /&gt;
#* link:http://paste.openstack.org/show/477677/ &lt;br /&gt;
#*If use extra specs to config QoS, Does we first need add “QoS_support=true/false” in share_type. Does we need to add QoS_support flag in common capabilities&lt;br /&gt;
#**https://github.com/openstack/manila/blob/master/doc/source/devref/capabilities_and_extra_specs.rst)?&lt;br /&gt;
#** eg:  share_type: qos_support='&amp;lt;is&amp;gt; True' or '&amp;lt;is&amp;gt; False' &lt;br /&gt;
#**                            netapp:max_iops=100  or qos:netapp:max_iops=100 or qos:max_iops=100&lt;br /&gt;
#**        driver update: qos_support=true&lt;br /&gt;
#** An alternative could be to have the driver report a range&lt;br /&gt;
# Manila DR update (ameade)&lt;br /&gt;
#* Still no reviews on https://review.openstack.org/#/c/238572/&lt;br /&gt;
#* First-party driver implementation? Which driver, current generic or new solution? When do we need this implemented and who wants to do it?&lt;br /&gt;
#* Replication_change share state - This is the state of the share when any of it's replicas are being promoted. Is 'replication_change' good or is there a better phrase?&lt;br /&gt;
# Manila Driver minimum requirements document update (ganso)&lt;br /&gt;
# Manila Data Copy service name (bswartz)&lt;br /&gt;
#*https://review.openstack.org/#/c/244286/&lt;br /&gt;
# Upcoming change for Manila CI hooks (vponomaryov)&lt;br /&gt;
#*https://review.openstack.org/#/c/243233/&lt;br /&gt;
# Manilaclient enhancement to provide request_id when set http_log_debug is True. It will co-ordinate the request and its id, so it will be helpful to filter the log and the failed request. (Jay Xu)&lt;br /&gt;
#*http://paste.openstack.org/show/478675/&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 5 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# Decide on read-only access rules as a required feature&lt;br /&gt;
# Manila DR - Design/Code feedback (gouthamr) &lt;br /&gt;
#* [https://wiki.openstack.org/wiki/Manila/design/manila-mitaka-data-replication Design Document]&lt;br /&gt;
#* [https://review.openstack.org/#/c/238572/ Core Implementation on Gerrit]&lt;br /&gt;
#* [https://review.openstack.org/#/c/235448/ Client Implementation on Gerrit]&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Oct, 2015, 15:00 UTC'''&lt;br /&gt;
# Liberty RC2 status&lt;br /&gt;
#* https://launchpad.net/manila/+milestone/liberty-rc2&lt;br /&gt;
#* https://review.openstack.org/#/q/project:openstack/manila+branch:stable/liberty,n,z&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
#* https://github.com/openstack/manila/blob/master/doc/source/devref/share_back_ends_feature_support_mapping.rst&lt;br /&gt;
# Manila Client Nova Style Microversion Support (cfouts)&lt;br /&gt;
#* https://review.openstack.org/#/c/229142/&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/api_microversion_dev.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 24 Sep, 2015, 15:00 UTC'''&lt;br /&gt;
# 3rd-party CI status&lt;br /&gt;
#* http://ec2-54-67-102-119.us-west-1.compute.amazonaws.com:5000/?project=openstack/manila&amp;amp;user=&amp;amp;timeframe=72&amp;amp;start=&amp;amp;end=&amp;amp;page_size=500&lt;br /&gt;
#* http://ci-watch.tintri.com/project?project=manila&lt;br /&gt;
# Liberty RC status&lt;br /&gt;
# Support for QoS in Manila (zhongjun2)&lt;br /&gt;
#* https://blueprints.launchpad.net/manila/+spec/manila-support-qos&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/QoS&lt;br /&gt;
# Reminder for backend driver maintainers to update feature support table (toabctl)&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/share_back_ends_feature_support_mapping.html&lt;br /&gt;
# Regression when using NetApp - license issue with netapp_lib (toabctl)&lt;br /&gt;
#* https://bugs.launchpad.net/cinder/+bug/1499334&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* Propose topics - https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
# Open Discussion&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/QATeamMeeting&amp;diff=129299</id>
		<title>Meetings/QATeamMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/QATeamMeeting&amp;diff=129299"/>
				<updated>2016-07-28T06:58:14Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Agenda for July 28th 2016 (0900 UTC) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly QA Team meeting =&lt;br /&gt;
The OpenStack QA Team holds public weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, '''Thursday alternating every week between 17:00 UTC and 09:00 UTC''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Everyone interested in testing, quality assurance, performance engineering, etc, should attend!&lt;br /&gt;
&lt;br /&gt;
The meeting minutes of can be found here: [http://eavesdrop.openstack.org/meetings/qa meeting minutes on eavesdrop]&lt;br /&gt;
&lt;br /&gt;
''Rules for adding to the agenda'':&lt;br /&gt;
* anyone is free to add to proposed agenda, please do so by 1 hr before the meeting&lt;br /&gt;
* if you add an item to the agenda, please include your ircnick (i.e. sdague) to the end of your item, so we know who did, and who should lead the discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for July 28th 2016 (0900 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* openstack-health&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Possibility to enable/disable external plugins [vponomaryov]&lt;br /&gt;
** https://review.openstack.org/#/c/343830/&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
All previous meetings, with their notes and logs, can be found at http://eavesdrop.openstack.org/meetings/qa/.&lt;br /&gt;
Old agendas are stored on [[Meetings/QATeamMeeting/OldAgendas]]&lt;br /&gt;
&lt;br /&gt;
===Agenda for July 21th 2016 (1700 UTC)===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* openstack-health&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
** https://review.openstack.org/#/c/341083/&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for July 7th 2016 (1700 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* openstack-health&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for June 30th 2016 (0900 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* openstack-health&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for June 23th 2016 (1700 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
*Specs Reviews&lt;br /&gt;
**https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
*Tempest&lt;br /&gt;
*DevStack + Grenade&lt;br /&gt;
*openstack-health&lt;br /&gt;
*Critical Reviews&lt;br /&gt;
*Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for June 16th 2016 (0900 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
** Remote client debuggability (andreaf)&lt;br /&gt;
** Test class hierarchy (dmellado)&lt;br /&gt;
** Neutron OO wrappers (jlwhite, hockeynut)&lt;br /&gt;
** Documentation cleanup (andreaf) - All is done?&lt;br /&gt;
** Tempest CLI (mtreinish, dpaterson, dmellado)&lt;br /&gt;
** Negative test guideline (hogepodge, oomichi)&lt;br /&gt;
** tempest-lib/plugin (gmann)&lt;br /&gt;
** microversions testing (gmann)&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
** Neutron Cleanup (sc68cal)&lt;br /&gt;
** Heat devstack plugin (dixiaoli, oomichi)&lt;br /&gt;
* openstack-health (mtreinish, masayukig)&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* QA mid-cycle meetup&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for June 9th 2016 (1700 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* openstack-health&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for June 2nd 2016 (0900 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
** Remote client debuggability (andreaf)&lt;br /&gt;
** Test class hierarchy (dmellado)&lt;br /&gt;
** Neutron OO wrappers (jlwhite, hockeynut)&lt;br /&gt;
** Documentation cleanup (andreaf) - All is done?&lt;br /&gt;
** Tempest CLI (mtreinish, dpaterson, dmellado)&lt;br /&gt;
** Negative test guideline (hogepodge, oomichi)&lt;br /&gt;
** tempest-lib/plugin (gmann)&lt;br /&gt;
** microversions testing (gmann)&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
** Neutron Cleanup (sc68cal)&lt;br /&gt;
** Heat devstack plugin (dixiaoli, oomichi)&lt;br /&gt;
* openstack-health (mtreinish, masayukig)&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* QA mid-cycle meetup&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for May 26th 2016 (1700 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
** Remote client debuggability (andreaf)&lt;br /&gt;
** Test class hierarchy (dmellado)&lt;br /&gt;
** Neutron OO wrappers (jlwhite, hockeynut)&lt;br /&gt;
** Documentation cleanup (andreaf) - All is done?&lt;br /&gt;
** Tempest CLI (mtreinish, dpaterson, dmellado)&lt;br /&gt;
** Negative test guideline (hogepodge, oomichi)&lt;br /&gt;
** tempest-lib/plugin (gmann)&lt;br /&gt;
** microversions testing (gmann)&lt;br /&gt;
** filtering by name support in auth catalog: https://review.openstack.org/#/c/284273  (fnaval)&lt;br /&gt;
** refactor or move some proposed DefCore Interoperability tests that require admin creds http://paste.openstack.org/show/505463/ (hogepodge)&lt;br /&gt;
** service clients method naming - see https://review.openstack.org/#/c/307789/ (andreaf)&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
** Neutron Cleanup (sc68cal)&lt;br /&gt;
** Heat devstack plugin (dixiaoli, oomichi)&lt;br /&gt;
* openstack-health (mtreinish, masayukig)&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* QA mid-cycle meetup&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for May 12th 2016 (1700 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
** Remote client debuggability (andreaf)&lt;br /&gt;
** Test class hierarchy (dmellado)&lt;br /&gt;
** Neutron OO wrappers (jlwhite, hockeynut)&lt;br /&gt;
** Documentation cleanup (andreaf) - All is done?&lt;br /&gt;
** Tempest CLI (mtreinish, dpaterson, dmellado)&lt;br /&gt;
** Negative test guideline (chrishoge, oomichi)&lt;br /&gt;
** tempest-lib/plugin (gmann)&lt;br /&gt;
** microversions testing (gmann)&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
** Neutron Cleanup (sc68cal)&lt;br /&gt;
** Heat devstack plugin (dixiaoli, oomichi)&lt;br /&gt;
** MariaDB on Ubuntu: https://review.openstack.org/#/c/314087/ (rfolco)&lt;br /&gt;
* openstack-health (mtreinish, masayukig)&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for April 21st 2016 (0900 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for April 14th 2016 (1700 UTC)===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for April 7th 2016 (0900 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for March 31th 2016 (1700 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
** Quality Assurance: 4fb, 4wr&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for March 24th 2016 (0900 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
** Propose to remove negative tests&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
** Quality Assurance: 4fb, 4wr&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for March 17th 2016 (1700 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
** Propose change gate periodic-tempest-dsvm-neutron-identity-v3-only-full-master to be voting https://review.openstack.org/#/c/292894/ &amp;lt;raildo&amp;gt;&lt;br /&gt;
** Propose to remove negative tests&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
** Quality Assurance: 4fb, 4wr&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
&lt;br /&gt;
=== Agenda for March 10th 2016 (0900 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Critical Reviews&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Meetings/QATeamMeeting&amp;diff=129298</id>
		<title>Meetings/QATeamMeeting</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Meetings/QATeamMeeting&amp;diff=129298"/>
				<updated>2016-07-28T06:57:42Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Agenda for July 28th 2016 (0900 UTC) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly QA Team meeting =&lt;br /&gt;
The OpenStack QA Team holds public weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, '''Thursday alternating every week between 17:00 UTC and 09:00 UTC''.&amp;lt;br /&amp;gt;&lt;br /&gt;
Everyone interested in testing, quality assurance, performance engineering, etc, should attend!&lt;br /&gt;
&lt;br /&gt;
The meeting minutes of can be found here: [http://eavesdrop.openstack.org/meetings/qa meeting minutes on eavesdrop]&lt;br /&gt;
&lt;br /&gt;
''Rules for adding to the agenda'':&lt;br /&gt;
* anyone is free to add to proposed agenda, please do so by 1 hr before the meeting&lt;br /&gt;
* if you add an item to the agenda, please include your ircnick (i.e. sdague) to the end of your item, so we know who did, and who should lead the discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for July 28th 2016 (0900 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* openstack-health&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Possibility to enable/disable externl plugins [vponomaryov]&lt;br /&gt;
** https://review.openstack.org/#/c/343830/&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
All previous meetings, with their notes and logs, can be found at http://eavesdrop.openstack.org/meetings/qa/.&lt;br /&gt;
Old agendas are stored on [[Meetings/QATeamMeeting/OldAgendas]]&lt;br /&gt;
&lt;br /&gt;
===Agenda for July 21th 2016 (1700 UTC)===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* openstack-health&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
** https://review.openstack.org/#/c/341083/&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for July 7th 2016 (1700 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* openstack-health&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for June 30th 2016 (0900 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* openstack-health&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for June 23th 2016 (1700 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
*Specs Reviews&lt;br /&gt;
**https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
*Tempest&lt;br /&gt;
*DevStack + Grenade&lt;br /&gt;
*openstack-health&lt;br /&gt;
*Critical Reviews&lt;br /&gt;
*Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for June 16th 2016 (0900 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
** Remote client debuggability (andreaf)&lt;br /&gt;
** Test class hierarchy (dmellado)&lt;br /&gt;
** Neutron OO wrappers (jlwhite, hockeynut)&lt;br /&gt;
** Documentation cleanup (andreaf) - All is done?&lt;br /&gt;
** Tempest CLI (mtreinish, dpaterson, dmellado)&lt;br /&gt;
** Negative test guideline (hogepodge, oomichi)&lt;br /&gt;
** tempest-lib/plugin (gmann)&lt;br /&gt;
** microversions testing (gmann)&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
** Neutron Cleanup (sc68cal)&lt;br /&gt;
** Heat devstack plugin (dixiaoli, oomichi)&lt;br /&gt;
* openstack-health (mtreinish, masayukig)&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* QA mid-cycle meetup&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for June 9th 2016 (1700 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* openstack-health&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for June 2nd 2016 (0900 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
** Remote client debuggability (andreaf)&lt;br /&gt;
** Test class hierarchy (dmellado)&lt;br /&gt;
** Neutron OO wrappers (jlwhite, hockeynut)&lt;br /&gt;
** Documentation cleanup (andreaf) - All is done?&lt;br /&gt;
** Tempest CLI (mtreinish, dpaterson, dmellado)&lt;br /&gt;
** Negative test guideline (hogepodge, oomichi)&lt;br /&gt;
** tempest-lib/plugin (gmann)&lt;br /&gt;
** microversions testing (gmann)&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
** Neutron Cleanup (sc68cal)&lt;br /&gt;
** Heat devstack plugin (dixiaoli, oomichi)&lt;br /&gt;
* openstack-health (mtreinish, masayukig)&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* QA mid-cycle meetup&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for May 26th 2016 (1700 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
** Remote client debuggability (andreaf)&lt;br /&gt;
** Test class hierarchy (dmellado)&lt;br /&gt;
** Neutron OO wrappers (jlwhite, hockeynut)&lt;br /&gt;
** Documentation cleanup (andreaf) - All is done?&lt;br /&gt;
** Tempest CLI (mtreinish, dpaterson, dmellado)&lt;br /&gt;
** Negative test guideline (hogepodge, oomichi)&lt;br /&gt;
** tempest-lib/plugin (gmann)&lt;br /&gt;
** microversions testing (gmann)&lt;br /&gt;
** filtering by name support in auth catalog: https://review.openstack.org/#/c/284273  (fnaval)&lt;br /&gt;
** refactor or move some proposed DefCore Interoperability tests that require admin creds http://paste.openstack.org/show/505463/ (hogepodge)&lt;br /&gt;
** service clients method naming - see https://review.openstack.org/#/c/307789/ (andreaf)&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
** Neutron Cleanup (sc68cal)&lt;br /&gt;
** Heat devstack plugin (dixiaoli, oomichi)&lt;br /&gt;
* openstack-health (mtreinish, masayukig)&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* QA mid-cycle meetup&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for May 12th 2016 (1700 UTC) ===&lt;br /&gt;
Newton Priorities: https://etherpad.openstack.org/p/newton-qa-newton-priorities&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
** Remote client debuggability (andreaf)&lt;br /&gt;
** Test class hierarchy (dmellado)&lt;br /&gt;
** Neutron OO wrappers (jlwhite, hockeynut)&lt;br /&gt;
** Documentation cleanup (andreaf) - All is done?&lt;br /&gt;
** Tempest CLI (mtreinish, dpaterson, dmellado)&lt;br /&gt;
** Negative test guideline (chrishoge, oomichi)&lt;br /&gt;
** tempest-lib/plugin (gmann)&lt;br /&gt;
** microversions testing (gmann)&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
** Neutron Cleanup (sc68cal)&lt;br /&gt;
** Heat devstack plugin (dixiaoli, oomichi)&lt;br /&gt;
** MariaDB on Ubuntu: https://review.openstack.org/#/c/314087/ (rfolco)&lt;br /&gt;
* openstack-health (mtreinish, masayukig)&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for April 21st 2016 (0900 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for April 14th 2016 (1700 UTC)===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for April 7th 2016 (0900 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for March 31th 2016 (1700 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
** Quality Assurance: 4fb, 4wr&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for March 24th 2016 (0900 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
** Propose to remove negative tests&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
** Quality Assurance: 4fb, 4wr&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
* Open Discussion&lt;br /&gt;
&lt;br /&gt;
=== Agenda for March 17th 2016 (1700 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
** Propose change gate periodic-tempest-dsvm-neutron-identity-v3-only-full-master to be voting https://review.openstack.org/#/c/292894/ &amp;lt;raildo&amp;gt;&lt;br /&gt;
** Propose to remove negative tests&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Austin Summit&lt;br /&gt;
** https://etherpad.openstack.org/p/newton-qa-summit-topics&lt;br /&gt;
** Quality Assurance: 4fb, 4wr&lt;br /&gt;
* Critical Reviews&lt;br /&gt;
&lt;br /&gt;
=== Agenda for March 10th 2016 (0900 UTC) ===&lt;br /&gt;
* Specs Reviews&lt;br /&gt;
** https://review.openstack.org/#/q/status:open+project:openstack/qa-specs,n,z&lt;br /&gt;
* Priority Items&lt;br /&gt;
** https://etherpad.openstack.org/p/mitaka-qa-priorities&lt;br /&gt;
* Tempest&lt;br /&gt;
* DevStack + Grenade&lt;br /&gt;
* Critical Reviews&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=96615</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=96615"/>
				<updated>2015-11-12T15:01:52Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Weekly Manila team meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' USA-based attendees should remember to double check the meeting time as the end of daylight savings time will move the meeting earlier in your day.&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 12 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Which method is better for Manila QoS(independent way or just use extra specs ) (zhongjun)&lt;br /&gt;
#* link:http://paste.openstack.org/show/477677/ &lt;br /&gt;
#*If use extra specs to config QoS, Does we first need add “QoS_support=true/false” in share_type. Does we need to add QoS_support flag in common capabilities&lt;br /&gt;
#**https://github.com/openstack/manila/blob/master/doc/source/devref/capabilities_and_extra_specs.rst)?&lt;br /&gt;
#** eg:  share_type: qos_support='&amp;lt;is&amp;gt; True' or '&amp;lt;is&amp;gt; False' &lt;br /&gt;
#**                            netapp:max_iops=100  or qos:netapp:max_iops=100 or qos:max_iops=100&lt;br /&gt;
#**        driver update: qos_support=true&lt;br /&gt;
#** An alternative could be to have the driver report a range&lt;br /&gt;
# Manila DR update (ameade)&lt;br /&gt;
#* Still no reviews on https://review.openstack.org/#/c/238572/&lt;br /&gt;
#* First-party driver implementation? Which driver, current generic or new solution? When do we need this implemented and who wants to do it?&lt;br /&gt;
#* Replication_change share state - This is the state of the share when any of it's replicas are being promoted. Is 'replication_change' good or is there a better phrase?&lt;br /&gt;
# Manila Driver minimum requirements document update (ganso)&lt;br /&gt;
# Manila Data Copy service name (bswartz)&lt;br /&gt;
#*https://review.openstack.org/#/c/244286/&lt;br /&gt;
# Upcoming change for Manila CI hooks (vponomaryov)&lt;br /&gt;
#*https://review.openstack.org/#/c/243233/&lt;br /&gt;
# Manilaclient enhancement to provide request_id when set http_log_debug is True. It will co-ordinate the request and its id, so it will be helpful to filter the log and the failed request. (Jay Xu)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 5 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# Decide on read-only access rules as a required feature&lt;br /&gt;
# Manila DR - Design/Code feedback (gouthamr) &lt;br /&gt;
#* [https://wiki.openstack.org/wiki/Manila/design/manila-mitaka-data-replication Design Document]&lt;br /&gt;
#* [https://review.openstack.org/#/c/238572/ Core Implementation on Gerrit]&lt;br /&gt;
#* [https://review.openstack.org/#/c/235448/ Client Implementation on Gerrit]&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Oct, 2015, 15:00 UTC'''&lt;br /&gt;
# Liberty RC2 status&lt;br /&gt;
#* https://launchpad.net/manila/+milestone/liberty-rc2&lt;br /&gt;
#* https://review.openstack.org/#/q/project:openstack/manila+branch:stable/liberty,n,z&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
#* https://github.com/openstack/manila/blob/master/doc/source/devref/share_back_ends_feature_support_mapping.rst&lt;br /&gt;
# Manila Client Nova Style Microversion Support (cfouts)&lt;br /&gt;
#* https://review.openstack.org/#/c/229142/&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/api_microversion_dev.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 24 Sep, 2015, 15:00 UTC'''&lt;br /&gt;
# 3rd-party CI status&lt;br /&gt;
#* http://ec2-54-67-102-119.us-west-1.compute.amazonaws.com:5000/?project=openstack/manila&amp;amp;user=&amp;amp;timeframe=72&amp;amp;start=&amp;amp;end=&amp;amp;page_size=500&lt;br /&gt;
#* http://ci-watch.tintri.com/project?project=manila&lt;br /&gt;
# Liberty RC status&lt;br /&gt;
# Support for QoS in Manila (zhongjun2)&lt;br /&gt;
#* https://blueprints.launchpad.net/manila/+spec/manila-support-qos&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/QoS&lt;br /&gt;
# Reminder for backend driver maintainers to update feature support table (toabctl)&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/share_back_ends_feature_support_mapping.html&lt;br /&gt;
# Regression when using NetApp - license issue with netapp_lib (toabctl)&lt;br /&gt;
#* https://bugs.launchpad.net/cinder/+bug/1499334&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* Propose topics - https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://eavesdrop.openstack.org/meetings/manila/&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=96612</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=96612"/>
				<updated>2015-11-12T14:53:20Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Next meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' USA-based attendees should remember to double check the meeting time as the end of daylight savings time will move the meeting earlier in your day.&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 12 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Which method is better for Manila QoS(independent way or just use extra specs )&lt;br /&gt;
#* link:http://paste.openstack.org/show/477677/ &lt;br /&gt;
#*If use extra specs to config QoS, Does we first need add “QoS_support=true/false” in share_type. Does we need to add QoS_support flag in common capabilities&lt;br /&gt;
#**https://github.com/openstack/manila/blob/master/doc/source/devref/capabilities_and_extra_specs.rst)?&lt;br /&gt;
#** eg:  share_type: qos_support='&amp;lt;is&amp;gt; True' or '&amp;lt;is&amp;gt; False' &lt;br /&gt;
#**                            netapp:max_iops=100  or qos:netapp:max_iops=100 or qos:max_iops=100&lt;br /&gt;
#**        driver update: qos_support=true&lt;br /&gt;
#** An alternative could be to have the driver report a range&lt;br /&gt;
# Manila DR update&lt;br /&gt;
#* Still no reviews on https://review.openstack.org/#/c/238572/&lt;br /&gt;
#* First-party driver implementation? Which driver, current generic or new solution? When do we need this implemented and who wants to do it?&lt;br /&gt;
#* Replication_change share state - This is the state of the share when any of it's replicas are being promoted. Is 'replication_change' good or is there a better phrase?&lt;br /&gt;
# Manila Driver minimum requirements document update (ganso)&lt;br /&gt;
# Manila Data Copy service name (bswartz)&lt;br /&gt;
#*https://review.openstack.org/#/c/244286/&lt;br /&gt;
# Upcoming change for Manila CI hooks (vponomaryov)&lt;br /&gt;
#*https://review.openstack.org/#/c/243233/&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 5 Nov, 2015, 15:00 UTC'''&lt;br /&gt;
# Decide on read-only access rules as a required feature&lt;br /&gt;
# Manila DR - Design/Code feedback (gouthamr) &lt;br /&gt;
#* [https://wiki.openstack.org/wiki/Manila/design/manila-mitaka-data-replication Design Document]&lt;br /&gt;
#* [https://review.openstack.org/#/c/238572/ Core Implementation on Gerrit]&lt;br /&gt;
#* [https://review.openstack.org/#/c/235448/ Client Implementation on Gerrit]&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 1 Oct, 2015, 15:00 UTC'''&lt;br /&gt;
# Liberty RC2 status&lt;br /&gt;
#* https://launchpad.net/manila/+milestone/liberty-rc2&lt;br /&gt;
#* https://review.openstack.org/#/q/project:openstack/manila+branch:stable/liberty,n,z&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
#* https://github.com/openstack/manila/blob/master/doc/source/devref/share_back_ends_feature_support_mapping.rst&lt;br /&gt;
# Manila Client Nova Style Microversion Support (cfouts)&lt;br /&gt;
#* https://review.openstack.org/#/c/229142/&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/api_microversion_dev.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 24 Sep, 2015, 15:00 UTC'''&lt;br /&gt;
# 3rd-party CI status&lt;br /&gt;
#* http://ec2-54-67-102-119.us-west-1.compute.amazonaws.com:5000/?project=openstack/manila&amp;amp;user=&amp;amp;timeframe=72&amp;amp;start=&amp;amp;end=&amp;amp;page_size=500&lt;br /&gt;
#* http://ci-watch.tintri.com/project?project=manila&lt;br /&gt;
# Liberty RC status&lt;br /&gt;
# Support for QoS in Manila (zhongjun2)&lt;br /&gt;
#* https://blueprints.launchpad.net/manila/+spec/manila-support-qos&lt;br /&gt;
#* https://wiki.openstack.org/wiki/Manila/QoS&lt;br /&gt;
# Reminder for backend driver maintainers to update feature support table (toabctl)&lt;br /&gt;
#* http://docs.openstack.org/developer/manila/devref/share_back_ends_feature_support_mapping.html&lt;br /&gt;
# Regression when using NetApp - license issue with netapp_lib (toabctl)&lt;br /&gt;
#* https://bugs.launchpad.net/cinder/+bug/1499334&lt;br /&gt;
# Mitaka Design Summit&lt;br /&gt;
#* Propose topics - https://etherpad.openstack.org/p/manila-mitaka-summit-topics&lt;br /&gt;
# Vendor driver docs&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://eavesdrop.openstack.org/meetings/manila/&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Python3&amp;diff=86981</id>
		<title>Python3</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Python3&amp;diff=86981"/>
				<updated>2015-07-29T14:37:17Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* OpenStack clients */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page tracks the progress of Python 3 effort porting for OpenStack.&lt;br /&gt;
&lt;br /&gt;
== Python 3 ==&lt;br /&gt;
&lt;br /&gt;
[http://techs.enovance.com/6521/openstack_python3 Why should OpenStack move to Python 3 right now?]&lt;br /&gt;
:''Python 3 is usually seen as the new Python version which breaks compatibility and raises new Unicode issues. Python 3 is much more than that. It’s a new clean language which has a more consistent syntax. It has many new features, not less than 15 new modules. Python 3 is already well supported by major Linux distributions, whereas Python 2.7 reached its end-of-life. Slowly, some bugs cannot be fixed in Python 2.7 anymore and are only fixed in the latest Python 3 release. Python 3 is now 5 years old and considered as a mature programming language.''&lt;br /&gt;
&lt;br /&gt;
== Python 2: Python 2.6 support dropped, Python 2.7 only ==&lt;br /&gt;
&lt;br /&gt;
OpenStack Liberty targets Python 2.7 and 3.4.&lt;br /&gt;
&lt;br /&gt;
Python 2.6 support is being dropped in OpenStack since OpenStack Juno for servers. Python 2.6 support is currently kept in Oslo libraries and clients. See [https://etherpad.openstack.org/p/juno-cross-project-future-of-python juno-cross-project-future-of-python] etherpad.&lt;br /&gt;
&lt;br /&gt;
Python 3.3 support is being dropped since OpenStack Liberty.&lt;br /&gt;
&lt;br /&gt;
Python 2.6 is slowly being dropped in the whole OpenStack project, ex: [https://review.openstack.org/#/c/201295/ Remove p26 job from DIB].&lt;br /&gt;
&lt;br /&gt;
== Port Python 2 code to Python 3 ==&lt;br /&gt;
&lt;br /&gt;
OpenStack project chose to use the same code base for Python 2 and Python 3. The [http://pythonhosted.org/six/ Six: Python 2 and 3 Compatibility Library] helps to write code working on both versions. OpenStack supported Python 2.6 for RHEL up to Juno, but not Python 2.5 and older. Debian Stable provides Python 3 but only Python 3.2, so u'unicode' syntax should be avoided (use six.u('unicode') instead).&lt;br /&gt;
&lt;br /&gt;
=== sixer tool ===&lt;br /&gt;
&lt;br /&gt;
The [https://pypi.python.org/pypi/sixer sixer] tool helps to replace most basic patterns to add Python 3 compatibility and it respects OpenStack coding style.&lt;br /&gt;
&lt;br /&gt;
=== Common patterns ===&lt;br /&gt;
&lt;br /&gt;
* Replace dict.iteritems() with dict.items()&lt;br /&gt;
* Replace dict.itervalues() with dict.values()&lt;br /&gt;
* Replace &amp;quot;for key in dict.iterkeys()&amp;quot; with &amp;quot;for key in dict&amp;quot;&lt;br /&gt;
* Replace iterator.next() with next(iterator)&lt;br /&gt;
* Replace basestring with six.string_types&lt;br /&gt;
* Replace unicode with six.text_type&lt;br /&gt;
* Replace (str, unicode) with six.string_types&lt;br /&gt;
* Replace (int, long) with six.integer_types&lt;br /&gt;
* Replace text.encode('hex') with base64.b64encode(text) which requires to encode (Unicode) text to UTF-8 on Python 3&lt;br /&gt;
&lt;br /&gt;
 if six.PY3:&lt;br /&gt;
    text = text.encode('utf-8')&lt;br /&gt;
 text_b64 = base64.b64encode(text)&lt;br /&gt;
&lt;br /&gt;
* Replace raw.decode('hex') with base64.b64decode(raw). The output may be decoded from UTF-8 to get back text (Unicode) on Python 3.&lt;br /&gt;
&lt;br /&gt;
 text = base64.b64decode(raw)&lt;br /&gt;
 if six.PY3:&lt;br /&gt;
    text = text.decode('utf-8')&lt;br /&gt;
&lt;br /&gt;
Note: Replacing dict.iteritems() with six.iteritems(dict) was preferred in the past, but there was [http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html a discussion suggesting to avoid six for this].&lt;br /&gt;
&lt;br /&gt;
=== bytes.decode and unicode.encode ===&lt;br /&gt;
&lt;br /&gt;
Python has a notion of &amp;quot;default encoding&amp;quot;: sys.getdefaultencoding(). On Python 2, the default encoding is ASCII, whereas it is UTF-8 on Python 3.&lt;br /&gt;
&lt;br /&gt;
Don't write &amp;lt;code&amp;gt;data.decode()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;text.encode()&amp;lt;/code&amp;gt; without parameter, because you will use a different encoding on Python 2 and Python 3.&lt;br /&gt;
&lt;br /&gt;
Use an explicit encoding instead. Example: &amp;lt;code&amp;gt;data.decode('utf-8')&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;text.encode('utf-8')&amp;lt;/code&amp;gt;. The right encoding depends on the use case, but UTF-8 is usually a good candidate (it is a superset of ASCII).&lt;br /&gt;
&lt;br /&gt;
=== safe_decode ===&lt;br /&gt;
&lt;br /&gt;
Olso Incubator has a function '''safe_decode()''' which can be used to decode a bytes string and pass text strings unchanged.&lt;br /&gt;
&lt;br /&gt;
The default encoding is &amp;lt;code&amp;gt;sys.stdin.encoding or sys.getdefaultencoding()&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Python 3: the locale encoding, or UTF-8 if sys.stdin is &amp;quot;mocked&amp;quot; (io.StringIO instance)&lt;br /&gt;
* Python 2: the locale encoding, or ASCII if stdin is not a TTY or if sys.stdin is &amp;quot;mocked&amp;quot; (StringIO.StringIO instance)&lt;br /&gt;
&lt;br /&gt;
It's safer to explicit the encoding to not rely on the locale encoding and have the same behaviour even if sys.stdin is &amp;quot;mocked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Safe usage:&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_decode(data, 'utf-8')&amp;lt;/code&amp;gt;: decode bytes from UTF-8 or returns data unchanged if it's already a text string&lt;br /&gt;
&lt;br /&gt;
Unsafe usage:&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_decode(data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the decoder is strict. You can specify a different error handler using the optional &amp;lt;code&amp;gt;errors&amp;lt;/code&amp;gt; parameter. Example: safe_decode(b'[\xff]', 'ascii', 'ignore') returns '[]'.&lt;br /&gt;
&lt;br /&gt;
=== safe_encode ===&lt;br /&gt;
&lt;br /&gt;
Olso Incubator has a function '''safe_encode()''' which can be used to encode a string. Its usage is tricky and you should understand how it works and which encodings are used.&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_encode(text)&amp;lt;/code&amp;gt; encodes text to the output encoding&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_encode(bytes)&amp;lt;/code&amp;gt; may decode the string and then reencode to a different encoding if input and output encodings are different&lt;br /&gt;
&lt;br /&gt;
The default input encoding (&amp;lt;code&amp;gt;incomding&amp;lt;/code&amp;gt; parameter) is &amp;lt;code&amp;gt;sys.stdin.encoding or sys.getdefaultencoding()&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Python 3: the locale encoding, or UTF-8 if sys.stdin is &amp;quot;mocked&amp;quot; (io.StringIO instance)&lt;br /&gt;
* Python 2: the locale encoding, or ASCII if stdin is not a TTY or if sys.stdin is &amp;quot;mocked&amp;quot; (StringIO.StringIO instance)&lt;br /&gt;
&lt;br /&gt;
The default output encoding (&amp;lt;code&amp;gt;encoding&amp;lt;/code&amp;gt; parameter) is UTF-8.&lt;br /&gt;
&lt;br /&gt;
It's safer to explicit the input encoding to not rely on the locale encoding and have the same behaviour even if sys.stdin is &amp;quot;mocked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Safe usage:&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_encode(data, incoming='utf-8')&amp;lt;/code&amp;gt;: encode text to UTF-8 or returns data unchanged if it's already a bytes string (since the input and output encoding are UTF-8)&lt;br /&gt;
&lt;br /&gt;
Unsafe usage:&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_encode(data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_encode(b'\xe9', incoming='latin-1')&amp;lt;/code&amp;gt; returns &amp;lt;code&amp;gt;b'\xc3\xa9'&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
By default, the encoder and the decoder are strict. You can specify a different error handler using the optional &amp;lt;code&amp;gt;errors&amp;lt;/code&amp;gt; parameter. Example: &amp;lt;code&amp;gt;safe_encode(b'[\xff]', incoming='ascii', errors='ignore')&amp;lt;/code&amp;gt; returns &amp;lt;code&amp;gt;b'[]'&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== logging module and format exceptions ===&lt;br /&gt;
&lt;br /&gt;
On Python 2, the logging module accepts bytes and text strings. On Python 3, it only accepts text strings. For example, logging.error(b'hello') logs &amp;lt;code&amp;gt;b'hello'&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;'hello'&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There is no clear rule for format exceptions yet. There are different choices depending on the project:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;str(exc)&amp;lt;/code&amp;gt;: native string, so use bytes on Python 2&lt;br /&gt;
* &amp;lt;code&amp;gt;six.text_type(exc)&amp;lt;/code&amp;gt;: always use Unicode. It may raise unicode error depending on the exception, be careful. Example of such error in python 2: &amp;lt;code&amp;gt;unicode(Exception(&amp;quot;nonascii:\xe9&amp;quot;))&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;six.u(str(exc))&amp;lt;/code&amp;gt;: unsafe on Python 2 if str(exc) contains non-ASCII bytes, ex: &amp;lt;code&amp;gt;unicode(str(Exception(&amp;quot;\xff&amp;quot;)))&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LOG.exception(_LE(&amp;quot;... %(exc)s ...&amp;quot;), {&amp;quot;exc&amp;quot;: exc, ...})&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since logging functions expect text strings on Python 3, logged exceptions should be formatted using &amp;lt;code&amp;gt;str(exc)&amp;lt;/code&amp;gt;. Example: &amp;lt;code&amp;gt;LOG.debug(str(exc))&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== HTTP ===&lt;br /&gt;
&lt;br /&gt;
The HTTP protocol is based on '''bytes''':&lt;br /&gt;
&lt;br /&gt;
* HTTP body contains '''bytes'''. For example, use io.BytesIO for a stream storing an HTTP body.&lt;br /&gt;
* HTTPConnection.getresponse().read() returns '''bytes''' (in Python 3, '''str''' which is bytes in Python 2)&lt;br /&gt;
* On Python 3, the http.client accepts text for HTTP headers: keys are encoded to ASCII and values to ISO 8859-1 (which is only a small subset of the Unicode charset)&lt;br /&gt;
* It looks like Swift encodes internally HTTP headers to UTF-8 (directly using the UTF-8 encoding, not using a MIME encoding like =?UTF-8?Q?...?=. See the HTTP [RFC 2047 http://www.ietf.org/rfc/rfc2047.txt] and [http://stackoverflow.com/questions/4400678/http-header-should-use-what-character-encoding  HTTP header should use what character encoding?]&lt;br /&gt;
&lt;br /&gt;
=== References to port Python 2 code to Python 3 ===&lt;br /&gt;
* [http://python3porting.com/ Porting to Python 3 Book] by Lennart Regebro, especially the [http://python3porting.com/differences.html Language differences and workarounds].&lt;br /&gt;
* [http://docs.python.org/dev/howto/pyporting.html HOWTO: Porting Python 2 Code to Python 3] by Brett Cannon&lt;br /&gt;
* [https://wiki.python.org/moin/PortingPythonToPy3k Porting Python Code to 3.x]&lt;br /&gt;
* [http://code.google.com/p/python-incompatibility/  python-incompatibility]: Demonstrates incompatibilities between Python versions.&lt;br /&gt;
&lt;br /&gt;
=== Common pitfalls ===&lt;br /&gt;
&lt;br /&gt;
==== What is a string ? ====&lt;br /&gt;
You should definitely not talk about &amp;quot;strings&amp;quot; in your commit logs/reviews. In Python 2, a 'string' is bytes; in Python 3, it's a Unicode text string. The following code snippet may help in understanding the difference:&lt;br /&gt;
&lt;br /&gt;
Python 2:&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type('foo')&lt;br /&gt;
    &amp;lt;type 'str'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type(u'foo')&lt;br /&gt;
    &amp;lt;type 'unicode'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type(b'foo')&lt;br /&gt;
    &amp;lt;type 'str'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; isinstance('foo', six.text_type)&lt;br /&gt;
    False&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; isinstance(u'foo', six.text_type)&lt;br /&gt;
    True&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; bytes is str&lt;br /&gt;
    True&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; b'foo'[0]&lt;br /&gt;
    'f'&lt;br /&gt;
&lt;br /&gt;
Python 3:&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type('foo')&lt;br /&gt;
    &amp;lt;class 'str'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type(u'foo')&lt;br /&gt;
    &amp;lt;class 'str'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type(b'foo')&lt;br /&gt;
    &amp;lt;class 'bytes'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; isinstance('foo', six.text_type)&lt;br /&gt;
    True&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; isinstance(b'foo', six.text_type)&lt;br /&gt;
    False&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; bytes is str&lt;br /&gt;
    False&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; b'foo'[0]&lt;br /&gt;
    102&lt;br /&gt;
&lt;br /&gt;
==== tox/testr error: db type could not be determined ====&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;db type could not be determined&amp;quot; error comes from .testrepository/times.dbm used by testr.&lt;br /&gt;
&lt;br /&gt;
Workaround: &amp;quot;rm -rf .testrepository/&amp;quot; and then run &amp;quot;tox -e py34&amp;quot; before running &amp;quot;tox -e py27&amp;quot;. You only have to do this once. The problem only occurs with &amp;quot;tox -e py34&amp;quot; when .testrepository/ was created by Python 2.&lt;br /&gt;
&lt;br /&gt;
== Python 3 Status of OpenStack projects ==&lt;br /&gt;
&lt;br /&gt;
=== Common Libraries (Oslo Projects) ===&lt;br /&gt;
&lt;br /&gt;
For the list of Common Libraries, see http://git.openstack.org/cgit/openstack/governance/tree/reference/programs.yaml#n160&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/cliff cliff] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.concurrency oslo.concurrency] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-/&lt;br /&gt;
| oslo-incubator || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || py34 gate is voting&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.config oslo.config] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.context oslo.context] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.db oslo.db] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
PyMySQL driver is now used by default for MySQL. setup.cfg contains the Python 3 classifier.&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.i18n oslo.i18n] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.log oslo.log] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.messaging oslo.messaging] || style=&amp;quot;background-color: orange;&amp;quot; | Yes, except of Qpid &amp;amp; AMQP drivers. py34 is not more voting because of [//bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1367907 ubuntu still uses 3.4.0 which has a severe bug] || oslo.messaging 1.11.0 fully works on Python 3, except of Qpid and AMQP 1.0 transports which are Python 2 only. The py34 gate is voting.&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.middleware oslo.middleware] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.rootwrap oslo.rootwrap] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.serialization oslo.serialization] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslosphinx oslosphinx] || ? || The project only contains two short .py files, it looks to be Python 3 compatible. Is Sphinx Python 3 compatible?&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslotest oslotest] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.versionedobjects oslo.versionedobjects] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.vmware oslo.vmware] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes  || Supports Python 3 since oslo.vmware 0.13.0&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.utils oslo.utils] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| pylockfile || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/stevedore stevedore] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/taskflow taskflow] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Development tools ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/cookiecutter cookiecutter] || style=&amp;quot;background-color: lightgreen;&amp;quot; | yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/hacking hacking] || style=&amp;quot;background-color: lightgreen;&amp;quot; | yes || py33 gate is not voting&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/pbr pbr] || style=&amp;quot;background-color: lightgreen;&amp;quot; | yes ||&lt;br /&gt;
|-&lt;br /&gt;
| stackforge/python-jenkins || style=&amp;quot;background-color: lightgreen;&amp;quot; | yes || py33 gate is voting&lt;br /&gt;
|-&lt;br /&gt;
| openstack-infra/jenkins-job-builder || style=&amp;quot;background-color: orange;&amp;quot; | partial || https://review.openstack.org/172238&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== OpenStack clients ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! CI tests running? !! Python 3 classifiers ? !! Blocked by !! Comment&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/keystonemiddleware keystonemiddleware] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: orange;&amp;quot; | Yes, but [https://review.openstack.org/206107 test using python-memcached are skipped on Python 3] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || python-memcached || keystonemiddleware 1.6.1 supports Python 3. python-memcached 1.56 now supports Python 3.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-barbicanclient python-barbicanclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color:lightgreen;&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-ceilometerclient python-ceilometerclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color:lightgreen;&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-cinderclient python-cinderclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-ganttclient python-ganttclient] ||  ? || ? || ? || ? ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-glanceclient python-glanceclient]  || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen&amp;quot; | Voting || style=&amp;quot;background-color:lightgreen&amp;quot; | On PyPI || || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-heatclient python-heatclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes  || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-ironicclient python-ironicclient]  || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||  style=&amp;quot;background-color: lightgreen&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot;  | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-keystoneclient python-keystoneclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-manilaclient python-manilaclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-marconiclient python-marconiclient]|| style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-melangeclient python-melangeclient] ||  ? || ? || ? || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-novaclient python-novaclient]  || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPII || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-neutronclient python-neutronclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting  || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||   || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-openstackclient python-openstackclient]      || style=&amp;quot;background-color: lightgreen&amp;quot; | OK || style=&amp;quot;background-color: lightgreen&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen&amp;quot; | Yes || || As of 0.9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-saharaclient python-savannaaclient]    || style=&amp;quot;background-color: orange;&amp;quot; | In progress || style=&amp;quot;background-color: orange&amp;quot; | Non-voting || style=&amp;quot;background-color: lightgreen&amp;quot; | Yes ||  || [https://review.openstack.org/#/c/73128/ python-savannaclient: enable the py33 gates] abandonned: &amp;quot;We haven't enough tests to ensure that savanna client works correctly on py33, so, it's kind of premature step. We already have py33 and pypy jobs in experimental pipeline.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-saharaclient python-saharaclient]    || style=&amp;quot;background-color: lightgreen;&amp;quot; | OK || style=&amp;quot;background-color: lightgreen&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen&amp;quot; | On PyP ||  || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-swiftclient python-swiftclient]   || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | [https://pypi.python.org/pypi/python-swiftclient/ On PyPI] || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-tuskarclient python-tuskarclient]   || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-troveclient python-troveclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen&amp;quot; | On PyPI || ||&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-designateclient python-designateclient] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: orange;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== OpenStack Libraries ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! CI tests running? !! Python 3 classifiers ? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/glance_store glance_store] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || glance_store 0.7.0 added the Python 3 support.&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/os-brick os-brick] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || os-brick 0.3.2 added Python 3 support.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/sqlalchemy-migrate sqlalchemy-migrate] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/taskflow taskflow] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
&lt;br /&gt;
There are two ways to express dependencies that should differ between Python 2.x and 3.x. We currently support using multiple requirements files, and will shortly be supporting and recommending the use of environment markers. Recent releases of all the tools in our ecosystem are needed for environment markers.&lt;br /&gt;
&lt;br /&gt;
==== requirements-py3.txt ====&lt;br /&gt;
&lt;br /&gt;
This approach generates a different requirements list depending on what Python version is running when the egg info is created (which goes into wheels and sdists). As a consequence this can't work with tox, publishing sdists to PyPI, or wheels. It is however useful for anything installing from git. To use it, create two requirements files:&lt;br /&gt;
&lt;br /&gt;
* requirements-py2.txt: all dependencies for Python 2 (not only dependencies specific to Python 2)&lt;br /&gt;
* requirements-py3.txt: all dependencies for Python 3 (not only dependencies specific to Python 3)&lt;br /&gt;
* (same for test-requirements.txt)&lt;br /&gt;
&lt;br /&gt;
You have to edit tox.ini to specify the right requirements file. Extract of a tox.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
[testenv:py33]&lt;br /&gt;
deps = -r{toxinidir}/requirements-py3.txt&lt;br /&gt;
       -r{toxinidir}/test-requirements-py3.txt&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Environment markers ====&lt;br /&gt;
&lt;br /&gt;
Environment markers provide a mini-language to express when a dependency is relevant. We hope the next release of pbr will support them. Recent pip, setuptools and wheel versions do support them, but until pbr exports the requirements metadata with them intact and structured correctly for setuptools, we can't use them anywhere.&lt;br /&gt;
&lt;br /&gt;
* PEP 0345 -- Metadata for Python Software Packages 1.2 (accepted): [https://www.python.org/dev/peps/pep-0345/#environment-markers Environment markers]&lt;br /&gt;
* PEP 0426 -- Metadata for Python Software Packages 2.0 (draft): [https://www.python.org/dev/peps/pep-0426/#environment-markers  Environment markers]&lt;br /&gt;
&lt;br /&gt;
When placed in a requirements.txt file, the markers are interpreted directly by pip in `pip install -r requirements.txt`, and indirectly via setuptools when installing an sdist or wheel (including `pip install .`. For instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
six&lt;br /&gt;
futures; python_version &amp;lt; '3.2'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* [https://review.openstack.org/#/c/184328/ oslo.db: Refactor deps to use extras and env markers] (require pip 7, not released yet)&lt;br /&gt;
* pip: [https://github.com/pypa/pip/pull/1472  Fix issue #1433: parse requirements in markers #1472]&lt;br /&gt;
* setuptools: pkg_resources doesn't understand environment markers: [https://bitbucket.org/pypa/wheel/issue/139/wheel-should-support-pep-426-environment pkg_resources.parse_requirements() raises ValueError]&lt;br /&gt;
* pbr: [https://review.openstack.org/#/c/181795/ Teach pbr to read extras and env markers], [https://review.openstack.org/#/c/165015/ Handle PEP426 markers] (abandoned)&lt;br /&gt;
* wheel: [https://bitbucket.org/pypa/wheel/issue/139/wheel-should-support-pep-426-environment wheel should support PEP 426 environment markers] (closed), wheel supports environment markers in extra requirements&lt;br /&gt;
* tox: [https://bitbucket.org/hpk42/tox/issue/236/tox-must-create-the-source-distribution tox must create the source distribution with the Python of the virtual environment], [https://bitbucket.org/hpk42/tox/pull-request/142/issue-236-subcommand_test-rebuilds-sdist/ Issue #236: subcommand_test() rebuilds sdist with venv python] (declined)&lt;br /&gt;
&lt;br /&gt;
Oslo Messaging issue:&lt;br /&gt;
* futures is not needed on Python 3, since concurrent.futures is now part of the Pyhon stdlib since Python 3.2&lt;br /&gt;
* [https://review.openstack.org/#/c/172135/ futures was added to requirements-py3.txt] because tox creates the source tarball using Python 2 which reads requirements.txt&lt;br /&gt;
* The correct fix would be to use environment markers on futures&lt;br /&gt;
&lt;br /&gt;
==== Dependencies status ====&lt;br /&gt;
&lt;br /&gt;
[https://caniusepython3.com/check/4fd5dda2-b1f1-4db4-a636-67cd3276cb6a Porting status] for [https://github.com/openstack/requirements/blob/master/global-requirements.txt global-requirement.txt].&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! CI tests running? !! Python 3 classifiers ? !! Blocked by !! Comment&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/boto boto] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || See https://github.com/boto/boto3 (experimental) &amp;lt;- This seems dead, and https://github.com/boto/boto works with Python 3.x (since 2.32).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/django-compressor django-compressor] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || Requirements upgraded: https://review.openstack.org/94357&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/tablib tablib ] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || setup.py installs tablib.packages.markup which is not compatible with Python 2. setup.py displays a warning on compiling the bytecode of markup.py.&lt;br /&gt;
&lt;br /&gt;
tablib is needed by cliff-tablib, itself needed by python-neutronclient&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/django-openstack-auth django-openstack-auth] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || &lt;br /&gt;
As of 1.1.6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/dnspython dnspython] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A|| style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || Must use the [https://pypi.python.org/pypi/dnspython3/ Python 3 version], see https://github.com/rthalley/dnspython/issues/60&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/ecdsa ecdsa] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || ||Py3 support merge before the 0.10 release (see https://github.com/warner/python-ecdsa/commits/master)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/eventlet eventlet] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || eventlet 0.17.3 now fully support Python 3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/jsonrpclib jsonrpclib] || style=&amp;quot;background-color:red;&amp;quot; | No || N/A || style=&amp;quot;background-color: red;&amp;quot; | No || || The project seems dead :(&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/libvirt-python libvirt-python] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/mysql-python MySQL-Python] || style=&amp;quot;background-color:orange;&amp;quot; | No, but mysqlclient or PyMySQL are compatible || N/A || style=&amp;quot;background-color: orange;&amp;quot; | No || ||&lt;br /&gt;
Patches:&lt;br /&gt;
* [https://review.openstack.org/#/c/179745/ Add mysqlclient dependency]&lt;br /&gt;
&lt;br /&gt;
MySQL-Python: [https://github.com/farcepest/MySQLdb1/pulls 2 pending pull requests for Python 3].&lt;br /&gt;
&lt;br /&gt;
INADA Naoki, the maintainer of PyMySQL, wrote [https://pypi.python.org/pypi/mysqlclient mysqlclient]: fork of MySQL-Python using libmysqlclient.so which is Python 3 compatible. He recommends to use mysqlclient instead of MySQL-python even on Python 2. mysqlclient fixes some bugs, build issues and it support Python 3. For example: support MariaDB's libmysqlclient.so, support microsecond in TIME column.&lt;br /&gt;
&lt;br /&gt;
PyMySQL is compatible with Python 3: see [https://wiki.openstack.org/wiki/PyMySQL_evaluation PyMySQL evaluation] discussion to eventually replace mysql-python with PyMySQL in OpenStack.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/netifaces netifaces] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A|| style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || Patch sent by Victor Stinner (in private): [https://bitbucket.org/haypo/misc/src/tip/openstack/netifaces_python3.patch netifaces_python3.patch], Debian has patches too. Python 3 support as of 0.10.4. Pushed to requirements: https://review.openstack.org/94358 .&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/nose-exclude nose-exclude] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || || https://bitbucket.org/kgrandis/nose-exclude/issue/10/test-failures-with-python-3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/nosehtmloutput nosehtmloutput] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No ||&lt;br /&gt;
*  nose-exclude (tests only)&lt;br /&gt;
*  openstack.nose-plugin&lt;br /&gt;
||&lt;br /&gt;
*  https://bugs.launchpad.net/ubuntu/+source/python-nosehtmloutput/+bug/1287247&lt;br /&gt;
*  https://review.openstack.org/#/c/80956/&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/nosexcover nosexcover] || style=&amp;quot;background-color:lightgreen;&amp;quot; | No || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPI || || Python 3 support since 1.0.9&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/openstack.nose-plugin openstack.nose-plugin] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/pam pam] || style=&amp;quot;background-color:orange;&amp;quot; | No for pam, Yes for simplepam || NA || style=&amp;quot;background-color: red;&amp;quot; | No || || The fork [https://pypi.python.org/pypi/simplepam simplepam] works on Python 2 and 3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/paramiko paramiko] ||  style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes  || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPI || || Requirements upgraded: https://review.openstack.org/#/c/81132/&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/paste paste] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgrey;&amp;quot; | N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || Compatible with Python 3 since Paste 2.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/pycadf pycadf] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-ldap python-ldap] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || || The project seems dead. See [https://pypi.python.org/pypi/ldap3 ldap3] which is Python 3 compatible (license: LGPL, one of the optional deps is BSD-4-Clause).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-memcached python-memcached] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | N/A || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || ||&lt;br /&gt;
python-memcached 1.56 includes pull request: [https://github.com/linsomniac/python-memcached/pull/67 Port memcache to Python 3 #67].&lt;br /&gt;
&lt;br /&gt;
Julien Danjou ported [https://pypi.python.org/pypi/pymemcache pymemcache] to Python 3, another memcached client, he suggests to use this one instead&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/qpid-python qpid-python] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No ||  || Required if using oslo.messaging's qpid backend. That is the old pure python amqp 0-10 client library.  That only speaks 0-10 and works with qpidd broker.  It is used by the impl_qpid.py driver in oslo.messaging. That client is legacy - it isn't being ported to use AMQP 1.0.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/pyngus pyngus] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No ||  || &lt;br /&gt;
pyngus is required if using oslo.messaging's AMQP 1.0 driver. pyngus is a wrapper for proton and proton has not been ported to python 3 yet: see [https://issues.apache.org/jira/browse/PROTON-490 Proton issue #490].&lt;br /&gt;
&lt;br /&gt;
[https://pypi.python.org/pypi/python-qpid-proton Proton] is a C library with various bindings in other languages. The language bindings are auto generated via the SWIG tool, plus a the python wrapper bits. All the python stuff is found under proton-c/bindings/python in the [https://git-wip-us.apache.org/repos/asf/qpid-proton.git git tree]. The first bit of work is to refactor the SWIG file cproton.i to work for both Python 2 and 3.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/rtslib-fb rtslib-fb] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/Routes Routes] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || Routes 2.2 works Python 2 and 3 using a single code base.&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/sphinxcontrib-docbookrestapi sphinxcontrib-docbookrestapi] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: orange;&amp;quot; | In the Git repo, not on PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/sphinxcontrib-httpdomain sphinxcontrib-httpdomain] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes  || N/A || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/sphinxcontrib-pecanwsme sphinxcontrib-pecanwsme] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/thrift thrift] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/websockify websockify] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || python3 works with the 0.7.0 version released on Jul 23, 2015&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== OpenStack applications ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! py34 gate !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/gnocchi gnocchi] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/ironic ironic] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
[http://lists.openstack.org/pipermail/openstack-dev/2015-May/064049.html Python 3.4 unit tests are now being run for openstack/ironic.  The unit tests are a voting job.] &lt;br /&gt;
Thanks to Victor Sergeyev for all of his work to update the Ironic code to make it pass the unit tests using Python 3.4: [https://review.openstack.org/#/c/156192/ Run tests in py34 environment]&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/rally Rally] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting || A big thank to Andrey Kurilin for a lot of work in this direction&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/ceilometer ceilometer] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
Victor Stinner is working on porting Ceilometer to Python 3. Patches:&lt;br /&gt;
* [https://review.openstack.org/#/q/status:open+project:openstack/ceilometer+branch:master+topic:py3,n,z Patches with py3 topic]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/cinder cinder] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
[https://blueprints.launchpad.net/cinder/+spec/cinder-python3 cinder-python3] blueprint (written by Victor Stinner) has been accepted for Liberty.&lt;br /&gt;
&lt;br /&gt;
Patches: [https://review.openstack.org/#/q/project:openstack/cinder+topic:bp/cinder-python3,n,z bp/cinder-python3 topic].&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [https://github.com/openstack/manila manila] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: orange;&amp;quot; | non-voting ||&lt;br /&gt;
[https://blueprints.launchpad.net/manila/+spec/py3-compatibility py3-compatibility] blueprint.&lt;br /&gt;
&lt;br /&gt;
non-voting py34 CI job runs in 'check' pipeline for each Manila gerrit commit. It fails because py3 support fixes are in progress [L-2].&lt;br /&gt;
Patches: [https://review.openstack.org/#/q/project:openstack/manila+topic:bp/py3-compatibility,n,z bp/py3-compatibility topic].&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/glance glance] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
Victor Stinner is working on porting Glance to Python3.&lt;br /&gt;
&lt;br /&gt;
Patches: [https://review.openstack.org/#/q/status:open+project:openstack/glance+branch:master+topic:py3,n,z Patches for glance (topic: py3)].&lt;br /&gt;
&lt;br /&gt;
test_migrations is blocked by a bug in oslo.db ([https://review.openstack.org/#/c/206476/ Fix test_migrations on Python 3]) / sqlalchemy-migrate ([https://review.openstack.org/#/c/206478/ Add VerNum.__index__() for Python 3 support]).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/heat heat] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
[http://specs.openstack.org/openstack/heat-specs/specs/liberty/heat-python34-support.html Python34 Support] spec (by Sirushti Murugesan) accepted for Liberty.&lt;br /&gt;
&lt;br /&gt;
Patches: [https://review.openstack.org/#/q/topic:bp/heat-python34-support,n,z bp/heat-python34-support topic].&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/keystone keystone] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
The spec [http://specs.openstack.org/openstack/keystone-specs/specs/liberty/python3.html Add spec for python-3 compatibility] (by Morgan Fainberg) was accepted for Liberty. See also the blueprint [https://launchpad.net/keystone/+spec/python3 python3] started by Dolph Mathews on 2014-07-22; David Stanek is working on it.&lt;br /&gt;
&lt;br /&gt;
Patches: [https://review.openstack.org/#/q/project:openstack/keystone+branch:master+topic:bp/python3,n,z bp/python3 topic].&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rohe/pysaml2/ pysaml2] 3.0 now supports Python 3.&lt;br /&gt;
&lt;br /&gt;
Aslo blocked by [https://pypi.python.org/pypi/ldappool ldappool] and [https://pypi.python.org/pypi/python-ldap python-ldap]. [https://github.com/pyldap/pyldap/ pyldap] is a fork of python-ldap which adds Python 3 support. python-ldap may be replaced with [https://pypi.python.org/pypi/ldap3 ldap3], but it requires more work.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/neutron neutron] || style=&amp;quot;background-color:orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
[https://review.openstack.org/#/c/172962/ Porting to Python 3] spec (by Cyril Roelandt) accepted for Liberty, port in progress. Patches:&lt;br /&gt;
* [https://review.openstack.org/#/q/project:openstack/neutron+branch:master+topic:bp/neutron-python3,n,z Patches of the blueprint neutron-python3]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/nova nova] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
[http://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/adding-python34-support-to-nova.html Adding Python 3.4 support to Nova] spec (by Victor Stinner) accepted for Liberty. Port in progress.&lt;br /&gt;
&lt;br /&gt;
Patches:&lt;br /&gt;
* [https://review.openstack.org/#/q/project:openstack/nova+branch:master+topic:bp/nova-python3,n,z master (bp/nova-python3)].&lt;br /&gt;
&lt;br /&gt;
See also [https://etherpad.openstack.org/p/liberty-nova-priorities-tracking Py3.4 Compatibility in Liberty nova priorities tracking].&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org//pypi/sahara sahara] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/swift swift] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: orange;&amp;quot; | non voting (need to [https://review.openstack.org/#/c/199034/ fix tox -e py34] ||&lt;br /&gt;
swift now depends on six.(Jaivish Kothari is also working on this)&lt;br /&gt;
&lt;br /&gt;
Patches:&lt;br /&gt;
* [https://review.openstack.org/#/q/project:openstack/swift+branch:master+topic:py3,n,z Patches with the topic py3]&lt;br /&gt;
&lt;br /&gt;
Dependencies:&lt;br /&gt;
* dnspython: use dnspython3 on Python 3 ([https://review.openstack.org/#/c/200416/ not in global requirements yet])&lt;br /&gt;
* PyEClib: [https://bitbucket.org/kmgreen2/pyeclib/issues/69/need-a-release-108-with-python-3-fixes waiting for the release 1.0.8]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/horizon horizon] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: red;&amp;quot; | No ||&lt;br /&gt;
George Peristerakis wrote [https://blueprints.launchpad.net/horizon/+spec/porting-python3 Make Horizon python3.4 compatible].&lt;br /&gt;
&lt;br /&gt;
Patches:&lt;br /&gt;
* [https://review.openstack.org/#/q/topic:bp/porting-python3+project:openstack/horizon,n,z bp/porting-python3 topic]&lt;br /&gt;
* [https://review.openstack.org/#/c/178342/ Add py34 env] by lokesh s&lt;br /&gt;
* [https://review.openstack.org/#/c/183365/ Made the class Column Python 3 compatible] by Emmanuel Rousselle&lt;br /&gt;
* [https://review.openstack.org/#/c/183367/ Made HorizonComponent class Python3 compatible] (merged) by Eric Lafontaine&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/designate designate] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: red;&amp;quot; | No || Pradeep is working on the Python 3 port.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional tests ===&lt;br /&gt;
&lt;br /&gt;
Doug Hellmann wrote a cross-project specification to run integration tests on Python 3: [https://review.openstack.org/#/c/177375/ Enabling Python 3 for Application Integration Tests] (spec approved for Liberty).&lt;br /&gt;
&lt;br /&gt;
Patch for DevStack: [https://review.openstack.org/#/c/181165/ Enable optional Python 3 support].&lt;br /&gt;
&lt;br /&gt;
== Status of Python 3 in Linux distributions ==&lt;br /&gt;
&lt;br /&gt;
* ArchLinux already [https://www.archlinux.org/news/python-is-now-python-3 switched to Python 3 by default] in 2011&lt;br /&gt;
* Ubuntu wants to remove Python 2 from the default installation: see [http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=Ubuntu-16.04-Python-Plans Ubuntu Plans For Python 3 By Default For Ubuntu 16.04 LTS]&lt;br /&gt;
* Fedora schedules the switch in Fedora 23 (october 2015): [https://fedoraproject.org/wiki/Changes/Python_3_as_Default Python 3 as the Default Implementation]&lt;br /&gt;
* RHEL: [https://www.softwarecollections.org/en/scls/rhscl/python33/ Python 3.3] and [https://www.softwarecollections.org/en/scls/rhscl/rh-python34/ Python 3.4] are available on RHEL6 and RHEL7 using SCL.&lt;br /&gt;
* CentOS: [https://www.softwarecollections.org/en/scls/rhscl/python33/ Python 3.3] and [https://www.softwarecollections.org/en/scls/rhscl/rh-python34/ Python 3.4] are available on CentOS 6 and 7 using SCL (no Red Hat subscription needed, CentOS has its own flavor of SCL)&lt;br /&gt;
* In Debian, the plan is to deprecate Python 2 in Stretch (aka: Debian 9, the next Stable Debian after Jessie) and to completely remove Python 2 for the Buster release of Debian (aka: Debian 10, to be release in approximatively 2019).&lt;br /&gt;
&lt;br /&gt;
== Reports at OpenStack Summits ==&lt;br /&gt;
&lt;br /&gt;
* Liberty Summit&lt;br /&gt;
** Cross-project session on enabling app integration testing: https://etherpad.openstack.org/p/liberty-cross-project-python3&lt;br /&gt;
* Kilo Summit&lt;br /&gt;
** Doug Hellmann: &amp;quot;Moving our applications to Python 3&amp;quot; cross-project session&lt;br /&gt;
** Victor Stinner: &amp;quot;Port nova to Python 3&amp;quot;, https://etherpad.openstack.org/p/liberty-nova-summit-ideas&lt;br /&gt;
* Juno summit notes: https://etherpad.openstack.org/p/juno-cross-project-future-of-python (Oslo) and https://etherpad.openstack.org/p/juno_swift_python3 (Swift)&lt;br /&gt;
* Icehouse summit notes: https://etherpad.openstack.org/p/IcehousePypyPy3&lt;br /&gt;
* Havana summit notes: https://etherpad.openstack.org/p/havana-python3&lt;br /&gt;
&lt;br /&gt;
== Pycon Montreal 2014: Sprint Port OpenStack to Python 3 ==&lt;br /&gt;
&lt;br /&gt;
Enovance organized a sprint to Port OpenStack to Python 3 during 4 days: between April, 14 (Monday) and April, 17 (Thursday) 2014. See the page [[Python3/SprintPycon2014]].&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Python3&amp;diff=86976</id>
		<title>Python3</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Python3&amp;diff=86976"/>
				<updated>2015-07-29T14:32:57Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* OpenStack applications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page tracks the progress of Python 3 effort porting for OpenStack.&lt;br /&gt;
&lt;br /&gt;
== Python 3 ==&lt;br /&gt;
&lt;br /&gt;
[http://techs.enovance.com/6521/openstack_python3 Why should OpenStack move to Python 3 right now?]&lt;br /&gt;
:''Python 3 is usually seen as the new Python version which breaks compatibility and raises new Unicode issues. Python 3 is much more than that. It’s a new clean language which has a more consistent syntax. It has many new features, not less than 15 new modules. Python 3 is already well supported by major Linux distributions, whereas Python 2.7 reached its end-of-life. Slowly, some bugs cannot be fixed in Python 2.7 anymore and are only fixed in the latest Python 3 release. Python 3 is now 5 years old and considered as a mature programming language.''&lt;br /&gt;
&lt;br /&gt;
== Python 2: Python 2.6 support dropped, Python 2.7 only ==&lt;br /&gt;
&lt;br /&gt;
OpenStack Liberty targets Python 2.7 and 3.4.&lt;br /&gt;
&lt;br /&gt;
Python 2.6 support is being dropped in OpenStack since OpenStack Juno for servers. Python 2.6 support is currently kept in Oslo libraries and clients. See [https://etherpad.openstack.org/p/juno-cross-project-future-of-python juno-cross-project-future-of-python] etherpad.&lt;br /&gt;
&lt;br /&gt;
Python 3.3 support is being dropped since OpenStack Liberty.&lt;br /&gt;
&lt;br /&gt;
Python 2.6 is slowly being dropped in the whole OpenStack project, ex: [https://review.openstack.org/#/c/201295/ Remove p26 job from DIB].&lt;br /&gt;
&lt;br /&gt;
== Port Python 2 code to Python 3 ==&lt;br /&gt;
&lt;br /&gt;
OpenStack project chose to use the same code base for Python 2 and Python 3. The [http://pythonhosted.org/six/ Six: Python 2 and 3 Compatibility Library] helps to write code working on both versions. OpenStack supported Python 2.6 for RHEL up to Juno, but not Python 2.5 and older. Debian Stable provides Python 3 but only Python 3.2, so u'unicode' syntax should be avoided (use six.u('unicode') instead).&lt;br /&gt;
&lt;br /&gt;
=== sixer tool ===&lt;br /&gt;
&lt;br /&gt;
The [https://pypi.python.org/pypi/sixer sixer] tool helps to replace most basic patterns to add Python 3 compatibility and it respects OpenStack coding style.&lt;br /&gt;
&lt;br /&gt;
=== Common patterns ===&lt;br /&gt;
&lt;br /&gt;
* Replace dict.iteritems() with dict.items()&lt;br /&gt;
* Replace dict.itervalues() with dict.values()&lt;br /&gt;
* Replace &amp;quot;for key in dict.iterkeys()&amp;quot; with &amp;quot;for key in dict&amp;quot;&lt;br /&gt;
* Replace iterator.next() with next(iterator)&lt;br /&gt;
* Replace basestring with six.string_types&lt;br /&gt;
* Replace unicode with six.text_type&lt;br /&gt;
* Replace (str, unicode) with six.string_types&lt;br /&gt;
* Replace (int, long) with six.integer_types&lt;br /&gt;
* Replace text.encode('hex') with base64.b64encode(text) which requires to encode (Unicode) text to UTF-8 on Python 3&lt;br /&gt;
&lt;br /&gt;
 if six.PY3:&lt;br /&gt;
    text = text.encode('utf-8')&lt;br /&gt;
 text_b64 = base64.b64encode(text)&lt;br /&gt;
&lt;br /&gt;
* Replace raw.decode('hex') with base64.b64decode(raw). The output may be decoded from UTF-8 to get back text (Unicode) on Python 3.&lt;br /&gt;
&lt;br /&gt;
 text = base64.b64decode(raw)&lt;br /&gt;
 if six.PY3:&lt;br /&gt;
    text = text.decode('utf-8')&lt;br /&gt;
&lt;br /&gt;
Note: Replacing dict.iteritems() with six.iteritems(dict) was preferred in the past, but there was [http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html a discussion suggesting to avoid six for this].&lt;br /&gt;
&lt;br /&gt;
=== bytes.decode and unicode.encode ===&lt;br /&gt;
&lt;br /&gt;
Python has a notion of &amp;quot;default encoding&amp;quot;: sys.getdefaultencoding(). On Python 2, the default encoding is ASCII, whereas it is UTF-8 on Python 3.&lt;br /&gt;
&lt;br /&gt;
Don't write &amp;lt;code&amp;gt;data.decode()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;text.encode()&amp;lt;/code&amp;gt; without parameter, because you will use a different encoding on Python 2 and Python 3.&lt;br /&gt;
&lt;br /&gt;
Use an explicit encoding instead. Example: &amp;lt;code&amp;gt;data.decode('utf-8')&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;text.encode('utf-8')&amp;lt;/code&amp;gt;. The right encoding depends on the use case, but UTF-8 is usually a good candidate (it is a superset of ASCII).&lt;br /&gt;
&lt;br /&gt;
=== safe_decode ===&lt;br /&gt;
&lt;br /&gt;
Olso Incubator has a function '''safe_decode()''' which can be used to decode a bytes string and pass text strings unchanged.&lt;br /&gt;
&lt;br /&gt;
The default encoding is &amp;lt;code&amp;gt;sys.stdin.encoding or sys.getdefaultencoding()&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Python 3: the locale encoding, or UTF-8 if sys.stdin is &amp;quot;mocked&amp;quot; (io.StringIO instance)&lt;br /&gt;
* Python 2: the locale encoding, or ASCII if stdin is not a TTY or if sys.stdin is &amp;quot;mocked&amp;quot; (StringIO.StringIO instance)&lt;br /&gt;
&lt;br /&gt;
It's safer to explicit the encoding to not rely on the locale encoding and have the same behaviour even if sys.stdin is &amp;quot;mocked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Safe usage:&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_decode(data, 'utf-8')&amp;lt;/code&amp;gt;: decode bytes from UTF-8 or returns data unchanged if it's already a text string&lt;br /&gt;
&lt;br /&gt;
Unsafe usage:&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_decode(data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default, the decoder is strict. You can specify a different error handler using the optional &amp;lt;code&amp;gt;errors&amp;lt;/code&amp;gt; parameter. Example: safe_decode(b'[\xff]', 'ascii', 'ignore') returns '[]'.&lt;br /&gt;
&lt;br /&gt;
=== safe_encode ===&lt;br /&gt;
&lt;br /&gt;
Olso Incubator has a function '''safe_encode()''' which can be used to encode a string. Its usage is tricky and you should understand how it works and which encodings are used.&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_encode(text)&amp;lt;/code&amp;gt; encodes text to the output encoding&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_encode(bytes)&amp;lt;/code&amp;gt; may decode the string and then reencode to a different encoding if input and output encodings are different&lt;br /&gt;
&lt;br /&gt;
The default input encoding (&amp;lt;code&amp;gt;incomding&amp;lt;/code&amp;gt; parameter) is &amp;lt;code&amp;gt;sys.stdin.encoding or sys.getdefaultencoding()&amp;lt;/code&amp;gt;:&lt;br /&gt;
* Python 3: the locale encoding, or UTF-8 if sys.stdin is &amp;quot;mocked&amp;quot; (io.StringIO instance)&lt;br /&gt;
* Python 2: the locale encoding, or ASCII if stdin is not a TTY or if sys.stdin is &amp;quot;mocked&amp;quot; (StringIO.StringIO instance)&lt;br /&gt;
&lt;br /&gt;
The default output encoding (&amp;lt;code&amp;gt;encoding&amp;lt;/code&amp;gt; parameter) is UTF-8.&lt;br /&gt;
&lt;br /&gt;
It's safer to explicit the input encoding to not rely on the locale encoding and have the same behaviour even if sys.stdin is &amp;quot;mocked&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Safe usage:&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_encode(data, incoming='utf-8')&amp;lt;/code&amp;gt;: encode text to UTF-8 or returns data unchanged if it's already a bytes string (since the input and output encoding are UTF-8)&lt;br /&gt;
&lt;br /&gt;
Unsafe usage:&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_encode(data)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
* &amp;lt;code&amp;gt;safe_encode(b'\xe9', incoming='latin-1')&amp;lt;/code&amp;gt; returns &amp;lt;code&amp;gt;b'\xc3\xa9'&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
By default, the encoder and the decoder are strict. You can specify a different error handler using the optional &amp;lt;code&amp;gt;errors&amp;lt;/code&amp;gt; parameter. Example: &amp;lt;code&amp;gt;safe_encode(b'[\xff]', incoming='ascii', errors='ignore')&amp;lt;/code&amp;gt; returns &amp;lt;code&amp;gt;b'[]'&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== logging module and format exceptions ===&lt;br /&gt;
&lt;br /&gt;
On Python 2, the logging module accepts bytes and text strings. On Python 3, it only accepts text strings. For example, logging.error(b'hello') logs &amp;lt;code&amp;gt;b'hello'&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;'hello'&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
There is no clear rule for format exceptions yet. There are different choices depending on the project:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;str(exc)&amp;lt;/code&amp;gt;: native string, so use bytes on Python 2&lt;br /&gt;
* &amp;lt;code&amp;gt;six.text_type(exc)&amp;lt;/code&amp;gt;: always use Unicode. It may raise unicode error depending on the exception, be careful. Example of such error in python 2: &amp;lt;code&amp;gt;unicode(Exception(&amp;quot;nonascii:\xe9&amp;quot;))&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;six.u(str(exc))&amp;lt;/code&amp;gt;: unsafe on Python 2 if str(exc) contains non-ASCII bytes, ex: &amp;lt;code&amp;gt;unicode(str(Exception(&amp;quot;\xff&amp;quot;)))&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;LOG.exception(_LE(&amp;quot;... %(exc)s ...&amp;quot;), {&amp;quot;exc&amp;quot;: exc, ...})&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since logging functions expect text strings on Python 3, logged exceptions should be formatted using &amp;lt;code&amp;gt;str(exc)&amp;lt;/code&amp;gt;. Example: &amp;lt;code&amp;gt;LOG.debug(str(exc))&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== HTTP ===&lt;br /&gt;
&lt;br /&gt;
The HTTP protocol is based on '''bytes''':&lt;br /&gt;
&lt;br /&gt;
* HTTP body contains '''bytes'''. For example, use io.BytesIO for a stream storing an HTTP body.&lt;br /&gt;
* HTTPConnection.getresponse().read() returns '''bytes''' (in Python 3, '''str''' which is bytes in Python 2)&lt;br /&gt;
* On Python 3, the http.client accepts text for HTTP headers: keys are encoded to ASCII and values to ISO 8859-1 (which is only a small subset of the Unicode charset)&lt;br /&gt;
* It looks like Swift encodes internally HTTP headers to UTF-8 (directly using the UTF-8 encoding, not using a MIME encoding like =?UTF-8?Q?...?=. See the HTTP [RFC 2047 http://www.ietf.org/rfc/rfc2047.txt] and [http://stackoverflow.com/questions/4400678/http-header-should-use-what-character-encoding  HTTP header should use what character encoding?]&lt;br /&gt;
&lt;br /&gt;
=== References to port Python 2 code to Python 3 ===&lt;br /&gt;
* [http://python3porting.com/ Porting to Python 3 Book] by Lennart Regebro, especially the [http://python3porting.com/differences.html Language differences and workarounds].&lt;br /&gt;
* [http://docs.python.org/dev/howto/pyporting.html HOWTO: Porting Python 2 Code to Python 3] by Brett Cannon&lt;br /&gt;
* [https://wiki.python.org/moin/PortingPythonToPy3k Porting Python Code to 3.x]&lt;br /&gt;
* [http://code.google.com/p/python-incompatibility/  python-incompatibility]: Demonstrates incompatibilities between Python versions.&lt;br /&gt;
&lt;br /&gt;
=== Common pitfalls ===&lt;br /&gt;
&lt;br /&gt;
==== What is a string ? ====&lt;br /&gt;
You should definitely not talk about &amp;quot;strings&amp;quot; in your commit logs/reviews. In Python 2, a 'string' is bytes; in Python 3, it's a Unicode text string. The following code snippet may help in understanding the difference:&lt;br /&gt;
&lt;br /&gt;
Python 2:&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type('foo')&lt;br /&gt;
    &amp;lt;type 'str'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type(u'foo')&lt;br /&gt;
    &amp;lt;type 'unicode'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type(b'foo')&lt;br /&gt;
    &amp;lt;type 'str'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; isinstance('foo', six.text_type)&lt;br /&gt;
    False&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; isinstance(u'foo', six.text_type)&lt;br /&gt;
    True&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; bytes is str&lt;br /&gt;
    True&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; b'foo'[0]&lt;br /&gt;
    'f'&lt;br /&gt;
&lt;br /&gt;
Python 3:&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type('foo')&lt;br /&gt;
    &amp;lt;class 'str'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type(u'foo')&lt;br /&gt;
    &amp;lt;class 'str'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; type(b'foo')&lt;br /&gt;
    &amp;lt;class 'bytes'&amp;gt;&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; isinstance('foo', six.text_type)&lt;br /&gt;
    True&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; isinstance(b'foo', six.text_type)&lt;br /&gt;
    False&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; bytes is str&lt;br /&gt;
    False&lt;br /&gt;
    &amp;gt;&amp;gt;&amp;gt; b'foo'[0]&lt;br /&gt;
    102&lt;br /&gt;
&lt;br /&gt;
==== tox/testr error: db type could not be determined ====&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;db type could not be determined&amp;quot; error comes from .testrepository/times.dbm used by testr.&lt;br /&gt;
&lt;br /&gt;
Workaround: &amp;quot;rm -rf .testrepository/&amp;quot; and then run &amp;quot;tox -e py34&amp;quot; before running &amp;quot;tox -e py27&amp;quot;. You only have to do this once. The problem only occurs with &amp;quot;tox -e py34&amp;quot; when .testrepository/ was created by Python 2.&lt;br /&gt;
&lt;br /&gt;
== Python 3 Status of OpenStack projects ==&lt;br /&gt;
&lt;br /&gt;
=== Common Libraries (Oslo Projects) ===&lt;br /&gt;
&lt;br /&gt;
For the list of Common Libraries, see http://git.openstack.org/cgit/openstack/governance/tree/reference/programs.yaml#n160&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/cliff cliff] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.concurrency oslo.concurrency] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-/&lt;br /&gt;
| oslo-incubator || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || py34 gate is voting&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.config oslo.config] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.context oslo.context] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.db oslo.db] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
PyMySQL driver is now used by default for MySQL. setup.cfg contains the Python 3 classifier.&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.i18n oslo.i18n] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.log oslo.log] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.messaging oslo.messaging] || style=&amp;quot;background-color: orange;&amp;quot; | Yes, except of Qpid &amp;amp; AMQP drivers. py34 is not more voting because of [//bugs.launchpad.net/ubuntu/+source/python3.4/+bug/1367907 ubuntu still uses 3.4.0 which has a severe bug] || oslo.messaging 1.11.0 fully works on Python 3, except of Qpid and AMQP 1.0 transports which are Python 2 only. The py34 gate is voting.&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.middleware oslo.middleware] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.rootwrap oslo.rootwrap] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.serialization oslo.serialization] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslosphinx oslosphinx] || ? || The project only contains two short .py files, it looks to be Python 3 compatible. Is Sphinx Python 3 compatible?&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslotest oslotest] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.versionedobjects oslo.versionedobjects] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.vmware oslo.vmware] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes  || Supports Python 3 since oslo.vmware 0.13.0&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/oslo.utils oslo.utils] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| pylockfile || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/stevedore stevedore] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/taskflow taskflow] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Development tools ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/cookiecutter cookiecutter] || style=&amp;quot;background-color: lightgreen;&amp;quot; | yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/hacking hacking] || style=&amp;quot;background-color: lightgreen;&amp;quot; | yes || py33 gate is not voting&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/pbr pbr] || style=&amp;quot;background-color: lightgreen;&amp;quot; | yes ||&lt;br /&gt;
|-&lt;br /&gt;
| stackforge/python-jenkins || style=&amp;quot;background-color: lightgreen;&amp;quot; | yes || py33 gate is voting&lt;br /&gt;
|-&lt;br /&gt;
| openstack-infra/jenkins-job-builder || style=&amp;quot;background-color: orange;&amp;quot; | partial || https://review.openstack.org/172238&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== OpenStack clients ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! CI tests running? !! Python 3 classifiers ? !! Blocked by !! Comment&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/keystonemiddleware keystonemiddleware] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: orange;&amp;quot; | Yes, but [https://review.openstack.org/206107 test using python-memcached are skipped on Python 3] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || python-memcached || keystonemiddleware 1.6.1 supports Python 3. python-memcached 1.56 now supports Python 3.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-barbicanclient python-barbicanclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color:lightgreen;&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-ceilometerclient python-ceilometerclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color:lightgreen;&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-cinderclient python-cinderclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-ganttclient python-ganttclient] ||  ? || ? || ? || ? ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-glanceclient python-glanceclient]  || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen&amp;quot; | Voting || style=&amp;quot;background-color:lightgreen&amp;quot; | On PyPI || || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-heatclient python-heatclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes  || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-ironicclient python-ironicclient]  || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||  style=&amp;quot;background-color: lightgreen&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot;  | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-keystoneclient python-keystoneclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-marconiclient python-marconiclient]|| style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-melangeclient python-melangeclient] ||  ? || ? || ? || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-novaclient python-novaclient]  || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPII || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-neutronclient python-neutronclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting  || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||   || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-openstackclient python-openstackclient]      || style=&amp;quot;background-color: lightgreen&amp;quot; | OK || style=&amp;quot;background-color: lightgreen&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen&amp;quot; | Yes || || As of 0.9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-saharaclient python-savannaaclient]    || style=&amp;quot;background-color: orange;&amp;quot; | In progress || style=&amp;quot;background-color: orange&amp;quot; | Non-voting || style=&amp;quot;background-color: lightgreen&amp;quot; | Yes ||  || [https://review.openstack.org/#/c/73128/ python-savannaclient: enable the py33 gates] abandonned: &amp;quot;We haven't enough tests to ensure that savanna client works correctly on py33, so, it's kind of premature step. We already have py33 and pypy jobs in experimental pipeline.&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-saharaclient python-saharaclient]    || style=&amp;quot;background-color: lightgreen;&amp;quot; | OK || style=&amp;quot;background-color: lightgreen&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen&amp;quot; | On PyP ||  || &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-swiftclient python-swiftclient]   || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | [https://pypi.python.org/pypi/python-swiftclient/ On PyPI] || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-tuskarclient python-tuskarclient]   || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-troveclient python-troveclient] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Voting || style=&amp;quot;background-color: lightgreen&amp;quot; | On PyPI || ||&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-designateclient python-designateclient] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: orange;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== OpenStack Libraries ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! CI tests running? !! Python 3 classifiers ? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/glance_store glance_store] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || glance_store 0.7.0 added the Python 3 support.&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/os-brick os-brick] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || os-brick 0.3.2 added Python 3 support.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/sqlalchemy-migrate sqlalchemy-migrate] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/taskflow taskflow] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
&lt;br /&gt;
There are two ways to express dependencies that should differ between Python 2.x and 3.x. We currently support using multiple requirements files, and will shortly be supporting and recommending the use of environment markers. Recent releases of all the tools in our ecosystem are needed for environment markers.&lt;br /&gt;
&lt;br /&gt;
==== requirements-py3.txt ====&lt;br /&gt;
&lt;br /&gt;
This approach generates a different requirements list depending on what Python version is running when the egg info is created (which goes into wheels and sdists). As a consequence this can't work with tox, publishing sdists to PyPI, or wheels. It is however useful for anything installing from git. To use it, create two requirements files:&lt;br /&gt;
&lt;br /&gt;
* requirements-py2.txt: all dependencies for Python 2 (not only dependencies specific to Python 2)&lt;br /&gt;
* requirements-py3.txt: all dependencies for Python 3 (not only dependencies specific to Python 3)&lt;br /&gt;
* (same for test-requirements.txt)&lt;br /&gt;
&lt;br /&gt;
You have to edit tox.ini to specify the right requirements file. Extract of a tox.ini file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
[testenv:py33]&lt;br /&gt;
deps = -r{toxinidir}/requirements-py3.txt&lt;br /&gt;
       -r{toxinidir}/test-requirements-py3.txt&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Environment markers ====&lt;br /&gt;
&lt;br /&gt;
Environment markers provide a mini-language to express when a dependency is relevant. We hope the next release of pbr will support them. Recent pip, setuptools and wheel versions do support them, but until pbr exports the requirements metadata with them intact and structured correctly for setuptools, we can't use them anywhere.&lt;br /&gt;
&lt;br /&gt;
* PEP 0345 -- Metadata for Python Software Packages 1.2 (accepted): [https://www.python.org/dev/peps/pep-0345/#environment-markers Environment markers]&lt;br /&gt;
* PEP 0426 -- Metadata for Python Software Packages 2.0 (draft): [https://www.python.org/dev/peps/pep-0426/#environment-markers  Environment markers]&lt;br /&gt;
&lt;br /&gt;
When placed in a requirements.txt file, the markers are interpreted directly by pip in `pip install -r requirements.txt`, and indirectly via setuptools when installing an sdist or wheel (including `pip install .`. For instance:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
six&lt;br /&gt;
futures; python_version &amp;lt; '3.2'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* [https://review.openstack.org/#/c/184328/ oslo.db: Refactor deps to use extras and env markers] (require pip 7, not released yet)&lt;br /&gt;
* pip: [https://github.com/pypa/pip/pull/1472  Fix issue #1433: parse requirements in markers #1472]&lt;br /&gt;
* setuptools: pkg_resources doesn't understand environment markers: [https://bitbucket.org/pypa/wheel/issue/139/wheel-should-support-pep-426-environment pkg_resources.parse_requirements() raises ValueError]&lt;br /&gt;
* pbr: [https://review.openstack.org/#/c/181795/ Teach pbr to read extras and env markers], [https://review.openstack.org/#/c/165015/ Handle PEP426 markers] (abandoned)&lt;br /&gt;
* wheel: [https://bitbucket.org/pypa/wheel/issue/139/wheel-should-support-pep-426-environment wheel should support PEP 426 environment markers] (closed), wheel supports environment markers in extra requirements&lt;br /&gt;
* tox: [https://bitbucket.org/hpk42/tox/issue/236/tox-must-create-the-source-distribution tox must create the source distribution with the Python of the virtual environment], [https://bitbucket.org/hpk42/tox/pull-request/142/issue-236-subcommand_test-rebuilds-sdist/ Issue #236: subcommand_test() rebuilds sdist with venv python] (declined)&lt;br /&gt;
&lt;br /&gt;
Oslo Messaging issue:&lt;br /&gt;
* futures is not needed on Python 3, since concurrent.futures is now part of the Pyhon stdlib since Python 3.2&lt;br /&gt;
* [https://review.openstack.org/#/c/172135/ futures was added to requirements-py3.txt] because tox creates the source tarball using Python 2 which reads requirements.txt&lt;br /&gt;
* The correct fix would be to use environment markers on futures&lt;br /&gt;
&lt;br /&gt;
==== Dependencies status ====&lt;br /&gt;
&lt;br /&gt;
[https://caniusepython3.com/check/4fd5dda2-b1f1-4db4-a636-67cd3276cb6a Porting status] for [https://github.com/openstack/requirements/blob/master/global-requirements.txt global-requirement.txt].&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! CI tests running? !! Python 3 classifiers ? !! Blocked by !! Comment&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/boto boto] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || See https://github.com/boto/boto3 (experimental) &amp;lt;- This seems dead, and https://github.com/boto/boto works with Python 3.x (since 2.32).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/django-compressor django-compressor] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || Requirements upgraded: https://review.openstack.org/94357&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/tablib tablib ] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || setup.py installs tablib.packages.markup which is not compatible with Python 2. setup.py displays a warning on compiling the bytecode of markup.py.&lt;br /&gt;
&lt;br /&gt;
tablib is needed by cliff-tablib, itself needed by python-neutronclient&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/django-openstack-auth django-openstack-auth] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || &lt;br /&gt;
As of 1.1.6&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/dnspython dnspython] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A|| style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || Must use the [https://pypi.python.org/pypi/dnspython3/ Python 3 version], see https://github.com/rthalley/dnspython/issues/60&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/ecdsa ecdsa] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || ||Py3 support merge before the 0.10 release (see https://github.com/warner/python-ecdsa/commits/master)&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/eventlet eventlet] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || eventlet 0.17.3 now fully support Python 3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/jsonrpclib jsonrpclib] || style=&amp;quot;background-color:red;&amp;quot; | No || N/A || style=&amp;quot;background-color: red;&amp;quot; | No || || The project seems dead :(&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/libvirt-python libvirt-python] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/mysql-python MySQL-Python] || style=&amp;quot;background-color:orange;&amp;quot; | No, but mysqlclient or PyMySQL are compatible || N/A || style=&amp;quot;background-color: orange;&amp;quot; | No || ||&lt;br /&gt;
Patches:&lt;br /&gt;
* [https://review.openstack.org/#/c/179745/ Add mysqlclient dependency]&lt;br /&gt;
&lt;br /&gt;
MySQL-Python: [https://github.com/farcepest/MySQLdb1/pulls 2 pending pull requests for Python 3].&lt;br /&gt;
&lt;br /&gt;
INADA Naoki, the maintainer of PyMySQL, wrote [https://pypi.python.org/pypi/mysqlclient mysqlclient]: fork of MySQL-Python using libmysqlclient.so which is Python 3 compatible. He recommends to use mysqlclient instead of MySQL-python even on Python 2. mysqlclient fixes some bugs, build issues and it support Python 3. For example: support MariaDB's libmysqlclient.so, support microsecond in TIME column.&lt;br /&gt;
&lt;br /&gt;
PyMySQL is compatible with Python 3: see [https://wiki.openstack.org/wiki/PyMySQL_evaluation PyMySQL evaluation] discussion to eventually replace mysql-python with PyMySQL in OpenStack.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/netifaces netifaces] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || N/A|| style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || Patch sent by Victor Stinner (in private): [https://bitbucket.org/haypo/misc/src/tip/openstack/netifaces_python3.patch netifaces_python3.patch], Debian has patches too. Python 3 support as of 0.10.4. Pushed to requirements: https://review.openstack.org/94358 .&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/nose-exclude nose-exclude] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || || https://bitbucket.org/kgrandis/nose-exclude/issue/10/test-failures-with-python-3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/nosehtmloutput nosehtmloutput] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No ||&lt;br /&gt;
*  nose-exclude (tests only)&lt;br /&gt;
*  openstack.nose-plugin&lt;br /&gt;
||&lt;br /&gt;
*  https://bugs.launchpad.net/ubuntu/+source/python-nosehtmloutput/+bug/1287247&lt;br /&gt;
*  https://review.openstack.org/#/c/80956/&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/nosexcover nosexcover] || style=&amp;quot;background-color:lightgreen;&amp;quot; | No || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPI || || Python 3 support since 1.0.9&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/openstack.nose-plugin openstack.nose-plugin] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/pam pam] || style=&amp;quot;background-color:orange;&amp;quot; | No for pam, Yes for simplepam || NA || style=&amp;quot;background-color: red;&amp;quot; | No || || The fork [https://pypi.python.org/pypi/simplepam simplepam] works on Python 2 and 3&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/paramiko paramiko] ||  style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes  || N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | On PyPI || || Requirements upgraded: https://review.openstack.org/#/c/81132/&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/paste paste] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgrey;&amp;quot; | N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || Compatible with Python 3 since Paste 2.0&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/pycadf pycadf] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-ldap python-ldap] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || || The project seems dead. See [https://pypi.python.org/pypi/ldap3 ldap3] which is Python 3 compatible (license: LGPL, one of the optional deps is BSD-4-Clause).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/python-memcached python-memcached] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color:lightgreen;&amp;quot; | N/A || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || ||&lt;br /&gt;
python-memcached 1.56 includes pull request: [https://github.com/linsomniac/python-memcached/pull/67 Port memcache to Python 3 #67].&lt;br /&gt;
&lt;br /&gt;
Julien Danjou ported [https://pypi.python.org/pypi/pymemcache pymemcache] to Python 3, another memcached client, he suggests to use this one instead&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/qpid-python qpid-python] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No ||  || Required if using oslo.messaging's qpid backend. That is the old pure python amqp 0-10 client library.  That only speaks 0-10 and works with qpidd broker.  It is used by the impl_qpid.py driver in oslo.messaging. That client is legacy - it isn't being ported to use AMQP 1.0.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/pyngus pyngus] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No ||  || &lt;br /&gt;
pyngus is required if using oslo.messaging's AMQP 1.0 driver. pyngus is a wrapper for proton and proton has not been ported to python 3 yet: see [https://issues.apache.org/jira/browse/PROTON-490 Proton issue #490].&lt;br /&gt;
&lt;br /&gt;
[https://pypi.python.org/pypi/python-qpid-proton Proton] is a C library with various bindings in other languages. The language bindings are auto generated via the SWIG tool, plus a the python wrapper bits. All the python stuff is found under proton-c/bindings/python in the [https://git-wip-us.apache.org/repos/asf/qpid-proton.git git tree]. The first bit of work is to refactor the SWIG file cproton.i to work for both Python 2 and 3.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/rtslib-fb rtslib-fb] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/Routes Routes] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || Routes 2.2 works Python 2 and 3 using a single code base.&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/sphinxcontrib-docbookrestapi sphinxcontrib-docbookrestapi] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: orange;&amp;quot; | In the Git repo, not on PyPI || ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/sphinxcontrib-httpdomain sphinxcontrib-httpdomain] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes  || N/A || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/sphinxcontrib-pecanwsme sphinxcontrib-pecanwsme] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/thrift thrift] || style=&amp;quot;background-color:red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || style=&amp;quot;background-color: red;&amp;quot; | No || ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/websockify websockify] || style=&amp;quot;background-color:lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | N/A || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || || python3 works with the 0.7.0 version released on Jul 23, 2015&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== OpenStack applications ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Python 3 compatibility !! py34 gate !! Comments&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/gnocchi gnocchi] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/ironic ironic] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes ||&lt;br /&gt;
[http://lists.openstack.org/pipermail/openstack-dev/2015-May/064049.html Python 3.4 unit tests are now being run for openstack/ironic.  The unit tests are a voting job.] &lt;br /&gt;
Thanks to Victor Sergeyev for all of his work to update the Ironic code to make it pass the unit tests using Python 3.4: [https://review.openstack.org/#/c/156192/ Run tests in py34 environment]&lt;br /&gt;
|-&lt;br /&gt;
| [https://pypi.python.org/pypi/rally Rally] || style=&amp;quot;background-color: lightgreen;&amp;quot; | Yes || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting || A big thank to Andrey Kurilin for a lot of work in this direction&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/ceilometer ceilometer] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
Victor Stinner is working on porting Ceilometer to Python 3. Patches:&lt;br /&gt;
* [https://review.openstack.org/#/q/status:open+project:openstack/ceilometer+branch:master+topic:py3,n,z Patches with py3 topic]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/cinder cinder] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
[https://blueprints.launchpad.net/cinder/+spec/cinder-python3 cinder-python3] blueprint (written by Victor Stinner) has been accepted for Liberty.&lt;br /&gt;
&lt;br /&gt;
Patches: [https://review.openstack.org/#/q/project:openstack/cinder+topic:bp/cinder-python3,n,z bp/cinder-python3 topic].&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [https://github.com/openstack/manila manila] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: orange;&amp;quot; | non-voting ||&lt;br /&gt;
[https://blueprints.launchpad.net/manila/+spec/py3-compatibility py3-compatibility] blueprint.&lt;br /&gt;
&lt;br /&gt;
non-voting py34 CI job runs in 'check' pipeline for each Manila gerrit commit. It fails because py3 support fixes are in progress [L-2].&lt;br /&gt;
Patches: [https://review.openstack.org/#/q/project:openstack/manila+topic:bp/py3-compatibility,n,z bp/py3-compatibility topic].&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/glance glance] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
Victor Stinner is working on porting Glance to Python3.&lt;br /&gt;
&lt;br /&gt;
Patches: [https://review.openstack.org/#/q/status:open+project:openstack/glance+branch:master+topic:py3,n,z Patches for glance (topic: py3)].&lt;br /&gt;
&lt;br /&gt;
test_migrations is blocked by a bug in oslo.db ([https://review.openstack.org/#/c/206476/ Fix test_migrations on Python 3]) / sqlalchemy-migrate ([https://review.openstack.org/#/c/206478/ Add VerNum.__index__() for Python 3 support]).&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/heat heat] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
[http://specs.openstack.org/openstack/heat-specs/specs/liberty/heat-python34-support.html Python34 Support] spec (by Sirushti Murugesan) accepted for Liberty.&lt;br /&gt;
&lt;br /&gt;
Patches: [https://review.openstack.org/#/q/topic:bp/heat-python34-support,n,z bp/heat-python34-support topic].&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/keystone keystone] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
The spec [http://specs.openstack.org/openstack/keystone-specs/specs/liberty/python3.html Add spec for python-3 compatibility] (by Morgan Fainberg) was accepted for Liberty. See also the blueprint [https://launchpad.net/keystone/+spec/python3 python3] started by Dolph Mathews on 2014-07-22; David Stanek is working on it.&lt;br /&gt;
&lt;br /&gt;
Patches: [https://review.openstack.org/#/q/project:openstack/keystone+branch:master+topic:bp/python3,n,z bp/python3 topic].&lt;br /&gt;
&lt;br /&gt;
[https://github.com/rohe/pysaml2/ pysaml2] 3.0 now supports Python 3.&lt;br /&gt;
&lt;br /&gt;
Aslo blocked by [https://pypi.python.org/pypi/ldappool ldappool] and [https://pypi.python.org/pypi/python-ldap python-ldap]. [https://github.com/pyldap/pyldap/ pyldap] is a fork of python-ldap which adds Python 3 support. python-ldap may be replaced with [https://pypi.python.org/pypi/ldap3 ldap3], but it requires more work.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/neutron neutron] || style=&amp;quot;background-color:orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
[https://review.openstack.org/#/c/172962/ Porting to Python 3] spec (by Cyril Roelandt) accepted for Liberty, port in progress. Patches:&lt;br /&gt;
* [https://review.openstack.org/#/q/project:openstack/neutron+branch:master+topic:bp/neutron-python3,n,z Patches of the blueprint neutron-python3]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/nova nova] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
[http://specs.openstack.org/openstack/nova-specs/specs/liberty/approved/adding-python34-support-to-nova.html Adding Python 3.4 support to Nova] spec (by Victor Stinner) accepted for Liberty. Port in progress.&lt;br /&gt;
&lt;br /&gt;
Patches:&lt;br /&gt;
* [https://review.openstack.org/#/q/project:openstack/nova+branch:master+topic:bp/nova-python3,n,z master (bp/nova-python3)].&lt;br /&gt;
&lt;br /&gt;
See also [https://etherpad.openstack.org/p/liberty-nova-priorities-tracking Py3.4 Compatibility in Liberty nova priorities tracking].&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org//pypi/sahara sahara] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: lightgreen;&amp;quot; | voting ||&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/swift swift] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: orange;&amp;quot; | non voting (need to [https://review.openstack.org/#/c/199034/ fix tox -e py34] ||&lt;br /&gt;
swift now depends on six.(Jaivish Kothari is also working on this)&lt;br /&gt;
&lt;br /&gt;
Patches:&lt;br /&gt;
* [https://review.openstack.org/#/q/project:openstack/swift+branch:master+topic:py3,n,z Patches with the topic py3]&lt;br /&gt;
&lt;br /&gt;
Dependencies:&lt;br /&gt;
* dnspython: use dnspython3 on Python 3 ([https://review.openstack.org/#/c/200416/ not in global requirements yet])&lt;br /&gt;
* PyEClib: [https://bitbucket.org/kmgreen2/pyeclib/issues/69/need-a-release-108-with-python-3-fixes waiting for the release 1.0.8]&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/horizon horizon] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: red;&amp;quot; | No ||&lt;br /&gt;
George Peristerakis wrote [https://blueprints.launchpad.net/horizon/+spec/porting-python3 Make Horizon python3.4 compatible].&lt;br /&gt;
&lt;br /&gt;
Patches:&lt;br /&gt;
* [https://review.openstack.org/#/q/topic:bp/porting-python3+project:openstack/horizon,n,z bp/porting-python3 topic]&lt;br /&gt;
* [https://review.openstack.org/#/c/178342/ Add py34 env] by lokesh s&lt;br /&gt;
* [https://review.openstack.org/#/c/183365/ Made the class Column Python 3 compatible] by Emmanuel Rousselle&lt;br /&gt;
* [https://review.openstack.org/#/c/183367/ Made HorizonComponent class Python3 compatible] (merged) by Eric Lafontaine&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
| [https://pypi.python.org/pypi/designate designate] || style=&amp;quot;background-color: orange;&amp;quot; | work in progress || style=&amp;quot;background-color: red;&amp;quot; | No || Pradeep is working on the Python 3 port.&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functional tests ===&lt;br /&gt;
&lt;br /&gt;
Doug Hellmann wrote a cross-project specification to run integration tests on Python 3: [https://review.openstack.org/#/c/177375/ Enabling Python 3 for Application Integration Tests] (spec approved for Liberty).&lt;br /&gt;
&lt;br /&gt;
Patch for DevStack: [https://review.openstack.org/#/c/181165/ Enable optional Python 3 support].&lt;br /&gt;
&lt;br /&gt;
== Status of Python 3 in Linux distributions ==&lt;br /&gt;
&lt;br /&gt;
* ArchLinux already [https://www.archlinux.org/news/python-is-now-python-3 switched to Python 3 by default] in 2011&lt;br /&gt;
* Ubuntu wants to remove Python 2 from the default installation: see [http://www.phoronix.com/scan.php?page=news_item&amp;amp;px=Ubuntu-16.04-Python-Plans Ubuntu Plans For Python 3 By Default For Ubuntu 16.04 LTS]&lt;br /&gt;
* Fedora schedules the switch in Fedora 23 (october 2015): [https://fedoraproject.org/wiki/Changes/Python_3_as_Default Python 3 as the Default Implementation]&lt;br /&gt;
* RHEL: [https://www.softwarecollections.org/en/scls/rhscl/python33/ Python 3.3] and [https://www.softwarecollections.org/en/scls/rhscl/rh-python34/ Python 3.4] are available on RHEL6 and RHEL7 using SCL.&lt;br /&gt;
* CentOS: [https://www.softwarecollections.org/en/scls/rhscl/python33/ Python 3.3] and [https://www.softwarecollections.org/en/scls/rhscl/rh-python34/ Python 3.4] are available on CentOS 6 and 7 using SCL (no Red Hat subscription needed, CentOS has its own flavor of SCL)&lt;br /&gt;
* In Debian, the plan is to deprecate Python 2 in Stretch (aka: Debian 9, the next Stable Debian after Jessie) and to completely remove Python 2 for the Buster release of Debian (aka: Debian 10, to be release in approximatively 2019).&lt;br /&gt;
&lt;br /&gt;
== Reports at OpenStack Summits ==&lt;br /&gt;
&lt;br /&gt;
* Liberty Summit&lt;br /&gt;
** Cross-project session on enabling app integration testing: https://etherpad.openstack.org/p/liberty-cross-project-python3&lt;br /&gt;
* Kilo Summit&lt;br /&gt;
** Doug Hellmann: &amp;quot;Moving our applications to Python 3&amp;quot; cross-project session&lt;br /&gt;
** Victor Stinner: &amp;quot;Port nova to Python 3&amp;quot;, https://etherpad.openstack.org/p/liberty-nova-summit-ideas&lt;br /&gt;
* Juno summit notes: https://etherpad.openstack.org/p/juno-cross-project-future-of-python (Oslo) and https://etherpad.openstack.org/p/juno_swift_python3 (Swift)&lt;br /&gt;
* Icehouse summit notes: https://etherpad.openstack.org/p/IcehousePypyPy3&lt;br /&gt;
* Havana summit notes: https://etherpad.openstack.org/p/havana-python3&lt;br /&gt;
&lt;br /&gt;
== Pycon Montreal 2014: Sprint Port OpenStack to Python 3 ==&lt;br /&gt;
&lt;br /&gt;
Enovance organized a sprint to Port OpenStack to Python 3 during 4 days: between April, 14 (Monday) and April, 17 (Thursday) 2014. See the page [[Python3/SprintPycon2014]].&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=81151</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=81151"/>
				<updated>2015-05-13T17:11:18Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Next meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 14 May, 2015, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Liberty design summit finalization&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-liberty-proposed-sessions&lt;br /&gt;
# (vponomaryov)ː open item&lt;br /&gt;
#* Whether Manila should allow to create &amp;quot;shares&amp;quot; from &amp;quot;snapshots&amp;quot; with different &amp;quot;share networks&amp;quot; or not? And why?&lt;br /&gt;
#** For the moment Manila restricts it on API level&lt;br /&gt;
#** Some backends do not depend on networking part using snapshots (i.e. Generic Driver)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
http://eavesdrop.openstack.org/meetings/manila/&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=81147</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=81147"/>
				<updated>2015-05-13T16:47:47Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Next meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 7 May, 2015, 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
# Liberty design summit finalization&lt;br /&gt;
#* https://etherpad.openstack.org/p/manila-liberty-proposed-sessions&lt;br /&gt;
# (vponomaryov)ː open item&lt;br /&gt;
#* Whether Manila should allow to create &amp;quot;shares&amp;quot; from &amp;quot;snapshots&amp;quot; with different &amp;quot;share networks&amp;quot; or not? And why?&lt;br /&gt;
#** For the moment Manila restricts it on API level&lt;br /&gt;
#** Some backends do not depend on networking part using snapshots (i.e. Generic Driver)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
http://eavesdrop.openstack.org/meetings/manila/&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_manila_with_horizon&amp;diff=77916</id>
		<title>Manila/docs/HOWTO use manila with horizon</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_manila_with_horizon&amp;diff=77916"/>
				<updated>2015-04-21T11:42:50Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Get custom horizon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to run horizon with manila =&lt;br /&gt;
&lt;br /&gt;
== Kilo ==&lt;br /&gt;
The manila UI has been converted to horizon plugin in Kilo release. Follow the installation instructions at https://github.com/hp-storage/manila-ui/blob/master/README.rst to have Horizon support for Kilo version of Manila.&lt;br /&gt;
&lt;br /&gt;
== Juno ==&lt;br /&gt;
If you use Juno version of Manila, then you can use only fork of Horizon with appropriate changes for Manila support.&lt;br /&gt;
&lt;br /&gt;
=== Get custom horizon ===&lt;br /&gt;
&lt;br /&gt;
 $ git clone -b manila_juno https://github.com/NetApp/horizon.git  # Horizon of Juno version with Manila support. Should be used only with Juno version of manila server and manilaclient of 1.0.1 version - https://github.com/openstack/python-manilaclient/releases/tag/1.0.1&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
 $ cd horizon&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
 $ cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py&lt;br /&gt;
&lt;br /&gt;
open file '''''openstack_dashboard/local/local_settings.py'''''&lt;br /&gt;
&lt;br /&gt;
find var &amp;quot;OPENSTACK_HOST&amp;quot; and set here address of host where devstack was installed&lt;br /&gt;
&lt;br /&gt;
save and exit&lt;br /&gt;
&lt;br /&gt;
=== Be sure, all dependencies are installed ===&lt;br /&gt;
&lt;br /&gt;
run in horizon's dir&lt;br /&gt;
&lt;br /&gt;
 $ sudo python setup.py install&lt;br /&gt;
Also, need to install python-manilaclient&lt;br /&gt;
&lt;br /&gt;
 $ sudo pip install python-manilaclient==1.0.1&lt;br /&gt;
Run horizon&lt;br /&gt;
 $ sudo python manage.py runserver&lt;br /&gt;
it will be available on 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
to specify all interfaces, use:&lt;br /&gt;
&lt;br /&gt;
 $ sudo python manage.py runserver 0.0.0.0:8000&lt;br /&gt;
port can be set to any not used valid port value.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_manila_with_horizon&amp;diff=77910</id>
		<title>Manila/docs/HOWTO use manila with horizon</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_manila_with_horizon&amp;diff=77910"/>
				<updated>2015-04-21T09:45:14Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* How to run horizon with manila */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to run horizon with manila =&lt;br /&gt;
&lt;br /&gt;
== Kilo ==&lt;br /&gt;
The manila UI has been converted to horizon plugin in Kilo release. Follow the installation instructions at https://github.com/hp-storage/manila-ui/blob/master/README.rst to have Horizon support for Kilo version of Manila.&lt;br /&gt;
&lt;br /&gt;
== Juno ==&lt;br /&gt;
If you use Juno version of Manila, then you can use only fork of Horizon with appropriate changes for Manila support.&lt;br /&gt;
&lt;br /&gt;
=== Get custom horizon ===&lt;br /&gt;
&lt;br /&gt;
 $ git clone -b manila_juno https://github.com/NetApp/horizon.git  # Horizon of Juno version with Manila support. Should be used only with Juno version of manila server and manilaclient of 1.0.1 version - https://github.com/openstack/python-manilaclient/releases/tag/1.0.1&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
 $ cd horizon&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
 $ cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py&lt;br /&gt;
&lt;br /&gt;
open file openstack_dashboard/local/local_settings.py&lt;br /&gt;
&lt;br /&gt;
find var &amp;quot;OPENSTACK_HOST&amp;quot; and set here address of host where devstack was installed&lt;br /&gt;
&lt;br /&gt;
save and exit&lt;br /&gt;
&lt;br /&gt;
=== Be sure, all dependencies are installed ===&lt;br /&gt;
&lt;br /&gt;
run in horizon's dir&lt;br /&gt;
&lt;br /&gt;
 $ sudo python setup.py install&lt;br /&gt;
Also, need to install python-manilaclient&lt;br /&gt;
&lt;br /&gt;
 $ sudo pip install python-manilaclient==1.0.1&lt;br /&gt;
Run horizon&lt;br /&gt;
 $ sudo python manage.py runserver&lt;br /&gt;
it will be available on 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
to specify all interfaces, use:&lt;br /&gt;
&lt;br /&gt;
 $ sudo python manage.py runserver 0.0.0.0:8000&lt;br /&gt;
port can be set to any not used valid port value.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_manila_with_horizon&amp;diff=75470</id>
		<title>Manila/docs/HOWTO use manila with horizon</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_manila_with_horizon&amp;diff=75470"/>
				<updated>2015-03-12T14:47:51Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Get custom horizon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to run custom horizon with manila =&lt;br /&gt;
This page describes how to try manila with horizon. It can be done on any host, not exactly the same as devstack installation.&lt;br /&gt;
&lt;br /&gt;
==Get custom horizon==&lt;br /&gt;
&lt;br /&gt;
 $ git clone -b manila_kilo https://github.com/NetApp/horizon.git  # Horizon with support of Manila KIlo version, this one is recommended. Should be used with latest manilaclient (changes after version 1.0.2)&lt;br /&gt;
or&lt;br /&gt;
 $ git clone -b manila_juno https://github.com/NetApp/horizon.git  # Horizon of Juno version with Manila support. Should be used only with Juno version of manila server and manilaclient of 1.0.1 version - https://github.com/openstack/python-manilaclient/releases/tag/1.0.1&lt;br /&gt;
or&lt;br /&gt;
 $ git clone -b manila_icehouse https://github.com/NetApp/horizon.git  # Horizon of Icehouse version with Manila support. Old, not recommended&lt;br /&gt;
and&lt;br /&gt;
 $ cd horizon&lt;br /&gt;
and&lt;br /&gt;
 $ cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py&lt;br /&gt;
&lt;br /&gt;
open file '''''openstack_dashboard/local/local_settings.py'''''&lt;br /&gt;
&lt;br /&gt;
find var &amp;quot;''OPENSTACK_HOST''&amp;quot; and set here address of host where devstack was installed&lt;br /&gt;
&lt;br /&gt;
save and exit&lt;br /&gt;
&lt;br /&gt;
==Be sure, all dependencies are installed==&lt;br /&gt;
&lt;br /&gt;
run in horizon's dir&lt;br /&gt;
&lt;br /&gt;
 $ sudo python setup.py install&lt;br /&gt;
&lt;br /&gt;
Also, need to install python-manilaclient&lt;br /&gt;
&lt;br /&gt;
 $ sudo pip install git+https://github.com/openstack/python-manilaclient.git&lt;br /&gt;
&lt;br /&gt;
==Run horizon==&lt;br /&gt;
 $ sudo python manage.py runserver&lt;br /&gt;
&lt;br /&gt;
it will be available on 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
to specify all interfaces, use:&lt;br /&gt;
&lt;br /&gt;
 $ sudo python manage.py runserver 0.0.0.0:8000&lt;br /&gt;
&lt;br /&gt;
port can be set to any not used valid port value.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/KiloDevstack&amp;diff=74499</id>
		<title>Manila/KiloDevstack</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/KiloDevstack&amp;diff=74499"/>
				<updated>2015-02-26T07:49:57Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
Here are instructions on how to use Devstack with the latest code from Manila to begin using Manila.&lt;br /&gt;
&lt;br /&gt;
This procedure was tested and working as of 25 Feb 2015.&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
1. Clone devstack &lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/openstack-dev/devstack.git&lt;br /&gt;
&lt;br /&gt;
2. Copy the sample local.conf into the root devstack directory&lt;br /&gt;
&lt;br /&gt;
 $ cd devstack ; cp samples/local.conf .&lt;br /&gt;
&lt;br /&gt;
3. Edit/append local.conf to enable manila, and neutron, and to disable horizon, heat, and nova-network&lt;br /&gt;
 $ cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; local.conf&lt;br /&gt;
 &lt;br /&gt;
 disable_service horizon&lt;br /&gt;
 &lt;br /&gt;
 disable_service heat&lt;br /&gt;
 disable_service h-eng&lt;br /&gt;
 disable_service h-api&lt;br /&gt;
 disable_service h-api-cfn&lt;br /&gt;
 disable_service h-api-cw&lt;br /&gt;
 &lt;br /&gt;
 disable_service n-net&lt;br /&gt;
 &lt;br /&gt;
 enable_service neutron&lt;br /&gt;
 enable_service q-svc&lt;br /&gt;
 enable_service q-agt&lt;br /&gt;
 enable_service q-dhcp&lt;br /&gt;
 enable_service q-l3&lt;br /&gt;
 enable_service q-meta&lt;br /&gt;
  &lt;br /&gt;
 enable_plugin manila https://github.com/openstack/manila&lt;br /&gt;
 &lt;br /&gt;
 Q_PLUGIN=ml2&lt;br /&gt;
 ENABLE_TENANT_VLANS=True&lt;br /&gt;
 ML2_VLAN_RANGES=physnet1:100:200&lt;br /&gt;
 PHYSICAL_NETWORK=physnet1&lt;br /&gt;
 OVS_PHYSICAL_BRIDGE=br-eth1&lt;br /&gt;
 Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch&lt;br /&gt;
 Q_ML2_PLUGIN_TYPE_DRIVERS=vlan,vxlan&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
4. Run stack.sh as normal; When it is complete, the manila processes should be started.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/KiloDevstack&amp;diff=74459</id>
		<title>Manila/KiloDevstack</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/KiloDevstack&amp;diff=74459"/>
				<updated>2015-02-25T20:31:40Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Procedure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Intro ==&lt;br /&gt;
&lt;br /&gt;
Here are instructions on how to use Devstack with the latest code from Manila to begin using Manila.&lt;br /&gt;
&lt;br /&gt;
This procedure was tested and working as of 25 Feb 2015.&lt;br /&gt;
&lt;br /&gt;
== Procedure ==&lt;br /&gt;
&lt;br /&gt;
1. Clone devstack &lt;br /&gt;
&lt;br /&gt;
 $ git clone https://github.com/openstack-dev/devstack.git&lt;br /&gt;
&lt;br /&gt;
2. Copy the sample local.conf into the root devstack directory&lt;br /&gt;
&lt;br /&gt;
 $ cd devstack ; cp samples/local.conf .&lt;br /&gt;
&lt;br /&gt;
3. Edit/append local.conf to enable manila, and neutron, and to disable horizon, heat, and &lt;br /&gt;
 $ cat &amp;lt;&amp;lt; EOF &amp;gt;&amp;gt; local.conf&lt;br /&gt;
 &lt;br /&gt;
 disable_service horizon&lt;br /&gt;
 &lt;br /&gt;
 disable_service heat&lt;br /&gt;
 disable_service h-eng&lt;br /&gt;
 disable_service h-api&lt;br /&gt;
 disable_service h-api-cfn&lt;br /&gt;
 disable_service h-api-cw&lt;br /&gt;
 &lt;br /&gt;
 disable_service n-net&lt;br /&gt;
 &lt;br /&gt;
 enable_service neutron&lt;br /&gt;
 enable_service q-svc&lt;br /&gt;
 enable_service q-agt&lt;br /&gt;
 enable_service q-dhcp&lt;br /&gt;
 enable_service q-l3&lt;br /&gt;
 enable_service q-meta&lt;br /&gt;
  &lt;br /&gt;
 enable_plugin manila https://github.com/openstack/manila&lt;br /&gt;
 &lt;br /&gt;
 Q_PLUGIN=ml2&lt;br /&gt;
 ENABLE_TENANT_VLANS=True&lt;br /&gt;
 ML2_VLAN_RANGES=physnet1:100:200&lt;br /&gt;
 PHYSICAL_NETWORK=physnet1&lt;br /&gt;
 OVS_PHYSICAL_BRIDGE=br-eth1&lt;br /&gt;
 Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch&lt;br /&gt;
 Q_ML2_PLUGIN_TYPE_DRIVERS=vlan,vxlan&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
4. Run stack.sh as normal; When it is complete, the manila processes should be started.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/specs/scenario-tests&amp;diff=74224</id>
		<title>Manila/specs/scenario-tests</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/specs/scenario-tests&amp;diff=74224"/>
				<updated>2015-02-23T17:09:09Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* 3. Relations between source shares and child shares */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scenario test cases for Manila project ==&lt;br /&gt;
&lt;br /&gt;
Blueprint: https://blueprints.launchpad.net/manila/+spec/scenario-tests&lt;br /&gt;
&lt;br /&gt;
===Dictionary===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Definition !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
! UVM !! User VM. It is used as client machine for mounting shares.&lt;br /&gt;
|-&lt;br /&gt;
! SSH !! Secure SHell. It is used for connection to UVMs.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
 - Depending on share driver mode, it can be required to create share-network w/o security-services.&lt;br /&gt;
 - Depending on protocol, its versions and access type, “mount” operations should be defined explicitly, scenario tests assume it as predefined and known. Hence, scenarios do not include difference between access type (IP, User, Cert). Due to this scenario tests should be data driven by “access_type”, “access_proto”,  “access_level” and “mount command with all expected options”.&lt;br /&gt;
 - ''Italic texts'' depend on specific implementations and can be unsupported by share backends.&lt;br /&gt;
 - All user VMs should be separate VMs from host of shares. They should have network connectivity with share host. User VMs should be built with image that has shared file systems clients.&lt;br /&gt;
 - Share host should have open ports for SSH protocol and protocols of shared file systems.&lt;br /&gt;
&lt;br /&gt;
===List of scenarious===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
! 1!! Share access and file operations !! This test verifies basic file operations with shares.&lt;br /&gt;
|-&lt;br /&gt;
! 2!! Single/Group access operations !! This test verifies basic single or group access operations.&lt;br /&gt;
|-&lt;br /&gt;
! 3!! Relations between source shares and child shares !! This test verifies that child share does not inherit access rules from parent and is different in general.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 1. Share access and file operations ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create UVM !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create share S !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! SSH to UVM !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! Try mount S to UVM !! fail, access denied&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! Provide RO access !! ok&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Try mount S to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! ''Try create files on S'' !! ''fail, access denied''&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! ''Unmount S from UVM'' !! ''ok''&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! ''Remove RO access'' !! ''ok, removed''&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! ''Try mount S to UVM'' !! ''fail, access denied''&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Provide RW access !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! Try mount S to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Try write files to S !! ok, written&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! Try read files from S !! ok, read&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! Try delete files on S !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 16 !! Unmount S from UVM !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 17 !! Delete S !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 18 !! Try mount S !! fail, not found&lt;br /&gt;
|-&lt;br /&gt;
! 19 !! Delete UVM !! ok, deleted&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 2. Single/Group access operations ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create user UVM1 using network1 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create user UVM2 using network2 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! Create share S !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! Add access to network1 !! ok, added&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! SSH to UVM1 !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Try mount S from UVM1 !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! SSH to UVM2 !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! Try mount S from UVM2 !! fail, access denied&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! Add access to network2 !! ok, added&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! Try mount S from UVM2 !! ok, mounted (Two VMs have it mounted at once)&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Unmount S on UVM1 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! Unmount S on UVM2 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Delete UVM1 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! Delete UVM2 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! Delete S !! ok, deleted&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 3. Relations between source shares and child shares ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create UVM !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create share S1 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! Provide RW access to S1 !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! SSH to UVM !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! Try mount S1 to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Create “file1” !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! Create snapshot from S, called SS1 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! Create share from SS1, called S2 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! Try mount S2 !! fail, access denied (Here we test that child share did not get access rules form parent share)&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! Provide RW access to S2 !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Try mount S2 !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! List files on S2 !! only one file exist - “file1”&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Create file2 in S2 !! ok, file created&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! List files on S1 !! only one file exist - “file1”&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! List files on S2 !! two files exist - “file1” and “file2”&lt;br /&gt;
|-&lt;br /&gt;
! 16 !! Unmount S1 and S2 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 17 !! Delete S2 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 18 !! Delete SS1 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 19 !! Delete S1 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 20 !! Delete UVM !! ok, deleted&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/specs/scenario-tests&amp;diff=74208</id>
		<title>Manila/specs/scenario-tests</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/specs/scenario-tests&amp;diff=74208"/>
				<updated>2015-02-23T12:15:33Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* List of scenarious */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scenario test cases for Manila project ==&lt;br /&gt;
&lt;br /&gt;
Blueprint: https://blueprints.launchpad.net/manila/+spec/scenario-tests&lt;br /&gt;
&lt;br /&gt;
===Dictionary===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Definition !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
! UVM !! User VM. It is used as client machine for mounting shares.&lt;br /&gt;
|-&lt;br /&gt;
! SSH !! Secure SHell. It is used for connection to UVMs.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
 - Depending on share driver mode, it can be required to create share-network w/o security-services.&lt;br /&gt;
 - Depending on protocol, its versions and access type, “mount” operations should be defined explicitly, scenario tests assume it as predefined and known. Hence, scenarios do not include difference between access type (IP, User, Cert). Due to this scenario tests should be data driven by “access_type”, “access_proto”,  “access_level” and “mount command with all expected options”.&lt;br /&gt;
 - ''Italic texts'' depend on specific implementations and can be unsupported by share backends.&lt;br /&gt;
 - All user VMs should be separate VMs from host of shares. They should have network connectivity with share host. User VMs should be built with image that has shared file systems clients.&lt;br /&gt;
 - Share host should have open ports for SSH protocol and protocols of shared file systems.&lt;br /&gt;
&lt;br /&gt;
===List of scenarious===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
! 1!! Share access and file operations !! This test verifies basic file operations with shares.&lt;br /&gt;
|-&lt;br /&gt;
! 2!! Single/Group access operations !! This test verifies basic single or group access operations.&lt;br /&gt;
|-&lt;br /&gt;
! 3!! Relations between source shares and child shares !! This test verifies that child share does not inherit access rules from parent and is different in general.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 1. Share access and file operations ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create UVM !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create share S !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! SSH to UVM !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! Try mount S to UVM !! fail, access denied&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! Provide RO access !! ok&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Try mount S to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! ''Try create files on S'' !! ''fail, access denied''&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! ''Unmount S from UVM'' !! ''ok''&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! ''Remove RO access'' !! ''ok, removed''&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! ''Try mount S to UVM'' !! ''fail, access denied''&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Provide RW access !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! Try mount S to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Try write files to S !! ok, written&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! Try read files from S !! ok, read&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! Try delete files on S !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 16 !! Unmount S from UVM !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 17 !! Delete S !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 18 !! Try mount S !! fail, not found&lt;br /&gt;
|-&lt;br /&gt;
! 19 !! Delete UVM !! ok, deleted&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 2. Single/Group access operations ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create user UVM1 using network1 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create user UVM2 using network2 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! Create share S !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! Add access to network1 !! ok, added&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! SSH to UVM1 !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Try mount S from UVM1 !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! SSH to UVM2 !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! Try mount S from UVM2 !! fail, access denied&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! Add access to network2 !! ok, added&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! Try mount S from UVM2 !! ok, mounted (Two VMs have it mounted at once)&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Unmount S on UVM1 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! Unmount S on UVM2 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Delete UVM1 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! Delete UVM2 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! Delete S !! ok, deleted&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 3. Relations between source shares and child shares ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create UVM !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create share S1 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! Provide RW access to S1 !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! SSH to UVM !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! Try mount S1 to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Create “file1” !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! Create snapshot from S, called SS1 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! Create share from SS1, called S2 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! Try mount S2 !! fail, access denied (Here we test that child share did not get access rules form parent share)&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! Provide RW access to S2 !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Try mount S2 !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! List files on S2 !! only one file exist - “file1”&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Create file2 in S2 !! ok, file created&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! List files on S1 !! only one file exist - “file1”&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! List files on S2 !! two files exist - “file1” and “file2”&lt;br /&gt;
|-&lt;br /&gt;
! 16 !! Unmount S1 and S2 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 17 !! Delete S2 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 18 !! Delete S1 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 19 !! Delete S1 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 20 !! Delete UVM !! ok, deleted&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/specs/scenario-tests&amp;diff=74207</id>
		<title>Manila/specs/scenario-tests</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/specs/scenario-tests&amp;diff=74207"/>
				<updated>2015-02-23T12:11:46Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* 3. Relations between source shares and child shares */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scenario test cases for Manila project ==&lt;br /&gt;
&lt;br /&gt;
Blueprint: https://blueprints.launchpad.net/manila/+spec/scenario-tests&lt;br /&gt;
&lt;br /&gt;
===Dictionary===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Definition !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
! UVM !! User VM. It is used as client machine for mounting shares.&lt;br /&gt;
|-&lt;br /&gt;
! SSH !! Secure SHell. It is used for connection to UVMs.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
 - Depending on share driver mode, it can be required to create share-network w/o security-services.&lt;br /&gt;
 - Depending on protocol, its versions and access type, “mount” operations should be defined explicitly, scenario tests assume it as predefined and known. Hence, scenarios do not include difference between access type (IP, User, Cert). Due to this scenario tests should be data driven by “access_type”, “access_proto”,  “access_level” and “mount command with all expected options”.&lt;br /&gt;
 - ''Italic texts'' depend on specific implementations and can be unsupported by share backends.&lt;br /&gt;
 - All user VMs should be separate VMs from host of shares. They should have network connectivity with share host. User VMs should be built with image that has shared file systems clients.&lt;br /&gt;
 - Share host should have open ports for SSH protocol and protocols of shared file systems.&lt;br /&gt;
&lt;br /&gt;
===List of scenarious===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
! 1!! Share access and file operations !! &lt;br /&gt;
|-&lt;br /&gt;
! 2!! Single/Group access operations !! &lt;br /&gt;
|-&lt;br /&gt;
! 3!! Relations between source shares and child shares !! &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 1. Share access and file operations ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create UVM !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create share S !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! SSH to UVM !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! Try mount S to UVM !! fail, access denied&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! Provide RO access !! ok&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Try mount S to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! ''Try create files on S'' !! ''fail, access denied''&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! ''Unmount S from UVM'' !! ''ok''&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! ''Remove RO access'' !! ''ok, removed''&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! ''Try mount S to UVM'' !! ''fail, access denied''&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Provide RW access !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! Try mount S to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Try write files to S !! ok, written&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! Try read files from S !! ok, read&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! Try delete files on S !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 16 !! Unmount S from UVM !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 17 !! Delete S !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 18 !! Try mount S !! fail, not found&lt;br /&gt;
|-&lt;br /&gt;
! 19 !! Delete UVM !! ok, deleted&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 2. Single/Group access operations ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create user UVM1 using network1 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create user UVM2 using network2 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! Create share S !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! Add access to network1 !! ok, added&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! SSH to UVM1 !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Try mount S from UVM1 !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! SSH to UVM2 !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! Try mount S from UVM2 !! fail, access denied&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! Add access to network2 !! ok, added&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! Try mount S from UVM2 !! ok, mounted (Two VMs have it mounted at once)&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Unmount S on UVM1 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! Unmount S on UVM2 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Delete UVM1 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! Delete UVM2 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! Delete S !! ok, deleted&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 3. Relations between source shares and child shares ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create UVM !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create share S1 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! Provide RW access to S1 !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! SSH to UVM !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! Try mount S1 to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Create “file1” !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! Create snapshot from S, called SS1 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! Create share from SS1, called S2 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! Try mount S2 !! fail, access denied (Here we test that child share did not get access rules form parent share)&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! Provide RW access to S2 !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Try mount S2 !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! List files on S2 !! only one file exist - “file1”&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Create file2 in S2 !! ok, file created&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! List files on S1 !! only one file exist - “file1”&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! List files on S2 !! two files exist - “file1” and “file2”&lt;br /&gt;
|-&lt;br /&gt;
! 16 !! Unmount S1 and S2 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 17 !! Delete S2 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 18 !! Delete S1 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 19 !! Delete S1 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 20 !! Delete UVM !! ok, deleted&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/specs/scenario-tests&amp;diff=74206</id>
		<title>Manila/specs/scenario-tests</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/specs/scenario-tests&amp;diff=74206"/>
				<updated>2015-02-23T12:06:16Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* 2. Single/Group access operations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scenario test cases for Manila project ==&lt;br /&gt;
&lt;br /&gt;
Blueprint: https://blueprints.launchpad.net/manila/+spec/scenario-tests&lt;br /&gt;
&lt;br /&gt;
===Dictionary===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Definition !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
! UVM !! User VM. It is used as client machine for mounting shares.&lt;br /&gt;
|-&lt;br /&gt;
! SSH !! Secure SHell. It is used for connection to UVMs.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
 - Depending on share driver mode, it can be required to create share-network w/o security-services.&lt;br /&gt;
 - Depending on protocol, its versions and access type, “mount” operations should be defined explicitly, scenario tests assume it as predefined and known. Hence, scenarios do not include difference between access type (IP, User, Cert). Due to this scenario tests should be data driven by “access_type”, “access_proto”,  “access_level” and “mount command with all expected options”.&lt;br /&gt;
 - ''Italic texts'' depend on specific implementations and can be unsupported by share backends.&lt;br /&gt;
 - All user VMs should be separate VMs from host of shares. They should have network connectivity with share host. User VMs should be built with image that has shared file systems clients.&lt;br /&gt;
 - Share host should have open ports for SSH protocol and protocols of shared file systems.&lt;br /&gt;
&lt;br /&gt;
===List of scenarious===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
! 1!! Share access and file operations !! &lt;br /&gt;
|-&lt;br /&gt;
! 2!! Single/Group access operations !! &lt;br /&gt;
|-&lt;br /&gt;
! 3!! Relations between source shares and child shares !! &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 1. Share access and file operations ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create UVM !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create share S !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! SSH to UVM !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! Try mount S to UVM !! fail, access denied&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! Provide RO access !! ok&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Try mount S to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! ''Try create files on S'' !! ''fail, access denied''&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! ''Unmount S from UVM'' !! ''ok''&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! ''Remove RO access'' !! ''ok, removed''&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! ''Try mount S to UVM'' !! ''fail, access denied''&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Provide RW access !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! Try mount S to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Try write files to S !! ok, written&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! Try read files from S !! ok, read&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! Try delete files on S !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 16 !! Unmount S from UVM !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 17 !! Delete S !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 18 !! Try mount S !! fail, not found&lt;br /&gt;
|-&lt;br /&gt;
! 19 !! Delete UVM !! ok, deleted&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 2. Single/Group access operations ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create user UVM1 using network1 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create user UVM2 using network2 !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! Create share S !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! Add access to network1 !! ok, added&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! SSH to UVM1 !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Try mount S from UVM1 !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! SSH to UVM2 !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! Try mount S from UVM2 !! fail, access denied&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! Add access to network2 !! ok, added&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! Try mount S from UVM2 !! ok, mounted (Two VMs have it mounted at once)&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Unmount S on UVM1 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! Unmount S on UVM2 !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Delete UVM1 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! Delete UVM2 !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! Delete S !! ok, deleted&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 3. Relations between source shares and child shares ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1!! TBD !! &lt;br /&gt;
|-&lt;br /&gt;
! 2!! TBD !! &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/specs/scenario-tests&amp;diff=74205</id>
		<title>Manila/specs/scenario-tests</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/specs/scenario-tests&amp;diff=74205"/>
				<updated>2015-02-23T12:01:57Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Scenario tests for Manila */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scenario test cases for Manila project ==&lt;br /&gt;
&lt;br /&gt;
Blueprint: https://blueprints.launchpad.net/manila/+spec/scenario-tests&lt;br /&gt;
&lt;br /&gt;
===Dictionary===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Definition !! Meaning&lt;br /&gt;
|-&lt;br /&gt;
! UVM !! User VM. It is used as client machine for mounting shares.&lt;br /&gt;
|-&lt;br /&gt;
! SSH !! Secure SHell. It is used for connection to UVMs.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Prerequisites===&lt;br /&gt;
 - Depending on share driver mode, it can be required to create share-network w/o security-services.&lt;br /&gt;
 - Depending on protocol, its versions and access type, “mount” operations should be defined explicitly, scenario tests assume it as predefined and known. Hence, scenarios do not include difference between access type (IP, User, Cert). Due to this scenario tests should be data driven by “access_type”, “access_proto”,  “access_level” and “mount command with all expected options”.&lt;br /&gt;
 - ''Italic texts'' depend on specific implementations and can be unsupported by share backends.&lt;br /&gt;
 - All user VMs should be separate VMs from host of shares. They should have network connectivity with share host. User VMs should be built with image that has shared file systems clients.&lt;br /&gt;
 - Share host should have open ports for SSH protocol and protocols of shared file systems.&lt;br /&gt;
&lt;br /&gt;
===List of scenarious===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
! 1!! Share access and file operations !! &lt;br /&gt;
|-&lt;br /&gt;
! 2!! Single/Group access operations !! &lt;br /&gt;
|-&lt;br /&gt;
! 3!! Relations between source shares and child shares !! &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 1. Share access and file operations ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1 !! Create UVM !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 2 !! Create share S !! ok, created&lt;br /&gt;
|-&lt;br /&gt;
! 3 !! SSH to UVM !! ok, connected&lt;br /&gt;
|-&lt;br /&gt;
! 4 !! Try mount S to UVM !! fail, access denied&lt;br /&gt;
|-&lt;br /&gt;
! 5 !! Provide RO access !! ok&lt;br /&gt;
|-&lt;br /&gt;
! 6 !! Try mount S to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 7 !! ''Try create files on S'' !! ''fail, access denied''&lt;br /&gt;
|-&lt;br /&gt;
! 8 !! ''Unmount S from UVM'' !! ''ok''&lt;br /&gt;
|-&lt;br /&gt;
! 9 !! ''Remove RO access'' !! ''ok, removed''&lt;br /&gt;
|-&lt;br /&gt;
! 10 !! ''Try mount S to UVM'' !! ''fail, access denied''&lt;br /&gt;
|-&lt;br /&gt;
! 11 !! Provide RW access !! ok, provided&lt;br /&gt;
|-&lt;br /&gt;
! 12 !! Try mount S to UVM !! ok, mounted&lt;br /&gt;
|-&lt;br /&gt;
! 13 !! Try write files to S !! ok, written&lt;br /&gt;
|-&lt;br /&gt;
! 14 !! Try read files from S !! ok, read&lt;br /&gt;
|-&lt;br /&gt;
! 15 !! Try delete files on S !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 16 !! Unmount S from UVM !! ok, unmounted&lt;br /&gt;
|-&lt;br /&gt;
! 17 !! Delete S !! ok, deleted&lt;br /&gt;
|-&lt;br /&gt;
! 18 !! Try mount S !! fail, not found&lt;br /&gt;
|-&lt;br /&gt;
! 19 !! Delete UVM !! ok, deleted&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 2. Single/Group access operations ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1!! TBD !! &lt;br /&gt;
|-&lt;br /&gt;
! 2!! TBD !! &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== 3. Relations between source shares and child shares ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! № !! Action !! Result&lt;br /&gt;
|-&lt;br /&gt;
! 1!! TBD !! &lt;br /&gt;
|-&lt;br /&gt;
! 2!! TBD !! &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=73827</id>
		<title>Manila/docs/HOWTO use tempest with manila</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=73827"/>
				<updated>2015-02-17T19:28:32Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Where do Tempest tests for Manila live? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Foreword=&lt;br /&gt;
This page describes how Tempest project for Manila project testing can be used.&lt;br /&gt;
&lt;br /&gt;
It is assumed that user who reads this is acquainted with, at least, common information about Tempest:&lt;br /&gt;
 http://docs.openstack.org/developer/tempest/&lt;br /&gt;
 https://github.com/openstack/tempest&lt;br /&gt;
&lt;br /&gt;
Also, it is assumed, that the following projects has been installed in test environmentː&lt;br /&gt;
 - cinder&lt;br /&gt;
 - glance&lt;br /&gt;
 - keystone&lt;br /&gt;
 - manila&lt;br /&gt;
 - neutron&lt;br /&gt;
 - nova&lt;br /&gt;
&lt;br /&gt;
=Where do Tempest tests for Manila live?=&lt;br /&gt;
Manila stores its tests for Tempest in its repo here:&lt;br /&gt;
 https://github.com/openstack/manila/tree/master/contrib/tempest&lt;br /&gt;
&lt;br /&gt;
These are pluggable-like files which do not require changing of core Tempest files.&lt;br /&gt;
But the way of its pluggability is implemented as work-around for Tempest, which does not have pluggable functionality for 'exceptions', 'config' and 'clients' modules.&lt;br /&gt;
It is compatible with master branch of Tempest.&lt;br /&gt;
&lt;br /&gt;
Just copy these files to Tempest dirː&lt;br /&gt;
 $ TEMPEST_DIR=/path/to/tempest&lt;br /&gt;
 $ MANILA_DIR=/path/to/manila&lt;br /&gt;
 $ cp -rv ${MANILA_DIR}/contrib/tempest/tempest/* ${TEMPEST_DIR}/tempest&lt;br /&gt;
&lt;br /&gt;
=Configuring Tempest before running tests=&lt;br /&gt;
Any test running with Tempest requires update of Tempest's config file located in&lt;br /&gt;
 etc/tempest.conf&lt;br /&gt;
If it does not exist, just copy template &amp;quot;tempest.conf.sample&amp;quot;&lt;br /&gt;
 cp tempest.conf.sample tempest.conf&lt;br /&gt;
&lt;br /&gt;
Manila's config extension is defined in&lt;br /&gt;
 https://github.com/openstack/manila/blob/master/contrib/tempest/tempest/config_share.py&lt;br /&gt;
&lt;br /&gt;
Subsections below describe sections and options that can be updated with Tempest's config file.&lt;br /&gt;
&lt;br /&gt;
==Cluster related options in general==&lt;br /&gt;
Required options for Manila tests are described below.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;cli&amp;quot;===&lt;br /&gt;
====Option &amp;quot;enabled&amp;quot;====&lt;br /&gt;
Set it to &lt;br /&gt;
 True&lt;br /&gt;
value, to be able to run Manila cli tests.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;identity&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v2.0/&lt;br /&gt;
Used for all tests, if v2 auth enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri_v3&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v3/&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
====Option &amp;quot;password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'alt_demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'admin' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;network&amp;quot;===&lt;br /&gt;
====Option &amp;quot;public_network_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron net-list&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;public_router_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron router-list&lt;br /&gt;
&lt;br /&gt;
==Manila related options==&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;service_available&amp;quot;===&lt;br /&gt;
This section is defined within vanila Tempest. But &amp;quot;manila&amp;quot; option is defined within Manila's extension.&lt;br /&gt;
====Option &amp;quot;manila&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː Whether or not manila is expected to be available&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;share&amp;quot;===&lt;br /&gt;
This section is defined with Manila's extension.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;catalog_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː share&lt;br /&gt;
 descriptionː Catalog type of the Share service. Should be changed only if it is changed in Manila itself.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;endpoint_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː publicURL&lt;br /&gt;
 descriptionː The endpoint type to use for the share service. Expected values are 'public', 'admin', 'internal', 'publicURL', 'adminURL' and 'internalURL'.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multitenancy_enabled&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː This option is used to determine backend driver type, multitenant driver uses share-networks, but single-tenant doesn't.&lt;br /&gt;
&lt;br /&gt;
 Current singletenant drivers: LVM, GlusterFS, NetApp 7-mode&lt;br /&gt;
 Current multitenant drivers: Generic, NetApp Cluster-mode (cmode)&lt;br /&gt;
 Default driver in manila is Generic driver, so &amp;quot;multitenancy_enabled&amp;quot; option is enabled by default.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː The first value of the list is protocol by default, items of the list show enabled protocols.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - will be tested only NFS type of shares and common actions&lt;br /&gt;
 cifs - will be tested only CIFS type of shares and common actions&lt;br /&gt;
 nfs,cifs - will be tested both share types and common actions, for common actions will be used nfs protocol&lt;br /&gt;
 cifs,nfs - will be tested both share types and common actions, for common actions will be used cifs protocol&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_ip_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː Whether allow running of ip rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_sid_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː Whether allow running of sid (username/usergroup) rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username_for_sid_rules&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː Administrator&lt;br /&gt;
 descriptionː What name should be used with sid rule tests? Specify it if 'sid rule' tests are enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;storage_protocol&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for alternative member creds. At the moment there are no tests, that use share_network with creds for alternative user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for admin creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multi_backend&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː False&lt;br /&gt;
 descriptionː Does your environment has more than 1 backend or not? If yes, than you can set it to True to enable multibackend tests in tempest.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;backend_names&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː names of backends in Manila, that Tempest should use. Tempest will use first two values from list and will use it only if option &amp;quot;multi_backend&amp;quot; is Enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_interval&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 3&lt;br /&gt;
 descriptionː time to wait between resend of requests.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_timeout&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 500&lt;br /&gt;
 descriptionː time to wait until raise of Exception with timeout.&lt;br /&gt;
&lt;br /&gt;
=How to run tests=&lt;br /&gt;
==Run only cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests with specified amount of threads==&lt;br /&gt;
 export TEMPEST_CONCURRENCY=4&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila* -- --concurrency=$TEMPEST_CONCURRENCY\&amp;quot;&lt;br /&gt;
Above action will try to run Tempest in 4 threads, if your host does have at least 4 cores. By default it uses amount of threads equal to amount of available cores.&lt;br /&gt;
&lt;br /&gt;
Manila tests are OK using concurrent threads.&lt;br /&gt;
&lt;br /&gt;
==If something went wrong with test launch==&lt;br /&gt;
Exception may be raised on step where tests are gathered and parsed and as a result we would see something similar to the followingː&lt;br /&gt;
 running testr&lt;br /&gt;
 Non-zero exit code (2) from test listing. stdout='\xb3)\x01@d@Ytempest.api.share.admin.test_admin_actions.AdminActionsTest.test_force_delete_share[gate]&amp;lt;Z\x90&amp;quot;\xb3)\x01@g@\\&lt;br /&gt;
 ...&lt;br /&gt;
 tempest.scenario.test_volume_boot_pattern6B\x1e\xcc', stderr=None&lt;br /&gt;
 error: testr failed (3)&lt;br /&gt;
 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \&lt;br /&gt;
 OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \&lt;br /&gt;
 OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \&lt;br /&gt;
 OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \&lt;br /&gt;
 ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./tempest/test_discover} --list &lt;br /&gt;
 &lt;br /&gt;
 ======&lt;br /&gt;
 Totals&lt;br /&gt;
 ======&lt;br /&gt;
 Run: 0 in 0.0 sec.&lt;br /&gt;
  - Passed: 0&lt;br /&gt;
  - Skipped: 0&lt;br /&gt;
  - Failed: 0&lt;br /&gt;
 ERROR: InvocationError: '/bin/bash tools/pretty_tox.sh tempest/api/share/test_extensions.py'&lt;br /&gt;
 __________________________________________________________________________________________________________________ summary ___________________________________________________________________________________________________________________&lt;br /&gt;
 ERROR:   venv: commands failed&lt;br /&gt;
&lt;br /&gt;
There could be different causes for that, in most cases - dependency issues, when some dependency is not installed and can not be imported. Or python syntax error, if something were changed in code, etc...&lt;br /&gt;
&lt;br /&gt;
As we can see, it does not show us real problem and we need dig root cause up. It can be done by a lot of means, for example, try nextː&lt;br /&gt;
 nosetests -sv path/to/tests&lt;br /&gt;
or&lt;br /&gt;
 .tox/venv/bin/python -m testtools.run discover -t ./ path/to/tests&lt;br /&gt;
&lt;br /&gt;
=How to write own tests=&lt;br /&gt;
&lt;br /&gt;
==Where to put new tests==&lt;br /&gt;
All tests, that cover admin API are stored in &lt;br /&gt;
 tempest/api/share/admin/*&lt;br /&gt;
All tests, that cover non-admin API are stored in&lt;br /&gt;
 tempest/api/share/*&lt;br /&gt;
&lt;br /&gt;
==Add method as API caller==&lt;br /&gt;
All such methods are stored in &lt;br /&gt;
 tempest/services/share/json/shares_client.py&lt;br /&gt;
XML is considered as deprecated and tests for it were removed, so, only json &amp;quot;client&amp;quot; is expected.&lt;br /&gt;
&lt;br /&gt;
==Positive/Negative==&lt;br /&gt;
Positive and negative tests are separated into different modules, module with &amp;quot;negative&amp;quot; tests should have &amp;quot;_negative&amp;quot; suffix.&lt;br /&gt;
Example of module with positive testsː&lt;br /&gt;
 tempest/api/share/test_shares.py&lt;br /&gt;
Example of module with negative testsː&lt;br /&gt;
 tempest/api/share/test_shares_negative.py&lt;br /&gt;
&lt;br /&gt;
==Resolving concurrency issue==&lt;br /&gt;
If some test is sensible to changes that can be done by other tests, this test should use isolated tenant, example of it can be found in quota tests, located in&lt;br /&gt;
 tempest/api/share/admin/test_quotas.py&lt;br /&gt;
&lt;br /&gt;
==Reusing resources==&lt;br /&gt;
If several tests have same dependencies, they should use same resources if possible, it can be created in &amp;quot;setUpClass&amp;quot; method. Example can be found hereː&lt;br /&gt;
 tempest/api/share/test_shares_actions.py&lt;br /&gt;
&lt;br /&gt;
==Utilization of resources==&lt;br /&gt;
Utilization stuff is defined in the following moduleː&lt;br /&gt;
 tempest/api/share/base.py&lt;br /&gt;
&lt;br /&gt;
Basic actionsː&lt;br /&gt;
 1) All setUpClass methods should be decorated with &amp;quot;@test.safe_setup&amp;quot; decorator.&lt;br /&gt;
 Reasonː if we get Exception on some step in setUpClass, tearDownClass won't start. So, this decorator runs 'tearDownClass' in any case.&lt;br /&gt;
&lt;br /&gt;
 2) Create resources that should be deleted with methods from base class.&lt;br /&gt;
 correctː self.create_share() - will add resources to deletion queue&lt;br /&gt;
 incorrectː self.shares_client.create_share() - won't add resource to deletion queue&lt;br /&gt;
&lt;br /&gt;
Common infoː&lt;br /&gt;
 All resources in deletion queue will be deleted in LIFO sequence - &amp;quot;last in first out&amp;quot; or &amp;quot;last created first deleted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 There are two deletion queuesː&lt;br /&gt;
 - runs after each test&lt;br /&gt;
 - runs after each test-suite (class with tests)&lt;br /&gt;
 Be attentive setting up it.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=73826</id>
		<title>Manila/docs/HOWTO use tempest with manila</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=73826"/>
				<updated>2015-02-17T19:28:15Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Configuring Tempest before running tests */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Foreword=&lt;br /&gt;
This page describes how Tempest project for Manila project testing can be used.&lt;br /&gt;
&lt;br /&gt;
It is assumed that user who reads this is acquainted with, at least, common information about Tempest:&lt;br /&gt;
 http://docs.openstack.org/developer/tempest/&lt;br /&gt;
 https://github.com/openstack/tempest&lt;br /&gt;
&lt;br /&gt;
Also, it is assumed, that the following projects has been installed in test environmentː&lt;br /&gt;
 - cinder&lt;br /&gt;
 - glance&lt;br /&gt;
 - keystone&lt;br /&gt;
 - manila&lt;br /&gt;
 - neutron&lt;br /&gt;
 - nova&lt;br /&gt;
&lt;br /&gt;
=Where do Tempest tests for Manila live?=&lt;br /&gt;
Manila stores its tests for Tempest in its repo here:&lt;br /&gt;
 https://github.com/stackforge/manila/tree/master/contrib/tempest&lt;br /&gt;
&lt;br /&gt;
These are pluggable-like files which do not require changing of core Tempest files.&lt;br /&gt;
But the way of its pluggability is implemented as work-around for Tempest, which does not have pluggable functionality for 'exceptions', 'config' and 'clients' modules.&lt;br /&gt;
It is compatible with master branch of Tempest.&lt;br /&gt;
&lt;br /&gt;
Just copy these files to Tempest dirː&lt;br /&gt;
 $ TEMPEST_DIR=/path/to/tempest&lt;br /&gt;
 $ MANILA_DIR=/path/to/manila&lt;br /&gt;
 $ cp -rv ${MANILA_DIR}/contrib/tempest/tempest/* ${TEMPEST_DIR}/tempest&lt;br /&gt;
&lt;br /&gt;
=Configuring Tempest before running tests=&lt;br /&gt;
Any test running with Tempest requires update of Tempest's config file located in&lt;br /&gt;
 etc/tempest.conf&lt;br /&gt;
If it does not exist, just copy template &amp;quot;tempest.conf.sample&amp;quot;&lt;br /&gt;
 cp tempest.conf.sample tempest.conf&lt;br /&gt;
&lt;br /&gt;
Manila's config extension is defined in&lt;br /&gt;
 https://github.com/openstack/manila/blob/master/contrib/tempest/tempest/config_share.py&lt;br /&gt;
&lt;br /&gt;
Subsections below describe sections and options that can be updated with Tempest's config file.&lt;br /&gt;
&lt;br /&gt;
==Cluster related options in general==&lt;br /&gt;
Required options for Manila tests are described below.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;cli&amp;quot;===&lt;br /&gt;
====Option &amp;quot;enabled&amp;quot;====&lt;br /&gt;
Set it to &lt;br /&gt;
 True&lt;br /&gt;
value, to be able to run Manila cli tests.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;identity&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v2.0/&lt;br /&gt;
Used for all tests, if v2 auth enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri_v3&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v3/&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
====Option &amp;quot;password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'alt_demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'admin' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;network&amp;quot;===&lt;br /&gt;
====Option &amp;quot;public_network_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron net-list&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;public_router_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron router-list&lt;br /&gt;
&lt;br /&gt;
==Manila related options==&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;service_available&amp;quot;===&lt;br /&gt;
This section is defined within vanila Tempest. But &amp;quot;manila&amp;quot; option is defined within Manila's extension.&lt;br /&gt;
====Option &amp;quot;manila&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː Whether or not manila is expected to be available&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;share&amp;quot;===&lt;br /&gt;
This section is defined with Manila's extension.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;catalog_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː share&lt;br /&gt;
 descriptionː Catalog type of the Share service. Should be changed only if it is changed in Manila itself.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;endpoint_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː publicURL&lt;br /&gt;
 descriptionː The endpoint type to use for the share service. Expected values are 'public', 'admin', 'internal', 'publicURL', 'adminURL' and 'internalURL'.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multitenancy_enabled&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː This option is used to determine backend driver type, multitenant driver uses share-networks, but single-tenant doesn't.&lt;br /&gt;
&lt;br /&gt;
 Current singletenant drivers: LVM, GlusterFS, NetApp 7-mode&lt;br /&gt;
 Current multitenant drivers: Generic, NetApp Cluster-mode (cmode)&lt;br /&gt;
 Default driver in manila is Generic driver, so &amp;quot;multitenancy_enabled&amp;quot; option is enabled by default.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː The first value of the list is protocol by default, items of the list show enabled protocols.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - will be tested only NFS type of shares and common actions&lt;br /&gt;
 cifs - will be tested only CIFS type of shares and common actions&lt;br /&gt;
 nfs,cifs - will be tested both share types and common actions, for common actions will be used nfs protocol&lt;br /&gt;
 cifs,nfs - will be tested both share types and common actions, for common actions will be used cifs protocol&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_ip_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː Whether allow running of ip rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_sid_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː Whether allow running of sid (username/usergroup) rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username_for_sid_rules&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː Administrator&lt;br /&gt;
 descriptionː What name should be used with sid rule tests? Specify it if 'sid rule' tests are enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;storage_protocol&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for alternative member creds. At the moment there are no tests, that use share_network with creds for alternative user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for admin creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multi_backend&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː False&lt;br /&gt;
 descriptionː Does your environment has more than 1 backend or not? If yes, than you can set it to True to enable multibackend tests in tempest.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;backend_names&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː names of backends in Manila, that Tempest should use. Tempest will use first two values from list and will use it only if option &amp;quot;multi_backend&amp;quot; is Enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_interval&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 3&lt;br /&gt;
 descriptionː time to wait between resend of requests.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_timeout&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 500&lt;br /&gt;
 descriptionː time to wait until raise of Exception with timeout.&lt;br /&gt;
&lt;br /&gt;
=How to run tests=&lt;br /&gt;
==Run only cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests with specified amount of threads==&lt;br /&gt;
 export TEMPEST_CONCURRENCY=4&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila* -- --concurrency=$TEMPEST_CONCURRENCY\&amp;quot;&lt;br /&gt;
Above action will try to run Tempest in 4 threads, if your host does have at least 4 cores. By default it uses amount of threads equal to amount of available cores.&lt;br /&gt;
&lt;br /&gt;
Manila tests are OK using concurrent threads.&lt;br /&gt;
&lt;br /&gt;
==If something went wrong with test launch==&lt;br /&gt;
Exception may be raised on step where tests are gathered and parsed and as a result we would see something similar to the followingː&lt;br /&gt;
 running testr&lt;br /&gt;
 Non-zero exit code (2) from test listing. stdout='\xb3)\x01@d@Ytempest.api.share.admin.test_admin_actions.AdminActionsTest.test_force_delete_share[gate]&amp;lt;Z\x90&amp;quot;\xb3)\x01@g@\\&lt;br /&gt;
 ...&lt;br /&gt;
 tempest.scenario.test_volume_boot_pattern6B\x1e\xcc', stderr=None&lt;br /&gt;
 error: testr failed (3)&lt;br /&gt;
 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \&lt;br /&gt;
 OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \&lt;br /&gt;
 OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \&lt;br /&gt;
 OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \&lt;br /&gt;
 ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./tempest/test_discover} --list &lt;br /&gt;
 &lt;br /&gt;
 ======&lt;br /&gt;
 Totals&lt;br /&gt;
 ======&lt;br /&gt;
 Run: 0 in 0.0 sec.&lt;br /&gt;
  - Passed: 0&lt;br /&gt;
  - Skipped: 0&lt;br /&gt;
  - Failed: 0&lt;br /&gt;
 ERROR: InvocationError: '/bin/bash tools/pretty_tox.sh tempest/api/share/test_extensions.py'&lt;br /&gt;
 __________________________________________________________________________________________________________________ summary ___________________________________________________________________________________________________________________&lt;br /&gt;
 ERROR:   venv: commands failed&lt;br /&gt;
&lt;br /&gt;
There could be different causes for that, in most cases - dependency issues, when some dependency is not installed and can not be imported. Or python syntax error, if something were changed in code, etc...&lt;br /&gt;
&lt;br /&gt;
As we can see, it does not show us real problem and we need dig root cause up. It can be done by a lot of means, for example, try nextː&lt;br /&gt;
 nosetests -sv path/to/tests&lt;br /&gt;
or&lt;br /&gt;
 .tox/venv/bin/python -m testtools.run discover -t ./ path/to/tests&lt;br /&gt;
&lt;br /&gt;
=How to write own tests=&lt;br /&gt;
&lt;br /&gt;
==Where to put new tests==&lt;br /&gt;
All tests, that cover admin API are stored in &lt;br /&gt;
 tempest/api/share/admin/*&lt;br /&gt;
All tests, that cover non-admin API are stored in&lt;br /&gt;
 tempest/api/share/*&lt;br /&gt;
&lt;br /&gt;
==Add method as API caller==&lt;br /&gt;
All such methods are stored in &lt;br /&gt;
 tempest/services/share/json/shares_client.py&lt;br /&gt;
XML is considered as deprecated and tests for it were removed, so, only json &amp;quot;client&amp;quot; is expected.&lt;br /&gt;
&lt;br /&gt;
==Positive/Negative==&lt;br /&gt;
Positive and negative tests are separated into different modules, module with &amp;quot;negative&amp;quot; tests should have &amp;quot;_negative&amp;quot; suffix.&lt;br /&gt;
Example of module with positive testsː&lt;br /&gt;
 tempest/api/share/test_shares.py&lt;br /&gt;
Example of module with negative testsː&lt;br /&gt;
 tempest/api/share/test_shares_negative.py&lt;br /&gt;
&lt;br /&gt;
==Resolving concurrency issue==&lt;br /&gt;
If some test is sensible to changes that can be done by other tests, this test should use isolated tenant, example of it can be found in quota tests, located in&lt;br /&gt;
 tempest/api/share/admin/test_quotas.py&lt;br /&gt;
&lt;br /&gt;
==Reusing resources==&lt;br /&gt;
If several tests have same dependencies, they should use same resources if possible, it can be created in &amp;quot;setUpClass&amp;quot; method. Example can be found hereː&lt;br /&gt;
 tempest/api/share/test_shares_actions.py&lt;br /&gt;
&lt;br /&gt;
==Utilization of resources==&lt;br /&gt;
Utilization stuff is defined in the following moduleː&lt;br /&gt;
 tempest/api/share/base.py&lt;br /&gt;
&lt;br /&gt;
Basic actionsː&lt;br /&gt;
 1) All setUpClass methods should be decorated with &amp;quot;@test.safe_setup&amp;quot; decorator.&lt;br /&gt;
 Reasonː if we get Exception on some step in setUpClass, tearDownClass won't start. So, this decorator runs 'tearDownClass' in any case.&lt;br /&gt;
&lt;br /&gt;
 2) Create resources that should be deleted with methods from base class.&lt;br /&gt;
 correctː self.create_share() - will add resources to deletion queue&lt;br /&gt;
 incorrectː self.shares_client.create_share() - won't add resource to deletion queue&lt;br /&gt;
&lt;br /&gt;
Common infoː&lt;br /&gt;
 All resources in deletion queue will be deleted in LIFO sequence - &amp;quot;last in first out&amp;quot; or &amp;quot;last created first deleted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 There are two deletion queuesː&lt;br /&gt;
 - runs after each test&lt;br /&gt;
 - runs after each test-suite (class with tests)&lt;br /&gt;
 Be attentive setting up it.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=71099</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=71099"/>
				<updated>2015-01-05T14:58:02Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: Meetings on 25 Dec 2014 and 1 Jan 2015 are CANCELLED due to holidays.'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 8 Jan, 2015, 15:00 UTC'''&lt;br /&gt;
# Development status&lt;br /&gt;
# rename driver mode (chen)&lt;br /&gt;
# [https://blueprints.launchpad.net/manila/+spec/level-of-access-for-shares BP &amp;quot;level-of-access-for-shares&amp;quot;] (vponomaryov)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
http://eavesdrop.openstack.org/meetings/manila/&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=71098</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=71098"/>
				<updated>2015-01-05T14:57:44Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Next meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: Meetings on 25 Dec 2014 and 1 Jan 2015 are CANCELLED due to holidays.'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 8 Jan, 2015, 15:00 UTC'''&lt;br /&gt;
# Development status&lt;br /&gt;
# rename driver mode (chen)&lt;br /&gt;
# [https://blueprints.launchpad.net/manila/+spec/level-of-access-for-shares BP &amp;quot;level-of-access-for-shares&amp;quot;] (vponomaryov)ː &lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
http://eavesdrop.openstack.org/meetings/manila/&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/specs/split-storage-actions-computing-and-networking&amp;diff=67794</id>
		<title>Manila/specs/split-storage-actions-computing-and-networking</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/specs/split-storage-actions-computing-and-networking&amp;diff=67794"/>
				<updated>2014-11-13T07:36:01Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: Created page with &amp;quot;= Split storage actions, computing and networking = This page describes changes to concept of share provisioning, interfaces changes and required implementations.  == Intro ==...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Split storage actions, computing and networking =&lt;br /&gt;
This page describes changes to concept of share provisioning, interfaces changes and required implementations.&lt;br /&gt;
&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
For the moment Manila has different share drivers that implement storage activities, computing and networking all in one module using only neutron network plugin in some cases.&lt;br /&gt;
&lt;br /&gt;
We should split it to logical parts:&lt;br /&gt;
 1) share driver (storage activities)&lt;br /&gt;
 2) compute helper (share server supply)&lt;br /&gt;
 3) networking helper (network related logic)&lt;br /&gt;
&lt;br /&gt;
as interfaces that should be implemented.&lt;br /&gt;
&lt;br /&gt;
Details:&lt;br /&gt;
&lt;br /&gt;
 (1) share driver will implement all main interfaces:&lt;br /&gt;
 - create/delete share f/wo snapshot&lt;br /&gt;
 - create/delete snapshot&lt;br /&gt;
 - allow/deny access&lt;br /&gt;
&lt;br /&gt;
For getting share server it will use one of provided &amp;quot;compute helpers&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 (2) compute helper will implement interfaces of share server creation and deletion. It will use &amp;quot;networking helper&amp;quot;&lt;br /&gt;
Possible implementations:&lt;br /&gt;
 - Nova and VMs&lt;br /&gt;
 - Ironic and hardware hosts&lt;br /&gt;
 - storage-based (vservers in NetApp cDOT, etc...)&lt;br /&gt;
&lt;br /&gt;
 (3) networking helper will handle all network-related stuff, like:&lt;br /&gt;
 - no network creation, no share server creation, usage of predefined share server (analog of so called single-tenancy)&lt;br /&gt;
 - no network creation, share server creation with address from predefined network (combination of single and multi tenancy)&lt;br /&gt;
 - creation of network (using either neutron or no-network), creation of share server (analog of so called multi-tenancy)&lt;br /&gt;
&lt;br /&gt;
See pic with share driver - compute helper cooperation:&lt;br /&gt;
https://docs.google.com/drawings/d/1qUCBzIBnxDSJElWHydLlMIQAZznJttrYjr0thP1O-N4/edit?usp=sharing&lt;br /&gt;
&lt;br /&gt;
== Proposed changes ==&lt;br /&gt;
&lt;br /&gt;
=== Share Manager ===&lt;br /&gt;
&lt;br /&gt;
Create &amp;quot;ShareManagerV2&amp;quot; in parallel to &amp;quot;ShareManager&amp;quot;, then remove usage of &amp;quot;ShareManager&amp;quot;, then remove &amp;quot;ShareManager&amp;quot; at all and rename &amp;quot;ShareManagerV2&amp;quot; to &amp;quot;ShareManager&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Share Drivers ===&lt;br /&gt;
&lt;br /&gt;
Interfaces:&lt;br /&gt;
Will be the same, except following:&lt;br /&gt;
&amp;quot;setup_server&amp;quot; and &amp;quot;teardown_server&amp;quot; will be changed to use compute helpers&lt;br /&gt;
&lt;br /&gt;
=== Compute Helpers ===&lt;br /&gt;
&lt;br /&gt;
interfaces:&lt;br /&gt;
 a) get_share_server(self, context, share_network_id)&lt;br /&gt;
 -- share server either will be created or reused existed one based on share network.&lt;br /&gt;
 -- security services will be taken from DB using &amp;quot;share_network_id&amp;quot; if some exist&lt;br /&gt;
 -- should return id of share server either explicitly or as exception object attribute&lt;br /&gt;
&lt;br /&gt;
 b) delete_share_server(self, context, share_server)&lt;br /&gt;
 -- delete share server and release all allocated resources&lt;br /&gt;
&lt;br /&gt;
Share Servers will be used by share manager and share drivers.&lt;br /&gt;
&lt;br /&gt;
=== Network Helpers ===&lt;br /&gt;
&lt;br /&gt;
Share Network Model should be extended with following new options:&lt;br /&gt;
&lt;br /&gt;
 1) --nova-network-id&lt;br /&gt;
 will be used for getting all required info from nova-network. It is mutually exclusive with following options and existing neutron options.&lt;br /&gt;
&lt;br /&gt;
 2) --flat-network-ip-pool&lt;br /&gt;
 it will expect CIDR , list of CIDRs , list of IPS, list of CIDRs and IPs as values to be used for IP provisioning. It is mutually exclusive with following and above options and existing neutron options.&lt;br /&gt;
&lt;br /&gt;
 3) --dhcp-endpoint&lt;br /&gt;
 it wil be used to get IP address from. It is mutually exclusive with above options and existing neutron options.&lt;br /&gt;
&lt;br /&gt;
Network helper will have defined three plugins for each of modes, here is description how it takes decision what should be used:&lt;br /&gt;
&lt;br /&gt;
flat_network:&lt;br /&gt;
--dhcp-endpoint&lt;br /&gt;
--flat-network-ip-pool&lt;br /&gt;
&lt;br /&gt;
nova-network:&lt;br /&gt;
--nova-network-id&lt;br /&gt;
&lt;br /&gt;
neutron_network:&lt;br /&gt;
--neutron-net-id&lt;br /&gt;
--neutron-subnet-id&lt;br /&gt;
&lt;br /&gt;
It should not be allowed to set up contradictive options to share-network.&lt;br /&gt;
&lt;br /&gt;
interfaces:&lt;br /&gt;
&lt;br /&gt;
 a) allocate_network(self, context, share_server, share_network, amount_of_ports, **kwargs) &lt;br /&gt;
 will get network data from share network, then will allocate required net resources for share server.&lt;br /&gt;
&lt;br /&gt;
 b) deallocate_network(self, context, share_server) &lt;br /&gt;
 will read all allocated network data for share server and release it.&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
Modules will be stored as following:&lt;br /&gt;
&lt;br /&gt;
==== Share Drivers ====&lt;br /&gt;
&lt;br /&gt;
interface:&lt;br /&gt;
 - manila/share/driver.py&lt;br /&gt;
&lt;br /&gt;
implementations:&lt;br /&gt;
 - manila/share/drivers/generic.py&lt;br /&gt;
 - manila/share/drivers/netapp/cluster_mode.py&lt;br /&gt;
 - manila/share/drivers/emc/driver.py&lt;br /&gt;
 - manila/share/drivers/ibm/gpfs.py&lt;br /&gt;
 - manila/share/drivers/glusterfs.py&lt;br /&gt;
&lt;br /&gt;
==== Compute Helpers ====&lt;br /&gt;
&lt;br /&gt;
interface:&lt;br /&gt;
 - manila/share/network_helper.py&lt;br /&gt;
&lt;br /&gt;
implementations:&lt;br /&gt;
 - manila/share/compute_helpers/nova.py&lt;br /&gt;
 - manila/share/compute_helpers/ironic.py&lt;br /&gt;
 - manila/share/compute_helpers/netapp.py&lt;br /&gt;
 - manila/share/compute_helpers/emc.py&lt;br /&gt;
&lt;br /&gt;
==== Network Helpers ====&lt;br /&gt;
&lt;br /&gt;
interface:&lt;br /&gt;
 - manila/share/network_helper.py&lt;br /&gt;
&lt;br /&gt;
implementations:&lt;br /&gt;
 - manila/share/network_helpers/flat_network.py&lt;br /&gt;
 - manila/share/network_helpers/nova_network.py&lt;br /&gt;
 - manila/share/network_helpers/neutron.py&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66677</id>
		<title>Manila/Kilo Network Changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66677"/>
				<updated>2014-10-23T14:59:12Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Cross-tenant share servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This document is intended to outline the design changes around Manila networking in the Kilo release.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
=== Simple lab config ===&lt;br /&gt;
A manila developer wants to write a driver for a new hardware platform. The&lt;br /&gt;
hardware exists in a lab plugged into a network switch with no VLAN tagging.&lt;br /&gt;
The developer has no management access on the switch or router and while he&lt;br /&gt;
does have management access on the storage controller he doesn't have any&lt;br /&gt;
physical access to modify cabling. The storage controller is configured&lt;br /&gt;
with static IP addresses on its management and data interfaces. On the plus&lt;br /&gt;
side, the developer had gotten the lab administrators to set aside a pool&lt;br /&gt;
of IP addresses on the same subnet which he can use to create SVMs.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple SVMs&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== POC installation at a customer site ===&lt;br /&gt;
A customer which already uses OpenStack with some commercial storage wants&lt;br /&gt;
to experiment with Manila to learn about it and evaluate how useful it might&lt;br /&gt;
be. The customer already owns several storage controllers but they are all in&lt;br /&gt;
use either in production or in other proofs of concept or test projects in&lt;br /&gt;
the eval lab. The customer has administrator access to and physical access to&lt;br /&gt;
all of the revelant equipment but doesn't wish to disturb the existing&lt;br /&gt;
environment just to do a quick POC. A storage controller will need to be&lt;br /&gt;
shared, and the shared controller is cabled to a network switch with no VLAN&lt;br /&gt;
tagging.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Enterprise private cloud ===&lt;br /&gt;
An IT department has built a moderately large private cloud to serve various&lt;br /&gt;
business units in one company. The business units all know about eachother&lt;br /&gt;
and rely one simple access control to protect data from prying eyes and&lt;br /&gt;
accidental damage. The main motivation for building a cloud is the &amp;quot;aaS&amp;quot;&lt;br /&gt;
model which allows IT to be more efficient and responsive. The company is a&lt;br /&gt;
large user of NAS storage (on commercial storage controllers) and IT wants&lt;br /&gt;
to roll out Manila in production to begin to offer NASaaS so its userbase&lt;br /&gt;
can eventually stop using traditional NAS. The IT department has complete&lt;br /&gt;
control of its network design, physically and logically. Because all of the&lt;br /&gt;
&amp;quot;tenants&amp;quot; of the private cloud exist within one company a significant amount&lt;br /&gt;
of infrastructure is shared, including Active Directory, LDAP, and Kerberos,&lt;br /&gt;
and tenants are not firewalled off from each other in any complete sense.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Public Cloud Service ===&lt;br /&gt;
A company that offers cloud services to the public, based on OpenStack, would&lt;br /&gt;
like to deploy Manila in production and begin to offer NASaaS to its&lt;br /&gt;
customers alongside block and object storage. Tenants expect complete privacy&lt;br /&gt;
for their data, both in motion and at rest. Some customers have VPN&lt;br /&gt;
connections between their corporate offices and the cloud which their expect&lt;br /&gt;
only their own VMs to be able to access.&lt;br /&gt;
&lt;br /&gt;
* Network: segmented, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to detect the existence of others tenants&lt;br /&gt;
* Other considerations: network segmentation may be VLAN, VXLAN, or GRE&lt;br /&gt;
&lt;br /&gt;
=== Public cloud (Tenant Facilitated) ===&lt;br /&gt;
Tenants desire to fire up and deliver Manila wholly contained within their tenant context atop a public (or potentially private) cloud.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, VPC, multiple SVMs&lt;br /&gt;
* Security: defined by tenant owner and contained within the context&lt;br /&gt;
* Other considerations: tenant network may reside atop any number of SDN technologies.&lt;br /&gt;
&lt;br /&gt;
=== Standalone installation for management of existing NAS ===&lt;br /&gt;
&lt;br /&gt;
An IT department wishes to offer NASaaS to users but currently uses funky&lt;br /&gt;
proprietary cloud software written by engineers with bad taste. They decide&lt;br /&gt;
to use Manila but without the rest of the OpenStack. Commercial storage&lt;br /&gt;
controllers are dedicated specifically for this purpose.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Automated test system ===&lt;br /&gt;
&lt;br /&gt;
A manila developer would like to be able to quickly setup Manila inside a&lt;br /&gt;
virtual environment for testing. Manila and all of the rest of OpenStack&lt;br /&gt;
will run inside a single VM with network connectivity to the outside world&lt;br /&gt;
provided by a virtual router. The storage controller to be tested is not&lt;br /&gt;
virtualized and is shared with multiple test nodes. The developer has access&lt;br /&gt;
to configure the storage controller but the VM where the tests are being&lt;br /&gt;
run is in a different locale, connected only by IP to the storage controller.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Triple-O &amp;quot;Under Cloud&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
A deployer of OpenStack employing Triple-O employees Manila at the under cloud layer to spin up / down storage server instances to facilitate Manila service expansion / contraction.&lt;br /&gt;
Under cloud provisioning primitives (e.g. NFS export) for Cinder backends or Glance repositories are employed&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple share servers&lt;br /&gt;
* Security: TBD&lt;br /&gt;
* Other considerations: TBD&lt;br /&gt;
&lt;br /&gt;
== Design Changes ==&lt;br /&gt;
&lt;br /&gt;
To accommodate the above use cases, the following changes to Manila will be neededː&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share servers ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share server usable by multiple tenants, and disable the creation of new share servers. This enables cases where share servers cannot be created by Manila either because of lack of access or lack of networking resources.&lt;br /&gt;
&lt;br /&gt;
Open questionsː&lt;br /&gt;
* How will the share server get imported into Manila? Conf file options? A new admin API?&lt;br /&gt;
* Is there any point in allowing a mix of manila-created share servers with administrator create share servers?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Proposalsː&lt;br /&gt;
&lt;br /&gt;
 1) Easy&lt;br /&gt;
 1.1) Add support of single preconfigured share-server for each driver separately. - They will work as single-tenant drivers in case no share-network provided.&lt;br /&gt;
 proː no need to create share-network&lt;br /&gt;
 conː only one share-server will be used&lt;br /&gt;
&lt;br /&gt;
 2) Hard&lt;br /&gt;
 2.1) Add new APIs for share-server creation and share-server-details update and then link all of it to some share-network and back-end&lt;br /&gt;
 proː dynamic add of custom share-servers&lt;br /&gt;
 conː hard to support driver-specific things&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share networks ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share network usable by multiple tenants. This network is used to create new share servers when the tenant declines to specify a share network (acting as a &amp;quot;default share network&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Proposalsː&lt;br /&gt;
 1) Allow creation of &amp;quot;public&amp;quot; and &amp;quot;private&amp;quot; share-networks&lt;br /&gt;
 2) Handle possibility to create both types by policies&lt;br /&gt;
 3) Add possibility to make one of &amp;quot;public&amp;quot; share networks as &amp;quot;default&amp;quot; that will be used if one did not provide share-network explicitly.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66675</id>
		<title>Manila/Kilo Network Changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66675"/>
				<updated>2014-10-23T14:58:51Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Cross-tenant share servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This document is intended to outline the design changes around Manila networking in the Kilo release.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
=== Simple lab config ===&lt;br /&gt;
A manila developer wants to write a driver for a new hardware platform. The&lt;br /&gt;
hardware exists in a lab plugged into a network switch with no VLAN tagging.&lt;br /&gt;
The developer has no management access on the switch or router and while he&lt;br /&gt;
does have management access on the storage controller he doesn't have any&lt;br /&gt;
physical access to modify cabling. The storage controller is configured&lt;br /&gt;
with static IP addresses on its management and data interfaces. On the plus&lt;br /&gt;
side, the developer had gotten the lab administrators to set aside a pool&lt;br /&gt;
of IP addresses on the same subnet which he can use to create SVMs.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple SVMs&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== POC installation at a customer site ===&lt;br /&gt;
A customer which already uses OpenStack with some commercial storage wants&lt;br /&gt;
to experiment with Manila to learn about it and evaluate how useful it might&lt;br /&gt;
be. The customer already owns several storage controllers but they are all in&lt;br /&gt;
use either in production or in other proofs of concept or test projects in&lt;br /&gt;
the eval lab. The customer has administrator access to and physical access to&lt;br /&gt;
all of the revelant equipment but doesn't wish to disturb the existing&lt;br /&gt;
environment just to do a quick POC. A storage controller will need to be&lt;br /&gt;
shared, and the shared controller is cabled to a network switch with no VLAN&lt;br /&gt;
tagging.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Enterprise private cloud ===&lt;br /&gt;
An IT department has built a moderately large private cloud to serve various&lt;br /&gt;
business units in one company. The business units all know about eachother&lt;br /&gt;
and rely one simple access control to protect data from prying eyes and&lt;br /&gt;
accidental damage. The main motivation for building a cloud is the &amp;quot;aaS&amp;quot;&lt;br /&gt;
model which allows IT to be more efficient and responsive. The company is a&lt;br /&gt;
large user of NAS storage (on commercial storage controllers) and IT wants&lt;br /&gt;
to roll out Manila in production to begin to offer NASaaS so its userbase&lt;br /&gt;
can eventually stop using traditional NAS. The IT department has complete&lt;br /&gt;
control of its network design, physically and logically. Because all of the&lt;br /&gt;
&amp;quot;tenants&amp;quot; of the private cloud exist within one company a significant amount&lt;br /&gt;
of infrastructure is shared, including Active Directory, LDAP, and Kerberos,&lt;br /&gt;
and tenants are not firewalled off from each other in any complete sense.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Public Cloud Service ===&lt;br /&gt;
A company that offers cloud services to the public, based on OpenStack, would&lt;br /&gt;
like to deploy Manila in production and begin to offer NASaaS to its&lt;br /&gt;
customers alongside block and object storage. Tenants expect complete privacy&lt;br /&gt;
for their data, both in motion and at rest. Some customers have VPN&lt;br /&gt;
connections between their corporate offices and the cloud which their expect&lt;br /&gt;
only their own VMs to be able to access.&lt;br /&gt;
&lt;br /&gt;
* Network: segmented, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to detect the existence of others tenants&lt;br /&gt;
* Other considerations: network segmentation may be VLAN, VXLAN, or GRE&lt;br /&gt;
&lt;br /&gt;
=== Public cloud (Tenant Facilitated) ===&lt;br /&gt;
Tenants desire to fire up and deliver Manila wholly contained within their tenant context atop a public (or potentially private) cloud.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, VPC, multiple SVMs&lt;br /&gt;
* Security: defined by tenant owner and contained within the context&lt;br /&gt;
* Other considerations: tenant network may reside atop any number of SDN technologies.&lt;br /&gt;
&lt;br /&gt;
=== Standalone installation for management of existing NAS ===&lt;br /&gt;
&lt;br /&gt;
An IT department wishes to offer NASaaS to users but currently uses funky&lt;br /&gt;
proprietary cloud software written by engineers with bad taste. They decide&lt;br /&gt;
to use Manila but without the rest of the OpenStack. Commercial storage&lt;br /&gt;
controllers are dedicated specifically for this purpose.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Automated test system ===&lt;br /&gt;
&lt;br /&gt;
A manila developer would like to be able to quickly setup Manila inside a&lt;br /&gt;
virtual environment for testing. Manila and all of the rest of OpenStack&lt;br /&gt;
will run inside a single VM with network connectivity to the outside world&lt;br /&gt;
provided by a virtual router. The storage controller to be tested is not&lt;br /&gt;
virtualized and is shared with multiple test nodes. The developer has access&lt;br /&gt;
to configure the storage controller but the VM where the tests are being&lt;br /&gt;
run is in a different locale, connected only by IP to the storage controller.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Triple-O &amp;quot;Under Cloud&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
A deployer of OpenStack employing Triple-O employees Manila at the under cloud layer to spin up / down storage server instances to facilitate Manila service expansion / contraction.&lt;br /&gt;
Under cloud provisioning primitives (e.g. NFS export) for Cinder backends or Glance repositories are employed&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple share servers&lt;br /&gt;
* Security: TBD&lt;br /&gt;
* Other considerations: TBD&lt;br /&gt;
&lt;br /&gt;
== Design Changes ==&lt;br /&gt;
&lt;br /&gt;
To accommodate the above use cases, the following changes to Manila will be neededː&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share servers ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share server usable by multiple tenants, and disable the creation of new share servers. This enables cases where share servers cannot be created by Manila either because of lack of access or lack of networking resources.&lt;br /&gt;
&lt;br /&gt;
Open questionsː&lt;br /&gt;
* How will the share server get imported into Manila? Conf file options? A new admin API?&lt;br /&gt;
* Is there any point in allowing a mix of manila-created share servers with administrator create share servers?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Proposalsː&lt;br /&gt;
&lt;br /&gt;
 1) Easy&lt;br /&gt;
 1.1) Add support of single preconfigured share-server for each driver separately. - They will work as single-tenant drivers in case no share-network provided.&lt;br /&gt;
proː no need to create share-network&lt;br /&gt;
conː only one share-server will be used&lt;br /&gt;
&lt;br /&gt;
 2) Hard&lt;br /&gt;
 2.1) Add new APIs for share-server creation and share-server-details update and then link all of it to some share-network and back-end&lt;br /&gt;
proː dynamic add of custom share-servers&lt;br /&gt;
conː hard to support driver-specific things&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share networks ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share network usable by multiple tenants. This network is used to create new share servers when the tenant declines to specify a share network (acting as a &amp;quot;default share network&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Proposalsː&lt;br /&gt;
 1) Allow creation of &amp;quot;public&amp;quot; and &amp;quot;private&amp;quot; share-networks&lt;br /&gt;
 2) Handle possibility to create both types by policies&lt;br /&gt;
 3) Add possibility to make one of &amp;quot;public&amp;quot; share networks as &amp;quot;default&amp;quot; that will be used if one did not provide share-network explicitly.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66674</id>
		<title>Manila/Kilo Network Changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66674"/>
				<updated>2014-10-23T14:58:33Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Cross-tenant share servers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This document is intended to outline the design changes around Manila networking in the Kilo release.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
=== Simple lab config ===&lt;br /&gt;
A manila developer wants to write a driver for a new hardware platform. The&lt;br /&gt;
hardware exists in a lab plugged into a network switch with no VLAN tagging.&lt;br /&gt;
The developer has no management access on the switch or router and while he&lt;br /&gt;
does have management access on the storage controller he doesn't have any&lt;br /&gt;
physical access to modify cabling. The storage controller is configured&lt;br /&gt;
with static IP addresses on its management and data interfaces. On the plus&lt;br /&gt;
side, the developer had gotten the lab administrators to set aside a pool&lt;br /&gt;
of IP addresses on the same subnet which he can use to create SVMs.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple SVMs&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== POC installation at a customer site ===&lt;br /&gt;
A customer which already uses OpenStack with some commercial storage wants&lt;br /&gt;
to experiment with Manila to learn about it and evaluate how useful it might&lt;br /&gt;
be. The customer already owns several storage controllers but they are all in&lt;br /&gt;
use either in production or in other proofs of concept or test projects in&lt;br /&gt;
the eval lab. The customer has administrator access to and physical access to&lt;br /&gt;
all of the revelant equipment but doesn't wish to disturb the existing&lt;br /&gt;
environment just to do a quick POC. A storage controller will need to be&lt;br /&gt;
shared, and the shared controller is cabled to a network switch with no VLAN&lt;br /&gt;
tagging.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Enterprise private cloud ===&lt;br /&gt;
An IT department has built a moderately large private cloud to serve various&lt;br /&gt;
business units in one company. The business units all know about eachother&lt;br /&gt;
and rely one simple access control to protect data from prying eyes and&lt;br /&gt;
accidental damage. The main motivation for building a cloud is the &amp;quot;aaS&amp;quot;&lt;br /&gt;
model which allows IT to be more efficient and responsive. The company is a&lt;br /&gt;
large user of NAS storage (on commercial storage controllers) and IT wants&lt;br /&gt;
to roll out Manila in production to begin to offer NASaaS so its userbase&lt;br /&gt;
can eventually stop using traditional NAS. The IT department has complete&lt;br /&gt;
control of its network design, physically and logically. Because all of the&lt;br /&gt;
&amp;quot;tenants&amp;quot; of the private cloud exist within one company a significant amount&lt;br /&gt;
of infrastructure is shared, including Active Directory, LDAP, and Kerberos,&lt;br /&gt;
and tenants are not firewalled off from each other in any complete sense.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Public Cloud Service ===&lt;br /&gt;
A company that offers cloud services to the public, based on OpenStack, would&lt;br /&gt;
like to deploy Manila in production and begin to offer NASaaS to its&lt;br /&gt;
customers alongside block and object storage. Tenants expect complete privacy&lt;br /&gt;
for their data, both in motion and at rest. Some customers have VPN&lt;br /&gt;
connections between their corporate offices and the cloud which their expect&lt;br /&gt;
only their own VMs to be able to access.&lt;br /&gt;
&lt;br /&gt;
* Network: segmented, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to detect the existence of others tenants&lt;br /&gt;
* Other considerations: network segmentation may be VLAN, VXLAN, or GRE&lt;br /&gt;
&lt;br /&gt;
=== Public cloud (Tenant Facilitated) ===&lt;br /&gt;
Tenants desire to fire up and deliver Manila wholly contained within their tenant context atop a public (or potentially private) cloud.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, VPC, multiple SVMs&lt;br /&gt;
* Security: defined by tenant owner and contained within the context&lt;br /&gt;
* Other considerations: tenant network may reside atop any number of SDN technologies.&lt;br /&gt;
&lt;br /&gt;
=== Standalone installation for management of existing NAS ===&lt;br /&gt;
&lt;br /&gt;
An IT department wishes to offer NASaaS to users but currently uses funky&lt;br /&gt;
proprietary cloud software written by engineers with bad taste. They decide&lt;br /&gt;
to use Manila but without the rest of the OpenStack. Commercial storage&lt;br /&gt;
controllers are dedicated specifically for this purpose.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Automated test system ===&lt;br /&gt;
&lt;br /&gt;
A manila developer would like to be able to quickly setup Manila inside a&lt;br /&gt;
virtual environment for testing. Manila and all of the rest of OpenStack&lt;br /&gt;
will run inside a single VM with network connectivity to the outside world&lt;br /&gt;
provided by a virtual router. The storage controller to be tested is not&lt;br /&gt;
virtualized and is shared with multiple test nodes. The developer has access&lt;br /&gt;
to configure the storage controller but the VM where the tests are being&lt;br /&gt;
run is in a different locale, connected only by IP to the storage controller.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Triple-O &amp;quot;Under Cloud&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
A deployer of OpenStack employing Triple-O employees Manila at the under cloud layer to spin up / down storage server instances to facilitate Manila service expansion / contraction.&lt;br /&gt;
Under cloud provisioning primitives (e.g. NFS export) for Cinder backends or Glance repositories are employed&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple share servers&lt;br /&gt;
* Security: TBD&lt;br /&gt;
* Other considerations: TBD&lt;br /&gt;
&lt;br /&gt;
== Design Changes ==&lt;br /&gt;
&lt;br /&gt;
To accommodate the above use cases, the following changes to Manila will be neededː&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share servers ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share server usable by multiple tenants, and disable the creation of new share servers. This enables cases where share servers cannot be created by Manila either because of lack of access or lack of networking resources.&lt;br /&gt;
&lt;br /&gt;
Open questionsː&lt;br /&gt;
* How will the share server get imported into Manila? Conf file options? A new admin API?&lt;br /&gt;
* Is there any point in allowing a mix of manila-created share servers with administrator create share servers?&lt;br /&gt;
&lt;br /&gt;
Proposalsː&lt;br /&gt;
&lt;br /&gt;
 1) Easy&lt;br /&gt;
 1.1) Add support of single preconfigured share-server for each driver separately. - They will work as single-tenant drivers in case no share-network provided.&lt;br /&gt;
proː no need to create share-network&lt;br /&gt;
conː only one share-server will be used&lt;br /&gt;
&lt;br /&gt;
 2) Hard&lt;br /&gt;
 2.1) Add new APIs for share-server creation and share-server-details update and then link all of it to some share-network and back-end&lt;br /&gt;
proː dynamic add of custom share-servers&lt;br /&gt;
conː hard to support driver-specific things&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share networks ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share network usable by multiple tenants. This network is used to create new share servers when the tenant declines to specify a share network (acting as a &amp;quot;default share network&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Proposalsː&lt;br /&gt;
 1) Allow creation of &amp;quot;public&amp;quot; and &amp;quot;private&amp;quot; share-networks&lt;br /&gt;
 2) Handle possibility to create both types by policies&lt;br /&gt;
 3) Add possibility to make one of &amp;quot;public&amp;quot; share networks as &amp;quot;default&amp;quot; that will be used if one did not provide share-network explicitly.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=66672</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=66672"/>
				<updated>2014-10-23T14:57:13Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Next meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 23 Oct, 2014, 15:00 UTC'''&lt;br /&gt;
# Development status&lt;br /&gt;
# [https://wiki.openstack.org/wiki/Manila/Kilo_Network_Changes Kilo Network Changes] (bswartz,vponomaryov)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 16 Oct, 2014, 15:00 UTC'''&lt;br /&gt;
# Development status&lt;br /&gt;
# [https://etherpad.openstack.org/p/kilo-manila-summit-topics Design Summit] (bswartz)&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
http://eavesdrop.openstack.org/meetings/manila/&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66671</id>
		<title>Manila/Kilo Network Changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66671"/>
				<updated>2014-10-23T14:52:41Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Cross-tenant share networks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This document is intended to outline the design changes around Manila networking in the Kilo release.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
=== Simple lab config ===&lt;br /&gt;
A manila developer wants to write a driver for a new hardware platform. The&lt;br /&gt;
hardware exists in a lab plugged into a network switch with no VLAN tagging.&lt;br /&gt;
The developer has no management access on the switch or router and while he&lt;br /&gt;
does have management access on the storage controller he doesn't have any&lt;br /&gt;
physical access to modify cabling. The storage controller is configured&lt;br /&gt;
with static IP addresses on its management and data interfaces. On the plus&lt;br /&gt;
side, the developer had gotten the lab administrators to set aside a pool&lt;br /&gt;
of IP addresses on the same subnet which he can use to create SVMs.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple SVMs&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== POC installation at a customer site ===&lt;br /&gt;
A customer which already uses OpenStack with some commercial storage wants&lt;br /&gt;
to experiment with Manila to learn about it and evaluate how useful it might&lt;br /&gt;
be. The customer already owns several storage controllers but they are all in&lt;br /&gt;
use either in production or in other proofs of concept or test projects in&lt;br /&gt;
the eval lab. The customer has administrator access to and physical access to&lt;br /&gt;
all of the revelant equipment but doesn't wish to disturb the existing&lt;br /&gt;
environment just to do a quick POC. A storage controller will need to be&lt;br /&gt;
shared, and the shared controller is cabled to a network switch with no VLAN&lt;br /&gt;
tagging.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Enterprise private cloud ===&lt;br /&gt;
An IT department has built a moderately large private cloud to serve various&lt;br /&gt;
business units in one company. The business units all know about eachother&lt;br /&gt;
and rely one simple access control to protect data from prying eyes and&lt;br /&gt;
accidental damage. The main motivation for building a cloud is the &amp;quot;aaS&amp;quot;&lt;br /&gt;
model which allows IT to be more efficient and responsive. The company is a&lt;br /&gt;
large user of NAS storage (on commercial storage controllers) and IT wants&lt;br /&gt;
to roll out Manila in production to begin to offer NASaaS so its userbase&lt;br /&gt;
can eventually stop using traditional NAS. The IT department has complete&lt;br /&gt;
control of its network design, physically and logically. Because all of the&lt;br /&gt;
&amp;quot;tenants&amp;quot; of the private cloud exist within one company a significant amount&lt;br /&gt;
of infrastructure is shared, including Active Directory, LDAP, and Kerberos,&lt;br /&gt;
and tenants are not firewalled off from each other in any complete sense.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Public Cloud Service ===&lt;br /&gt;
A company that offers cloud services to the public, based on OpenStack, would&lt;br /&gt;
like to deploy Manila in production and begin to offer NASaaS to its&lt;br /&gt;
customers alongside block and object storage. Tenants expect complete privacy&lt;br /&gt;
for their data, both in motion and at rest. Some customers have VPN&lt;br /&gt;
connections between their corporate offices and the cloud which their expect&lt;br /&gt;
only their own VMs to be able to access.&lt;br /&gt;
&lt;br /&gt;
* Network: segmented, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to detect the existence of others tenants&lt;br /&gt;
* Other considerations: network segmentation may be VLAN, VXLAN, or GRE&lt;br /&gt;
&lt;br /&gt;
=== Public cloud (Tenant Facilitated) ===&lt;br /&gt;
Tenants desire to fire up and deliver Manila wholly contained within their tenant context atop a public (or potentially private) cloud.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, VPC, multiple SVMs&lt;br /&gt;
* Security: defined by tenant owner and contained within the context&lt;br /&gt;
* Other considerations: tenant network may reside atop any number of SDN technologies.&lt;br /&gt;
&lt;br /&gt;
=== Standalone installation for management of existing NAS ===&lt;br /&gt;
&lt;br /&gt;
An IT department wishes to offer NASaaS to users but currently uses funky&lt;br /&gt;
proprietary cloud software written by engineers with bad taste. They decide&lt;br /&gt;
to use Manila but without the rest of the OpenStack. Commercial storage&lt;br /&gt;
controllers are dedicated specifically for this purpose.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Automated test system ===&lt;br /&gt;
&lt;br /&gt;
A manila developer would like to be able to quickly setup Manila inside a&lt;br /&gt;
virtual environment for testing. Manila and all of the rest of OpenStack&lt;br /&gt;
will run inside a single VM with network connectivity to the outside world&lt;br /&gt;
provided by a virtual router. The storage controller to be tested is not&lt;br /&gt;
virtualized and is shared with multiple test nodes. The developer has access&lt;br /&gt;
to configure the storage controller but the VM where the tests are being&lt;br /&gt;
run is in a different locale, connected only by IP to the storage controller.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Triple-O &amp;quot;Under Cloud&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
A deployer of OpenStack employing Triple-O employees Manila at the under cloud layer to spin up / down storage server instances to facilitate Manila service expansion / contraction.&lt;br /&gt;
Under cloud provisioning primitives (e.g. NFS export) for Cinder backends or Glance repositories are employed&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple share servers&lt;br /&gt;
* Security: TBD&lt;br /&gt;
* Other considerations: TBD&lt;br /&gt;
&lt;br /&gt;
== Design Changes ==&lt;br /&gt;
&lt;br /&gt;
To accommodate the above use cases, the following changes to Manila will be neededː&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share servers ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share server usable by multiple tenants, and disable the creation of new share servers. This enables cases where share servers cannot be created by Manila either because of lack of access or lack of networking resources.&lt;br /&gt;
&lt;br /&gt;
Open questionsː&lt;br /&gt;
* How will the share server get imported into Manila? Conf file options? A new admin API?&lt;br /&gt;
* Is there any point in allowing a mix of manila-created share servers with administrator create share servers?&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share networks ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share network usable by multiple tenants. This network is used to create new share servers when the tenant declines to specify a share network (acting as a &amp;quot;default share network&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Proposalsː&lt;br /&gt;
 1) Allow creation of &amp;quot;public&amp;quot; and &amp;quot;private&amp;quot; share-networks&lt;br /&gt;
 2) Handle possibility to create both types by policies&lt;br /&gt;
 3) Add possibility to make one of &amp;quot;public&amp;quot; share networks as &amp;quot;default&amp;quot; that will be used if one did not provide share-network explicitly.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66670</id>
		<title>Manila/Kilo Network Changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66670"/>
				<updated>2014-10-23T14:52:17Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Cross-tenant share networks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This document is intended to outline the design changes around Manila networking in the Kilo release.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
=== Simple lab config ===&lt;br /&gt;
A manila developer wants to write a driver for a new hardware platform. The&lt;br /&gt;
hardware exists in a lab plugged into a network switch with no VLAN tagging.&lt;br /&gt;
The developer has no management access on the switch or router and while he&lt;br /&gt;
does have management access on the storage controller he doesn't have any&lt;br /&gt;
physical access to modify cabling. The storage controller is configured&lt;br /&gt;
with static IP addresses on its management and data interfaces. On the plus&lt;br /&gt;
side, the developer had gotten the lab administrators to set aside a pool&lt;br /&gt;
of IP addresses on the same subnet which he can use to create SVMs.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple SVMs&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== POC installation at a customer site ===&lt;br /&gt;
A customer which already uses OpenStack with some commercial storage wants&lt;br /&gt;
to experiment with Manila to learn about it and evaluate how useful it might&lt;br /&gt;
be. The customer already owns several storage controllers but they are all in&lt;br /&gt;
use either in production or in other proofs of concept or test projects in&lt;br /&gt;
the eval lab. The customer has administrator access to and physical access to&lt;br /&gt;
all of the revelant equipment but doesn't wish to disturb the existing&lt;br /&gt;
environment just to do a quick POC. A storage controller will need to be&lt;br /&gt;
shared, and the shared controller is cabled to a network switch with no VLAN&lt;br /&gt;
tagging.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Enterprise private cloud ===&lt;br /&gt;
An IT department has built a moderately large private cloud to serve various&lt;br /&gt;
business units in one company. The business units all know about eachother&lt;br /&gt;
and rely one simple access control to protect data from prying eyes and&lt;br /&gt;
accidental damage. The main motivation for building a cloud is the &amp;quot;aaS&amp;quot;&lt;br /&gt;
model which allows IT to be more efficient and responsive. The company is a&lt;br /&gt;
large user of NAS storage (on commercial storage controllers) and IT wants&lt;br /&gt;
to roll out Manila in production to begin to offer NASaaS so its userbase&lt;br /&gt;
can eventually stop using traditional NAS. The IT department has complete&lt;br /&gt;
control of its network design, physically and logically. Because all of the&lt;br /&gt;
&amp;quot;tenants&amp;quot; of the private cloud exist within one company a significant amount&lt;br /&gt;
of infrastructure is shared, including Active Directory, LDAP, and Kerberos,&lt;br /&gt;
and tenants are not firewalled off from each other in any complete sense.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Public Cloud Service ===&lt;br /&gt;
A company that offers cloud services to the public, based on OpenStack, would&lt;br /&gt;
like to deploy Manila in production and begin to offer NASaaS to its&lt;br /&gt;
customers alongside block and object storage. Tenants expect complete privacy&lt;br /&gt;
for their data, both in motion and at rest. Some customers have VPN&lt;br /&gt;
connections between their corporate offices and the cloud which their expect&lt;br /&gt;
only their own VMs to be able to access.&lt;br /&gt;
&lt;br /&gt;
* Network: segmented, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to detect the existence of others tenants&lt;br /&gt;
* Other considerations: network segmentation may be VLAN, VXLAN, or GRE&lt;br /&gt;
&lt;br /&gt;
=== Public cloud (Tenant Facilitated) ===&lt;br /&gt;
Tenants desire to fire up and deliver Manila wholly contained within their tenant context atop a public (or potentially private) cloud.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, VPC, multiple SVMs&lt;br /&gt;
* Security: defined by tenant owner and contained within the context&lt;br /&gt;
* Other considerations: tenant network may reside atop any number of SDN technologies.&lt;br /&gt;
&lt;br /&gt;
=== Standalone installation for management of existing NAS ===&lt;br /&gt;
&lt;br /&gt;
An IT department wishes to offer NASaaS to users but currently uses funky&lt;br /&gt;
proprietary cloud software written by engineers with bad taste. They decide&lt;br /&gt;
to use Manila but without the rest of the OpenStack. Commercial storage&lt;br /&gt;
controllers are dedicated specifically for this purpose.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Automated test system ===&lt;br /&gt;
&lt;br /&gt;
A manila developer would like to be able to quickly setup Manila inside a&lt;br /&gt;
virtual environment for testing. Manila and all of the rest of OpenStack&lt;br /&gt;
will run inside a single VM with network connectivity to the outside world&lt;br /&gt;
provided by a virtual router. The storage controller to be tested is not&lt;br /&gt;
virtualized and is shared with multiple test nodes. The developer has access&lt;br /&gt;
to configure the storage controller but the VM where the tests are being&lt;br /&gt;
run is in a different locale, connected only by IP to the storage controller.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Triple-O &amp;quot;Under Cloud&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
A deployer of OpenStack employing Triple-O employees Manila at the under cloud layer to spin up / down storage server instances to facilitate Manila service expansion / contraction.&lt;br /&gt;
Under cloud provisioning primitives (e.g. NFS export) for Cinder backends or Glance repositories are employed&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple share servers&lt;br /&gt;
* Security: TBD&lt;br /&gt;
* Other considerations: TBD&lt;br /&gt;
&lt;br /&gt;
== Design Changes ==&lt;br /&gt;
&lt;br /&gt;
To accommodate the above use cases, the following changes to Manila will be neededː&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share servers ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share server usable by multiple tenants, and disable the creation of new share servers. This enables cases where share servers cannot be created by Manila either because of lack of access or lack of networking resources.&lt;br /&gt;
&lt;br /&gt;
Open questionsː&lt;br /&gt;
* How will the share server get imported into Manila? Conf file options? A new admin API?&lt;br /&gt;
* Is there any point in allowing a mix of manila-created share servers with administrator create share servers?&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share networks ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share network usable by multiple tenants. This network is used to create new share servers when the tenant declines to specify a share network (acting as a &amp;quot;default share network&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Proposalsː&lt;br /&gt;
 1) Allow creation of &amp;quot;public&amp;quot; and &amp;quot;private&amp;quot; share-networks&lt;br /&gt;
 2) Handle possibility to create both types by policies&lt;br /&gt;
 3) Add possibility to make one of &amp;quot;public&amp;quot; share networks as &amp;quot;default&amp;quot;, that will be used if one did not provide share-network explicitly.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66669</id>
		<title>Manila/Kilo Network Changes</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Kilo_Network_Changes&amp;diff=66669"/>
				<updated>2014-10-23T14:51:58Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Cross-tenant share networks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This document is intended to outline the design changes around Manila networking in the Kilo release.&lt;br /&gt;
&lt;br /&gt;
== Use Cases ==&lt;br /&gt;
&lt;br /&gt;
=== Simple lab config ===&lt;br /&gt;
A manila developer wants to write a driver for a new hardware platform. The&lt;br /&gt;
hardware exists in a lab plugged into a network switch with no VLAN tagging.&lt;br /&gt;
The developer has no management access on the switch or router and while he&lt;br /&gt;
does have management access on the storage controller he doesn't have any&lt;br /&gt;
physical access to modify cabling. The storage controller is configured&lt;br /&gt;
with static IP addresses on its management and data interfaces. On the plus&lt;br /&gt;
side, the developer had gotten the lab administrators to set aside a pool&lt;br /&gt;
of IP addresses on the same subnet which he can use to create SVMs.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple SVMs&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== POC installation at a customer site ===&lt;br /&gt;
A customer which already uses OpenStack with some commercial storage wants&lt;br /&gt;
to experiment with Manila to learn about it and evaluate how useful it might&lt;br /&gt;
be. The customer already owns several storage controllers but they are all in&lt;br /&gt;
use either in production or in other proofs of concept or test projects in&lt;br /&gt;
the eval lab. The customer has administrator access to and physical access to&lt;br /&gt;
all of the revelant equipment but doesn't wish to disturb the existing&lt;br /&gt;
environment just to do a quick POC. A storage controller will need to be&lt;br /&gt;
shared, and the shared controller is cabled to a network switch with no VLAN&lt;br /&gt;
tagging.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Enterprise private cloud ===&lt;br /&gt;
An IT department has built a moderately large private cloud to serve various&lt;br /&gt;
business units in one company. The business units all know about eachother&lt;br /&gt;
and rely one simple access control to protect data from prying eyes and&lt;br /&gt;
accidental damage. The main motivation for building a cloud is the &amp;quot;aaS&amp;quot;&lt;br /&gt;
model which allows IT to be more efficient and responsive. The company is a&lt;br /&gt;
large user of NAS storage (on commercial storage controllers) and IT wants&lt;br /&gt;
to roll out Manila in production to begin to offer NASaaS so its userbase&lt;br /&gt;
can eventually stop using traditional NAS. The IT department has complete&lt;br /&gt;
control of its network design, physically and logically. Because all of the&lt;br /&gt;
&amp;quot;tenants&amp;quot; of the private cloud exist within one company a significant amount&lt;br /&gt;
of infrastructure is shared, including Active Directory, LDAP, and Kerberos,&lt;br /&gt;
and tenants are not firewalled off from each other in any complete sense.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Public Cloud Service ===&lt;br /&gt;
A company that offers cloud services to the public, based on OpenStack, would&lt;br /&gt;
like to deploy Manila in production and begin to offer NASaaS to its&lt;br /&gt;
customers alongside block and object storage. Tenants expect complete privacy&lt;br /&gt;
for their data, both in motion and at rest. Some customers have VPN&lt;br /&gt;
connections between their corporate offices and the cloud which their expect&lt;br /&gt;
only their own VMs to be able to access.&lt;br /&gt;
&lt;br /&gt;
* Network: segmented, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to detect the existence of others tenants&lt;br /&gt;
* Other considerations: network segmentation may be VLAN, VXLAN, or GRE&lt;br /&gt;
&lt;br /&gt;
=== Public cloud (Tenant Facilitated) ===&lt;br /&gt;
Tenants desire to fire up and deliver Manila wholly contained within their tenant context atop a public (or potentially private) cloud.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, VPC, multiple SVMs&lt;br /&gt;
* Security: defined by tenant owner and contained within the context&lt;br /&gt;
* Other considerations: tenant network may reside atop any number of SDN technologies.&lt;br /&gt;
&lt;br /&gt;
=== Standalone installation for management of existing NAS ===&lt;br /&gt;
&lt;br /&gt;
An IT department wishes to offer NASaaS to users but currently uses funky&lt;br /&gt;
proprietary cloud software written by engineers with bad taste. They decide&lt;br /&gt;
to use Manila but without the rest of the OpenStack. Commercial storage&lt;br /&gt;
controllers are dedicated specifically for this purpose.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, multiple subnets, multiple SVMs&lt;br /&gt;
* Security: tenants should not be able to access shares of other tenants&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Automated test system ===&lt;br /&gt;
&lt;br /&gt;
A manila developer would like to be able to quickly setup Manila inside a&lt;br /&gt;
virtual environment for testing. Manila and all of the rest of OpenStack&lt;br /&gt;
will run inside a single VM with network connectivity to the outside world&lt;br /&gt;
provided by a virtual router. The storage controller to be tested is not&lt;br /&gt;
virtualized and is shared with multiple test nodes. The developer has access&lt;br /&gt;
to configure the storage controller but the VM where the tests are being&lt;br /&gt;
run is in a different locale, connected only by IP to the storage controller.&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, single SVM&lt;br /&gt;
* Security: none&lt;br /&gt;
* Other considerations: none&lt;br /&gt;
&lt;br /&gt;
=== Triple-O &amp;quot;Under Cloud&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
A deployer of OpenStack employing Triple-O employees Manila at the under cloud layer to spin up / down storage server instances to facilitate Manila service expansion / contraction.&lt;br /&gt;
Under cloud provisioning primitives (e.g. NFS export) for Cinder backends or Glance repositories are employed&lt;br /&gt;
&lt;br /&gt;
* Network: flat, single subnet, multiple share servers&lt;br /&gt;
* Security: TBD&lt;br /&gt;
* Other considerations: TBD&lt;br /&gt;
&lt;br /&gt;
== Design Changes ==&lt;br /&gt;
&lt;br /&gt;
To accommodate the above use cases, the following changes to Manila will be neededː&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share servers ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share server usable by multiple tenants, and disable the creation of new share servers. This enables cases where share servers cannot be created by Manila either because of lack of access or lack of networking resources.&lt;br /&gt;
&lt;br /&gt;
Open questionsː&lt;br /&gt;
* How will the share server get imported into Manila? Conf file options? A new admin API?&lt;br /&gt;
* Is there any point in allowing a mix of manila-created share servers with administrator create share servers?&lt;br /&gt;
&lt;br /&gt;
=== Cross-tenant share networks ===&lt;br /&gt;
&lt;br /&gt;
Administrators should have a way to make a single share network usable by multiple tenants. This network is used to create new share servers when the tenant declines to specify a share network (acting as a &amp;quot;default share network&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Proposalsː&lt;br /&gt;
1) Allow creation of &amp;quot;public&amp;quot; and &amp;quot;private&amp;quot; share-networks&lt;br /&gt;
2) Handle possibility to create both types by policies&lt;br /&gt;
3) Add possibility to make one of &amp;quot;public&amp;quot; share networks as &amp;quot;default&amp;quot;, that will be used if one did not provide share-network explicitly.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=CrossProjectLiaisons&amp;diff=64529</id>
		<title>CrossProjectLiaisons</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=CrossProjectLiaisons&amp;diff=64529"/>
				<updated>2014-10-08T08:16:20Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* QA */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Many of our cross-project teams need focused help for communicating with the other project teams. This page lists the people who have volunteered for that work.&lt;br /&gt;
&lt;br /&gt;
== Oslo ==&lt;br /&gt;
&lt;br /&gt;
There are now more projects consuming code from the Oslo incubator than we have Oslo contributors. That means we are going to need your help to make these migrations happen. We are asking for one person from each project to serve as a liaison between the project and Oslo, and to assist with integrating changes as we move code out of the incubator into libraries.&lt;br /&gt;
&lt;br /&gt;
* The liaison should be a core reviewer for the project, but does not need to be the PTL.&lt;br /&gt;
* The liaison should be prepared to assist with writing and reviewing patches in their project as libraries are adopted, and with discussions of API changes to the libraries to make them easier to use within the project.&lt;br /&gt;
* Liaisons should pay attention to [Oslo] tagged messages on the openstack-dev mailing list.&lt;br /&gt;
* It is also useful for liaisons to be able to attend the Oslo team meeting ([[Meetings/Oslo]]) to participate in discussions and raise issues for real-time discussion.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Liaison !! IRC Handle&lt;br /&gt;
|-&lt;br /&gt;
| Ceilometer || Julien Danjou || jd__&lt;br /&gt;
|-&lt;br /&gt;
| Keystone || Brant Knudson || bknudson&lt;br /&gt;
|-&lt;br /&gt;
| Nova || Joe Gordon || jogo&lt;br /&gt;
|-&lt;br /&gt;
| Neutron || Ihar Hrachyshka (not a core!) || ihrachyshka&lt;br /&gt;
|-&lt;br /&gt;
| [[Octavia]] || Doug Wiegley || dougwig&lt;br /&gt;
|-&lt;br /&gt;
| Horizon || Akihiro Motoki || amotoki&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== QA ==&lt;br /&gt;
&lt;br /&gt;
There are now more projects that are being tested by Tempest, and Grenade or a part deployable by Devstack than we have QA contributors. That means we are going to need your help to keep on top of everything. We are asking for one person from each project to serve as a liaison between the project and QA, and to assist with integrating changes as we move forward.&lt;br /&gt;
&lt;br /&gt;
The liaison should be a core reviewer for the project, but does not need to be the PTL. The liaison should be prepared to assist with writing and reviewing patches that interact with their project, and with discussions of changes to the QA projects to make them easier to use within the project.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Liaison !! IRC Handle&lt;br /&gt;
|-&lt;br /&gt;
| Nova ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Cinder ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Swift ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Neutron ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Keystone ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Horizon ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Glance ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Ceilometer ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Heat ||  ||&lt;br /&gt;
|-&lt;br /&gt;
| Oslo ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Trove ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Sahara ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Ironic ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Zaqar ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Barbican ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Manila || Valeriy Ponomaryov || vponomaryov&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Project !! Liaison !! IRC Handle&lt;br /&gt;
|-&lt;br /&gt;
| Nova || Jog0 or mikal? || &lt;br /&gt;
|-&lt;br /&gt;
| Cinder || thingee (Mike Perez) || &lt;br /&gt;
|-&lt;br /&gt;
| Swift || koolhead (Atul Jha) || &lt;br /&gt;
|-&lt;br /&gt;
| Neutron || emagana (Edgar Magana) || &lt;br /&gt;
|-&lt;br /&gt;
| Keystone || ayoung (Adam Young) || &lt;br /&gt;
|-&lt;br /&gt;
| Horizon || jpichon (Julie Pichon) || &lt;br /&gt;
|-&lt;br /&gt;
| Glance || rosmaita (Brian Rosmaita) || &lt;br /&gt;
|-&lt;br /&gt;
| Ceilometer ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Heat || Randall Burt? ||&lt;br /&gt;
|-&lt;br /&gt;
| Oslo ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Trove || laurelm || &lt;br /&gt;
|-&lt;br /&gt;
| Sahara ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Ironic ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Zaqar ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Barbican ||  || &lt;br /&gt;
|-&lt;br /&gt;
| Manila ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_manila_with_horizon&amp;diff=64269</id>
		<title>Manila/docs/HOWTO use manila with horizon</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_manila_with_horizon&amp;diff=64269"/>
				<updated>2014-10-03T12:10:05Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Get custom horizon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to run custom horizon with manila =&lt;br /&gt;
This page describes how to try manila with horizon. It can be done on any host, not exactly the same as devstack installation.&lt;br /&gt;
&lt;br /&gt;
==Get custom horizon==&lt;br /&gt;
&lt;br /&gt;
 $ git clone -b manila_juno https://github.com/NetApp/horizon.git  # Horizon of Juno version with Manila support, recommended&lt;br /&gt;
or&lt;br /&gt;
 $ git clone -b manila_icehouse https://github.com/NetApp/horizon.git  # Horizon of Icehouse version with Manila support. Old, not recommended&lt;br /&gt;
and&lt;br /&gt;
 $ cd horizon&lt;br /&gt;
and&lt;br /&gt;
 $ cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py&lt;br /&gt;
&lt;br /&gt;
open file '''''openstack_dashboard/local/local_settings.py'''''&lt;br /&gt;
&lt;br /&gt;
find var &amp;quot;''OPENSTACK_HOST''&amp;quot; and set here address of host where devstack was installed&lt;br /&gt;
&lt;br /&gt;
save and exit&lt;br /&gt;
&lt;br /&gt;
==Be sure, all dependencies are installed==&lt;br /&gt;
&lt;br /&gt;
run in horizon's dir&lt;br /&gt;
&lt;br /&gt;
 $ sudo python setup.py install&lt;br /&gt;
&lt;br /&gt;
Also, need to install python-manilaclient&lt;br /&gt;
&lt;br /&gt;
 $ sudo pip install git+https://github.com/openstack/python-manilaclient.git&lt;br /&gt;
&lt;br /&gt;
==Run horizon==&lt;br /&gt;
 $ sudo python manage.py runserver&lt;br /&gt;
&lt;br /&gt;
it will be available on 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
to specify all interfaces, use:&lt;br /&gt;
&lt;br /&gt;
 $ sudo python manage.py runserver 0.0.0.0:8000&lt;br /&gt;
&lt;br /&gt;
port can be set to any not used valid port value.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_manila_with_horizon&amp;diff=64264</id>
		<title>Manila/docs/HOWTO use manila with horizon</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_manila_with_horizon&amp;diff=64264"/>
				<updated>2014-10-03T11:15:42Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Get custom horizon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= How to run custom horizon with manila =&lt;br /&gt;
This page describes how to try manila with horizon. It can be done on any host, not exactly the same as devstack installation.&lt;br /&gt;
&lt;br /&gt;
==Get custom horizon==&lt;br /&gt;
&lt;br /&gt;
 $ git clone -b manila_juno https://github.com/NetApp/horizon.git&lt;br /&gt;
&lt;br /&gt;
 $ cd horizon&lt;br /&gt;
&lt;br /&gt;
 $ cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py&lt;br /&gt;
&lt;br /&gt;
open file '''''openstack_dashboard/local/local_settings.py'''''&lt;br /&gt;
&lt;br /&gt;
find var &amp;quot;''OPENSTACK_HOST''&amp;quot; and set here address of host where devstack was installed&lt;br /&gt;
&lt;br /&gt;
save and exit&lt;br /&gt;
&lt;br /&gt;
==Be sure, all dependencies are installed==&lt;br /&gt;
&lt;br /&gt;
run in horizon's dir&lt;br /&gt;
&lt;br /&gt;
 $ sudo python setup.py install&lt;br /&gt;
&lt;br /&gt;
Also, need to install python-manilaclient&lt;br /&gt;
&lt;br /&gt;
 $ sudo pip install git+https://github.com/openstack/python-manilaclient.git&lt;br /&gt;
&lt;br /&gt;
==Run horizon==&lt;br /&gt;
 $ sudo python manage.py runserver&lt;br /&gt;
&lt;br /&gt;
it will be available on 127.0.0.1:8000&lt;br /&gt;
&lt;br /&gt;
to specify all interfaces, use:&lt;br /&gt;
&lt;br /&gt;
 $ sudo python manage.py runserver 0.0.0.0:8000&lt;br /&gt;
&lt;br /&gt;
port can be set to any not used valid port value.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila&amp;diff=63188</id>
		<title>Manila</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila&amp;diff=63188"/>
				<updated>2014-09-20T06:08:00Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
This page documents the concept and vision for establishing a shared file system service for OpenStack.  The development name for this project is Manila.  We propose and are in the process of implementing a new OpenStack service (originally based on Cinder).  Cinder presently functions as the canonical storage provisioning control plane in [[OpenStack]] for block storage as well as delivering a persistence model for instance storage.  The File Share Service prototype, in a similar manner, provides coordinated access to shared or distributed file systems.  While the primary consumption of file shares would be across OpenStack Compute instances, the service is also intended to be accessible as an independent capability in line with the modular design established by other OpenStack services.  The design and prototype implementation provide extensibility for multiple backends (to support vendor or file system specific nuances / capabilities) but is intended to be sufficiently abstract to accommodate any of a variety of shared or distributed file system types.  The team's intention is to introduce the capability as an OpenStack incubated project in the Juno timeframe, graduate it and submit for consideration as a core service as early as the as the Kilo release.&lt;br /&gt;
&lt;br /&gt;
[[File:Shares_Service.png]]&lt;br /&gt;
&lt;br /&gt;
According to IDC in its “[http://www.idc.com/getdoc.jsp?containerId=235910 Worldwide File-Based Storage 2012-2016 Forecast]&amp;quot;, file-based storage continues to be a thriving market, with spending on File-based storage solutions to reach north of $34.6 billion in 2016. Of the 27 Exabyte’s (EB) of total disk capacity estimated to have shipped in 2012, IDC projected that nearly 18 EB were file-based capacity, accounting for over 65% of all disk shipped by capacity. A diversity of applications, from server virtualization to relational or distributed databases to collaborative content creation, often depend on the performance, scalability and simplicity of management associated with file-based systems, and the large ecosystem of supporting software products.  OpenStack, as the leading open IaaS capability, is increasingly contemplated as an option for deploying classic infrastructure in an &amp;quot;as a Service&amp;quot; model, but without specific accommodation for shared file systems represents an incomplete solution.&lt;br /&gt;
&lt;br /&gt;
== Projects==&lt;br /&gt;
&lt;br /&gt;
=== Manila ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| Source code&lt;br /&gt;
| https://github.com/openstack/manila&lt;br /&gt;
|-&lt;br /&gt;
| Bug tracker&lt;br /&gt;
| https://bugs.launchpad.net/manila&lt;br /&gt;
|-&lt;br /&gt;
| Feature tracker&lt;br /&gt;
| https://blueprints.launchpad.net/manila&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Python Manila Client ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| Source code&lt;br /&gt;
| https://github.com/openstack/python-manilaclient&lt;br /&gt;
|-&lt;br /&gt;
| Bug tracker&lt;br /&gt;
| https://bugs.launchpad.net/python-manilaclient&lt;br /&gt;
|-&lt;br /&gt;
| Feature tracker&lt;br /&gt;
| https://blueprints.launchpad.net/python-manilaclient&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Meetings ===&lt;br /&gt;
&lt;br /&gt;
[[Manila/Meetings|Project Agenda &amp;amp; Meetings]]&lt;br /&gt;
&lt;br /&gt;
[[Manila/JunoSummitPresentation|Overview Presentation from Juno (Atlanta) Summit]]&lt;br /&gt;
&lt;br /&gt;
=== Getting Started with Manila ===&lt;br /&gt;
&lt;br /&gt;
Instructions for getting started with Manila using Devstack are available at: [[Manila/IcehouseDevstack|Manila on Devstack]]&lt;br /&gt;
&lt;br /&gt;
Developer documentation is still in progress, but is available in a draft state: [[Manila/docs|Manila Documentation]]&lt;br /&gt;
&lt;br /&gt;
=== Project Plan &amp;amp; Progress ===&lt;br /&gt;
&lt;br /&gt;
[[Manila/ProjectPlan|Manila Project Plan]]&amp;lt;br /&amp;gt;&lt;br /&gt;
Track progress towards [[Manila/Graduation|Manila Incubation &amp;amp; Graduation]].&lt;br /&gt;
&lt;br /&gt;
== Design &amp;amp; Use Cases ==&lt;br /&gt;
&lt;br /&gt;
[[Manila/design|Manila Component Design]]&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Manila/usecases|Manila Use Cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
[[Manila/issue-neutron-on-localhost-ipv6|Connection to neutron failed.]]&lt;br /&gt;
&lt;br /&gt;
== Subpages ==&lt;br /&gt;
&lt;br /&gt;
{{Special:PrefixIndex/:Manila/}}&lt;br /&gt;
[[Manila/ManilaWithGREtunnels]]&lt;br /&gt;
&lt;br /&gt;
[[Manila/ManilaWithVXLANtunnels]]&lt;br /&gt;
&lt;br /&gt;
[[Manila_devstack_script|Manila/Manila Devstack Script]]&lt;br /&gt;
&lt;br /&gt;
 [[Category:Manila]]&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Incubation_Application&amp;diff=58911</id>
		<title>Manila/Incubation Application</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Incubation_Application&amp;diff=58911"/>
				<updated>2014-07-24T14:33:30Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Valeriy Ponomaryov */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project codename==&lt;br /&gt;
Manila&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
We're not aware of any trademarks conflicts with the name. The capital city of the Philippines is called Manila, making the name a proper noun. There are no other names used by the project with trademark concerns.&lt;br /&gt;
&lt;br /&gt;
== Summary (one sentence abstract of the project) ==&lt;br /&gt;
The Manila project provides an API for management of shared filesystems with support for multiple protocols and backend implementations. &lt;br /&gt;
&lt;br /&gt;
== Parent Program name and PTL ==&lt;br /&gt;
Program: [[Manila/Program_Application|Shared Filesystems]]&lt;br /&gt;
&lt;br /&gt;
PTL: Ben Swartzlander&lt;br /&gt;
&lt;br /&gt;
== Mission statement ==&lt;br /&gt;
Stated simply, the goal of the Manila project is to do for shared filesystem storage what Cinder has done for blocks storage.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a vendor neutral management interface that allows for provisioning and attaching shared filesystems such as NFS, CIFS, and more. To the extent possible we aim to mirror the architecture of Cinder, with support for a public REST API, multiple backends, and a scheduler that performs resource assignment decisions. When differences are unavoidable, we plan to design solutions that are compatible with the OpenStack ideals of modularity and scalability.&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
The basic assumption underpinning Manila is that shared filesystems provide some valuable features that cannot be obtained from either blocks storage or object storage, and that OpenStack is missing management features for this 3rd form of storage. The unique features afforded by shared filesystems are shared, fine-grained, read/write access to persistent data by multiple instances simultaneously. The NFS and CIFS protocols have been developed to provide these features and still prove popular after decades of use.&lt;br /&gt;
&lt;br /&gt;
The implementation of Manila is actually a modified fork of the Cinder project. The concept for management of shared filesystems was originally proposed as an extension to Cinder (at the SF design summit in April 2012), under the theory that there would be a lot of common code between the implementations, and many of the same developers would be interested in working on both projects. Because of this, the initial implementation for what is now Manila was actually a large patch to the Cinder project submitted in August 2012. For a variety of reasons, we ultimately decided that a separate project would be a better way to deliver the features and the Manila project was born.&lt;br /&gt;
&lt;br /&gt;
Manila consist of all of the code from Cinder with our shared filesystem management code added in and all the blocks-specific code removed. The API largely mirrors the existing Cinder APIs, except that &amp;quot;volumes&amp;quot; have been renamed to &amp;quot;shares&amp;quot; and the attachment procedure is somewhat different. &lt;br /&gt;
&lt;br /&gt;
== Basic roadmap for the project ==&lt;br /&gt;
The initial implementation of Manila was a proof of concept that shared filesystem management can fit into the same architecture as Cinder. The main difference between blocks and shared filesystems however is how the storage system and the ultimate user of the storage communicate with one another. In particular, shared filesystems work best when instances are able to communicate directly with the storage backend over the network, and the storage backend is able to serve multiple tenants while maintaining secure separation between them. Block storage can simply be virtualized through a hypervisor, with far fewer requirements on the backend storage system. Because of these differences, additional work is needed to help automate the networking portion of attaching a shared filesystem to one or more instances in a tenant network, and to automate the setup of security domains and other features that exist in a NAS environment but not a SAN environment.&lt;br /&gt;
&lt;br /&gt;
During Icehouse, our main goals are to define and implement these new APIs as well as expanding the backend driver interface to support true multitenancy (the kind with network segmentation) in Manila. We also aim to get as many backends implemented as possible, and to this end we will be improving the reference drivers and documentation for developing new ones.&lt;br /&gt;
̈&lt;br /&gt;
== Location of project source code ==&lt;br /&gt;
* Project code: https://github.com/stackforge/manila&lt;br /&gt;
* Python client: https://github.com/stackforge/python-manilaclient&lt;br /&gt;
&lt;br /&gt;
== Programming language, required technology dependencies ==&lt;br /&gt;
=== Language: ===&lt;br /&gt;
Python&lt;br /&gt;
&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
Message queue, database server, keystone, neutron&lt;br /&gt;
Optional parts of Manila depend on: nova, cinder&lt;br /&gt;
&lt;br /&gt;
There is a plan to make the neutron dependency optional in the future.&lt;br /&gt;
&lt;br /&gt;
== Is project currently open sourced? What license? ==&lt;br /&gt;
Yes - Licensed under the Apache License, Version 2.0&lt;br /&gt;
&lt;br /&gt;
== Level of maturity of software and team ==&lt;br /&gt;
=== Software ===&lt;br /&gt;
Aside from the code inherited from Cinder, the new Manila code is a little more than a year old, and has been actively developed from then until now, mostly by developers from NetApp and Mirantis. &lt;br /&gt;
&lt;br /&gt;
=== Team ===&lt;br /&gt;
The core team now consists of developers from NetApp and Mirantis, with significant community interest since the code was open sourced in August 2013. &lt;br /&gt;
&lt;br /&gt;
== Project developers qualifications ==&lt;br /&gt;
&lt;br /&gt;
=== Ben Swartzlander ===&lt;br /&gt;
'''NetApp - Software Architect, Manila - PTL'''&lt;br /&gt;
&lt;br /&gt;
Ben Swartzlander has been the technical lead for the project since its conception 2 years ago, and plans to continue leading the project from a design and administrative standpoint. Ben has been working the storage industry as a software engineer for more than 13 years and has extensive experience with storage systems, network protocols, virtualization, and open source projects. Ben has been a contributor to the OpenStack project for nearly 3 years.&lt;br /&gt;
&lt;br /&gt;
=== Yulia Portnova ===&lt;br /&gt;
'''Mirantis - Software Developer, Manila - Core Team'''&lt;br /&gt;
&lt;br /&gt;
Yulia has been working in Mirantis with OpenStack since Essex release. &lt;br /&gt;
Has contributions to Nova, Glance, Cinder.&lt;br /&gt;
&lt;br /&gt;
=== Valeriy Ponomaryov ===&lt;br /&gt;
'''Mirantis - QA Automation Engineer, Manila - Core Team'''&lt;br /&gt;
&lt;br /&gt;
Valeriy has been working with OpenStack since Folsom release, except Manila project he has contributions to Tempest, CI Config and Oslo-Incubator, also he is one of the developers of Horizon modification and Devstack plugin for Manila project.&lt;br /&gt;
&lt;br /&gt;
=== Xing Yang ===&lt;br /&gt;
'''EMC - Software Developer, Manila - Core Team (pending team vote)'''&lt;br /&gt;
&lt;br /&gt;
=== Alex Meade ===&lt;br /&gt;
'''NetApp - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Alex has been working on OpenStack for over 3 years and is a Core contributor for the Glance project. He previously worked on the Rackspace public cloud deployment and is interested in OpenStack at scale.&lt;br /&gt;
&lt;br /&gt;
=== Rushil Chugh ===&lt;br /&gt;
'''NetApp - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Rushil holds a Masters in Computer Networking and has been working with OpenStack since the Grizzly release. Rushil holds a keen interest in Enterprise Network Deployments, Data Storage and Virtualization.&lt;br /&gt;
&lt;br /&gt;
=== Clinton Knight ===&lt;br /&gt;
'''NetApp - Sr. Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Clinton holds a doctorate in electrical &amp;amp; computer engineering, has worked in the storage industry for 15 years, and has extensive experience with storage management and protocols as well as virtualization.&lt;br /&gt;
&lt;br /&gt;
=== Rushi Agrawal ===&lt;br /&gt;
'''Reliance Jio Cloud - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Andrei Ostapenko ===&lt;br /&gt;
'''Mirantis - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Andrei works with OpenStack since folsom release and is mostly involved in new stackforge components.&lt;br /&gt;
&lt;br /&gt;
=== Vitaly Kostenko ===&lt;br /&gt;
'''Mirantis - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Aleksandr Chirko ===&lt;br /&gt;
'''Mirantis - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Vijay Bellur ===&lt;br /&gt;
'''Red Hat'''&lt;br /&gt;
&lt;br /&gt;
=== Csaba Henk ===&lt;br /&gt;
'''Red Hat'''&lt;br /&gt;
&lt;br /&gt;
=== Ramana Raja ===&lt;br /&gt;
'''Red Hat'''&lt;br /&gt;
&lt;br /&gt;
=== Christian Berendt ===&lt;br /&gt;
&lt;br /&gt;
=== Shamail Tahir ===&lt;br /&gt;
'''EMC'''&lt;br /&gt;
&lt;br /&gt;
=== Scott D'Angelo ===&lt;br /&gt;
'''HP Public Cloud'''&lt;br /&gt;
&lt;br /&gt;
=== Deepak C Shetty ===&lt;br /&gt;
'''Red Hat - OpenStack Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Julia Varlamova ===&lt;br /&gt;
'''Mirantis - Intern Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Julia has been working on OpenStack for 1.5 years. Has contributions to Glance, Cinder, Oslo.DB.&lt;br /&gt;
&lt;br /&gt;
== Infrastructure requirements (testing, etc) ==&lt;br /&gt;
Manila does not require any infrastructure above and beyond what's already provided by devstack, gerrit, jenkins, and tempest today.&lt;br /&gt;
&lt;br /&gt;
== Have all current contributors agreed to the OpenStack CLA? ==&lt;br /&gt;
All current contributors HAVE agreed to the OpenStack CLA!&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Incubation_Application&amp;diff=58892</id>
		<title>Manila/Incubation Application</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Incubation_Application&amp;diff=58892"/>
				<updated>2014-07-24T11:52:21Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Aleksandr Chirko */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project codename==&lt;br /&gt;
Manila&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
We're not aware of any trademarks conflicts with the name. The capital city of the Philippines is called Manila, making the name a proper noun. There are no other names used by the project with trademark concerns.&lt;br /&gt;
&lt;br /&gt;
== Summary (one sentence abstract of the project) ==&lt;br /&gt;
The Manila project provides an API for management of shared filesystems with support for multiple protocols and backend implementations. &lt;br /&gt;
&lt;br /&gt;
== Parent Program name and PTL ==&lt;br /&gt;
Program: [[Manila/Program_Application|Shared Filesystems]]&lt;br /&gt;
&lt;br /&gt;
PTL: Ben Swartzlander&lt;br /&gt;
&lt;br /&gt;
== Mission statement ==&lt;br /&gt;
Stated simply, the goal of the Manila project is to do for shared filesystem storage what Cinder has done for blocks storage.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a vendor neutral management interface that allows for provisioning and attaching shared filesystems such as NFS, CIFS, and more. To the extent possible we aim to mirror the architecture of Cinder, with support for a public REST API, multiple backends, and a scheduler that performs resource assignment decisions. When differences are unavoidable, we plan to design solutions that are compatible with the OpenStack ideals of modularity and scalability.&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
The basic assumption underpinning Manila is that shared filesystems provide some valuable features that cannot be obtained from either blocks storage or object storage, and that OpenStack is missing management features for this 3rd form of storage. The unique features afforded by shared filesystems are shared, fine-grained, read/write access to persistent data by multiple instances simultaneously. The NFS and CIFS protocols have been developed to provide these features and still prove popular after decades of use.&lt;br /&gt;
&lt;br /&gt;
The implementation of Manila is actually a modified fork of the Cinder project. The concept for management of shared filesystems was originally proposed as an extension to Cinder (at the SF design summit in April 2012), under the theory that there would be a lot of common code between the implementations, and many of the same developers would be interested in working on both projects. Because of this, the initial implementation for what is now Manila was actually a large patch to the Cinder project submitted in August 2012. For a variety of reasons, we ultimately decided that a separate project would be a better way to deliver the features and the Manila project was born.&lt;br /&gt;
&lt;br /&gt;
Manila consist of all of the code from Cinder with our shared filesystem management code added in and all the blocks-specific code removed. The API largely mirrors the existing Cinder APIs, except that &amp;quot;volumes&amp;quot; have been renamed to &amp;quot;shares&amp;quot; and the attachment procedure is somewhat different. &lt;br /&gt;
&lt;br /&gt;
== Basic roadmap for the project ==&lt;br /&gt;
The initial implementation of Manila was a proof of concept that shared filesystem management can fit into the same architecture as Cinder. The main difference between blocks and shared filesystems however is how the storage system and the ultimate user of the storage communicate with one another. In particular, shared filesystems work best when instances are able to communicate directly with the storage backend over the network, and the storage backend is able to serve multiple tenants while maintaining secure separation between them. Block storage can simply be virtualized through a hypervisor, with far fewer requirements on the backend storage system. Because of these differences, additional work is needed to help automate the networking portion of attaching a shared filesystem to one or more instances in a tenant network, and to automate the setup of security domains and other features that exist in a NAS environment but not a SAN environment.&lt;br /&gt;
&lt;br /&gt;
During Icehouse, our main goals are to define and implement these new APIs as well as expanding the backend driver interface to support true multitenancy (the kind with network segmentation) in Manila. We also aim to get as many backends implemented as possible, and to this end we will be improving the reference drivers and documentation for developing new ones.&lt;br /&gt;
̈&lt;br /&gt;
== Location of project source code ==&lt;br /&gt;
* Project code: https://github.com/stackforge/manila&lt;br /&gt;
* Python client: https://github.com/stackforge/python-manilaclient&lt;br /&gt;
&lt;br /&gt;
== Programming language, required technology dependencies ==&lt;br /&gt;
=== Language: ===&lt;br /&gt;
Python&lt;br /&gt;
&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
Message queue, database server, keystone, neutron&lt;br /&gt;
Optional parts of Manila depend on: nova, cinder&lt;br /&gt;
&lt;br /&gt;
There is a plan to make the neutron dependency optional in the future.&lt;br /&gt;
&lt;br /&gt;
== Is project currently open sourced? What license? ==&lt;br /&gt;
Yes - Licensed under the Apache License, Version 2.0&lt;br /&gt;
&lt;br /&gt;
== Level of maturity of software and team ==&lt;br /&gt;
=== Software ===&lt;br /&gt;
Aside from the code inherited from Cinder, the new Manila code is a little more than a year old, and has been actively developed from then until now, mostly by developers from NetApp and Mirantis. &lt;br /&gt;
&lt;br /&gt;
=== Team ===&lt;br /&gt;
The core team now consists of developers from NetApp and Mirantis, with significant community interest since the code was open sourced in August 2013. &lt;br /&gt;
&lt;br /&gt;
== Project developers qualifications ==&lt;br /&gt;
&lt;br /&gt;
=== Ben Swartzlander ===&lt;br /&gt;
'''NetApp - Software Architect, Manila - PTL'''&lt;br /&gt;
&lt;br /&gt;
Ben Swartzlander has been the technical lead for the project since its conception 2 years ago, and plans to continue leading the project from a design and administrative standpoint. Ben has been working the storage industry as a software engineer for more than 13 years and has extensive experience with storage systems, network protocols, virtualization, and open source projects. Ben has been a contributor to the OpenStack project for nearly 3 years.&lt;br /&gt;
&lt;br /&gt;
=== Yulia Portnova ===&lt;br /&gt;
'''Mirantis - Software Developer, Manila - Core Team'''&lt;br /&gt;
&lt;br /&gt;
Yulia has been working in Mirantis with OpenStack since Essex release. &lt;br /&gt;
Has contributions to Nova, Glance, Cinder.&lt;br /&gt;
&lt;br /&gt;
=== Valeriy Ponomaryov ===&lt;br /&gt;
'''Mirantis - Software Developer, Manila - Core Team'''&lt;br /&gt;
&lt;br /&gt;
=== Xing Yang ===&lt;br /&gt;
'''EMC - Software Developer, Manila - Core Team (pending team vote)'''&lt;br /&gt;
&lt;br /&gt;
=== Alex Meade ===&lt;br /&gt;
'''NetApp - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Alex has been working on OpenStack for over 3 years and is a Core contributor for the Glance project. He previously worked on the Rackspace public cloud deployment and is interested in OpenStack at scale.&lt;br /&gt;
&lt;br /&gt;
=== Rushil Chugh ===&lt;br /&gt;
'''NetApp - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Rushil holds a Masters in Computer Networking and has been working with OpenStack since the Grizzly release. Rushil holds a keen interest in Enterprise Network Deployments, Data Storage and Virtualization.&lt;br /&gt;
&lt;br /&gt;
=== Clinton Knight ===&lt;br /&gt;
'''NetApp - Sr. Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Clinton holds a doctorate in electrical &amp;amp; computer engineering, has worked in the storage industry for 15 years, and has extensive experience with storage management and protocols as well as virtualization.&lt;br /&gt;
&lt;br /&gt;
=== Rushi Agrawal ===&lt;br /&gt;
'''Reliance Jio Cloud - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Andrei Ostapenko ===&lt;br /&gt;
'''Mirantis - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Vitaly Kostenko ===&lt;br /&gt;
'''Mirantis - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Aleksandr Chirko ===&lt;br /&gt;
'''Mirantis - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Vijay Bellur ===&lt;br /&gt;
'''Red Hat'''&lt;br /&gt;
&lt;br /&gt;
=== Csaba Henk ===&lt;br /&gt;
'''Red Hat'''&lt;br /&gt;
&lt;br /&gt;
=== Ramana Raja ===&lt;br /&gt;
'''Red Hat'''&lt;br /&gt;
&lt;br /&gt;
=== Christian Berendt ===&lt;br /&gt;
&lt;br /&gt;
=== Shamail Tahir ===&lt;br /&gt;
'''EMC'''&lt;br /&gt;
&lt;br /&gt;
=== Scott D'Angelo ===&lt;br /&gt;
'''HP Public Cloud'''&lt;br /&gt;
&lt;br /&gt;
=== Deepak C Shetty ===&lt;br /&gt;
'''Red Hat - OpenStack Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Julia Varlamova ===&lt;br /&gt;
'''Mirantis - Intern Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Julia has been working on OpenStack for 1.5 years. Has contributions to Glance, Cinder, Oslo.DB.&lt;br /&gt;
&lt;br /&gt;
== Infrastructure requirements (testing, etc) ==&lt;br /&gt;
Manila does not require any infrastructure above and beyond what's already provided by devstack, gerrit, jenkins, and tempest today.&lt;br /&gt;
&lt;br /&gt;
== Have all current contributors agreed to the OpenStack CLA? ==&lt;br /&gt;
All current contributors HAVE agreed to the OpenStack CLA!&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Incubation_Application&amp;diff=58891</id>
		<title>Manila/Incubation Application</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Incubation_Application&amp;diff=58891"/>
				<updated>2014-07-24T11:52:11Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Vitaly Kostenko */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Project codename==&lt;br /&gt;
Manila&lt;br /&gt;
&lt;br /&gt;
== Trademarks ==&lt;br /&gt;
We're not aware of any trademarks conflicts with the name. The capital city of the Philippines is called Manila, making the name a proper noun. There are no other names used by the project with trademark concerns.&lt;br /&gt;
&lt;br /&gt;
== Summary (one sentence abstract of the project) ==&lt;br /&gt;
The Manila project provides an API for management of shared filesystems with support for multiple protocols and backend implementations. &lt;br /&gt;
&lt;br /&gt;
== Parent Program name and PTL ==&lt;br /&gt;
Program: [[Manila/Program_Application|Shared Filesystems]]&lt;br /&gt;
&lt;br /&gt;
PTL: Ben Swartzlander&lt;br /&gt;
&lt;br /&gt;
== Mission statement ==&lt;br /&gt;
Stated simply, the goal of the Manila project is to do for shared filesystem storage what Cinder has done for blocks storage.&lt;br /&gt;
&lt;br /&gt;
We aim to provide a vendor neutral management interface that allows for provisioning and attaching shared filesystems such as NFS, CIFS, and more. To the extent possible we aim to mirror the architecture of Cinder, with support for a public REST API, multiple backends, and a scheduler that performs resource assignment decisions. When differences are unavoidable, we plan to design solutions that are compatible with the OpenStack ideals of modularity and scalability.&lt;br /&gt;
&lt;br /&gt;
== Detailed Description ==&lt;br /&gt;
The basic assumption underpinning Manila is that shared filesystems provide some valuable features that cannot be obtained from either blocks storage or object storage, and that OpenStack is missing management features for this 3rd form of storage. The unique features afforded by shared filesystems are shared, fine-grained, read/write access to persistent data by multiple instances simultaneously. The NFS and CIFS protocols have been developed to provide these features and still prove popular after decades of use.&lt;br /&gt;
&lt;br /&gt;
The implementation of Manila is actually a modified fork of the Cinder project. The concept for management of shared filesystems was originally proposed as an extension to Cinder (at the SF design summit in April 2012), under the theory that there would be a lot of common code between the implementations, and many of the same developers would be interested in working on both projects. Because of this, the initial implementation for what is now Manila was actually a large patch to the Cinder project submitted in August 2012. For a variety of reasons, we ultimately decided that a separate project would be a better way to deliver the features and the Manila project was born.&lt;br /&gt;
&lt;br /&gt;
Manila consist of all of the code from Cinder with our shared filesystem management code added in and all the blocks-specific code removed. The API largely mirrors the existing Cinder APIs, except that &amp;quot;volumes&amp;quot; have been renamed to &amp;quot;shares&amp;quot; and the attachment procedure is somewhat different. &lt;br /&gt;
&lt;br /&gt;
== Basic roadmap for the project ==&lt;br /&gt;
The initial implementation of Manila was a proof of concept that shared filesystem management can fit into the same architecture as Cinder. The main difference between blocks and shared filesystems however is how the storage system and the ultimate user of the storage communicate with one another. In particular, shared filesystems work best when instances are able to communicate directly with the storage backend over the network, and the storage backend is able to serve multiple tenants while maintaining secure separation between them. Block storage can simply be virtualized through a hypervisor, with far fewer requirements on the backend storage system. Because of these differences, additional work is needed to help automate the networking portion of attaching a shared filesystem to one or more instances in a tenant network, and to automate the setup of security domains and other features that exist in a NAS environment but not a SAN environment.&lt;br /&gt;
&lt;br /&gt;
During Icehouse, our main goals are to define and implement these new APIs as well as expanding the backend driver interface to support true multitenancy (the kind with network segmentation) in Manila. We also aim to get as many backends implemented as possible, and to this end we will be improving the reference drivers and documentation for developing new ones.&lt;br /&gt;
̈&lt;br /&gt;
== Location of project source code ==&lt;br /&gt;
* Project code: https://github.com/stackforge/manila&lt;br /&gt;
* Python client: https://github.com/stackforge/python-manilaclient&lt;br /&gt;
&lt;br /&gt;
== Programming language, required technology dependencies ==&lt;br /&gt;
=== Language: ===&lt;br /&gt;
Python&lt;br /&gt;
&lt;br /&gt;
=== Dependencies ===&lt;br /&gt;
Message queue, database server, keystone, neutron&lt;br /&gt;
Optional parts of Manila depend on: nova, cinder&lt;br /&gt;
&lt;br /&gt;
There is a plan to make the neutron dependency optional in the future.&lt;br /&gt;
&lt;br /&gt;
== Is project currently open sourced? What license? ==&lt;br /&gt;
Yes - Licensed under the Apache License, Version 2.0&lt;br /&gt;
&lt;br /&gt;
== Level of maturity of software and team ==&lt;br /&gt;
=== Software ===&lt;br /&gt;
Aside from the code inherited from Cinder, the new Manila code is a little more than a year old, and has been actively developed from then until now, mostly by developers from NetApp and Mirantis. &lt;br /&gt;
&lt;br /&gt;
=== Team ===&lt;br /&gt;
The core team now consists of developers from NetApp and Mirantis, with significant community interest since the code was open sourced in August 2013. &lt;br /&gt;
&lt;br /&gt;
== Project developers qualifications ==&lt;br /&gt;
&lt;br /&gt;
=== Ben Swartzlander ===&lt;br /&gt;
'''NetApp - Software Architect, Manila - PTL'''&lt;br /&gt;
&lt;br /&gt;
Ben Swartzlander has been the technical lead for the project since its conception 2 years ago, and plans to continue leading the project from a design and administrative standpoint. Ben has been working the storage industry as a software engineer for more than 13 years and has extensive experience with storage systems, network protocols, virtualization, and open source projects. Ben has been a contributor to the OpenStack project for nearly 3 years.&lt;br /&gt;
&lt;br /&gt;
=== Yulia Portnova ===&lt;br /&gt;
'''Mirantis - Software Developer, Manila - Core Team'''&lt;br /&gt;
&lt;br /&gt;
Yulia has been working in Mirantis with OpenStack since Essex release. &lt;br /&gt;
Has contributions to Nova, Glance, Cinder.&lt;br /&gt;
&lt;br /&gt;
=== Valeriy Ponomaryov ===&lt;br /&gt;
'''Mirantis - Software Developer, Manila - Core Team'''&lt;br /&gt;
&lt;br /&gt;
=== Xing Yang ===&lt;br /&gt;
'''EMC - Software Developer, Manila - Core Team (pending team vote)'''&lt;br /&gt;
&lt;br /&gt;
=== Alex Meade ===&lt;br /&gt;
'''NetApp - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Alex has been working on OpenStack for over 3 years and is a Core contributor for the Glance project. He previously worked on the Rackspace public cloud deployment and is interested in OpenStack at scale.&lt;br /&gt;
&lt;br /&gt;
=== Rushil Chugh ===&lt;br /&gt;
'''NetApp - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Rushil holds a Masters in Computer Networking and has been working with OpenStack since the Grizzly release. Rushil holds a keen interest in Enterprise Network Deployments, Data Storage and Virtualization.&lt;br /&gt;
&lt;br /&gt;
=== Clinton Knight ===&lt;br /&gt;
'''NetApp - Sr. Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Clinton holds a doctorate in electrical &amp;amp; computer engineering, has worked in the storage industry for 15 years, and has extensive experience with storage management and protocols as well as virtualization.&lt;br /&gt;
&lt;br /&gt;
=== Rushi Agrawal ===&lt;br /&gt;
'''Reliance Jio Cloud - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Andrei Ostapenko ===&lt;br /&gt;
'''Mirantis - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Vitaly Kostenko ===&lt;br /&gt;
'''Mirantis - Software Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Aleksandr Chirko ===&lt;br /&gt;
&lt;br /&gt;
=== Vijay Bellur ===&lt;br /&gt;
'''Red Hat'''&lt;br /&gt;
&lt;br /&gt;
=== Csaba Henk ===&lt;br /&gt;
'''Red Hat'''&lt;br /&gt;
&lt;br /&gt;
=== Ramana Raja ===&lt;br /&gt;
'''Red Hat'''&lt;br /&gt;
&lt;br /&gt;
=== Christian Berendt ===&lt;br /&gt;
&lt;br /&gt;
=== Shamail Tahir ===&lt;br /&gt;
'''EMC'''&lt;br /&gt;
&lt;br /&gt;
=== Scott D'Angelo ===&lt;br /&gt;
'''HP Public Cloud'''&lt;br /&gt;
&lt;br /&gt;
=== Deepak C Shetty ===&lt;br /&gt;
'''Red Hat - OpenStack Developer'''&lt;br /&gt;
&lt;br /&gt;
=== Julia Varlamova ===&lt;br /&gt;
'''Mirantis - Intern Software Developer'''&lt;br /&gt;
&lt;br /&gt;
Julia has been working on OpenStack for 1.5 years. Has contributions to Glance, Cinder, Oslo.DB.&lt;br /&gt;
&lt;br /&gt;
== Infrastructure requirements (testing, etc) ==&lt;br /&gt;
Manila does not require any infrastructure above and beyond what's already provided by devstack, gerrit, jenkins, and tempest today.&lt;br /&gt;
&lt;br /&gt;
== Have all current contributors agreed to the OpenStack CLA? ==&lt;br /&gt;
All current contributors HAVE agreed to the OpenStack CLA!&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=57841</id>
		<title>Manila/Meetings</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/Meetings&amp;diff=57841"/>
				<updated>2014-07-10T11:09:08Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Next meeting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Weekly Manila team meeting =&lt;br /&gt;
'''NOTE MEETING TIME: Thursday at 15:00 UTC'''&lt;br /&gt;
&lt;br /&gt;
If you're interested in management of shared filesystems for OpenStack, we have a weekly meetings in &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;#openstack-meeting-alt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;, on Thursdays at 15:00 UTC.  Please feel free to add items to the agenda below.  NOTE: When adding topics please include your IRC name so we know who's topic it is and how to get more info.&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
'''NOTE:''' ''Include your IRC nickname next to agenda items so that you can be called upon in the meeting and arrive at the meeting promptly if placing items in agenda. You might want to put this on your calendar if you are adding items.''&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTː''' The July 3 meeting is canceledǃ&lt;br /&gt;
&lt;br /&gt;
'''Scheduled for 10 Jul, 2014, 15:00 UTC'''&lt;br /&gt;
# Development Status&lt;br /&gt;
# (vponomaryov) Add new API?ː&lt;br /&gt;
 bp https://blueprints.launchpad.net/manila/+spec/add-admin-api-list-shares-for-share-server&lt;br /&gt;
 - do we need it? (Can be useful for admins)&lt;br /&gt;
 - if yes, should it be separated API? (Restriction - policy rules are different according to already existing API 'list')&lt;br /&gt;
 - if yes, what name should be used for this API?&lt;br /&gt;
# Open Discussion&lt;br /&gt;
&lt;br /&gt;
== Previous meetings ==&lt;br /&gt;
&lt;br /&gt;
'''Feb 13, 2014 15:00 UTC'''&lt;br /&gt;
# [http://git.openstack.org/cgit/openstack/governance/tree/reference/incubation-integration-requirements Incubation] (bswartz)&lt;br /&gt;
&lt;br /&gt;
'''Oct 17, 2013, 15:00 UTC'''&lt;br /&gt;
# [https://blueprints.launchpad.net/manila/+spec/join-tenant-network Networking BP]&lt;br /&gt;
&lt;br /&gt;
'''Sep 26, 2013, 15:00 UTC'''&lt;br /&gt;
# [[Manila/Networking|Networking Wiki]] (bswartz) &lt;br /&gt;
&lt;br /&gt;
'''Aug 8, 2013, 15:00 UTC'''&lt;br /&gt;
# [[Manila/ProjectPlan|Project Plan]] -- bswartz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://eavesdrop.openstack.org/meetings/manila/&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57521</id>
		<title>Manila/docs/HOWTO use tempest with manila</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57521"/>
				<updated>2014-07-07T12:04:00Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Foreword */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Foreword=&lt;br /&gt;
This page describes how Tempest project for Manila project testing can be used.&lt;br /&gt;
&lt;br /&gt;
It is assumed that user who reads this is acquainted with, at least, common information about Tempest:&lt;br /&gt;
 http://docs.openstack.org/developer/tempest/&lt;br /&gt;
 https://github.com/openstack/tempest&lt;br /&gt;
&lt;br /&gt;
Also, it is assumed, that the following projects has been installed in test environmentː&lt;br /&gt;
 - cinder&lt;br /&gt;
 - glance&lt;br /&gt;
 - keystone&lt;br /&gt;
 - manila&lt;br /&gt;
 - neutron&lt;br /&gt;
 - nova&lt;br /&gt;
&lt;br /&gt;
=Where do Tempest tests for Manila live?=&lt;br /&gt;
Manila stores its tests for Tempest in its repo here:&lt;br /&gt;
 https://github.com/stackforge/manila/tree/master/contrib/tempest&lt;br /&gt;
&lt;br /&gt;
These are pluggable-like files which do not require changing of core Tempest files.&lt;br /&gt;
But the way of its pluggability is implemented as work-around for Tempest, which does not have pluggable functionality for 'exceptions', 'config' and 'clients' modules.&lt;br /&gt;
It is compatible with master branch of Tempest.&lt;br /&gt;
&lt;br /&gt;
Just copy these files to Tempest dirː&lt;br /&gt;
 $ TEMPEST_DIR=/path/to/tempest&lt;br /&gt;
 $ MANILA_DIR=/path/to/manila&lt;br /&gt;
 $ cp ${MANILA_DIR}/contrib/tempest/tempest/* ${TEMPEST_DIR}/tempest&lt;br /&gt;
&lt;br /&gt;
=Configuring Tempest before running tests=&lt;br /&gt;
Any test running with Tempest requires update of Tempest's config file located in&lt;br /&gt;
 etc/tempest.conf&lt;br /&gt;
If it does not exist, just copy template &amp;quot;tempest.conf.sample&amp;quot;&lt;br /&gt;
 cp tempest.conf.sample tempest.conf&lt;br /&gt;
&lt;br /&gt;
Manila's config extension is defined in&lt;br /&gt;
 https://github.com/stackforge/manila/blob/master/contrib/tempest/tempest/config_share.py&lt;br /&gt;
&lt;br /&gt;
Subsections below describe sections and options that can be updated with Tempest's config file.&lt;br /&gt;
&lt;br /&gt;
==Cluster related options in general==&lt;br /&gt;
Required options for Manila tests are described below.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;cli&amp;quot;===&lt;br /&gt;
====Option &amp;quot;enabled&amp;quot;====&lt;br /&gt;
Set it to &lt;br /&gt;
 True&lt;br /&gt;
value, to be able to run Manila cli tests.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;identity&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v2.0/&lt;br /&gt;
Used for all tests, if v2 auth enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri_v3&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v3/&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
====Option &amp;quot;password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'alt_demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'admin' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;network&amp;quot;===&lt;br /&gt;
====Option &amp;quot;public_network_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron net-list&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;public_router_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron router-list&lt;br /&gt;
&lt;br /&gt;
==Manila related options==&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;service_available&amp;quot;===&lt;br /&gt;
This section is defined within vanila Tempest. But &amp;quot;manila&amp;quot; option is defined within Manila's extension.&lt;br /&gt;
====Option &amp;quot;manila&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː Whether or not manila is expected to be available&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;share&amp;quot;===&lt;br /&gt;
This section is defined with Manila's extension.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;catalog_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː share&lt;br /&gt;
 descriptionː Catalog type of the Share service. Should be changed only if it is changed in Manila itself.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;endpoint_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː publicURL&lt;br /&gt;
 descriptionː The endpoint type to use for the share service. Expected values are 'public', 'admin', 'internal', 'publicURL', 'adminURL' and 'internalURL'.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multitenancy_enabled&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː This option is used to determine backend driver type, multitenant driver uses share-networks, but single-tenant doesn't.&lt;br /&gt;
&lt;br /&gt;
 Current singletenant drivers: LVM, GlusterFS, NetApp 7-mode&lt;br /&gt;
 Current multitenant drivers: Generic, NetApp Cluster-mode (cmode)&lt;br /&gt;
 Default driver in manila is Generic driver, so &amp;quot;multitenancy_enabled&amp;quot; option is enabled by default.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː The first value of the list is protocol by default, items of the list show enabled protocols.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - will be tested only NFS type of shares and common actions&lt;br /&gt;
 cifs - will be tested only CIFS type of shares and common actions&lt;br /&gt;
 nfs,cifs - will be tested both share types and common actions, for common actions will be used nfs protocol&lt;br /&gt;
 cifs,nfs - will be tested both share types and common actions, for common actions will be used cifs protocol&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_ip_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː Whether allow running of ip rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_sid_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː Whether allow running of sid (username/usergroup) rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username_for_sid_rules&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː Administrator&lt;br /&gt;
 descriptionː What name should be used with sid rule tests? Specify it if 'sid rule' tests are enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;storage_protocol&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for alternative member creds. At the moment there are no tests, that use share_network with creds for alternative user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for admin creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multi_backend&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː False&lt;br /&gt;
 descriptionː Does your environment has more than 1 backend or not? If yes, than you can set it to True to enable multibackend tests in tempest.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;backend_names&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː names of backends in Manila, that Tempest should use. Tempest will use first two values from list and will use it only if option &amp;quot;multi_backend&amp;quot; is Enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_interval&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 3&lt;br /&gt;
 descriptionː time to wait between resend of requests.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_timeout&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 500&lt;br /&gt;
 descriptionː time to wait until raise of Exception with timeout.&lt;br /&gt;
&lt;br /&gt;
=How to run tests=&lt;br /&gt;
==Run only cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests with specified amount of threads==&lt;br /&gt;
 export TEMPEST_CONCURRENCY=4&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila* -- --concurrency=$TEMPEST_CONCURRENCY\&amp;quot;&lt;br /&gt;
Above action will try to run Tempest in 4 threads, if your host does have at least 4 cores. By default it uses amount of threads equal to amount of available cores.&lt;br /&gt;
&lt;br /&gt;
Manila tests are OK using concurrent threads.&lt;br /&gt;
&lt;br /&gt;
==If something went wrong with test launch==&lt;br /&gt;
Exception may be raised on step where tests are gathered and parsed and as a result we would see something similar to the followingː&lt;br /&gt;
 running testr&lt;br /&gt;
 Non-zero exit code (2) from test listing. stdout='\xb3)\x01@d@Ytempest.api.share.admin.test_admin_actions.AdminActionsTest.test_force_delete_share[gate]&amp;lt;Z\x90&amp;quot;\xb3)\x01@g@\\&lt;br /&gt;
 ...&lt;br /&gt;
 tempest.scenario.test_volume_boot_pattern6B\x1e\xcc', stderr=None&lt;br /&gt;
 error: testr failed (3)&lt;br /&gt;
 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \&lt;br /&gt;
 OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \&lt;br /&gt;
 OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \&lt;br /&gt;
 OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \&lt;br /&gt;
 ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./tempest/test_discover} --list &lt;br /&gt;
 &lt;br /&gt;
 ======&lt;br /&gt;
 Totals&lt;br /&gt;
 ======&lt;br /&gt;
 Run: 0 in 0.0 sec.&lt;br /&gt;
  - Passed: 0&lt;br /&gt;
  - Skipped: 0&lt;br /&gt;
  - Failed: 0&lt;br /&gt;
 ERROR: InvocationError: '/bin/bash tools/pretty_tox.sh tempest/api/share/test_extensions.py'&lt;br /&gt;
 __________________________________________________________________________________________________________________ summary ___________________________________________________________________________________________________________________&lt;br /&gt;
 ERROR:   venv: commands failed&lt;br /&gt;
&lt;br /&gt;
There could be different causes for that, in most cases - dependency issues, when some dependency is not installed and can not be imported. Or python syntax error, if something were changed in code, etc...&lt;br /&gt;
&lt;br /&gt;
As we can see, it does not show us real problem and we need dig root cause up. It can be done by a lot of means, for example, try nextː&lt;br /&gt;
 nosetests -sv path/to/tests&lt;br /&gt;
or&lt;br /&gt;
 .tox/venv/bin/python -m testtools.run discover -t ./ path/to/tests&lt;br /&gt;
&lt;br /&gt;
=How to write own tests=&lt;br /&gt;
&lt;br /&gt;
==Where to put new tests==&lt;br /&gt;
All tests, that cover admin API are stored in &lt;br /&gt;
 tempest/api/share/admin/*&lt;br /&gt;
All tests, that cover non-admin API are stored in&lt;br /&gt;
 tempest/api/share/*&lt;br /&gt;
&lt;br /&gt;
==Add method as API caller==&lt;br /&gt;
All such methods are stored in &lt;br /&gt;
 tempest/services/share/json/shares_client.py&lt;br /&gt;
XML is considered as deprecated and tests for it were removed, so, only json &amp;quot;client&amp;quot; is expected.&lt;br /&gt;
&lt;br /&gt;
==Positive/Negative==&lt;br /&gt;
Positive and negative tests are separated into different modules, module with &amp;quot;negative&amp;quot; tests should have &amp;quot;_negative&amp;quot; suffix.&lt;br /&gt;
Example of module with positive testsː&lt;br /&gt;
 tempest/api/share/test_shares.py&lt;br /&gt;
Example of module with negative testsː&lt;br /&gt;
 tempest/api/share/test_shares_negative.py&lt;br /&gt;
&lt;br /&gt;
==Resolving concurrency issue==&lt;br /&gt;
If some test is sensible to changes that can be done by other tests, this test should use isolated tenant, example of it can be found in quota tests, located in&lt;br /&gt;
 tempest/api/share/admin/test_quotas.py&lt;br /&gt;
&lt;br /&gt;
==Reusing resources==&lt;br /&gt;
If several tests have same dependencies, they should use same resources if possible, it can be created in &amp;quot;setUpClass&amp;quot; method. Example can be found hereː&lt;br /&gt;
 tempest/api/share/test_shares_actions.py&lt;br /&gt;
&lt;br /&gt;
==Utilization of resources==&lt;br /&gt;
Utilization stuff is defined in the following moduleː&lt;br /&gt;
 tempest/api/share/base.py&lt;br /&gt;
&lt;br /&gt;
Basic actionsː&lt;br /&gt;
 1) All setUpClass methods should be decorated with &amp;quot;@test.safe_setup&amp;quot; decorator.&lt;br /&gt;
 Reasonː if we get Exception on some step in setUpClass, tearDownClass won't start. So, this decorator runs 'tearDownClass' in any case.&lt;br /&gt;
&lt;br /&gt;
 2) Create resources that should be deleted with methods from base class.&lt;br /&gt;
 correctː self.create_share() - will add resources to deletion queue&lt;br /&gt;
 incorrectː self.shares_client.create_share() - won't add resource to deletion queue&lt;br /&gt;
&lt;br /&gt;
Common infoː&lt;br /&gt;
 All resources in deletion queue will be deleted in LIFO sequence - &amp;quot;last in first out&amp;quot; or &amp;quot;last created first deleted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 There are two deletion queuesː&lt;br /&gt;
 - runs after each test&lt;br /&gt;
 - runs after each test-suite (class with tests)&lt;br /&gt;
 Be attentive setting up it.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57519</id>
		<title>Manila/docs/HOWTO use tempest with manila</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57519"/>
				<updated>2014-07-07T11:26:20Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Where do Tempest tests for Manila live? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Foreword=&lt;br /&gt;
This page describes how Tempest project for Manila project testing can be used.&lt;br /&gt;
&lt;br /&gt;
It is assumed that user who reads this is acquainted with, at least, common information about Tempest:&lt;br /&gt;
 http://docs.openstack.org/developer/tempest/&lt;br /&gt;
 https://github.com/openstack/tempest&lt;br /&gt;
&lt;br /&gt;
Also, it is assumed, that the following projects has been installed in test environmentː&lt;br /&gt;
- cinder&lt;br /&gt;
- glance&lt;br /&gt;
- keystone&lt;br /&gt;
- manila&lt;br /&gt;
- neutron&lt;br /&gt;
- nova&lt;br /&gt;
&lt;br /&gt;
=Where do Tempest tests for Manila live?=&lt;br /&gt;
Manila stores its tests for Tempest in its repo here:&lt;br /&gt;
 https://github.com/stackforge/manila/tree/master/contrib/tempest&lt;br /&gt;
&lt;br /&gt;
These are pluggable-like files which do not require changing of core Tempest files.&lt;br /&gt;
But the way of its pluggability is implemented as work-around for Tempest, which does not have pluggable functionality for 'exceptions', 'config' and 'clients' modules.&lt;br /&gt;
It is compatible with master branch of Tempest.&lt;br /&gt;
&lt;br /&gt;
Just copy these files to Tempest dirː&lt;br /&gt;
 $ TEMPEST_DIR=/path/to/tempest&lt;br /&gt;
 $ MANILA_DIR=/path/to/manila&lt;br /&gt;
 $ cp ${MANILA_DIR}/contrib/tempest/tempest/* ${TEMPEST_DIR}/tempest&lt;br /&gt;
&lt;br /&gt;
=Configuring Tempest before running tests=&lt;br /&gt;
Any test running with Tempest requires update of Tempest's config file located in&lt;br /&gt;
 etc/tempest.conf&lt;br /&gt;
If it does not exist, just copy template &amp;quot;tempest.conf.sample&amp;quot;&lt;br /&gt;
 cp tempest.conf.sample tempest.conf&lt;br /&gt;
&lt;br /&gt;
Manila's config extension is defined in&lt;br /&gt;
 https://github.com/stackforge/manila/blob/master/contrib/tempest/tempest/config_share.py&lt;br /&gt;
&lt;br /&gt;
Subsections below describe sections and options that can be updated with Tempest's config file.&lt;br /&gt;
&lt;br /&gt;
==Cluster related options in general==&lt;br /&gt;
Required options for Manila tests are described below.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;cli&amp;quot;===&lt;br /&gt;
====Option &amp;quot;enabled&amp;quot;====&lt;br /&gt;
Set it to &lt;br /&gt;
 True&lt;br /&gt;
value, to be able to run Manila cli tests.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;identity&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v2.0/&lt;br /&gt;
Used for all tests, if v2 auth enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri_v3&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v3/&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
====Option &amp;quot;password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'alt_demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'admin' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;network&amp;quot;===&lt;br /&gt;
====Option &amp;quot;public_network_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron net-list&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;public_router_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron router-list&lt;br /&gt;
&lt;br /&gt;
==Manila related options==&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;service_available&amp;quot;===&lt;br /&gt;
This section is defined within vanila Tempest. But &amp;quot;manila&amp;quot; option is defined within Manila's extension.&lt;br /&gt;
====Option &amp;quot;manila&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː Whether or not manila is expected to be available&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;share&amp;quot;===&lt;br /&gt;
This section is defined with Manila's extension.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;catalog_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː share&lt;br /&gt;
 descriptionː Catalog type of the Share service. Should be changed only if it is changed in Manila itself.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;endpoint_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː publicURL&lt;br /&gt;
 descriptionː The endpoint type to use for the share service. Expected values are 'public', 'admin', 'internal', 'publicURL', 'adminURL' and 'internalURL'.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multitenancy_enabled&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː This option is used to determine backend driver type, multitenant driver uses share-networks, but single-tenant doesn't.&lt;br /&gt;
&lt;br /&gt;
 Current singletenant drivers: LVM, GlusterFS, NetApp 7-mode&lt;br /&gt;
 Current multitenant drivers: Generic, NetApp Cluster-mode (cmode)&lt;br /&gt;
 Default driver in manila is Generic driver, so &amp;quot;multitenancy_enabled&amp;quot; option is enabled by default.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː The first value of the list is protocol by default, items of the list show enabled protocols.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - will be tested only NFS type of shares and common actions&lt;br /&gt;
 cifs - will be tested only CIFS type of shares and common actions&lt;br /&gt;
 nfs,cifs - will be tested both share types and common actions, for common actions will be used nfs protocol&lt;br /&gt;
 cifs,nfs - will be tested both share types and common actions, for common actions will be used cifs protocol&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_ip_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː Whether allow running of ip rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_sid_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː Whether allow running of sid (username/usergroup) rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username_for_sid_rules&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː Administrator&lt;br /&gt;
 descriptionː What name should be used with sid rule tests? Specify it if 'sid rule' tests are enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;storage_protocol&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for alternative member creds. At the moment there are no tests, that use share_network with creds for alternative user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for admin creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multi_backend&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː False&lt;br /&gt;
 descriptionː Does your environment has more than 1 backend or not? If yes, than you can set it to True to enable multibackend tests in tempest.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;backend_names&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː names of backends in Manila, that Tempest should use. Tempest will use first two values from list and will use it only if option &amp;quot;multi_backend&amp;quot; is Enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_interval&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 3&lt;br /&gt;
 descriptionː time to wait between resend of requests.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_timeout&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 500&lt;br /&gt;
 descriptionː time to wait until raise of Exception with timeout.&lt;br /&gt;
&lt;br /&gt;
=How to run tests=&lt;br /&gt;
==Run only cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests with specified amount of threads==&lt;br /&gt;
 export TEMPEST_CONCURRENCY=4&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila* -- --concurrency=$TEMPEST_CONCURRENCY\&amp;quot;&lt;br /&gt;
Above action will try to run Tempest in 4 threads, if your host does have at least 4 cores. By default it uses amount of threads equal to amount of available cores.&lt;br /&gt;
&lt;br /&gt;
Manila tests are OK using concurrent threads.&lt;br /&gt;
&lt;br /&gt;
==If something went wrong with test launch==&lt;br /&gt;
Exception may be raised on step where tests are gathered and parsed and as a result we would see something similar to the followingː&lt;br /&gt;
 running testr&lt;br /&gt;
 Non-zero exit code (2) from test listing. stdout='\xb3)\x01@d@Ytempest.api.share.admin.test_admin_actions.AdminActionsTest.test_force_delete_share[gate]&amp;lt;Z\x90&amp;quot;\xb3)\x01@g@\\&lt;br /&gt;
 ...&lt;br /&gt;
 tempest.scenario.test_volume_boot_pattern6B\x1e\xcc', stderr=None&lt;br /&gt;
 error: testr failed (3)&lt;br /&gt;
 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \&lt;br /&gt;
 OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \&lt;br /&gt;
 OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \&lt;br /&gt;
 OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \&lt;br /&gt;
 ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./tempest/test_discover} --list &lt;br /&gt;
 &lt;br /&gt;
 ======&lt;br /&gt;
 Totals&lt;br /&gt;
 ======&lt;br /&gt;
 Run: 0 in 0.0 sec.&lt;br /&gt;
  - Passed: 0&lt;br /&gt;
  - Skipped: 0&lt;br /&gt;
  - Failed: 0&lt;br /&gt;
 ERROR: InvocationError: '/bin/bash tools/pretty_tox.sh tempest/api/share/test_extensions.py'&lt;br /&gt;
 __________________________________________________________________________________________________________________ summary ___________________________________________________________________________________________________________________&lt;br /&gt;
 ERROR:   venv: commands failed&lt;br /&gt;
&lt;br /&gt;
There could be different causes for that, in most cases - dependency issues, when some dependency is not installed and can not be imported. Or python syntax error, if something were changed in code, etc...&lt;br /&gt;
&lt;br /&gt;
As we can see, it does not show us real problem and we need dig root cause up. It can be done by a lot of means, for example, try nextː&lt;br /&gt;
 nosetests -sv path/to/tests&lt;br /&gt;
or&lt;br /&gt;
 .tox/venv/bin/python -m testtools.run discover -t ./ path/to/tests&lt;br /&gt;
&lt;br /&gt;
=How to write own tests=&lt;br /&gt;
&lt;br /&gt;
==Where to put new tests==&lt;br /&gt;
All tests, that cover admin API are stored in &lt;br /&gt;
 tempest/api/share/admin/*&lt;br /&gt;
All tests, that cover non-admin API are stored in&lt;br /&gt;
 tempest/api/share/*&lt;br /&gt;
&lt;br /&gt;
==Add method as API caller==&lt;br /&gt;
All such methods are stored in &lt;br /&gt;
 tempest/services/share/json/shares_client.py&lt;br /&gt;
XML is considered as deprecated and tests for it were removed, so, only json &amp;quot;client&amp;quot; is expected.&lt;br /&gt;
&lt;br /&gt;
==Positive/Negative==&lt;br /&gt;
Positive and negative tests are separated into different modules, module with &amp;quot;negative&amp;quot; tests should have &amp;quot;_negative&amp;quot; suffix.&lt;br /&gt;
Example of module with positive testsː&lt;br /&gt;
 tempest/api/share/test_shares.py&lt;br /&gt;
Example of module with negative testsː&lt;br /&gt;
 tempest/api/share/test_shares_negative.py&lt;br /&gt;
&lt;br /&gt;
==Resolving concurrency issue==&lt;br /&gt;
If some test is sensible to changes that can be done by other tests, this test should use isolated tenant, example of it can be found in quota tests, located in&lt;br /&gt;
 tempest/api/share/admin/test_quotas.py&lt;br /&gt;
&lt;br /&gt;
==Reusing resources==&lt;br /&gt;
If several tests have same dependencies, they should use same resources if possible, it can be created in &amp;quot;setUpClass&amp;quot; method. Example can be found hereː&lt;br /&gt;
 tempest/api/share/test_shares_actions.py&lt;br /&gt;
&lt;br /&gt;
==Utilization of resources==&lt;br /&gt;
Utilization stuff is defined in the following moduleː&lt;br /&gt;
 tempest/api/share/base.py&lt;br /&gt;
&lt;br /&gt;
Basic actionsː&lt;br /&gt;
 1) All setUpClass methods should be decorated with &amp;quot;@test.safe_setup&amp;quot; decorator.&lt;br /&gt;
 Reasonː if we get Exception on some step in setUpClass, tearDownClass won't start. So, this decorator runs 'tearDownClass' in any case.&lt;br /&gt;
&lt;br /&gt;
 2) Create resources that should be deleted with methods from base class.&lt;br /&gt;
 correctː self.create_share() - will add resources to deletion queue&lt;br /&gt;
 incorrectː self.shares_client.create_share() - won't add resource to deletion queue&lt;br /&gt;
&lt;br /&gt;
Common infoː&lt;br /&gt;
 All resources in deletion queue will be deleted in LIFO sequence - &amp;quot;last in first out&amp;quot; or &amp;quot;last created first deleted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 There are two deletion queuesː&lt;br /&gt;
 - runs after each test&lt;br /&gt;
 - runs after each test-suite (class with tests)&lt;br /&gt;
 Be attentive setting up it.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57518</id>
		<title>Manila/docs/HOWTO use tempest with manila</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57518"/>
				<updated>2014-07-07T11:25:01Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* If something went wrong with test launch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Foreword=&lt;br /&gt;
This page describes how Tempest project for Manila project testing can be used.&lt;br /&gt;
&lt;br /&gt;
It is assumed that user who reads this is acquainted with, at least, common information about Tempest:&lt;br /&gt;
 http://docs.openstack.org/developer/tempest/&lt;br /&gt;
 https://github.com/openstack/tempest&lt;br /&gt;
&lt;br /&gt;
Also, it is assumed, that the following projects has been installed in test environmentː&lt;br /&gt;
- cinder&lt;br /&gt;
- glance&lt;br /&gt;
- keystone&lt;br /&gt;
- manila&lt;br /&gt;
- neutron&lt;br /&gt;
- nova&lt;br /&gt;
&lt;br /&gt;
=Where do Tempest tests for Manila live?=&lt;br /&gt;
Manila stores its tests for Tempest in its repo here:&lt;br /&gt;
 https://github.com/stackforge/manila/tree/master/contrib/tempest&lt;br /&gt;
&lt;br /&gt;
These are pluggable-like files which do not require changing of core Tempest files.&lt;br /&gt;
But the way of its pluggability is implemented as work-around for Tempest, which does not have pluggable functionality except for config and clients modules.&lt;br /&gt;
It is compatible with master branch of Tempest.&lt;br /&gt;
&lt;br /&gt;
Just copy these files to Tempest dirː&lt;br /&gt;
 $ TEMPEST_DIR=/path/to/tempest&lt;br /&gt;
 $ MANILA_DIR=/path/to/manila&lt;br /&gt;
 $ cp ${MANILA_DIR}/contrib/tempest/tempest/* ${TEMPEST_DIR}/tempest&lt;br /&gt;
&lt;br /&gt;
=Configuring Tempest before running tests=&lt;br /&gt;
Any test running with Tempest requires update of Tempest's config file located in&lt;br /&gt;
 etc/tempest.conf&lt;br /&gt;
If it does not exist, just copy template &amp;quot;tempest.conf.sample&amp;quot;&lt;br /&gt;
 cp tempest.conf.sample tempest.conf&lt;br /&gt;
&lt;br /&gt;
Manila's config extension is defined in&lt;br /&gt;
 https://github.com/stackforge/manila/blob/master/contrib/tempest/tempest/config_share.py&lt;br /&gt;
&lt;br /&gt;
Subsections below describe sections and options that can be updated with Tempest's config file.&lt;br /&gt;
&lt;br /&gt;
==Cluster related options in general==&lt;br /&gt;
Required options for Manila tests are described below.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;cli&amp;quot;===&lt;br /&gt;
====Option &amp;quot;enabled&amp;quot;====&lt;br /&gt;
Set it to &lt;br /&gt;
 True&lt;br /&gt;
value, to be able to run Manila cli tests.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;identity&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v2.0/&lt;br /&gt;
Used for all tests, if v2 auth enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri_v3&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v3/&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
====Option &amp;quot;password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'alt_demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'admin' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;network&amp;quot;===&lt;br /&gt;
====Option &amp;quot;public_network_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron net-list&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;public_router_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron router-list&lt;br /&gt;
&lt;br /&gt;
==Manila related options==&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;service_available&amp;quot;===&lt;br /&gt;
This section is defined within vanila Tempest. But &amp;quot;manila&amp;quot; option is defined within Manila's extension.&lt;br /&gt;
====Option &amp;quot;manila&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː Whether or not manila is expected to be available&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;share&amp;quot;===&lt;br /&gt;
This section is defined with Manila's extension.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;catalog_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː share&lt;br /&gt;
 descriptionː Catalog type of the Share service. Should be changed only if it is changed in Manila itself.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;endpoint_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː publicURL&lt;br /&gt;
 descriptionː The endpoint type to use for the share service. Expected values are 'public', 'admin', 'internal', 'publicURL', 'adminURL' and 'internalURL'.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multitenancy_enabled&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː This option is used to determine backend driver type, multitenant driver uses share-networks, but single-tenant doesn't.&lt;br /&gt;
&lt;br /&gt;
 Current singletenant drivers: LVM, GlusterFS, NetApp 7-mode&lt;br /&gt;
 Current multitenant drivers: Generic, NetApp Cluster-mode (cmode)&lt;br /&gt;
 Default driver in manila is Generic driver, so &amp;quot;multitenancy_enabled&amp;quot; option is enabled by default.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː The first value of the list is protocol by default, items of the list show enabled protocols.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - will be tested only NFS type of shares and common actions&lt;br /&gt;
 cifs - will be tested only CIFS type of shares and common actions&lt;br /&gt;
 nfs,cifs - will be tested both share types and common actions, for common actions will be used nfs protocol&lt;br /&gt;
 cifs,nfs - will be tested both share types and common actions, for common actions will be used cifs protocol&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_ip_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː Whether allow running of ip rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_sid_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː Whether allow running of sid (username/usergroup) rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username_for_sid_rules&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː Administrator&lt;br /&gt;
 descriptionː What name should be used with sid rule tests? Specify it if 'sid rule' tests are enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;storage_protocol&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for alternative member creds. At the moment there are no tests, that use share_network with creds for alternative user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for admin creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multi_backend&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː False&lt;br /&gt;
 descriptionː Does your environment has more than 1 backend or not? If yes, than you can set it to True to enable multibackend tests in tempest.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;backend_names&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː names of backends in Manila, that Tempest should use. Tempest will use first two values from list and will use it only if option &amp;quot;multi_backend&amp;quot; is Enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_interval&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 3&lt;br /&gt;
 descriptionː time to wait between resend of requests.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_timeout&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 500&lt;br /&gt;
 descriptionː time to wait until raise of Exception with timeout.&lt;br /&gt;
&lt;br /&gt;
=How to run tests=&lt;br /&gt;
==Run only cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests with specified amount of threads==&lt;br /&gt;
 export TEMPEST_CONCURRENCY=4&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila* -- --concurrency=$TEMPEST_CONCURRENCY\&amp;quot;&lt;br /&gt;
Above action will try to run Tempest in 4 threads, if your host does have at least 4 cores. By default it uses amount of threads equal to amount of available cores.&lt;br /&gt;
&lt;br /&gt;
Manila tests are OK using concurrent threads.&lt;br /&gt;
&lt;br /&gt;
==If something went wrong with test launch==&lt;br /&gt;
Exception may be raised on step where tests are gathered and parsed and as a result we would see something similar to the followingː&lt;br /&gt;
 running testr&lt;br /&gt;
 Non-zero exit code (2) from test listing. stdout='\xb3)\x01@d@Ytempest.api.share.admin.test_admin_actions.AdminActionsTest.test_force_delete_share[gate]&amp;lt;Z\x90&amp;quot;\xb3)\x01@g@\\&lt;br /&gt;
 ...&lt;br /&gt;
 tempest.scenario.test_volume_boot_pattern6B\x1e\xcc', stderr=None&lt;br /&gt;
 error: testr failed (3)&lt;br /&gt;
 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \&lt;br /&gt;
 OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \&lt;br /&gt;
 OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \&lt;br /&gt;
 OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \&lt;br /&gt;
 ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./tempest/test_discover} --list &lt;br /&gt;
 &lt;br /&gt;
 ======&lt;br /&gt;
 Totals&lt;br /&gt;
 ======&lt;br /&gt;
 Run: 0 in 0.0 sec.&lt;br /&gt;
  - Passed: 0&lt;br /&gt;
  - Skipped: 0&lt;br /&gt;
  - Failed: 0&lt;br /&gt;
 ERROR: InvocationError: '/bin/bash tools/pretty_tox.sh tempest/api/share/test_extensions.py'&lt;br /&gt;
 __________________________________________________________________________________________________________________ summary ___________________________________________________________________________________________________________________&lt;br /&gt;
 ERROR:   venv: commands failed&lt;br /&gt;
&lt;br /&gt;
There could be different causes for that, in most cases - dependency issues, when some dependency is not installed and can not be imported. Or python syntax error, if something were changed in code, etc...&lt;br /&gt;
&lt;br /&gt;
As we can see, it does not show us real problem and we need dig root cause up. It can be done by a lot of means, for example, try nextː&lt;br /&gt;
 nosetests -sv path/to/tests&lt;br /&gt;
or&lt;br /&gt;
 .tox/venv/bin/python -m testtools.run discover -t ./ path/to/tests&lt;br /&gt;
&lt;br /&gt;
=How to write own tests=&lt;br /&gt;
&lt;br /&gt;
==Where to put new tests==&lt;br /&gt;
All tests, that cover admin API are stored in &lt;br /&gt;
 tempest/api/share/admin/*&lt;br /&gt;
All tests, that cover non-admin API are stored in&lt;br /&gt;
 tempest/api/share/*&lt;br /&gt;
&lt;br /&gt;
==Add method as API caller==&lt;br /&gt;
All such methods are stored in &lt;br /&gt;
 tempest/services/share/json/shares_client.py&lt;br /&gt;
XML is considered as deprecated and tests for it were removed, so, only json &amp;quot;client&amp;quot; is expected.&lt;br /&gt;
&lt;br /&gt;
==Positive/Negative==&lt;br /&gt;
Positive and negative tests are separated into different modules, module with &amp;quot;negative&amp;quot; tests should have &amp;quot;_negative&amp;quot; suffix.&lt;br /&gt;
Example of module with positive testsː&lt;br /&gt;
 tempest/api/share/test_shares.py&lt;br /&gt;
Example of module with negative testsː&lt;br /&gt;
 tempest/api/share/test_shares_negative.py&lt;br /&gt;
&lt;br /&gt;
==Resolving concurrency issue==&lt;br /&gt;
If some test is sensible to changes that can be done by other tests, this test should use isolated tenant, example of it can be found in quota tests, located in&lt;br /&gt;
 tempest/api/share/admin/test_quotas.py&lt;br /&gt;
&lt;br /&gt;
==Reusing resources==&lt;br /&gt;
If several tests have same dependencies, they should use same resources if possible, it can be created in &amp;quot;setUpClass&amp;quot; method. Example can be found hereː&lt;br /&gt;
 tempest/api/share/test_shares_actions.py&lt;br /&gt;
&lt;br /&gt;
==Utilization of resources==&lt;br /&gt;
Utilization stuff is defined in the following moduleː&lt;br /&gt;
 tempest/api/share/base.py&lt;br /&gt;
&lt;br /&gt;
Basic actionsː&lt;br /&gt;
 1) All setUpClass methods should be decorated with &amp;quot;@test.safe_setup&amp;quot; decorator.&lt;br /&gt;
 Reasonː if we get Exception on some step in setUpClass, tearDownClass won't start. So, this decorator runs 'tearDownClass' in any case.&lt;br /&gt;
&lt;br /&gt;
 2) Create resources that should be deleted with methods from base class.&lt;br /&gt;
 correctː self.create_share() - will add resources to deletion queue&lt;br /&gt;
 incorrectː self.shares_client.create_share() - won't add resource to deletion queue&lt;br /&gt;
&lt;br /&gt;
Common infoː&lt;br /&gt;
 All resources in deletion queue will be deleted in LIFO sequence - &amp;quot;last in first out&amp;quot; or &amp;quot;last created first deleted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 There are two deletion queuesː&lt;br /&gt;
 - runs after each test&lt;br /&gt;
 - runs after each test-suite (class with tests)&lt;br /&gt;
 Be attentive setting up it.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57517</id>
		<title>Manila/docs/HOWTO use tempest with manila</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57517"/>
				<updated>2014-07-07T11:20:38Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Option &amp;quot;uri&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Foreword=&lt;br /&gt;
This page describes how Tempest project for Manila project testing can be used.&lt;br /&gt;
&lt;br /&gt;
It is assumed that user who reads this is acquainted with, at least, common information about Tempest:&lt;br /&gt;
 http://docs.openstack.org/developer/tempest/&lt;br /&gt;
 https://github.com/openstack/tempest&lt;br /&gt;
&lt;br /&gt;
Also, it is assumed, that the following projects has been installed in test environmentː&lt;br /&gt;
- cinder&lt;br /&gt;
- glance&lt;br /&gt;
- keystone&lt;br /&gt;
- manila&lt;br /&gt;
- neutron&lt;br /&gt;
- nova&lt;br /&gt;
&lt;br /&gt;
=Where do Tempest tests for Manila live?=&lt;br /&gt;
Manila stores its tests for Tempest in its repo here:&lt;br /&gt;
 https://github.com/stackforge/manila/tree/master/contrib/tempest&lt;br /&gt;
&lt;br /&gt;
These are pluggable-like files which do not require changing of core Tempest files.&lt;br /&gt;
But the way of its pluggability is implemented as work-around for Tempest, which does not have pluggable functionality except for config and clients modules.&lt;br /&gt;
It is compatible with master branch of Tempest.&lt;br /&gt;
&lt;br /&gt;
Just copy these files to Tempest dirː&lt;br /&gt;
 $ TEMPEST_DIR=/path/to/tempest&lt;br /&gt;
 $ MANILA_DIR=/path/to/manila&lt;br /&gt;
 $ cp ${MANILA_DIR}/contrib/tempest/tempest/* ${TEMPEST_DIR}/tempest&lt;br /&gt;
&lt;br /&gt;
=Configuring Tempest before running tests=&lt;br /&gt;
Any test running with Tempest requires update of Tempest's config file located in&lt;br /&gt;
 etc/tempest.conf&lt;br /&gt;
If it does not exist, just copy template &amp;quot;tempest.conf.sample&amp;quot;&lt;br /&gt;
 cp tempest.conf.sample tempest.conf&lt;br /&gt;
&lt;br /&gt;
Manila's config extension is defined in&lt;br /&gt;
 https://github.com/stackforge/manila/blob/master/contrib/tempest/tempest/config_share.py&lt;br /&gt;
&lt;br /&gt;
Subsections below describe sections and options that can be updated with Tempest's config file.&lt;br /&gt;
&lt;br /&gt;
==Cluster related options in general==&lt;br /&gt;
Required options for Manila tests are described below.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;cli&amp;quot;===&lt;br /&gt;
====Option &amp;quot;enabled&amp;quot;====&lt;br /&gt;
Set it to &lt;br /&gt;
 True&lt;br /&gt;
value, to be able to run Manila cli tests.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;identity&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v2.0/&lt;br /&gt;
Used for all tests, if v2 auth enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri_v3&amp;quot;====&lt;br /&gt;
If using localhost it should look likeː&lt;br /&gt;
 http://127.0.0.1:5000/v3/&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
====Option &amp;quot;password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'alt_demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_username&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_password&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'admin' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_tenant_name&amp;quot;====&lt;br /&gt;
If using devstack installation it should have the following valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;network&amp;quot;===&lt;br /&gt;
====Option &amp;quot;public_network_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron net-list&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;public_router_id&amp;quot;====&lt;br /&gt;
This option is used for creation of isolated tenants. Its value can be retrieved from:&lt;br /&gt;
 $ neutron router-list&lt;br /&gt;
&lt;br /&gt;
==Manila related options==&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;service_available&amp;quot;===&lt;br /&gt;
This section is defined within vanila Tempest. But &amp;quot;manila&amp;quot; option is defined within Manila's extension.&lt;br /&gt;
====Option &amp;quot;manila&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː Whether or not manila is expected to be available&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;share&amp;quot;===&lt;br /&gt;
This section is defined with Manila's extension.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;catalog_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː share&lt;br /&gt;
 descriptionː Catalog type of the Share service. Should be changed only if it is changed in Manila itself.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;endpoint_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː publicURL&lt;br /&gt;
 descriptionː The endpoint type to use for the share service. Expected values are 'public', 'admin', 'internal', 'publicURL', 'adminURL' and 'internalURL'.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multitenancy_enabled&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː This option is used to determine backend driver type, multitenant driver uses share-networks, but single-tenant doesn't.&lt;br /&gt;
&lt;br /&gt;
 Current singletenant drivers: LVM, GlusterFS, NetApp 7-mode&lt;br /&gt;
 Current multitenant drivers: Generic, NetApp Cluster-mode (cmode)&lt;br /&gt;
 Default driver in manila is Generic driver, so &amp;quot;multitenancy_enabled&amp;quot; option is enabled by default.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː The first value of the list is protocol by default, items of the list show enabled protocols.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - will be tested only NFS type of shares and common actions&lt;br /&gt;
 cifs - will be tested only CIFS type of shares and common actions&lt;br /&gt;
 nfs,cifs - will be tested both share types and common actions, for common actions will be used nfs protocol&lt;br /&gt;
 cifs,nfs - will be tested both share types and common actions, for common actions will be used cifs protocol&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_ip_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː Whether allow running of ip rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_sid_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː Whether allow running of sid (username/usergroup) rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username_for_sid_rules&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː Administrator&lt;br /&gt;
 descriptionː What name should be used with sid rule tests? Specify it if 'sid rule' tests are enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;storage_protocol&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for alternative member creds. At the moment there are no tests, that use share_network with creds for alternative user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for admin creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multi_backend&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː False&lt;br /&gt;
 descriptionː Does your environment has more than 1 backend or not? If yes, than you can set it to True to enable multibackend tests in tempest.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;backend_names&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː names of backends in Manila, that Tempest should use. Tempest will use first two values from list and will use it only if option &amp;quot;multi_backend&amp;quot; is Enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_interval&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 3&lt;br /&gt;
 descriptionː time to wait between resend of requests.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_timeout&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 500&lt;br /&gt;
 descriptionː time to wait until raise of Exception with timeout.&lt;br /&gt;
&lt;br /&gt;
=How to run tests=&lt;br /&gt;
==Run only cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests with specified amount of threads==&lt;br /&gt;
 export TEMPEST_CONCURRENCY=4&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila* -- --concurrency=$TEMPEST_CONCURRENCY\&amp;quot;&lt;br /&gt;
Above action will try to run Tempest in 4 threads, if your host does have at least 4 cores. By default it uses amount of threads equal to amount of available cores.&lt;br /&gt;
&lt;br /&gt;
Manila tests are OK using concurrent threads.&lt;br /&gt;
&lt;br /&gt;
==If something went wrong with test launch==&lt;br /&gt;
Exception may be raised on step where tests are gathered and parsed and as a result we would see the followingː&lt;br /&gt;
 running testr&lt;br /&gt;
 Non-zero exit code (2) from test listing. stdout='\xb3)\x01@d@Ytempest.api.share.admin.test_admin_actions.AdminActionsTest.test_force_delete_share[gate]&amp;lt;Z\x90&amp;quot;\xb3)\x01@g@\\&lt;br /&gt;
 ...&lt;br /&gt;
 tempest.scenario.test_volume_boot_pattern6B\x1e\xcc', stderr=None&lt;br /&gt;
 error: testr failed (3)&lt;br /&gt;
 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \&lt;br /&gt;
 OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \&lt;br /&gt;
 OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \&lt;br /&gt;
 OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \&lt;br /&gt;
 ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./tempest/test_discover} --list &lt;br /&gt;
 &lt;br /&gt;
 ======&lt;br /&gt;
 Totals&lt;br /&gt;
 ======&lt;br /&gt;
 Run: 0 in 0.0 sec.&lt;br /&gt;
  - Passed: 0&lt;br /&gt;
  - Skipped: 0&lt;br /&gt;
  - Failed: 0&lt;br /&gt;
 ERROR: InvocationError: '/bin/bash tools/pretty_tox.sh tempest/api/share/test_extensions.py'&lt;br /&gt;
 __________________________________________________________________________________________________________________ summary ___________________________________________________________________________________________________________________&lt;br /&gt;
 ERROR:   venv: commands failed&lt;br /&gt;
&lt;br /&gt;
There could be different causes for that, in most cases - dependency issues, when some dependency is not installed and can not be imported. Or python syntax error, if something were changed in code, etc...&lt;br /&gt;
&lt;br /&gt;
As we can see, it does not show us real problem and we need dig root cause up. It can be done by a lot of means, for example, try nextː&lt;br /&gt;
 nosetests -sv path/to/tests&lt;br /&gt;
or&lt;br /&gt;
 .tox/venv/bin/python -m testtools.run discover -t ./ path/to/tests&lt;br /&gt;
&lt;br /&gt;
=How to write own tests=&lt;br /&gt;
&lt;br /&gt;
==Where to put new tests==&lt;br /&gt;
All tests, that cover admin API are stored in &lt;br /&gt;
 tempest/api/share/admin/*&lt;br /&gt;
All tests, that cover non-admin API are stored in&lt;br /&gt;
 tempest/api/share/*&lt;br /&gt;
&lt;br /&gt;
==Add method as API caller==&lt;br /&gt;
All such methods are stored in &lt;br /&gt;
 tempest/services/share/json/shares_client.py&lt;br /&gt;
XML is considered as deprecated and tests for it were removed, so, only json &amp;quot;client&amp;quot; is expected.&lt;br /&gt;
&lt;br /&gt;
==Positive/Negative==&lt;br /&gt;
Positive and negative tests are separated into different modules, module with &amp;quot;negative&amp;quot; tests should have &amp;quot;_negative&amp;quot; suffix.&lt;br /&gt;
Example of module with positive testsː&lt;br /&gt;
 tempest/api/share/test_shares.py&lt;br /&gt;
Example of module with negative testsː&lt;br /&gt;
 tempest/api/share/test_shares_negative.py&lt;br /&gt;
&lt;br /&gt;
==Resolving concurrency issue==&lt;br /&gt;
If some test is sensible to changes that can be done by other tests, this test should use isolated tenant, example of it can be found in quota tests, located in&lt;br /&gt;
 tempest/api/share/admin/test_quotas.py&lt;br /&gt;
&lt;br /&gt;
==Reusing resources==&lt;br /&gt;
If several tests have same dependencies, they should use same resources if possible, it can be created in &amp;quot;setUpClass&amp;quot; method. Example can be found hereː&lt;br /&gt;
 tempest/api/share/test_shares_actions.py&lt;br /&gt;
&lt;br /&gt;
==Utilization of resources==&lt;br /&gt;
Utilization stuff is defined in the following moduleː&lt;br /&gt;
 tempest/api/share/base.py&lt;br /&gt;
&lt;br /&gt;
Basic actionsː&lt;br /&gt;
 1) All setUpClass methods should be decorated with &amp;quot;@test.safe_setup&amp;quot; decorator.&lt;br /&gt;
 Reasonː if we get Exception on some step in setUpClass, tearDownClass won't start. So, this decorator runs 'tearDownClass' in any case.&lt;br /&gt;
&lt;br /&gt;
 2) Create resources that should be deleted with methods from base class.&lt;br /&gt;
 correctː self.create_share() - will add resources to deletion queue&lt;br /&gt;
 incorrectː self.shares_client.create_share() - won't add resource to deletion queue&lt;br /&gt;
&lt;br /&gt;
Common infoː&lt;br /&gt;
 All resources in deletion queue will be deleted in LIFO sequence - &amp;quot;last in first out&amp;quot; or &amp;quot;last created first deleted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 There are two deletion queuesː&lt;br /&gt;
 - runs after each test&lt;br /&gt;
 - runs after each test-suite (class with tests)&lt;br /&gt;
 Be attentive setting up it.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57321</id>
		<title>Manila/docs/HOWTO use tempest with manila</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57321"/>
				<updated>2014-07-03T16:28:43Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Section &amp;quot;share&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Foreword=&lt;br /&gt;
This page describes how can be used Tempest project for testing purposes of Manila project.&lt;br /&gt;
&lt;br /&gt;
It is assumed that person who reads this is acquainted with, at least, common information about Tempest:&lt;br /&gt;
 http://docs.openstack.org/developer/tempest/&lt;br /&gt;
 https://github.com/openstack/tempest&lt;br /&gt;
&lt;br /&gt;
Also, it is assumed, that test environment has next projects installedː&lt;br /&gt;
 cinder&lt;br /&gt;
 glance&lt;br /&gt;
 keystone&lt;br /&gt;
 manila&lt;br /&gt;
 neutron&lt;br /&gt;
 nova&lt;br /&gt;
&lt;br /&gt;
=Where does Tempest tests for Manila live?=&lt;br /&gt;
Manila stores its tests for Tempest in its repo here:&lt;br /&gt;
 https://github.com/stackforge/manila/tree/master/contrib/tempest&lt;br /&gt;
&lt;br /&gt;
It is pluggable-like files without requirements to change core Tempest files.&lt;br /&gt;
But the way of its pluggability is work-around for Tempest, which hasn't pluggable functionality for exceptions, config and clients modules.&lt;br /&gt;
It is compatible with master branch of Tempest.&lt;br /&gt;
&lt;br /&gt;
Just copy these files to Tempest dirː&lt;br /&gt;
 $ TEMPEST_DIR=/path/to/tempest&lt;br /&gt;
 $ MANILA_DIR=/path/to/manila&lt;br /&gt;
 $ cp ${MANILA_DIR}/contrib/tempest/tempest/* ${TEMPEST_DIR}/tempest&lt;br /&gt;
&lt;br /&gt;
=Configuring Tempest before running tests=&lt;br /&gt;
Any test run with Tempest requires update of Tempest's config file located in&lt;br /&gt;
 etc/tempest.conf&lt;br /&gt;
If it does not exist, just copy template &amp;quot;tempest.conf.sample&amp;quot;&lt;br /&gt;
 cp tempest.conf.sample tempest.conf&lt;br /&gt;
&lt;br /&gt;
Manila's config extension is defined in&lt;br /&gt;
 https://github.com/stackforge/manila/blob/master/contrib/tempest/tempest/config_share.py&lt;br /&gt;
&lt;br /&gt;
Subsections below describes sections and options that can be updated with Tempest's config file.&lt;br /&gt;
&lt;br /&gt;
==Cluster related options in general==&lt;br /&gt;
Below described required options for Manila tests&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;cli&amp;quot;===&lt;br /&gt;
====Option &amp;quot;enabled&amp;quot;====&lt;br /&gt;
Set it to &lt;br /&gt;
 True&lt;br /&gt;
value, to be able to run Manila cli tests.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;identity&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri&amp;quot;====&lt;br /&gt;
Using localhost it looks like nextː&lt;br /&gt;
 http://127.0.0.1:5000/v2.0/&lt;br /&gt;
Used for all tests, if v2 auth enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri_v3&amp;quot;====&lt;br /&gt;
Using localhost it looks like nextː&lt;br /&gt;
 http://127.0.0.1:5000/v3/&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 demo&lt;br /&gt;
====Option &amp;quot;password&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;tenant_name&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_username&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_password&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'alt_demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_tenant_name&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_username&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_password&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'admin' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_tenant_name&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;network&amp;quot;===&lt;br /&gt;
====Option &amp;quot;public_network_id&amp;quot;====&lt;br /&gt;
Used for creation of isolated tenants. Its value can be got by&lt;br /&gt;
 $ neutron net-list&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;public_router_id&amp;quot;====&lt;br /&gt;
Used for creation of isolated tenants. Its value can be got by&lt;br /&gt;
 $ neutron router-list&lt;br /&gt;
&lt;br /&gt;
==Manila related options==&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;service_available&amp;quot;===&lt;br /&gt;
This section is defined withinin vanila Tempest. But &amp;quot;manila&amp;quot; option is defined within Manila's extension.&lt;br /&gt;
====Option &amp;quot;manila&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː Whether or not manila is expected to be available&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;share&amp;quot;===&lt;br /&gt;
This section is defined with Manila's extension.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;catalog_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː share&lt;br /&gt;
 descriptionː Catalog type of the Share service. Should be changed only if it is changed in Manila itself.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;endpoint_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː publicURL&lt;br /&gt;
 descriptionː The endpoint type to use for the share service. Expected values are 'public', 'admin', 'internal', 'publicURL', 'adminURL' and 'internalURL'.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multitenancy_enabled&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː This option used to determine backend driver type, multitenant driver uses share-networks, but single-tenant doesn't.&lt;br /&gt;
&lt;br /&gt;
 Current singletenant drivers: LVM, GlusterFS, NetApp 7-mode&lt;br /&gt;
 Current multitenant drivers: Generic, NetApp Cluster-mode (cmode)&lt;br /&gt;
 Default driver in manila is Generic driver, so &amp;quot;multitenancy_enabled&amp;quot; option is enabled by default.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː First value of list is protocol by default, items of list show enabled protocols at all.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - will be tested only NFS type of shares and common actions&lt;br /&gt;
 cifs - will be tested only CIFS type of shares and common actions&lt;br /&gt;
 nfs,cifs - will be tested both share types and common actions, for common actions will be used nfs protocol&lt;br /&gt;
 cifs,nfs - will be tested both share types and common actions, for common actions will be used cifs protocol&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_ip_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː Whether allow run of ip rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_sid_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː Whether allow run of sid (username/usergroup) rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username_for_sid_rules&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː Administrator&lt;br /&gt;
 descriptionː What name should be used with sid rule tests? Specify it if 'sid rule' tests are enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;storage_protocol&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for alternative member creds. At the moment there are no tests, that use share_network with creds for alternative user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for admin creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multi_backend&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː False&lt;br /&gt;
 descriptionː Does your environment has more than 1 backend or not? If yes, than you can set it to True to enable multibackend tests in tempest.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;backend_names&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː names of backends in Manila, that Tempest should use. Tempest will use first two values from list and will use it only if option &amp;quot;multi_backend&amp;quot; is Enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_interval&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 3&lt;br /&gt;
 descriptionː time to wait between resend of requests.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_timeout&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 500&lt;br /&gt;
 descriptionː time to wait until raise of Exception with timeout.&lt;br /&gt;
&lt;br /&gt;
=How to run tests=&lt;br /&gt;
==Run only cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests with specified amount of threads==&lt;br /&gt;
 export TEMPEST_CONCURRENCY=4&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila* -- --concurrency=$TEMPEST_CONCURRENCY\&amp;quot;&lt;br /&gt;
Above action will try to run Tempest in 4 threads, if your host does have at least 4 cores. By default it uses amount of threads equal to amount of available cores.&lt;br /&gt;
&lt;br /&gt;
Manila tests are OK using concurrent threads.&lt;br /&gt;
&lt;br /&gt;
==If something went wrong with test launch==&lt;br /&gt;
On step where tests are gathered and parsed can be raised Exception and as a result we would see something like nextː&lt;br /&gt;
 running testr&lt;br /&gt;
 Non-zero exit code (2) from test listing. stdout='\xb3)\x01@d@Ytempest.api.share.admin.test_admin_actions.AdminActionsTest.test_force_delete_share[gate]&amp;lt;Z\x90&amp;quot;\xb3)\x01@g@\\&lt;br /&gt;
 ...&lt;br /&gt;
 tempest.scenario.test_volume_boot_pattern6B\x1e\xcc', stderr=None&lt;br /&gt;
 error: testr failed (3)&lt;br /&gt;
 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \&lt;br /&gt;
 OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \&lt;br /&gt;
 OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \&lt;br /&gt;
 OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \&lt;br /&gt;
 ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./tempest/test_discover} --list &lt;br /&gt;
 &lt;br /&gt;
 ======&lt;br /&gt;
 Totals&lt;br /&gt;
 ======&lt;br /&gt;
 Run: 0 in 0.0 sec.&lt;br /&gt;
  - Passed: 0&lt;br /&gt;
  - Skipped: 0&lt;br /&gt;
  - Failed: 0&lt;br /&gt;
 ERROR: InvocationError: '/bin/bash tools/pretty_tox.sh tempest/api/share/test_extensions.py'&lt;br /&gt;
 __________________________________________________________________________________________________________________ summary ___________________________________________________________________________________________________________________&lt;br /&gt;
 ERROR:   venv: commands failed&lt;br /&gt;
&lt;br /&gt;
There could be different causes for that, in most cases - dependency issues, when some dependency is not installed and can not be imported. Or python syntax error, if something were changed in code, etc...&lt;br /&gt;
&lt;br /&gt;
As we can see, it does not show us real problem and we need dig root cause up. It can be done by a lot of cases, for example, try nextː&lt;br /&gt;
 nosetests -sv path/to/tests&lt;br /&gt;
or&lt;br /&gt;
 .tox/venv/bin/python -m testtools.run discover -t ./ path/to/tests&lt;br /&gt;
&lt;br /&gt;
=How to write own tests=&lt;br /&gt;
&lt;br /&gt;
==Where to put new tests==&lt;br /&gt;
All tests, that cover admin API are stored in &lt;br /&gt;
 tempest/api/share/admin/*&lt;br /&gt;
All tests, that cover non-admin API are stored in&lt;br /&gt;
 tempest/api/share/*&lt;br /&gt;
&lt;br /&gt;
==Add method as API caller==&lt;br /&gt;
All such methods are stored in &lt;br /&gt;
 tempest/services/share/json/shares_client.py&lt;br /&gt;
XML is considered as deprecated and tests for it were removed, so, only json &amp;quot;client&amp;quot; is expected.&lt;br /&gt;
&lt;br /&gt;
==Positive/Negative==&lt;br /&gt;
Positive and negative tests are separated into different modules, module with &amp;quot;negative&amp;quot; tests should have &amp;quot;_negative&amp;quot; suffix.&lt;br /&gt;
Example of module with positive testsː&lt;br /&gt;
 tempest/api/share/test_shares.py&lt;br /&gt;
Example of module with negative testsː&lt;br /&gt;
 tempest/api/share/test_shares_negative.py&lt;br /&gt;
&lt;br /&gt;
==Resolving concurrency issue==&lt;br /&gt;
If some test is sensible to changes that can be done by other tests, this test should use isolated tenant, example of it can be found in quota tests, located in&lt;br /&gt;
 tempest/api/share/admin/test_quotas.py&lt;br /&gt;
&lt;br /&gt;
==Reusing resources==&lt;br /&gt;
If several tests have same dependencies, they should use same resources if possible, it can be created in &amp;quot;setUpClass&amp;quot; method. Example can be found hereː&lt;br /&gt;
 tempest/api/share/test_shares_actions.py&lt;br /&gt;
&lt;br /&gt;
==Utilization of resources==&lt;br /&gt;
Utilisation stuff defined in next moduleː&lt;br /&gt;
 tempest/api/share/base.py&lt;br /&gt;
&lt;br /&gt;
Basic actionsː&lt;br /&gt;
 1) All setUpClass methods should be decorated with &amp;quot;@test.safe_setup&amp;quot; decorator.&lt;br /&gt;
 Reasonː if we get Exception on some step in setUpClass, tearDownClass won't start, where created resources are deleted. So, this decorator makes 'tearDownClass' run in any case.&lt;br /&gt;
&lt;br /&gt;
 2) Create resources that should be deleted with methods from base class.&lt;br /&gt;
 correctː self.create_share() - will add resources to deletion queue&lt;br /&gt;
 incorrectː self.shares_client.create_share() - won't add resource to deletion queue&lt;br /&gt;
&lt;br /&gt;
Common infoː&lt;br /&gt;
 All resources in deletion queue will be deleted in LIFO sequence - &amp;quot;last in first out&amp;quot; or &amp;quot;last created first deleted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 There are two deletion queuesː&lt;br /&gt;
 - runs after each test&lt;br /&gt;
 - runs after each test-suite (class with tests)&lt;br /&gt;
 Be attentive setting up it.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/HOWTO_use_tempest_with_manila&amp;diff=57298</id>
		<title>Manila/HOWTO use tempest with manila</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/HOWTO_use_tempest_with_manila&amp;diff=57298"/>
				<updated>2014-07-03T10:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: Vponomaryov moved page Manila/HOWTO use tempest with manila to Manila/docs/HOWTO use tempest with manila: Moved from root dir to docs subdir.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Manila/docs/HOWTO use tempest with manila]]&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57297</id>
		<title>Manila/docs/HOWTO use tempest with manila</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs/HOWTO_use_tempest_with_manila&amp;diff=57297"/>
				<updated>2014-07-03T10:21:16Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: Vponomaryov moved page Manila/HOWTO use tempest with manila to Manila/docs/HOWTO use tempest with manila: Moved from root dir to docs subdir.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Foreword=&lt;br /&gt;
This page describes how can be used Tempest project for testing purposes of Manila project.&lt;br /&gt;
&lt;br /&gt;
It is assumed that person who reads this is acquainted with, at least, common information about Tempest:&lt;br /&gt;
 http://docs.openstack.org/developer/tempest/&lt;br /&gt;
 https://github.com/openstack/tempest&lt;br /&gt;
&lt;br /&gt;
Also, it is assumed, that test environment has next projects installedː&lt;br /&gt;
 cinder&lt;br /&gt;
 glance&lt;br /&gt;
 keystone&lt;br /&gt;
 manila&lt;br /&gt;
 neutron&lt;br /&gt;
 nova&lt;br /&gt;
&lt;br /&gt;
=Where does Tempest tests for Manila live?=&lt;br /&gt;
Manila stores its tests for Tempest in its repo here:&lt;br /&gt;
 https://github.com/stackforge/manila/tree/master/contrib/tempest&lt;br /&gt;
&lt;br /&gt;
It is pluggable-like files without requirements to change core Tempest files.&lt;br /&gt;
But the way of its pluggability is work-around for Tempest, which hasn't pluggable functionality for exceptions, config and clients modules.&lt;br /&gt;
It is compatible with master branch of Tempest.&lt;br /&gt;
&lt;br /&gt;
Just copy these files to Tempest dirː&lt;br /&gt;
 $ TEMPEST_DIR=/path/to/tempest&lt;br /&gt;
 $ MANILA_DIR=/path/to/manila&lt;br /&gt;
 $ cp ${MANILA_DIR}/contrib/tempest/tempest/* ${TEMPEST_DIR}/tempest&lt;br /&gt;
&lt;br /&gt;
=Configuring Tempest before running tests=&lt;br /&gt;
Any test run with Tempest requires update of Tempest's config file located in&lt;br /&gt;
 etc/tempest.conf&lt;br /&gt;
If it does not exist, just copy template &amp;quot;tempest.conf.sample&amp;quot;&lt;br /&gt;
 cp tempest.conf.sample tempest.conf&lt;br /&gt;
&lt;br /&gt;
Manila's config extension is defined in&lt;br /&gt;
 https://github.com/stackforge/manila/blob/master/contrib/tempest/tempest/config_share.py&lt;br /&gt;
&lt;br /&gt;
Subsections below describes sections and options that can be updated with Tempest's config file.&lt;br /&gt;
&lt;br /&gt;
==Cluster related options in general==&lt;br /&gt;
Below described required options for Manila tests&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;cli&amp;quot;===&lt;br /&gt;
====Option &amp;quot;enabled&amp;quot;====&lt;br /&gt;
Set it to &lt;br /&gt;
 True&lt;br /&gt;
value, to be able to run Manila cli tests.&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;identity&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri&amp;quot;====&lt;br /&gt;
Using localhost it looks like nextː&lt;br /&gt;
 http://127.0.0.1:5000/v2.0/&lt;br /&gt;
Used for all tests, if v2 auth enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;uri_v3&amp;quot;====&lt;br /&gt;
Using localhost it looks like nextː&lt;br /&gt;
 http://127.0.0.1:5000/v3/&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 demo&lt;br /&gt;
====Option &amp;quot;password&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;tenant_name&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_username&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_password&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'alt_demo' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_tenant_name&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 alt_demo&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_username&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_password&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 secrete&lt;br /&gt;
Password can be redefined, just put here password from 'admin' user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_tenant_name&amp;quot;====&lt;br /&gt;
Using devstack installation it should have next valueː&lt;br /&gt;
 admin&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;network&amp;quot;===&lt;br /&gt;
====Option &amp;quot;public_network_id&amp;quot;====&lt;br /&gt;
Used for creation of isolated tenants. Its value can be got by&lt;br /&gt;
 $ neutron net-list&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;public_router_id&amp;quot;====&lt;br /&gt;
Used for creation of isolated tenants. Its value can be got by&lt;br /&gt;
 $ neutron router-list&lt;br /&gt;
&lt;br /&gt;
==Manila related options==&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;service_available&amp;quot;===&lt;br /&gt;
This section is defined withinin vanila Tempest. But &amp;quot;manila&amp;quot; option is defined within Manila's extension.&lt;br /&gt;
====Option &amp;quot;manila&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː Whether or not manila is expected to be available&lt;br /&gt;
&lt;br /&gt;
===Section &amp;quot;share&amp;quot;===&lt;br /&gt;
This section is defined with Manila's extension.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;catalog_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː share&lt;br /&gt;
 descriptionː Catalog type of the Share service. Should be changed only if it is changed in Manila itself.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;endpoint_type&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː publicURL&lt;br /&gt;
 descriptionː The endpoint type to use for the share service. Expected values are 'public', 'admin', 'internal', 'publicURL', 'adminURL' and 'internalURL'.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multitenancy_enabled&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː True&lt;br /&gt;
 descriptionː This option used to determine backend driver type, multitenant driver uses share-networks, but single-tenant doesn't.&lt;br /&gt;
&lt;br /&gt;
 Current singletenant drivers: LVM, GlusterFS, NetApp 7-mode&lt;br /&gt;
 Current multitenant drivers: Generic, NetApp Cluster-mode (cmode)&lt;br /&gt;
 Default driver in manila is Generic driver, so &amp;quot;multitenancy_enabled&amp;quot; option is enabled by default.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː First value of list is protocol by default, items of list show enabled protocols at all.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - will be tested only NFS type of shares and common actions&lt;br /&gt;
 cifs - will be tested only CIFS type of shares and common actions&lt;br /&gt;
 nfs,cifs - will be tested both share types and common actions, for common actions will be used nfs protocol&lt;br /&gt;
 cifs,nfs - will be tested both share types and common actions, for common actions will be used cifs protocol&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_ip_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː nfs,cifs&lt;br /&gt;
 descriptionː Whether allow run of ip rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;enable_sid_rules_for_protocols&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː Whether allow run of sid (username/usergroup) rules tests or not, and which share protocols should be used.&lt;br /&gt;
&lt;br /&gt;
 Expected values are:&lt;br /&gt;
 nfs - sid rules will be tested only for nfs protocol&lt;br /&gt;
 cifs - sid rules will be tested only for cifs protocol&lt;br /&gt;
 nfs,cifs - sid rules will be tested with both share protocols&lt;br /&gt;
 cifs,nfs - sid rules will be tested with both share protocols&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;username_for_sid_rules&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː Administrator&lt;br /&gt;
 descriptionː What name should be used with sid rule tests? Specify it if 'sid rule' tests are enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;storage_protocol&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for member creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for alternative member creds. At the moment there are no tests, that use share_network with creds for alternative user.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;alt_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &amp;quot;&amp;quot; (empty)&lt;br /&gt;
 descriptionː If you want Tempest to use some specific share-network instead of autocreated, specify it. This value is used for admin creds.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;admin_share_network_id&amp;quot;====&lt;br /&gt;
 typeː str&lt;br /&gt;
 default valueː &lt;br /&gt;
 descriptionː &lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;multi_backend&amp;quot;====&lt;br /&gt;
 typeː boolean&lt;br /&gt;
 default valueː False&lt;br /&gt;
 descriptionː Does your environment has more than 1 backend or not? If yes, than you can set it to True to enable multibackend tests in tempest.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;backend_names&amp;quot;====&lt;br /&gt;
 typeː list&lt;br /&gt;
 default valueː (empty)&lt;br /&gt;
 descriptionː names of backends in Manila, that Tempest should use. Tempest will use first two values from list and will use it only if option &amp;quot;multi_backend&amp;quot; is Enabled.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_interval&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 3&lt;br /&gt;
 descriptionː time to wait between resend of requests.&lt;br /&gt;
&lt;br /&gt;
====Option &amp;quot;build_timeout&amp;quot;====&lt;br /&gt;
 typeː int&lt;br /&gt;
 default valueː 500&lt;br /&gt;
 descriptionː time to wait until raise of Exception with timeout.&lt;br /&gt;
&lt;br /&gt;
=How to run tests=&lt;br /&gt;
==Run only cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests==&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila*\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Run only api and cli tests with specified amount of threads==&lt;br /&gt;
 export TEMPEST_CONCURRENCY=4&lt;br /&gt;
 tox -evenv bash tools/pretty_tox.sh \&amp;quot;tempest.api.share* tempest.cli.*manila* -- --concurrency=$TEMPEST_CONCURRENCY\&amp;quot;&lt;br /&gt;
Above action will try to run Tempest in 4 threads, if your host does have at least 4 cores. By default it uses amount of threads equal to amount of available cores.&lt;br /&gt;
&lt;br /&gt;
Manila tests are OK using concurrent threads.&lt;br /&gt;
&lt;br /&gt;
==If something went wrong with test launch==&lt;br /&gt;
On step where tests are gathered and parsed can be raised Exception and as a result we would see something like nextː&lt;br /&gt;
 running testr&lt;br /&gt;
 Non-zero exit code (2) from test listing. stdout='\xb3)\x01@d@Ytempest.api.share.admin.test_admin_actions.AdminActionsTest.test_force_delete_share[gate]&amp;lt;Z\x90&amp;quot;\xb3)\x01@g@\\&lt;br /&gt;
 ...&lt;br /&gt;
 tempest.scenario.test_volume_boot_pattern6B\x1e\xcc', stderr=None&lt;br /&gt;
 error: testr failed (3)&lt;br /&gt;
 running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \&lt;br /&gt;
 OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \&lt;br /&gt;
 OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \&lt;br /&gt;
 OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \&lt;br /&gt;
 ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./tempest/test_discover} --list &lt;br /&gt;
 &lt;br /&gt;
 ======&lt;br /&gt;
 Totals&lt;br /&gt;
 ======&lt;br /&gt;
 Run: 0 in 0.0 sec.&lt;br /&gt;
  - Passed: 0&lt;br /&gt;
  - Skipped: 0&lt;br /&gt;
  - Failed: 0&lt;br /&gt;
 ERROR: InvocationError: '/bin/bash tools/pretty_tox.sh tempest/api/share/test_extensions.py'&lt;br /&gt;
 __________________________________________________________________________________________________________________ summary ___________________________________________________________________________________________________________________&lt;br /&gt;
 ERROR:   venv: commands failed&lt;br /&gt;
&lt;br /&gt;
There could be different causes for that, in most cases - dependency issues, when some dependency is not installed and can not be imported. Or python syntax error, if something were changed in code, etc...&lt;br /&gt;
&lt;br /&gt;
As we can see, it does not show us real problem and we need dig root cause up. It can be done by a lot of cases, for example, try nextː&lt;br /&gt;
 nosetests -sv path/to/tests&lt;br /&gt;
or&lt;br /&gt;
 .tox/venv/bin/python -m testtools.run discover -t ./ path/to/tests&lt;br /&gt;
&lt;br /&gt;
=How to write own tests=&lt;br /&gt;
&lt;br /&gt;
==Where to put new tests==&lt;br /&gt;
All tests, that cover admin API are stored in &lt;br /&gt;
 tempest/api/share/admin/*&lt;br /&gt;
All tests, that cover non-admin API are stored in&lt;br /&gt;
 tempest/api/share/*&lt;br /&gt;
&lt;br /&gt;
==Add method as API caller==&lt;br /&gt;
All such methods are stored in &lt;br /&gt;
 tempest/services/share/json/shares_client.py&lt;br /&gt;
XML is considered as deprecated and tests for it were removed, so, only json &amp;quot;client&amp;quot; is expected.&lt;br /&gt;
&lt;br /&gt;
==Positive/Negative==&lt;br /&gt;
Positive and negative tests are separated into different modules, module with &amp;quot;negative&amp;quot; tests should have &amp;quot;_negative&amp;quot; suffix.&lt;br /&gt;
Example of module with positive testsː&lt;br /&gt;
 tempest/api/share/test_shares.py&lt;br /&gt;
Example of module with negative testsː&lt;br /&gt;
 tempest/api/share/test_shares_negative.py&lt;br /&gt;
&lt;br /&gt;
==Resolving concurrency issue==&lt;br /&gt;
If some test is sensible to changes that can be done by other tests, this test should use isolated tenant, example of it can be found in quota tests, located in&lt;br /&gt;
 tempest/api/share/admin/test_quotas.py&lt;br /&gt;
&lt;br /&gt;
==Reusing resources==&lt;br /&gt;
If several tests have same dependencies, they should use same resources if possible, it can be created in &amp;quot;setUpClass&amp;quot; method. Example can be found hereː&lt;br /&gt;
 tempest/api/share/test_shares_actions.py&lt;br /&gt;
&lt;br /&gt;
==Utilization of resources==&lt;br /&gt;
Utilisation stuff defined in next moduleː&lt;br /&gt;
 tempest/api/share/base.py&lt;br /&gt;
&lt;br /&gt;
Basic actionsː&lt;br /&gt;
 1) All setUpClass methods should be decorated with &amp;quot;@test.safe_setup&amp;quot; decorator.&lt;br /&gt;
 Reasonː if we get Exception on some step in setUpClass, tearDownClass won't start, where created resources are deleted. So, this decorator makes 'tearDownClass' run in any case.&lt;br /&gt;
&lt;br /&gt;
 2) Create resources that should be deleted with methods from base class.&lt;br /&gt;
 correctː self.create_share() - will add resources to deletion queue&lt;br /&gt;
 incorrectː self.shares_client.create_share() - won't add resource to deletion queue&lt;br /&gt;
&lt;br /&gt;
Common infoː&lt;br /&gt;
 All resources in deletion queue will be deleted in LIFO sequence - &amp;quot;last in first out&amp;quot; or &amp;quot;last created first deleted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 There are two deletion queuesː&lt;br /&gt;
 - runs after each test&lt;br /&gt;
 - runs after each test-suite (class with tests)&lt;br /&gt;
 Be attentive setting up it.&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	<entry>
		<id>https://wiki.openstack.org/w/index.php?title=Manila/docs&amp;diff=57296</id>
		<title>Manila/docs</title>
		<link rel="alternate" type="text/html" href="https://wiki.openstack.org/w/index.php?title=Manila/docs&amp;diff=57296"/>
				<updated>2014-07-03T10:17:29Z</updated>
		
		<summary type="html">&lt;p&gt;Vponomaryov: /* Manila Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Manila Documentation ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Manila/API|API specification]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Manila/docs/db|Database specification]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Manila/docs/API-roadmap|APIs to be implemented]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Manila/docs/HOWTO_use_manila_with_horizon|HOWTO use manila with horizon]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Manila/HOWTO_use_tempest_with_manila|HOWTO use tempest with manila]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up DevStack with Manila ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Manila/docs/Setting_up_DevStack_with_Manila_on_Fedora_20|On Fedora 20]]&lt;/div&gt;</summary>
		<author><name>Vponomaryov</name></author>	</entry>

	</feed>