Details
-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
None
-
None
-
3
-
9223372036854775807
Description
Two issues with yaml config. One is specific to UDSP. The other is a general issue with parsing malformed yaml.
1. export --backup with UDSP rules creates yaml that cannot be imported.
[root@ct7-mds1 ~]# lctl list_nids
10.73.20.11@tcp1
10.73.20.12@tcp1
10.73.20.13@tcp2
[root@ct7-mds1 ~]# lnetctl udsp add --src tcp1 --priority 0
[root@ct7-mds1 ~]# lnetctl udsp add --src tcp2 --priority 1
[root@ct7-mds1 ~]# lnetctl export --backup > /tmp/lnet.conf
[root@ct7-mds1 ~]# lnetctl lnet unconfigure
[root@ct7-mds1 ~]# lnetctl lnet configure
[root@ct7-mds1 ~]# lnetctl import /tmp/lnet.conf
- udsp:
errno: -1
descr: "The combination of src, dst and rte is not supported"
- udsp:
errno: -1
descr: "The combination of src, dst and rte is not supported"
yaml:
- helper:
errno: -1
descr: "call back for 'udsp' not found"
[root@ct7-mds1 ~]# cat /tmp/lnet.conf
...
udsp:
- idx: 0
src: tcp1
dst: NA
rte: NA
action:
priority: 0
- idx: 1
src: tcp2
dst: NA
rte: NA
action:
priority: 1
2. If some field is missing in one section but present in another then the yaml parser may find it in second location and apply it to first. For example, this can create malformed UDSP rules (but applies to all yaml parsing, AFAICT):
# cat /etc/lnet.conf
# udsp:
- idx: 0
src: kfi
action:
priority: 0
- idx: 1
dst: 867@kfi
action:
priority: 0
# lnetctl import /etc/lnet.conf
# lnetctl udsp show
udsp:
- idx: 0
src: kfi
dst: 897@kfi <<<< Malformed rule
rte: NA
action:
priority: 0
- idx: 1
src: NA
dst: 897@kfi
rte: NA
action:
priority: 0