WIP fix dockerExists function in mcp release upgrade pipeline
Change-Id: Iedd1e1d745fb4c7f0ddccdd082a1f0c02f67fc9b
Related-PROD: https://mirantis.jira.com/browse/PROD-19213
diff --git a/update-mirror-image.groovy b/update-mirror-image.groovy
index 2f71d2a..96dc027 100644
--- a/update-mirror-image.groovy
+++ b/update-mirror-image.groovy
@@ -24,23 +24,12 @@
python = new com.mirantis.mk.Python()
venvPepper = "venvPepper"
-@NonCPS
-def Boolean dockerExists() {
- def engine = salt.getPillar(venvPepper, 'I@aptly:server', "aptly:server:source:engine")
- def matches = (engine =~ /:docker/)
- try{
- def test = matches[position]
- return false
- }catch(Exception ex){
- return true
- }
-}
-
timeout(time: 12, unit: 'HOURS') {
node() {
try {
python.setupPepperVirtualenv(venvPepper, SALT_MASTER_URL, SALT_MASTER_CREDENTIALS)
- def dockerExists = dockerExists()
+ def engine = salt.getPillar(venvPepper, 'I@aptly:server', "aptly:server:source:engine")
+ runningOnDocker = engine.get("return")[0].containsValue("docker")
if(UPDATE_APTLY.toBoolean()){
stage('Update Aptly mirrors'){
@@ -48,7 +37,7 @@
if(RECREATE_APTLY_MIRRORS.toBoolean())
{
- if(dockerExists){
+ if(runningOnDocker){
salt.cmdRun(venvPepper, 'I@aptly:server', "aptly mirror list --raw | grep -E '*' | xargs -n 1 aptly mirror drop -force", true, null, true)
}
else{
@@ -64,7 +53,7 @@
UPDATE_APTLY_MIRRORS = UPDATE_APTLY_MIRRORS.replaceAll("\\s","")
def mirrors = UPDATE_APTLY_MIRRORS.tokenize(",")
for(mirror in mirrors){
- if(dockerExists){
+ if(runningOnDocker){
salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_mirror_update.sh', "args=\"${aptlyMirrorArgs} -m ${mirror}\""], null, true)
}else{
salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_mirror_update.sh', "args=\"${aptlyMirrorArgs} -m ${mirror}\"", 'runas=aptly'], null, true)
@@ -74,7 +63,7 @@
else{
common.infoMsg("Updating all Aptly mirrors.")
- if(dockerExists){
+ if(runningOnDocker){
salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_mirror_update.sh', "args=\"${aptlyMirrorArgs}\""], null, true)
}
else{
@@ -100,7 +89,7 @@
if(FORCE_OVERWRITE_APTLY_PUBLISHES.toBoolean()){
aptlyPublishArgs += "f"
}
- if(dockerExists){
+ if(runningOnDocker){
aptlyPublishArgs += " -u http://10.99.0.1:8080"
salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_publish_update.sh', "args=\"${aptlyPublishArgs}\""], null, true)
}
diff --git a/upgrade-mcp-release.groovy b/upgrade-mcp-release.groovy
index 70256b7..fb8b0e6 100644
--- a/upgrade-mcp-release.groovy
+++ b/upgrade-mcp-release.groovy
@@ -15,23 +15,10 @@
python = new com.mirantis.mk.Python()
venvPepper = "venvPepper"
-@NonCPS
-def Boolean dockerExists() {
- def engine = salt.getPillar(venvPepper, 'I@aptly:server', "aptly:server:source:engine")
- def matches = (engine =~ /:docker/)
- try{
- def test = matches[position]
- return false
- }catch(Exception ex){
- return true
- }
-}
-
timeout(time: 12, unit: 'HOURS') {
node("python") {
try {
python.setupPepperVirtualenv(venvPepper, SALT_MASTER_URL, SALT_MASTER_CREDENTIALS)
- def dockerExists = dockerExists()
stage("Update Reclass"){
common.infoMsg("Updating reclass model")
@@ -43,7 +30,18 @@
if(UPDATE_LOCAL_REPOS.toBoolean()){
stage("Update local repos"){
common.infoMsg("Updating local repositories")
- if(dockerExists){
+
+ def engine = salt.getPillar(venvPepper, 'I@aptly:server', "aptly:server:source:engine")
+ runningOnDocker = engine.get("return")[0].containsValue("docker")
+
+ if (runningOnDocker) {
+ common.infoMsg("Aptly is running as Docker container")
+ }
+ else {
+ common.infoMsg("Aptly isn't running as Docker container. Going to use aptly user for executing aptly commands")
+ }
+
+ if(runningOnDocker){
salt.cmdRun(venvPepper, 'I@aptly:server', "aptly mirror list --raw | grep -E '*' | xargs -n 1 aptly mirror drop -force", true, null, true)
}
else{
@@ -52,7 +50,7 @@
salt.enforceState(venvPepper, 'I@aptly:server', 'aptly', true)
- if(dockerExists){
+ if(runningOnDocker){
salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_mirror_update.sh', "args=-sv"], null, true)
salt.runSaltProcessStep(venvPepper, 'I@aptly:server', 'cmd.script', ['salt://aptly/files/aptly_publish_update.sh', "args=-frv -u http://10.99.0.1:8080"], null, true)
}