Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ def __init__(self, fe_group, acct_group, fe_cfg, logger):
# Default parameters for glidein request
self.default_glidein_params = {
# TODO: Remove this classad once token/proxy hybrid configurations are no longer supported
"CONTINUE_IF_NO_PROXY": "False"
"CONTINUE_IF_NO_PROXY": "True"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checking with @mambelli, this change would require a full token setup, while the current one works with an hybrid X509 cert/token setup. We could end up to have two versions of DE depending on the specific setup.

}

def generate_glidein_requests(self, jobs_df, slots_df, entries, factory_globals, job_filter="ClusterId > 0"):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
"Nersc_Figure_Of_Merit",
]

_SUPPORTED_ENTRY_TYPES = ["LCF", "AWS", "Grid", "GCE"]
# _SUPPORTED_ENTRY_TYPES = ["LCF", "AWS", "Grid", "GCE"]
_SUPPORTED_ENTRY_TYPES = ["Grid"]

METRICS = {
"NUMBER_OF_JOBS": Gauge("de_jobs_total", "Number of jobs seen by the Decision Engine"),
Comment on lines +27 to 31
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been addressed by PR #440

Expand Down Expand Up @@ -86,12 +87,9 @@ def transform(self, datablock):
# Get factory global classad dataframe
factory_globals = datablock.get("factoryglobal_manifests")
factory_entries = datablock.get("Factory_Entries")
entries = pandas.DataFrame([])
all_factory_entries = [
factory_entries.xs(et) for et in _SUPPORTED_ENTRY_TYPES if et in factory_entries.index
]
if all_factory_entries:
entries = pandas.DataFrame(pandas.concat(all_factory_entries, ignore_index=True, sort=True))
entries = pandas.DataFrame(
pandas.concat([factory_entries.xs(et) for et in _SUPPORTED_ENTRY_TYPES], ignore_index=True, sort=True)
)
Comment on lines +90 to +92
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been addressed by PR #440

if entries.empty:
self.logger.info("There are no entries to request resources from")
return dict.fromkeys(["glideclientglobal_manifests", "glideclient_manifests"], pandas.DataFrame())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,7 @@ def transform(self, datablock):
"""

self.logger.debug("in GridFigureOfMerit transform")
entries = pandas.DataFrame([])
if "Grid" in self.Factory_Entries(datablock).index:
entries = self.Factory_Entries(datablock).xs("Grid")
entries = self.Factory_Entries(datablock).xs("Grid")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been addressed by PR #440

if entries is None:
entries = pandas.DataFrame({ATTR_ENTRYNAME: []})
foms = []
Expand Down
6 changes: 4 additions & 2 deletions src/decisionengine_modules/htcondor/publishers/publisher.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,10 @@ def __init__(self, config):
super().__init__(config)
self.condor_config = config.get("condor_config")
self.x509_user_proxy = config.get("x509_user_proxy")
self.max_retries = config.get("max_retries")
self.retry_interval = config.get("retry_interval")
# self.max_retries = config.get("max_retries")
self.max_retries = 10
# self.retry_interval = config.get("retry_interval")
self.retry_interval = 1
Comment on lines +32 to +35
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes are better addressed with changes in the configurations.
Current config_template have been updated to address this

self.update_ad_command = DEFAULT_UPDATE_AD_COMMAND
self.invalidate_ad_command = DEFAULT_INVALIDATE_AD_COMMAND
self.classad_type = "generic"
Expand Down