Skip to content
Snippets Groups Projects
Commit ea60f981 authored by James Beacham's avatar James Beacham
Browse files

Merge branch 'cherry-pick-ccef817b' into '21.0-mc16d'

Merge branch '21.0-MaM-release-determination-fixes' into '21.0-mc16d'

See merge request atlas/athena!7244

Former-commit-id: 841222f83600220a8c71a6da960f3536cd9e7f5a
parents aca4358c b9db1984
No related branches found
No related tags found
No related merge requests found
...@@ -93,7 +93,9 @@ class MenuAwareMonitoring: ...@@ -93,7 +93,9 @@ class MenuAwareMonitoring:
def __get_athena_version__(self): def __get_athena_version__(self):
"Get the current Athena version." "Get the current Athena version."
self.ms.current_athena_version = self.get_release_setup().replace(",","-") release = self.get_release_setup()
self.ms.current_athena_version = release[0].replace(",","-")
self.ms.current_nightly_version = release[1].replace(",","-")
def get_release_setup(self): def get_release_setup(self):
...@@ -142,13 +144,26 @@ class MenuAwareMonitoring: ...@@ -142,13 +144,26 @@ class MenuAwareMonitoring:
release = os.environ['AtlasBuildBranch'] release = os.environ['AtlasBuildBranch']
setup="%s,%s,%s"%(project,release,current_nightly) setup="%s,%s,%s"%(project,release,current_nightly)
elif 'AtlasBuildStamp' in os.environ: elif 'AtlasBuildStamp' in os.environ:
release = os.environ['AtlasBuildBranch'] current_nightly = os.environ['AtlasBuildStamp']
current_nightly = os.environ['AtlasBuildStamp'] # denotes a cmakegit nightly if current_nightly in os.environ['ATLAS_RELEASE_BASE']:
setup="%s,%s,%s"%(project,release,current_nightly) # this is a nightly
release = os.environ['AtlasBuildBranch']
setup = "%s,%s,%s"%(project,release,current_nightly)
else:
# this is not a nightly
setup = "%s,%s"%(project,release)
# also save the nightly it was built from
release = os.environ['AtlasBuildBranch']
base_nightly = "%s,%s,%s"%(project,release,current_nightly)
else: else:
setup="%s,%s"%(project,release) setup="%s,%s"%(project,release)
return setup try:
# this is a full release, save the base nightly
return setup,base_nightly
except:
# this is not a git/cmake release with a base nightly
return setup,setup
def __get_tag__(self,package=""): def __get_tag__(self,package=""):
...@@ -832,7 +847,7 @@ class MenuAwareMonitoring: ...@@ -832,7 +847,7 @@ class MenuAwareMonitoring:
mck_info = self.ms.oi.read_mck_info_from_db(mck_id) mck_info = self.ms.oi.read_mck_info_from_db(mck_id)
mck_athena_version = mck_info['MCK_ATHENA_VERSION'] mck_athena_version = mck_info['MCK_ATHENA_VERSION']
return self.ms.check_compatibility_of_two_release_versions(mck_athena_version,self.ms.current_athena_version) return self.ms.check_compatibility_of_two_release_versions(mck_athena_version,[self.ms.current_athena_version,self.ms.current_nightly_version])
def does_smck_athena_version_match_current_athena_version(self, smck_id): def does_smck_athena_version_match_current_athena_version(self, smck_id):
...@@ -841,7 +856,7 @@ class MenuAwareMonitoring: ...@@ -841,7 +856,7 @@ class MenuAwareMonitoring:
smck_info = self.ms.oi.read_smck_info_from_db(smck_id) smck_info = self.ms.oi.read_smck_info_from_db(smck_id)
smck_athena_version = smck_info['SMCK_ATHENA_VERSION'] smck_athena_version = smck_info['SMCK_ATHENA_VERSION']
return self.ms.check_compatibility_of_two_release_versions(smck_athena_version,self.ms.current_athena_version) return self.ms.check_compatibility_of_two_release_versions(smck_athena_version,[self.ms.current_athena_version,self.ms.current_nightly_version])
def apply_mck(self,input1="",print_output_here=""): def apply_mck(self,input1="",print_output_here=""):
...@@ -1206,7 +1221,7 @@ class MenuAwareMonitoring: ...@@ -1206,7 +1221,7 @@ class MenuAwareMonitoring:
comment = self.ms.__ask_for_comment__() comment = self.ms.__ask_for_comment__()
# need to get release accurately and in a form the command can run - use get_release_setup # need to get release accurately and in a form the command can run - use get_release_setup
release = self.get_release_setup() release = self.get_release_setup()[0]
# this is not a default, so we need to get the default and perform the diff before dumping # this is not a default, so we need to get the default and perform the diff before dumping
print "Will get default in clean directory for release",release #release print "Will get default in clean directory for release",release #release
......
...@@ -30,7 +30,7 @@ class MenuAwareMonitoringStandalone: ...@@ -30,7 +30,7 @@ class MenuAwareMonitoringStandalone:
self.version = '1.4.8' self.version = '1.4.8'
# flag for setting whether to print out anything to screen or not # flag for setting whether to print out anything to screen or not
self.print_output = True self.print_output = True
# create oracle interaction object # create oracle interaction objects
self.oi = OracleInterface() self.oi = OracleInterface()
# holder for current user # holder for current user
self.current_user = "" self.current_user = ""
...@@ -38,6 +38,7 @@ class MenuAwareMonitoringStandalone: ...@@ -38,6 +38,7 @@ class MenuAwareMonitoringStandalone:
# Since this code is Athena-independent, we use a dummy 'Athena version' # Since this code is Athena-independent, we use a dummy 'Athena version'
# If called from MenuAwareMonitoring, this will be updated to the real version # If called from MenuAwareMonitoring, this will be updated to the real version
self.current_athena_version = "MaMStandalone" self.current_athena_version = "MaMStandalone"
self.current_nightly_version = "MaMStandalone"
# holder for default global_info # holder for default global_info
self.default_global_info = {} self.default_global_info = {}
# holder for current local global_info # holder for current local global_info
...@@ -620,17 +621,12 @@ class MenuAwareMonitoringStandalone: ...@@ -620,17 +621,12 @@ class MenuAwareMonitoringStandalone:
""" Check if two releases versions are compatible. """ Check if two releases versions are compatible.
If they do, MAM will apply MCKs from either release in the other.""" If they do, MAM will apply MCKs from either release in the other."""
project1 = "DummyProject" if type(version2) is list:
project2 = project1 if version1 in version2:
return True
if ( "-" in version1 ) and ( "-" in version2 ): elif version1 == version2:
project1 = version1.split("-")[0] return True
version1 = version1.split("-")[1] return False
project2 = version2.split("-")[0]
version2 = version2.split("-")[1]
if ( version1.startswith(version2) or version1.startswith(version2) ) and project1.upper() == project2.upper():
return True
def clone_mck_for_new_release(self,mck_id,project="",version=""): def clone_mck_for_new_release(self,mck_id,project="",version=""):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment