Skip to content

Commit

Permalink
Merge remote-tracking branch 'osg/master' into ligo-hanford-ce1
Browse files Browse the repository at this point in the history
  • Loading branch information
brianhlin committed Sep 25, 2023
2 parents 07ee6d7 + 02394d3 commit bb1194c
Show file tree
Hide file tree
Showing 8 changed files with 165 additions and 45 deletions.
5 changes: 5 additions & 0 deletions projects/ND_Chen.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Department: College of Engineering
Description: Training AI models on public medical image data
FieldOfScience: Engineering
Organization: University of Notre Dame
PIName: Danny Chen
14 changes: 3 additions & 11 deletions src/tests/verify_resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ def main():
errors += test_14_vo_contacts_match(vos, vofns, contacts)
# per SOFTWARE-3329, we are not checking support center contacts
# errors += test_14_sc_contacts_match(support_centers, contacts)
errors += test_15_facility_site_files()
errors += test_15_site_files()
errors += test_16_Xrootd_DNs(rgs, rgfns)
errors += test_17_osdf_data(rgs, rgfns)
warnings += test_18_osdf_data_cache_warnings(rgs, rgfns, vomap)
Expand Down Expand Up @@ -190,7 +190,6 @@ def main():
" or a CILogonID",
'UnknownContactID' : "Contact IDs must exist in contact repo",
'ContactNameMismatch' : "Contact names must match in contact repo",
'NoFacility' : "Facility directories must contain a FACILITY.yaml",
'NoSite' : "Site directories must contain a SITE.yaml",
'XrootdWithoutDN' : "Xrootd cache server must provide a DN",
'OSDFServiceVOsList' : "OSDF Services must contain an AllowedVOs list",
Expand Down Expand Up @@ -663,16 +662,9 @@ def test_14_sc_contacts_match(support_centers, contacts):
return errors


def test_15_facility_site_files():
# verify the required FACILITY.yaml and SITE.yaml files
def test_15_site_files():
# verify the required SITE.yaml files
errors = 0

for facdir in glob.glob("*/"):
if not os.path.exists(facdir + "FACILITY.yaml"):
print_emsg_once('NoFacility')
print("ERROR: " + facdir[:-1] + " does not have required FACILITY.yaml file")
errors += 1

for sitedir in glob.glob("*/*/"):
if not os.path.exists(sitedir + "SITE.yaml"):
print_emsg_once('NoSite')
Expand Down
18 changes: 7 additions & 11 deletions src/webapp/rg_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,21 +69,17 @@ def get_topology(indir="../topology", contacts_data=None, strict=False):

skip_msg = "skipping (non-strict mode)"

for facility_path in root.glob("*/FACILITY.yaml"):
name = facility_path.parts[-2]
facility_data = load_yaml_file(facility_path)
for facility_path in root.glob("*"):
if not os.path.isdir(facility_path):
continue
name = facility_path.parts[-1]
facility_yaml_path = facility_path / 'FACILITY.yaml'
facility_data = load_yaml_file(facility_yaml_path) if facility_yaml_path.exists() else {}
id_ = gen_id_from_yaml(facility_data or {}, name)
topology.add_facility(name, id_)
for site_path in root.glob("*/*/SITE.yaml"):
facility, name = site_path.parts[-3:-1]
if facility not in topology.facilities:
msg = f"Missing facility {facility} for site {name}. Is there a FACILITY.yaml?"
if strict:
raise TopologyError(msg)
else:
log.error(msg)
log.error(skip_msg)
continue
assert facility in topology.facilities, f"Missing facility {facility} for site {name}"
site_info = load_yaml_file(site_path)
id_ = gen_id_from_yaml(site_info, name)
topology.add_site(facility, name, id_, site_info)
Expand Down
7 changes: 5 additions & 2 deletions topology/SingAREN/SingARENSingapore/SITE.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
ID: 10362
LongName: SingAREN data center
Description: Backbone location of SingAREN
Latitude: 32.884310
Longitude: -117.239614
Latitude: 1.2961438422403178
Longitude: 103.79088279998233
City: Singapore
State: Singapore
Country: Republic of Singapore

This file was deleted.

1 change: 1 addition & 0 deletions topology/The University of Montana/FACILITY.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ID: 10213
7 changes: 7 additions & 0 deletions topology/The University of Montana/UMontana IT/SITE.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
AddressLine1: 32 Campus Drive
Country: United States
Description: The University of Montana
Latitude: 46.8619309
Longitude: -118.4670188
State: Montana
Zipcode: '59812'
137 changes: 137 additions & 0 deletions topology/The University of Montana/UMontana IT/UMT-Hellgate.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
# Production is true if the resources in this group will join the production OSG pool,
# and not the Integration Test Bed (ITB) pool.
Production: true
# SupportCenter is one of the support centers in topology/support-centers.yaml
SupportCenter: Self Supported

