]
sshCommand remote: remote, command: '''
- wget https://osm-download.etsi.org/ftp/osm-13.0-thirteen/install_osm.sh
+ wget https://osm-download.etsi.org/ftp/osm-14.0-fourteen/install_osm.sh
chmod +x ./install_osm.sh
sed -i '1 i\\export PATH=/snap/bin:\$PATH' ~/.bashrc
'''
} // stage('Snap promotion')
stage('Charm promotion') {
charms = [
- 'osm', // bundle
- 'osm-ha', // bundle
- 'osm-grafana',
- 'osm-mariadb',
- 'mongodb-exporter-k8s',
- 'mysqld-exporter-k8s',
- 'osm-lcm',
- 'osm-mon',
- 'osm-nbi',
- 'osm-ng-ui',
- 'osm-pol',
- 'osm-ro',
- 'osm-prometheus',
- 'osm-update-db-operator',
- 'osm-vca-integrator',
+ [name: 'osm', base: "22.04"],
+ [name: 'osm-ha', base: "22.04"],
+ [name: 'mongodb-exporter-k8s', base: "20.04"],
+ [name: 'mysqld-exporter-k8s', base: "20.04"],
+ [name: 'osm-grafana', base: "20.04"],
+ [name: 'osm-keystone', base: "22.04"],
+ [name: 'osm-lcm', base: "22.04"],
+ [name: 'osm-mon', base: "22.04"],
+ [name: 'osm-nbi', base: "22.04"],
+ [name: 'osm-ng-ui', base: "22.04"],
+ [name: 'osm-pol', base: "22.04"],
+ [name: 'osm-ro', base: "22.04"],
+ [name: 'osm-prometheus', base: "20.04"],
+ [name: 'osm-update-db-operator', base: "20.04"],
+ [name: 'osm-vca-integrator', base: "22.04"],
]
- for (charm in charms) {
-
+ for (entry in charms) {
+ charm = entry.name
+ base = entry.base
channel = 'latest'
if (BRANCH_NAME.startsWith('v')) {
channel = BRANCH_NAME.substring(1)
withCredentials([string(credentialsId: 'Charmstore', variable: 'CHARMCRAFT_AUTH')]) {
sh "charmcraft status $charm --format json > ${charm}.json"
- isCharm = sh(returnStdout: true, script: "grep architecture ${charm}.json | wc -l").trim() as int
+ isCharm = sh(returnStdout: true, script: "grep architecture ${charm}.json | wc -l 2>/dev/null").trim() as int
resourceArgument = ""
if (isCharm) {
- jqScriptEdge = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"$channel/edge/merged\")| .version'|head -1"
- jqScriptBeta = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"$channel/beta\")| .version'|head -1"
+ jqScriptEdge = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"$base\") | .releases[] | select(.channel==\"$channel/edge/merged\")| .version'|head -1"
+ jqScriptBeta = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"$base\") | .releases[] | select(.channel==\"$channel/beta\")| .version'|head -1"
index=0
while (index < 5) {
- resourceNameScript = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"$channel/edge/merged\")| .resources[$index].name'|head -1"
- resourceRevsScript = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"20.04\") | .releases[] | select(.channel==\"$channel/edge/merged\")| .resources[$index].revision'|head -1"
+ resourceNameScript = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"$base\") | .releases[] | select(.channel==\"$channel/edge/merged\")| .resources[$index].name'|head -1"
+ resourceRevsScript = "cat ${charm}.json | jq -r '.[] | select(.track==\"$channel\") | .mappings[] | select(.base.architecture==\"amd64\" and .base.channel==\"$base\") | .releases[] | select(.channel==\"$channel/edge/merged\")| .resources[$index].revision'|head -1"
resourceName = sh(returnStdout: true, script: resourceNameScript).trim()
resourceRevs = sh(returnStdout: true, script: resourceRevsScript).trim()
if (resourceName != "null") {