return data
-def add_node_xml(node_id, port, password, version, node_ip=None, expansion=0, bindings_timeout=0, keystores=None):
+def add_node_xml(node_id, port, password, version, node_ip=None, expansion=0, bindings_timeout=0, keystores=None,
+ retry_open_timer=1):
"""Generate xml for Add Node request
:param node_id: Ipv4 address formatted node id
templ = Template('''<input xmlns="urn:opendaylight:sxp:controller">
<node-id>$id</node-id>
<timers>
- <retry-open-time>1</retry-open-time>
+ <retry-open-time>$retry_open_timer</retry-open-time>
<hold-time-min-acceptable>120</hold-time-min-acceptable>
<delete-hold-down-time>$timeout</delete-hold-down-time>
<hold-time-min>90</hold-time-min>
</input>''')
data = templ.substitute(
{'ip': node_ip or node_id, 'id': node_id, 'port': port, 'password': password,
- 'version': version, 'expansion': expansion, 'timeout': bindings_timeout, 'tls': tls})
+ 'version': version, 'expansion': expansion, 'timeout': bindings_timeout, 'tls': tls,
+ 'retry_open_timer': retry_open_timer})
return data
Add Node
[Arguments] ${node} ${password}=${EMPTY} ${version}=version4 ${port}=64999 ${session}=session ${ip}=${EMPTY}
- ... ${ssl_stores}=${EMPTY}
+ ... ${ssl_stores}=${EMPTY} ${retry_open_timer}=1
[Documentation] Add node via RPC to ODL
${DATA} Add Node Xml ${node} ${port} ${password} ${version} ${ip}
- ... keystores=${ssl_stores}
+ ... keystores=${ssl_stores} retry_open_timer=${retry_open_timer}
Post To Controller ${session} add-node ${DATA}
Delete Node
Setup SXP Session
: FOR ${num} IN RANGE 1 ${node_range}
\ ${ip} Get Ip From Number ${num}
- \ CompareStream.Run_Keyword_If_At_Least_Boron Add Node ${ip}
+ \ ${rnd_retry_time} = Evaluate random.randint(1, 10) modules=random
+ \ CompareStream.Run_Keyword_If_At_Least_Boron Add Node ${ip} retry_open_timer=${rnd_retry_time}
\ CompareStream.Run_Keyword_If_At_Least_Boron Wait Until Keyword Succeeds 20 1 Check Node Started ${ip}
Check Node Started