Skip to content

Conversation

@sandesh-desai
Copy link
Owner

No description provided.

wdurairaj and others added 30 commits November 2, 2018 23:01
- 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 Issue #401 - Avoid edge tag on alpine to be compatible on OpenSSL…
Fix for #407 and parallel mount issue
Fix missing 'Options' in volume inspect  attribute for clone, import …
imran-ansari and others added 30 commits July 7, 2019 18:20
* Invalid CPG fix

* Corrected error message
* fix for issue 679 its a regression

* this makes fsOwner mandetory parameter to be used with fsMode

* Fixed pep8
* Invalid CPG fix

* Corrected error message

* Duplicate FPG handling regression
* 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
* Fixes issue #428

* Fixed UTs

* Fixed 2 failing UTs
* 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 for #718,#714,#711

* fixed uts related to message change

* Added fix for #710

* Modified document as per review comment

* fixed pep8 issues

* done review comment
* 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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.