blob: 9e83ab90b428f99f09ff5d137284229d8760daff [file] [log] [blame]
#!/usr/bin/env groovy
// -----------------------------------------------------------------------
// Copyright 2021-2023 Open Networking Foundation (ONF) and the ONF Contributors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
String getIam(String func) {
// Cannot rely on a stack trace due to jenkins manipulation
String src = 'vars/showCommands'
String iam = [src, func].join('::')
return iam
}
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
void run_cmd(String command) {
String buffer = [
"Running command: $command",
]
println("** ${iam}: Running ${command} LEAVE")
try {
// Run command for output
buffer = sh(
script: command,
returnStdout: true
).trim()
// Reached if no exceptions thrown
buffer += [
'',
'Ran to completion',
]
}
/*
catch (Exception err)
{
// Note the exception w/o failing
buffer += [
'',
"${iam}: EXCEPTION ${err}",
].join('\n')
}
*/
finally
{
println("** ${iam}: " + buffer.join(' '))
println("** ${iam}: Running ${command} LEAVE")
}
return
}
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
void process(Map config) {
String iam = getIam('process')
println("${iam} config=${config}")
// list.each{ } could be used here but keep it simple for now.
println("** ${iam}: voltctl command path")
run_cmd('which -a voltctl 2>&1')
println("** ${iam}: voltctl command version")
run_cmd('voltctl version')
return
}
// -----------------------------------------------------------------------
// -----------------------------------------------------------------------
Boolean call(Map config) {
String iam = getIam('main')
println("** ${iam}: ENTER")
config = config ?: [:]
try {
process(config)
}
/*
catch (Exception err)
{
println("** ${iam}: EXCEPTION ${err}")
throw err
}
*/
finally
{
println("** ${iam}: LEAVE")
}
return(true)
}
// [EOF]