forked from hpe-storage/python-hpedockerplugin
-
Notifications
You must be signed in to change notification settings - Fork 0
Plugin v2 #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
sandesh-desai
wants to merge
406
commits into
sandesh-desai:plugin_v2
Choose a base branch
from
hpe-storage:plugin_v2
base: plugin_v2
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Plugin v2 #1
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Fix for 393
- fix for #392 - dynamic help added to display backend names with their status
Changed LOG.error to LOG.info as this a happy path
Fix for #392 + help enhancement
Fix Issue #401 - Avoid edge tag on alpine to be compatible on OpenSSL…
Fix for issue #408
Fix for #407 and parallel mount issue
Fix missing 'Options' in volume inspect attribute for clone, import …
Fix shared volume mount
* Invalid CPG fix * Corrected error message
* Invalid CPG fix * Corrected error message * Duplicate FPG handling regression * Fixed issue in mount from multiple nodes
Current code ends up invoking Client API with 'tdvv' as False even when 'thin' provisioning is specified by the user. Client API mandates that 'tdvv' and 'compression' must be passed together. Else it results in error. This fix ensures that 'tdvv' is passed to Client API only when specified by the user.
Spelling correction
* Return 'true' or 'false' for flash_cache rather than True or False
* Improved replication documentation * Replication: Added active/passive documentation * Fixed typo * Added see also section at the end * Added Peer Persistence based replication documentation * Missed out Peer Persistence based replication documentation in last commit * Increased title font for PP based replication documentation * Added a note * Introductory content updated for PP documentation * Added content related to few more restrictions * Updated a restriction with more details * Fix for #428 * Revert "Fix for #428" This reverts commit f074ae3. * Fix for issue #428 Covered following TCs: 1. With only QOS 2. With only flash-cache 3. With both 4. Without both i.e. just a VVSet with the source volume member of it * File Persona Support This is work in progress So far implemented: * CRD operations * Share state management TODO: * Rollback requires some work * Testing of some scenarios * File Persona: using single configuration file Implemented the following: ================== 1. Dependency on common configuration file between block and file protocols 2. Adding of client IP access via WSAPI call TODOs: ===== 1. Unit test implementation to adapt to share creation on child thread. Presently it fails. 2. Rollback 3. Quota size 4. Testing of some scenarios * Fixed typo in function name * Fixed PEP8 issues * Commented out fix for issue #428 for now * Fixed UT failures Due to changes to the design, block UTs were failing. Fixed those. * Fixed couple of more PEP8 issues * Added code for multiple default backends * Expect cpg to be list type in hpe.conf In block, cpg is a list type in hpe.conf. File earlier used expect cpg to be string type. After common configuration file, File needed this change * Fixed broken Travis CI * Fixed unit test related to listing of volumes *Cannot rely on first manager anymore as user may or may not configure both the managers. * Fixed multiple issues Implemented following: 1. IP range 2. Delete FPG with last share delete 3. Renamed "persona" flag to "filePersona" 4. Fixed mount/unmount 5. Fixed default share size 6. Lock by share name 7. In share meta-data, IP/Subnet were not getting updated for second share onwards * Update file_backend_orchestrator.py Added one missing paramter * Fixed mount/unmount + Addressed review comment * Mount infomration needed to be stored as a dictionary with mount_id as key and mount_dir as value * If default FPG dict is empty, needed to throw exception EtcdDefaultFpgNotPresent * Removed replication related code * Update file_manager.py Fixed couple of PEP8 issues * Update hpe_3par_mediator.py Fixed the configuration parameter names * Review Comments addressed * Unit test framework fixed for decrypt_password * Rollback for default share creation TODO: * Rollback for non-default share creation * Resolved PEP8 errors * Fixed async initialization failure in UTs * Update cmd_deleteshare.py Fixed typo * Update cmd_deleteshare.py Fixed typo * Added logging * Backend metadata initialization done for a use case * PEP8 fixed + Quota set in a use case * Combined default and non-default share creation into one template function create_share_on_fpg() can now create both default and non-default shares. It achieves this by using specific implementations of two functions the references of which are passed to it as argument. Rest of the function steps are common to both default and non-default share creation process. * Removed unused import references * Async initialization fix * Added sleep to main UT thread * Fixed PEP8 * Default size modified + share create on legacy FPG issue fixed *Changed default FPG to 16TiB and default share size to 1TiB *Fixed share creation issue on legacy FPG * Updated error message for legacy FPG use case * Updated help content for File Persona * FPG initialization requires share_cnt initialization * Fix for issue #607 * Fixed issues #600, #606, #607 * Fixed pep8 * Overridden WS minimum version check to 3.3.1 * Disabled 'readonly', 'nfsOptions' and 'comment' options These options if required can be exposed in the future. For now there is no need to expose these. * Disabled 'readonly', 'nfsOptions' and 'comment' options These options can be added back if needed in the future. For now, removing them. * Fix for issue #620 Race condition was occurring between backend initialization threads as regards to fp_etcd_client. Moved its creation main thread to avoid it. * Fixed issue #620 fp_etcd_client could not be initialized in the FileBackendOrchestrator constructor as it was being accessed even before constructor would get invoked. Hence created a static method which is getting invoked from the base class to create fp_etcd_client even before it is used * Adding back as the code got removed inadvertently * Removed unused import to fix PEP8 * Fixed #609 to return relevant share details for inspect * Treat DEFAULT_BLOCK and DEFAULT_FILE as special keywords always * Allow mount only if share is in 'AVAILABLE' state * Disallow remove if share mounted + PEP8 * Delete share fixed + Removed unnecessary metadata * FPG delete done on child thread * Restructured delete share flow * Fix for Primera Current code ends up invoking Client API with 'tdvv' as False even when 'thin' provisioning is specified by the user. Client API mandates that 'tdvv' and 'compression' must be passed together. Else it results in error. This fix ensures that 'tdvv' is passed to Client API only when specified by the user. * Removed unused import * Fix for issue #698 Spelling correction * Added error message translation * Inspect to return flash_cache as string and not boolean * Return 'true' or 'false' for flash_cache rather than True or False * Added an all inclusive license check
* Fix pep8 issues in last build * Fix test_qos_vol UT
* Modified help for primera * done review comment for the typo
* Fix Issue #390, Allow 'size' in snapshot options * Updated usage doc * Added space between words * Ability to create a regular volume from a replicated backend * Fixed pep8 issue regarding redundant back slashes * Pep8 Fix attempt 2: Indentation * Update hpe_storage_api.py * Fixed an issue when a regular volume is mounted while the backend is replication enabled * Fixed pep8 line too long issues * Not treating as a replication backend if the volume created is not replicated volume * Allowing the non replicated volume from a replicated backend to be successfully imported to docker volume plugin * Added back some required checks * Removed unwanted space * Update .travis.yml * Fix for issue 518-encrypted password decrytion fails when the passphrase length is of 16,24,32 characters * Fix for issue 502 (#555) * Added needed check to see mgr object is available or not (#559) * Feature: Add logging to file -- Include changes for Pull Request #563 in v300 branch (#569) * Fix Issue #390, Allow 'size' in snapshot options * Updated usage doc * Feature: Add support for RotatingFileHandler in logging * Fix Issue #534 (#576) * Fix Issue #390, Allow 'size' in snapshot options * Updated usage doc * Fix issue #534 - invalid config entry creates session leak * Fix issue #513 on v300 branch (#583) * Fix Issue #390, Allow 'size' in snapshot options * Updated usage doc * Fixed issue #513 -Added rollback to mount flow for any cleanup in case of any failure -Added validation for fsOwner * Pep8 fixed * Use deferred thread for processing REST calls in twistd * Fixed msg creation * Retry on lock exception * Another attempt on processing lock failed exception * Changes in mount_volume to avoid lock during mount conflict check * Fix _is_vol_mounted_on_this_node definition * Minor change * Backport pull request #650 and related changes * Implemented blocking Etcd lock + Eviction fixes merged * Fix problem with mount entry check * Returning multiple enums from _is_vol_mounted_on_this_node + inspect output to have volume id * Expect node_mount_info to be absent for the first mount -Also removed dead code * path_info to be handled as JSON object + handled stale mount_id in reboot case * Fix for UTs * Replaced path.path with path * Fixed snap related TC * PEP8 errors fixed * Added more information to the logs * For UT 3pardcv.log location changed * Added check for manager-list initialization * Removed redundant code * Removed duplicate functions from fileutil As part of merge process, fileutil ended up having two duplicate functions. Fixed it. Also UT needed to use un-deferred thread code to avoid handling multi-threaded UTs. * Fixed UTs for File * Added exception handling for mount_dir() * Adopted 3.2 async initialization fix required for UT * Reintroduced sleep of 3 secs * Corrected usage of sleep() call * Disabled detailed logging due to Travis CI log size restriction * Pep8 fix * Fix for issue #735 * Fixed removal of redundant old_path_info entries * Added missing argument to rollback call * Removed code that was added to look for iscsi devices Ideally, we should remove this file altogether... to be taken up later
* Added fix for 704 * removing rounding
This was due to typo in lock name due to which all the threads were picking up the same lock name thereby serializing the multiple simulataneous requests
* Fix Issue #390, Allow 'size' in snapshot options * Updated usage doc * Added space between words * Ability to create a regular volume from a replicated backend * Fixed pep8 issue regarding redundant back slashes * Pep8 Fix attempt 2: Indentation * Update hpe_storage_api.py * Fixed an issue when a regular volume is mounted while the backend is replication enabled * Fixed pep8 line too long issues * Not treating as a replication backend if the volume created is not replicated volume * Allowing the non replicated volume from a replicated backend to be successfully imported to docker volume plugin * Added back some required checks * Removed unwanted space * Update .travis.yml * Fix for issue 518-encrypted password decrytion fails when the passphrase length is of 16,24,32 characters * Fix for issue 502 (#555) * Added needed check to see mgr object is available or not (#559) * Feature: Add logging to file -- Include changes for Pull Request #563 in v300 branch (#569) * Fix Issue #390, Allow 'size' in snapshot options * Updated usage doc * Feature: Add support for RotatingFileHandler in logging * Fix Issue #534 (#576) * Fix Issue #390, Allow 'size' in snapshot options * Updated usage doc * Fix issue #534 - invalid config entry creates session leak * Fix issue #513 on v300 branch (#583) * Fix Issue #390, Allow 'size' in snapshot options * Updated usage doc * Fixed issue #513 -Added rollback to mount flow for any cleanup in case of any failure -Added validation for fsOwner * Pep8 fixed * Use deferred thread for processing REST calls in twistd * Fixed msg creation * Retry on lock exception * Another attempt on processing lock failed exception * Changes in mount_volume to avoid lock during mount conflict check * Fix _is_vol_mounted_on_this_node definition * Minor change * Backport pull request #650 and related changes * Implemented blocking Etcd lock + Eviction fixes merged * Fix problem with mount entry check * Returning multiple enums from _is_vol_mounted_on_this_node + inspect output to have volume id * Expect node_mount_info to be absent for the first mount -Also removed dead code * path_info to be handled as JSON object + handled stale mount_id in reboot case * Fix for UTs * Replaced path.path with path * Fixed snap related TC * PEP8 errors fixed * Added more information to the logs * For UT 3pardcv.log location changed * Added check for manager-list initialization * Removed redundant code * Removed duplicate functions from fileutil As part of merge process, fileutil ended up having two duplicate functions. Fixed it. Also UT needed to use un-deferred thread code to avoid handling multi-threaded UTs. * Fixed UTs for File * Added exception handling for mount_dir() * Adopted 3.2 async initialization fix required for UT * Reintroduced sleep of 3 secs * Corrected usage of sleep() call * Disabled detailed logging due to Travis CI log size restriction * Pep8 fix * Fix for issue #735 * Fixed removal of redundant old_path_info entries * Added missing argument to rollback call * Removed code that was added to look for iscsi devices Ideally, we should remove this file altogether... to be taken up later * pyparsing ImportError fix * Changed setuptools version to 41.0.0 41.0.0 was used by v3.1 of plugin and was * Device remapping fix On reboot, the volumes that were mapped to the multipath devices earlier are remapped to different devices. This fix handles that case. * Fixed lock name * Fixed PEP8 issues * Missed a PEP8 conformance * Fixed log statement
* Fix import for base64, and forward ported a fix for 3.1.1 branch -- Issue #762 * Fix encode_as_text resolution failure
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.