Merge remote-tracking branch 'origin/switch-new-registry' into integration_2025_w39 (!3549)
Switch to new (internal) registry Switch to a bigger registry
This commit is contained in:
@@ -35,6 +35,8 @@ def gitCommitAuthorEmailAddr
|
|||||||
// list of failing stages
|
// list of failing stages
|
||||||
def failingStages = ""
|
def failingStages = ""
|
||||||
|
|
||||||
|
def OAI_Registry = "gracehopper3-oai.sboai.cs.eurecom.fr"
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
agent {
|
agent {
|
||||||
label nodeExecutor
|
label nodeExecutor
|
||||||
@@ -834,11 +836,11 @@ def triggerCN5GSlaveJob (jobName, gitlabStatusName) {
|
|||||||
shortenShaOne = sh returnStdout: true, script: 'git log -1 --pretty=format:"%h" --abbrev=8 ' + env.gitlabMergeRequestLastCommit
|
shortenShaOne = sh returnStdout: true, script: 'git log -1 --pretty=format:"%h" --abbrev=8 ' + env.gitlabMergeRequestLastCommit
|
||||||
shortenShaOne = shortenShaOne.trim()
|
shortenShaOne = shortenShaOne.trim()
|
||||||
branchName = env.gitlabSourceBranch.replaceAll("/", "-").trim()
|
branchName = env.gitlabSourceBranch.replaceAll("/", "-").trim()
|
||||||
fullRanTag = 'porcepix.sboai.cs.eurecom.fr/oai-gnb:' + env.gitlabSourceBranch + '-' + shortenShaOne
|
fullRanTag = OAI_Registry + '/oai-gnb:' + env.gitlabSourceBranch + '-' + shortenShaOne
|
||||||
} else {
|
} else {
|
||||||
shortenShaOne = sh returnStdout: true, script: 'git log -1 --pretty=format:"%h" --abbrev=8 ' + env.GIT_COMMIT
|
shortenShaOne = sh returnStdout: true, script: 'git log -1 --pretty=format:"%h" --abbrev=8 ' + env.GIT_COMMIT
|
||||||
shortenShaOne = shortenShaOne.trim()
|
shortenShaOne = shortenShaOne.trim()
|
||||||
fullRanTag = 'porcepix.sboai.cs.eurecom.fr/oai-gnb:develop-' + shortenShaOne
|
fullRanTag = OAI_Registry + '/oai-gnb:develop-' + shortenShaOne
|
||||||
}
|
}
|
||||||
// Workaround for the "cancelled" GitLab pipeline notification
|
// Workaround for the "cancelled" GitLab pipeline notification
|
||||||
// The slave job is triggered with the propagate false so the following commands are executed
|
// The slave job is triggered with the propagate false so the following commands are executed
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ if (params.LockResources != null && params.LockResources.trim().length() > 0)
|
|||||||
// Docker Hub account to push to
|
// Docker Hub account to push to
|
||||||
def DH_Account = "oaisoftwarealliance"
|
def DH_Account = "oaisoftwarealliance"
|
||||||
|
|
||||||
|
// internal registry to use
|
||||||
|
def OAI_Registry = "gracehopper3-oai.sboai.cs.eurecom.fr"
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
agent {
|
agent {
|
||||||
label nodeExecutor
|
label nodeExecutor
|
||||||
@@ -79,14 +82,14 @@ pipeline {
|
|||||||
def listOfImages = ["oai-enb", "oai-gnb", "oai-lte-ue", "oai-nr-ue", "oai-nr-cuup", "oai-gnb-fhi72"]
|
def listOfImages = ["oai-enb", "oai-gnb", "oai-lte-ue", "oai-nr-ue", "oai-nr-cuup", "oai-gnb-fhi72"]
|
||||||
// Logging in on both registries
|
// Logging in on both registries
|
||||||
sh "docker login -u ${DH_Username} -p ${DH_Password} > /dev/null 2>&1"
|
sh "docker login -u ${DH_Username} -p ${DH_Password} > /dev/null 2>&1"
|
||||||
sh "docker login -u oaicicd -p oaicicd porcepix.sboai.cs.eurecom.fr > /dev/null 2>&1"
|
sh "docker login -u oaicicd -p oaicicd ${OAI_Registry} > /dev/null 2>&1"
|
||||||
listOfImages.eachWithIndex { item, iindex ->
|
listOfImages.eachWithIndex { item, iindex ->
|
||||||
sh "docker pull --quiet porcepix.sboai.cs.eurecom.fr/${item}:develop-${WEEK_SHA}"
|
sh "docker pull --quiet ${OAI_Registry}/${item}:develop-${WEEK_SHA}"
|
||||||
sh "docker image tag porcepix.sboai.cs.eurecom.fr/${item}:develop-${WEEK_SHA} ${DH_Account}/${item}:develop"
|
sh "docker image tag ${OAI_Registry}/${item}:develop-${WEEK_SHA} ${DH_Account}/${item}:develop"
|
||||||
sh "docker image tag porcepix.sboai.cs.eurecom.fr/${item}:develop-${WEEK_SHA} ${DH_Account}/${item}:${WEEK_TAG}"
|
sh "docker image tag ${OAI_Registry}/${item}:develop-${WEEK_SHA} ${DH_Account}/${item}:${WEEK_TAG}"
|
||||||
sh "docker push --quiet ${DH_Account}/${item}:${WEEK_TAG}"
|
sh "docker push --quiet ${DH_Account}/${item}:${WEEK_TAG}"
|
||||||
sh "docker push --quiet ${DH_Account}/${item}:develop"
|
sh "docker push --quiet ${DH_Account}/${item}:develop"
|
||||||
sh "docker rmi ${DH_Account}/${item}:${WEEK_TAG} ${DH_Account}/${item}:develop porcepix.sboai.cs.eurecom.fr/${item}:develop-${WEEK_SHA}"
|
sh "docker rmi ${DH_Account}/${item}:${WEEK_TAG} ${DH_Account}/${item}:develop ${OAI_Registry}/${item}:develop-${WEEK_SHA}"
|
||||||
}
|
}
|
||||||
// Proxy is not following the same pattern.
|
// Proxy is not following the same pattern.
|
||||||
sh "docker image tag proxy:develop ${DH_Account}/proxy:develop"
|
sh "docker image tag proxy:develop ${DH_Account}/proxy:develop"
|
||||||
@@ -95,7 +98,7 @@ pipeline {
|
|||||||
sh "docker push --quiet ${DH_Account}/proxy:${WEEK_TAG}"
|
sh "docker push --quiet ${DH_Account}/proxy:${WEEK_TAG}"
|
||||||
sh "docker rmi ${DH_Account}/proxy:develop ${DH_Account}/proxy:${WEEK_TAG}"
|
sh "docker rmi ${DH_Account}/proxy:develop ${DH_Account}/proxy:${WEEK_TAG}"
|
||||||
// Logging out on both registries
|
// Logging out on both registries
|
||||||
sh "docker logout porcepix.sboai.cs.eurecom.fr > /dev/null 2>&1"
|
sh "docker logout ${OAI_Registry} > /dev/null 2>&1"
|
||||||
sh "docker logout > /dev/null 2>&1"
|
sh "docker logout > /dev/null 2>&1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -105,7 +108,7 @@ pipeline {
|
|||||||
post {
|
post {
|
||||||
always {
|
always {
|
||||||
script {
|
script {
|
||||||
sh "docker logout porcepix.sboai.cs.eurecom.fr > /dev/null 2>&1"
|
sh "docker logout ${OAI_Registry} > /dev/null 2>&1"
|
||||||
sh "docker logout > /dev/null 2>&1"
|
sh "docker logout > /dev/null 2>&1"
|
||||||
echo "End of Registry Push"
|
echo "End of Registry Push"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ from cls_ci_helper import archiveArtifact
|
|||||||
# (e.g., cls_cluster.py)
|
# (e.g., cls_cluster.py)
|
||||||
#-----------------------------------------------------------
|
#-----------------------------------------------------------
|
||||||
IMAGES = ['oai-enb', 'oai-lte-ru', 'oai-lte-ue', 'oai-gnb', 'oai-nr-cuup', 'oai-gnb-aw2s', 'oai-nr-ue', 'oai-enb-asan', 'oai-gnb-asan', 'oai-lte-ue-asan', 'oai-nr-ue-asan', 'oai-nr-cuup-asan', 'oai-gnb-aerial', 'oai-gnb-fhi72']
|
IMAGES = ['oai-enb', 'oai-lte-ru', 'oai-lte-ue', 'oai-gnb', 'oai-nr-cuup', 'oai-gnb-aw2s', 'oai-nr-ue', 'oai-enb-asan', 'oai-gnb-asan', 'oai-lte-ue-asan', 'oai-nr-ue-asan', 'oai-nr-cuup-asan', 'oai-gnb-aerial', 'oai-gnb-fhi72']
|
||||||
|
DEFAULT_REGISTRY = "gracehopper3-oai.sboai.cs.eurecom.fr"
|
||||||
|
|
||||||
def CreateWorkspace(host, sourcePath, ranRepository, ranCommitID, ranTargetBranch, ranAllowMerge):
|
def CreateWorkspace(host, sourcePath, ranRepository, ranCommitID, ranTargetBranch, ranAllowMerge):
|
||||||
if ranCommitID == '':
|
if ranCommitID == '':
|
||||||
@@ -596,7 +597,7 @@ class Containerize():
|
|||||||
lSourcePath = self.eNBSourceCodePath
|
lSourcePath = self.eNBSourceCodePath
|
||||||
logging.debug('Pushing images to server: ' + node)
|
logging.debug('Pushing images to server: ' + node)
|
||||||
ssh = cls_cmd.getConnection(node)
|
ssh = cls_cmd.getConnection(node)
|
||||||
imagePrefix = 'porcepix.sboai.cs.eurecom.fr'
|
imagePrefix = DEFAULT_REGISTRY
|
||||||
ret = ssh.run(f'docker login -u oaicicd -p oaicicd {imagePrefix}')
|
ret = ssh.run(f'docker login -u oaicicd -p oaicicd {imagePrefix}')
|
||||||
if ret.returncode != 0:
|
if ret.returncode != 0:
|
||||||
msg = 'Could not log into local registry'
|
msg = 'Could not log into local registry'
|
||||||
@@ -667,7 +668,7 @@ class Containerize():
|
|||||||
msg = "Pulled Images:\n" + '\n'.join(pulled_images)
|
msg = "Pulled Images:\n" + '\n'.join(pulled_images)
|
||||||
return True, msg
|
return True, msg
|
||||||
|
|
||||||
def Pull_Image_from_Registry(self, HTML, node, images, tag=None, tag_prefix="", registry="porcepix.sboai.cs.eurecom.fr", username="oaicicd", password="oaicicd"):
|
def Pull_Image_from_Registry(self, HTML, node, images, tag=None, tag_prefix="", registry=DEFAULT_REGISTRY, username="oaicicd", password="oaicicd"):
|
||||||
logging.debug(f'\u001B[1m Pulling image(s) on server: {node}\u001B[0m')
|
logging.debug(f'\u001B[1m Pulling image(s) on server: {node}\u001B[0m')
|
||||||
if not tag:
|
if not tag:
|
||||||
tag = CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge)
|
tag = CreateTag(self.ranCommitID, self.ranBranch, self.ranAllowMerge)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ class TestDeploymentMethods(unittest.TestCase):
|
|||||||
# the pull function has the authentication at the internal cluster hardcoded
|
# the pull function has the authentication at the internal cluster hardcoded
|
||||||
# this is a refactoring opportunity: we should do it in a separate step
|
# this is a refactoring opportunity: we should do it in a separate step
|
||||||
# and allow to have pull work with any registry
|
# and allow to have pull work with any registry
|
||||||
registry = "porcepix.sboai.cs.eurecom.fr"
|
registry = cls_containerize.DEFAULT_REGISTRY
|
||||||
with cls_cmd.getConnection("localhost") as cmd:
|
with cls_cmd.getConnection("localhost") as cmd:
|
||||||
ret = cmd.run(f"ping -c1 -w1 {registry}")
|
ret = cmd.run(f"ping -c1 -w1 {registry}")
|
||||||
if ret.returncode != 0: # could not ping once -> skip test
|
if ret.returncode != 0: # could not ping once -> skip test
|
||||||
|
|||||||
Reference in New Issue
Block a user