# GroupDescription is a long description of the resource group; may be multiple lines.
GroupDescription: The University of Montana

# If you have an up-to-date local git clone, fill GroupID with the output from `bin/next_resource_group_id`
# Otherwise, leave it blank and we will fill in the appropriate value for you.

# Resources contains one or more resources in this
# ResourceGroup. A resource provides one or more services
Resources:
# Resource Name should be a short descriptor of the resource.
# e.g. the Center for High Throughput Computing's GlideinWMS Frontend is "CHTC-glidein2"
# Resource Names need to be unique across all resources in the OSG.
UMT-Hellgate-CE1:
# Active is true if the resource is accepting requests, and false otherwise.
# When first registering a resource, set this to false. Set it to true when it's ready for production.
Active: false
# Description is a long description of the resource; may be multiple lines
Description: Hosted CE serving UMT
# ContactLists contain information about people to contact regarding this resource.
# The "ID" is a hash of their email address available at https://topology.opensciencegrid.org/miscuser/xml
# If you cannot find the contact above XML, please register the contact:
# https://opensciencegrid.org/docs/common/registration/#registering-contacts
ContactLists:
# Administrative Contacts are persons or groups of people (i.e.,
# mailing lists) that are directly responsible for the
# maintenance of the resource
Administrative Contact:
Primary:
Name: Jeffrey Michael Dost
ID: 3a8eb6436a8b78ca50f7e93bb2a4d1f0141212ba
# Secondary:
# Name: <FIRSTNAME> <LASTNAME>
# ID: <EMAIL HASH>
# Tertiary:
# Name: <FIRSTNAME> <LASTNAME>
# ID: <EMAIL HASH>

# Security Contact are persons or groups of people (i.e.,
# mailing lists) that are responsible for handling security
# issues related to the resource
Security Contact:
Primary:
Name: Jeffrey Michael Dost
ID: 3a8eb6436a8b78ca50f7e93bb2a4d1f0141212ba
# Secondary:
# Name: <FIRSTNAME> <LASTNAME>
# ID: <EMAIL HASH>
# Tertiary:
# Name: <FIRSTNAME> <LASTNAME>
# ID: <EMAIL HASH>

# Site contact (optional) are persons or groups of people (i.e.,
# mailing lists) that are generally responsible for a site's
# relationship with the OSG (e.g., principal investigators,
# local administrator contact for OSG Hosted CEs)
# Site Contact:
# Primary:
# Name: <FIRSTNAME> <LASTNAME>
# ID: <EMAIL HASH>
# Secondary:
# Name: <FIRSTNAME> <LASTNAME>
# ID: <EMAIL HASH>
# Tertiary:
# Name: <FIRSTNAME> <LASTNAME>
# ID: <EMAIL HASH>

# FQDN is the fully qualified domain name of the host running this resource
FQDN: umt-hellgate-ce1.svc.opensciencegrid.org
### FQDNAliases (optional) are any other DNS aliases by which this host can be accessed
# FQDNAliases:
# - <HOSTNAME1>
# - <HOSTNAME2>

### DN (optional except for XCache resources) is the DN of the host cert of the resource
# in OpenSSL 1.0 format (i.e. /DC=org/DC=incommon/C=US/...)
# DN: <DN>

# Services is one or more services provided by this resource;
# valid services are listed in topology/services.yaml with the format "<SERVICE NAME>: <ID>"
Services:
CE:
# Description is a brief description of the service
Description: Hosted CE
### Details (optional)
# Details:
# # hidden
# hidden: false
# ### uri_override (optional, use if your service is on some non-standard URL)
# # uri_override: <HOST>:<PORT>
# ### sam_uri (optional)
# # sam_uri: htcondor://...
# ### endpoint (for perfSONAR services)
# # endpoint: <HOSTNAME>

# Other services if you have any
# <SERVICE NAME>:
# ...

### Tags (optional) is a list of tags associated with the resource.
### Include the tag "CC*" if applicable for a CC* CE.
# Tags:
# - <TAG1>
# - <TAG2>
Tags:
- CC*

### VOOwnership (optional) is the percentage of the resource owned by one or more VOs.
### If part of the resource is not owned by the VO, do not list it.
### The total percentage cannot exceed 100.
# VOOwnership:
# <VO1>: <PERCENT>
# <VO2>: <PERCENT>

### WLCGInformation (optional) is only for resources that are part of the WLCG
# WLCGInformation:
# APELNormalFactor: 0.0
# HEPScore23Percentage: 0.0
# AccountingName: <name>
# HEPSPEC: 0
# InteropAccounting: true
# InteropBDII: true
# InteropMonitoring: true
# KSI2KMax: 0
# KSI2KMin: 0
# StorageCapacityMax: 0
# StorageCapacityMin: 0
# TapeCapacity: 0

# Other resources if you have any...
# <RESOURCE NAME>:
# ...

0 comments on commit bb1194c

Please sign in to comment.