-
Notifications
You must be signed in to change notification settings - Fork 46
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
Revised changes for mode 3 cvmfsexec support #372
base: branch_v3_11
Are you sure you want to change the base?
Revised changes for mode 3 cvmfsexec support #372
Conversation
04605e1
to
d21211c
Compare
92f0336
to
c39a07e
Compare
8bead3b
to
f60d23d
Compare
f60d23d
to
fa5aa1e
Compare
- also updated syntax for the condition in the helper script
- complete refactoring of code based on improved logic and better flow handling in exception cases - changed cvmfs-related helper scripts to always be downloaded regardless of whether CVMFS will be mounted or not - added documentation for the helper methods used towards the goal of mounting CVMFS on demand - updated the unmount logic based on the refactored code
for more information, see https://pre-commit.ci
- minor changes (formatting, indentation, improved user facing messages etc.) - improvements to the existing unmounting process now that mode 3 will also be supported - code refactoring in cvmfs_setup script for better flow and readability - improvements in cvmfs_helper_funcs to allow for different behaviors as a result of using cvmfsexec modes
6a97279
to
d50f10b
Compare
- fixed a runtime error when concatenating a set with only one element - added a hyperlink reference to the existing section that outlines the variables related to the on-demand CVMFS provisioning feature - updated name of the variable (GLIDEIN_WORK_DIR) to specify its usage being internal to GWMS - added `export` command to explicitly export the value of PATH when a glidein is reinvoked. This was done to resolve the `pivot_root: command not found` error
d50f10b
to
bd2fbdf
Compare
creation/lib/cgWParamDict.py
Outdated
@@ -219,15 +221,26 @@ def populate(self, other=None): | |||
self.dicts["params"].add("GLIDEIN_Factory_Collector", str(factory_monitoring_collector)) | |||
populate_gridmap(self.conf, self.dicts["gridmap"]) | |||
|
|||
# the following list will be a megalist containing all the scripts; used for duplication check logic subsequently | |||
all_scripts = list() |
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.
I suggest using all_scripts = []
for style consistency.
@@ -397,7 +408,7 @@ def populate(self, other=None): | |||
# TODO: This check could be done in the XML, checking if the entries are consistent in the current version | |||
# fetch the on-demand cvmfs provisioning feature setting | |||
# if on-demand CVMFS not used at the global level; ignore and continue | |||
ondemand_cvmfs = self.dicts["attrs"].get("GLIDEIN_USE_CVMFSEXEC", 0) | |||
ondemand_cvmfs = self.dicts["attrs"].get("GLIDEIN_USE_CVMFS", 0) |
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.
Should we also check for GLIDEIN_USE_CVMFSEXEC
for backward compatibility?
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.
The configuration knob GLIDEIN_USE_CVMFSEXEC
will be changed to GLIDEIN_USE_CVMFS
, but I do not know for sure if we need to ensure backward compatibility in this case, if this change will eventually be propagated to production.
@mambelli would like to know your thoughts on this!
@@ -716,7 +733,7 @@ def populate(self, entry, schedd, main_dicts): | |||
# TODO: This check could be done in the XML, checking if the entries are consistent in the current version | |||
# fetch the on-demand cvmfs provisioning feature setting | |||
# if on-demand CVMFS not used by entry, ignore and continue | |||
ondemand_cvmfs = self.dicts["attrs"].get("GLIDEIN_USE_CVMFSEXEC", 0) | |||
ondemand_cvmfs = self.dicts["attrs"].get("GLIDEIN_USE_CVMFS", 0) |
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.
Should we also check for GLIDEIN_USE_CVMFSEXEC
for backward compatibility?
GWMS_STARTUP_SCRIPT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/$(basename "${BASH_SOURCE[0]}")" | ||
export GWMS_STARTUP_SCRIPT=${GWMS_STARTUP_SCRIPT} # for glidein reinvocation |
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.
Couldn't we declare and export GWMS_STARTUP_SCRIPT
in one line?
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.
That is a good suggestion. The export
statement was something I added as part of my changes and it did not occur to me that declaring and exporting could be done in one line.
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.
I made a couple of suggestions, but the code looks good to go.
This PR brings in changes corresponding to the comments received on PR #245. Since there was a significant number of comments on that PR, it would have been difficult to retain the comments while making the necessary changes. So the suggestion received was to create a new PR that contains the suggested changes (in accordance with the comments received) while the comments are retained for looking back into during the process of editing the files.
NOTE: This PR supersedes #245.
Sub-tasks that close this PR: