This repository has been archived by the owner on Jul 22, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 26
Conversation
This file contains 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
* place holders comments for potential idempotent fixes - unmount and mount flow * mount idempotent - new mounter factory inteface to get relevant backend mounter(will be used in k8s side) * mount idempotent : add new intefaces for slink manipulation for k8s controller. * refactor IsDeviceMounted so it will return also the mountpaths of the given device if mounted * Add idempotent handling to MountDeviceFlow (skip if already mounted) * Add timeout for mount command (to be save from hanging if any) * Add new error.go file for mounter utils (part of mount idempotent)
Merge v1.1.1 to dev branch (Add support for IBM Power Systems)
Apply gofmt fixes
Refactor helper scripts to push images (rename scripts and fix manife…
* UB-624:Flex should NOT write its log into the flex driver directory Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * create log directory Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * add FLEX-LOG-ROTATE-MAXSIZE in config Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * update openssl to 1.0.2o-r0 Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com>
* remove sqlite Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Remove the sqlite3 Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com> * Add ut for connection Signed-off-by: feihuang <feihuang@feihuangs-mbp.cn.ibm.com>
Added request id and go id to the ubiquity server logs * UB-1099: add go_id:request_id to ubiquity server logs * UB-1099: added back a go-logging import * UB-1099: exidental enter * UB-1099: code review fixes * UB-1099: code review changes * UB-1099: code review changes * UB-1099: code review changes * UB-1099: code revie changes * UB-1099: code review fixes
…he PV existence) (#216) * Refactor volumeNotFoundError in database to be standard error for StorageClient interface. Move this error from scbe backend to be generic for ubiqutiy StorageClient interface, So the plugins will be able to identify if the GetVolume interface fail to find the volume because an error or because it was not found in Ubiqutiy DB. The first to use it in the plugin is the flex Unmount CLI to identify if PV exist in ubiquity before unmount start (for idempotent issue resolving)
In this PR I wanted to update the new logging to the following state: in the ubiquity logger there we be shown the go routine id (and the pid will be removed from the log) : because the ubiquity server always runs in the same pid so no need to show it in the log since it does not give us any more information. in flex logger we will show the pid only (the go id routine will be removed) : since every flex request will always have the same go routine id there is not need to show both the request id and the go routine id. in provisioner log we will neither show the go routine id nor the pid of the process : since as for the flex logger each request will always have the same go routine id. and also like the ubiqity server the provisioner will always run with the same pid.
added timestamp to start server message: 2018-07-01 11:52:15.077 INFO storage_api_server.go:73 web_server::printStartMsg [NA:1] Starting Storage API server on port 9999 .... [] 2018-07-01 11:52:15.077 INFO storage_api_server.go:74 web_server::printStartMsg [NA:1] CTL-C to exit/stop Storage API server service []
Cleanup old ubiquity linux service, config files and few old deployment files
#223) * UB-1387 : added log for idempotent issue when mount-point already exists *
#222) * UB-1098: change logging message to warning instead of info for idempotent issues*
this PR will add an action name to each log line. (for example all oprerations that are part of Delete will have the request-action name in the log. like : fd5dd389-7acb-11e8-88cd-54ee75515403-Delete )
* Set lumberjack version * Set ginkgo to v1.5.0 * Set gomega to v1.4.0 * Use Docker caching in DockerFile * Update dependencies * Add k8s apmachinery to glide.yaml * Add dependencies to testImport
we added 2 things to support ubiquity on Z: 1. runnig multipath AND with multipath -r 2. adding a timeout on the multipath command (10 seconds) due to env issues on Z that cause the multipath to be stuck sometimes
Don't want to see an error every time a volume is being discovered. so I removed the error message and am just returning the error.
…230) * Expose the http response including the error reason to the plugins (instead of hiding the reason) * Fix code review comments by Olga and Ran
In this PR , the following idempotent issue with Unmount flow is fixed: if a discovery of a volume fails, no need to fail the Unmount command, just need to skip the UnmountDeviceFlow. more info: if volume's mpath NOT discovered (because the device does not exist at all in multipath -ll) then we should skip UnmountDeviceFlow instead of failing (reminder - the UnmountDeviceFlow is the flow that does umount the device and cleanup of the mpath device) . Why its idempotent? - because there is a chance that unmount flow will fail at the end of UnmountDeviceFlow after it unmounts and cleans the mpath device. So to be idempotent the unmount needs to handle unmount request while the mpath device was already cleaned.
…ity server if volume is already detached (#231) In the ubiquity server if the volume is already detached we will not fail the flow but succeed.
This PR is to not allow attachement of 2 pods to one PVC. currently this is allowed due to a fix of another idempotent issue. we are checking if a PVC is already attached to another pod using the slinks - in the mount process we check if the /ubiquity/volume is already linked to a pod that is not the current pod - if so then we will fail the mount process. also a mountlock is added to prevent operations during the mount happening for 2 different pods (and same PVC)
UB-1472: add idempotent message
…ing it as Volume not found (#236) This PR will return the actual error that is returned from sg_inq and not mask it as a volume not found error . this is important because if we mask the error from sg_inq we might stumble into an idempotent case and continue the umount even thought we should not and we will be stuck. (this can happen when there is a faulty device so sg_inq returns an error and we return a volume not found error in this case, and after that because we know to continue with the unmount in case of a volume not found we will continue the umount even though other steps did not happen and this is not really the case of a volume not found because it was already unmounted.)
added timeout to some commands as part of the unmount process as follows: unmount (timeout 30s) clean up command : dmsetup and multipath -f (each should be with timeout of 30s) multipath -ll (timeout 20s) multipath -r (timeout 60s) rescan -r (timeout 2 minutes) iscsiadm rescan (timeout 1 minutes)
added a log message to indicate that a device was already unmounted. as part of this message we needed to add the volume WWN (to enable the automation to work and check this case) so some changes in the API were made to support this.
…ocker manifest commands (#240) 1. To allow run the script with additional docker manifest flags (mainly for CI use case with internal docker registry) 2. Also move helper scripts under ci directory
the getBackend function in the storage_api_handler was returning the wrong error message and the controller was expecting the right one, so i fixed it to return the correct error.
…244) related to UB-1501
shay-berman
commented
Aug 30, 2018
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 95 of 95 files at r1.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @beckmani and @olgashtivelman)
olgashtivelman
approved these changes
Sep 2, 2018
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: complete! all files reviewed, all discussions resolved (waiting on @beckmani and @olgashtivelman)
We have a green light to merge v1.2 to master. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
This is the PR to merge GA v1.2.0 content from dev to master (via release branch named release_v1.2.0).
This PR related to the ubiquiy-k8s release PR IBM/ubiquity-k8s#211.
Here is the release content (The content will be mentioned also in the release tag description of v1.2.0):
New in this release
Expanded support matrix:
Support for Kubernetes v1.10 and v1.11.
Support for IBM Cloud Private v2.1.0.3. (Fix tolerations setting in flex daemonset to support also ICP v2.1.0.2+ ubiquity-k8s#203)
Support for IBM Z architecture s390x (ubiquity related PRs).
Full Ubiquity DockerHub repositories are as follows (introducing the new s390x images):
Stability improvements:
Refactors:
This change is