aboutsummaryrefslogtreecommitdiffstats
path: root/test/mocks/emssimulator/swm/upgrade-pre-check
blob: 6bf867f489d8385165846e0c9c80817d9507cf5c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/python

import sys
import json

import conf
import ems_util


def upgrade_precheck(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

    current_sw_version_in_db = ne_info.get("currentSwVersion", "")

    if old_sw_version != current_sw_version_in_db:
        ret_value = {
            "result": conf.RESULT_FAILURE,
            "reason": "Current SW version %s in PNF is not matched with oldSwVersion %s" %
                      (current_sw_version_in_db, old_sw_version)
        }
        return ret_value

    ne_info["checkStatus"] = conf.STATUS_PRECHECKED
    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_precheck(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()