-
Notifications
You must be signed in to change notification settings - Fork 5
dcbradley/parrot_glidein_wrapper
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a job wrapper that we use in the Wisconsin CHTC glideinWMS frontend to provide CVMFS access to jobs via Parrot. We therefore do not rely on the site admin to mount CVMFS for us. An optional CMS-specific component does additional configuration for CMS jobs to run in this mode. The behavior of the wrapper is controlled by settings in parrot_cfg. You can configure which repository to test for validation, which repositories to enable in parrot, and which central http proxies to use in case the site proxy is not suitable. There are two main ways the wrapper can be used: strict mode and lenient mode. In strict mode, the CVMFS wrapper is always used. In lenient mode, the wrapper is only used if the job requires it. I call this lenient mode, because if CVMFS setup fails when the glidein is initializing itself, it will skip it and just not match to jobs that require CVMFS. In strict mode, if setup fails, the glidein startup aborts. Strict mode is configured with the following settings in parrot_cfg: GlideinAlwaysUseParrotWrapper=true GlideinRequiresParrotCVMFS=true GlideinRequiresCMSFrontier=true (The CMSFrontier setting is only appropriate for glideins that are used solely by CMS. Others can omit that. It only makes a difference if one includes parrot_cms_setup in the frontend configuration described below.) Lenient mode is configured with the following settings in parrot_cfg: GlideinAlwaysUseParrotWrapper=false GlideinRequiresParrotCVMFS=false GlideinRequiresCMSFrontier=false In lenient mode, users who want CVMFS need to declare that their job requires CVMFS by putting the following in the job submit file: +RequiresCVMFS = True And to prevent the job from running somewhere that lacks this capability, the following can be put in the job requirements: Requirements = HasParrotCVMFS (The above job requirements are recommended, but, just in case, if the glidein fails to validate CVMFS access, the glidein START expression automatically filters out jobs that define RequiresCVMFS=True.) For CMS jobs, some additional configurations are made: * VO_CMS_SW_DIR points to /cvmfs/cms.cern.ch. * The site squid proxy is used as the frontier proxy if it is determined to be a compatible version. * Data files are read via xrootd. In lenient mode, it is recommended that CMS jobs define +RequiresCMSFrontier = True and Requirements = HasCMSFrontier (The above job requirements are recommended, but, just in case, if the glidein fails to validate Frontier access, the glidein START expression automatically filters out jobs that define RequiresCMSFrontier=True.) GlideinWMS frontend configuration: Run 'make' to create the tar files referenced below. We put the following in our global <files> section. (Substitute a different parrot_cfg source file as appropriate for your situation. See parrot_cfg_* for examples.) <file absfname="/home/condor/wisc_glidein_scripts/parrot.tgz" after_entry="True" after_group="False" const="True" executable="False" untar="True" wrapper="False"> <untar_options absdir_outattr="GLIDEIN_PARROT" cond_attr="TRUE"/> </file> <file absfname="/home/condor/wisc_glidein_scripts/parrot_cfg_wisc" relfname="parrot_cfg" after_entry="True" after_group="False" const="True" executable="False" untar="False" wrapper="False"> <untar_options cond_attr="TRUE"/> </file> <file absfname="/home/condor/wisc_glidein_scripts/parrot_setup" after_entry="True" after_group="False" const="True" executable="True" untar="False" wrapper="False"> <untar_options cond_attr="TRUE"/> </file> <file absfname="/home/condor/wisc_glidein_scripts/cvmfs_job_wrapper" after_entry="True" after_group="False" const="True" executable="False" untar="False" wrapper="True"> <untar_options cond_attr="TRUE"/> </file> Additionally, we add the following CMS-specific configuration: <file absfname="/home/condor/wisc_glidein_scripts/cms_siteconf.tgz" after_entry="True" after_group="False" const="True" executable="False" untar="True" wrapper="False"> <untar_options absdir_outattr="GLIDEIN_CMS_SITECONF" cond_attr="TRUE"/> </file> <file absfname="/home/condor/wisc_glidein_scripts/parrot_cms_setup" after_entry="True" after_group="False" const="True" executable="True" untar="False" wrapper="False"> <untar_options cond_attr="TRUE"/> </file> MONITORING The following attributes are advertised in the glidein startd classad: HasParrotCVMFS = True/False SiteSquidVersion = "2.7.STABLE9" CMSFrontierUsingSiteSquid = True/False HasCMSFrontier = True/False
About
A glideinWMS job wrapper to enable CVMFS access through parrot.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published