aboutsummaryrefslogtreecommitdiffstats
path: root/test/mocks/emssimulator/swm/upgrade-post-check
blob: 799afbcccd48b45e007d3b81789b206db36d2538 (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
72
73
74
75
76
77
78
79
80
#!/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()