#!/usr/bin/python import sys import json import conf import ems_util def upgrade_postcheck(pnf_id, old_sw_version, target_sw_version, rule_name, tmp_file=None): ne_info = ems_util.get_ne_info_from_db_by_id(pnf_id) if not ne_info: ret_value = { "result": conf.RESULT_FAILURE, "reason": "Can not find NE %s" % pnf_id } return ret_value old_sw_version_in_db = ne_info.get("oldSwVersion", "") current_sw_version_in_db = ne_info.get("currentSwVersion", "") if old_sw_version != old_sw_version_in_db: ret_value = { "result": conf.RESULT_FAILURE, "reason": "Old SW version %s in PNF is not matched with oldSwVersion %s" % (old_sw_version_in_db, old_sw_version) } return ret_value if target_sw_version != current_sw_version_in_db: ret_value = { "result": conf.RESULT_FAILURE, "reason": "Current SW version %s in PNF is not matched with targetSwVersion %s" % (current_sw_version_in_db, target_sw_version) } return ret_value ne_info["checkStatus"] = conf.STATUS_POSTCHECKED ems_util.update_ne_info(ne_info) ret_value = { "result": conf.RESULT_SUCCESS } return ret_value def main(): # {{pnfId}} {{oldSwVersion}} {{targetSwVersion}} {{ruleName}} /tmp/tmp-{{Id}} if len(sys.argv) < 5: ret_value = { "result": conf.RESULT_FAILURE, "reason": "Missing parameters" } print json.dumps(ret_value) sys.exit(conf.RET_CODE_FAILURE) if len(sys.argv) >= 5: pnf_id = sys.argv[1] old_sw_version = sys.argv[2] target_sw_version = sys.argv[3] rule_name = sys.argv[4] tmp_file = None if len(sys.argv) >= 6: tmp_file = sys.argv[5] ret_value = upgrade_postcheck(pnf_id, old_sw_version, target_sw_version, rule_name, tmp_file) print json.dumps(ret_value) if ret_value["result"] == conf.RESULT_SUCCESS: sys.exit(conf.RET_CODE_SUCCESS) else: sys.exit(conf.RET_CODE_FAILURE) if __name__ == '__main__': main()