integration/test.git
3 months agoRun gitlint with tox 18/109618/1
Sangwook Ha [Thu, 4 Jan 2024 01:29:40 +0000 (17:29 -0800)]
Run gitlint with tox

Verification of git message is failing because of a pip installation
issue:
https://github.com/jorisroovers/gitlint/issues/535
https://github.com/pypa/pip/issues/12372

The issue has been addressed for pip v23.3.2:
https://github.com/pypa/pip/releases/tag/23.3.2

but the virtual environment for the pre-commit hook does not appear to
have the version available yet.

Run the gitlint with tox directly until the issue is resolved in the
Jenkins environment.

Change-Id: I033240f8f7bb5a14217dbc763687ac490ae4b3d0
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
10 months agoSupport both empty data formats 15/106615/1 pre-potassium
Sangwook Ha [Thu, 22 Jun 2023 08:44:26 +0000 (01:44 -0700)]
Support both empty data formats

Depending on the active XML library the output of empty NETCONF data
can be either

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"/>

or

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"></data>

Support both options to make the test results more stable.

Change-Id: I65fe5c428a4d8da14ddc6bce2f411e02692c2659
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
10 months agoUse new URI for OpenAPI API document 14/106614/1
Sangwook Ha [Thu, 22 Jun 2023 07:44:23 +0000 (00:44 -0700)]
Use new URI for OpenAPI API document

The URI for OpenAPI API document was updated for Potassium
(NETCONF-1032). Use the new URI for Potassium and above.

Change-Id: I7260a0edd5d659880b3f5b96571fd14dce5dca51
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
10 months agoAdd potassium stream keywords 13/106613/1
Sangwook Ha [Thu, 22 Jun 2023 07:05:11 +0000 (00:05 -0700)]
Add potassium stream keywords

Add new stream keywords to support potassium, current development
stream. Also, add BGPCEP test variable files for potassium.

Change-Id: Ie1db896a120cb899724f47d63d125e06fe4f781a
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
10 months agoAdd argon stream keywords 12/106612/1
Sangwook Ha [Thu, 22 Jun 2023 06:52:03 +0000 (23:52 -0700)]
Add argon stream keywords

Argon stream keywords have not been added yet. Add the missing keywords.

Change-Id: If55516d627024556d8bc24c365a02c25e15ab4e4
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
10 months agoSupport only Neon+ distributions 89/102589/5
Robert Varga [Mon, 10 Oct 2022 12:01:12 +0000 (14:01 +0200)]
Support only Neon+ distributions

Fluorine is not supported anymore, remove the keywords and update
their keywords to work as if the distro is always at least Neon.
Also eliminate If_At_Least_Neon macros, as they evaluate to true.

JIRA: INTTEST-133
Change-Id: Ia66484a24fcda9278e7d0117848c6492479a00cc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
10 months agoSupport only Fluorine+ distributions 88/102588/6
Robert Varga [Mon, 10 Oct 2022 11:19:19 +0000 (13:19 +0200)]
Support only Fluorine+ distributions

Oxygen is not supported anymore, remove the keywords and update
their keywords to work as if the distro is always at least Fluorine.
Also eliminate If_At_Least_Fluorine macros, as they evaluate to true.

JIRA: INTTEST-133
Change-Id: I3d46034a5d261ea8d2a6bf3c97194dd5081c08bb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
10 months agoSupport only Oxygen+ distributions 87/102587/5
Robert Varga [Mon, 10 Oct 2022 09:40:30 +0000 (11:40 +0200)]
Support only Oxygen+ distributions

Nitrogen is not supported anymore, remove the keywords and update
their keywords to work as if the distro is always at least Oxygen.
Also eliminate If_At_Least_Oxygen macros, as they evaluate to true.

JIRA: INTTEST-133
Change-Id: Ic048e57558cdf86f9785be191b55f7bfbb32cfd8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
10 months agoSupport only Nitrogen+ distributions 86/102586/5
Robert Varga [Mon, 10 Oct 2022 09:21:23 +0000 (11:21 +0200)]
Support only Nitrogen+ distributions

Carbon is not supported anymore and these keywords are not referenced,
remove them. Also remove If_At_Least_Nitrogen keywords, as these are
considered always-true now.

JIRA: INTTEST-133
Change-Id: I453fdd301ba85aebe0138131bedf71ece9e47f58
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
10 months agoRemove RFC8040 test plans 39/106439/2
Sangwook Ha [Wed, 7 Jun 2023 22:44:46 +0000 (15:44 -0700)]
Remove RFC8040 test plans

RFC8040-specific netconf-userfeatures CSIT jobs have been removed.
Clean up unused userfeatures-rfc8040 test plans.

Change-Id: Iaf7acaaaf455141908b6c800f0b2e45d16fde053
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
10 months agoEliminate USE_RFC8040 63/106263/13
OleksandrZharov [Tue, 30 May 2023 10:07:37 +0000 (12:07 +0200)]
Eliminate USE_RFC8040

We no more need USE_RFC8040 in csit/libraries/Restconf.robot.
Therefore it and all related logic was deleted in this patch.

JIRA: INTTEST-135
Change-Id: Icf2ef4883d07e6e4eab5da41d49bd1e7357686e0
Signed-off-by: OleksandrZharov <Oleksandr.Zharov@pantheon.tech>
10 months agoRename netconf-impl to netconf-api 62/106162/5
Ivan Hrasko [Fri, 26 May 2023 09:36:52 +0000 (11:36 +0200)]
Rename netconf-impl to netconf-api

Rename netconf-impl component to netconf-api to maintain:
- compatibility with changes made in NETCONF-945

- backward compatibility of test suite because netconf-api
is present in older and newer netconf code

JIRA: INTTEST-136
Change-Id: I33bf095c1153750b988a9a10a0886b2bd1e7c1ea
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
11 months agoSet USE_RFC8040 to True 52/106152/6
Ivan Hrasko [Thu, 25 May 2023 10:13:42 +0000 (12:13 +0200)]
Set USE_RFC8040 to True

Set USE_RFC8040 to True because we are no more using bierman restconf.

JIRA: INTTEST-134
Change-Id: I7dd761adb69b5c98442442cc1046c04fe0c6e186
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
11 months agoUpdate gitlint configuration 58/106158/1
Sangwook Ha [Thu, 25 May 2023 21:11:30 +0000 (14:11 -0700)]
Update gitlint configuration

Update pre-commit configuration for gitlint to add gitlint-ci, a hook
for CI verification, and use it during tox verification.

Create separate testenvs for installation/uninstallation/update of
pre-commit hook scripts. And also add a testenv for gitlint to run
the command with tox.

Change-Id: I3842539a7ec8d2851ff1b48c2633d964017c70cf
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
15 months agoUpdate StreamDict to include argon 46/104146/1
Robert Varga [Thu, 26 Jan 2023 11:39:56 +0000 (12:39 +0100)]
Update StreamDict to include argon

Fixes a RF error:
 Setting variable '${odl_stream_check }' failed:
    Dictionary '${Stream_dict}' has no key 'argon'.

Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Change-Id: I721d99282251fb85ad79d84b4d10917b5378048e

15 months agoAdd CSIT variables for Argon 45/104145/2
Robert Varga [Thu, 26 Jan 2023 11:36:17 +0000 (12:36 +0100)]
Add CSIT variables for Argon

bgpcep-csit-1node-userfeatures-all-argon is failing due to not being
able to find variables for argon -- add symlinks to repair that.

Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Change-Id: I88dbf55e56dcc2ab0b0386530e9aad65221c9bfe

16 months agoFix Get On Session errors 10/103710/3
Sangwook Ha [Tue, 20 Dec 2022 06:32:05 +0000 (22:32 -0800)]
Fix Get On Session errors

'Get On Session' has different arguments and requirements but some of
the conversions from 'Get Request' to 'Get On Session' didn't take those
into account.

To prevent confusion that '=' is used for parameters when it is in fact
part of the URL path, specify 'url' a keyword argument, instead of
positional, and separate parameters into 'params' when possible.

Also, set 'odl-pretty-print' parameter for Phosphorus or later since it
is not available before the version. Accept any status code when there
is a separate step to check valid status codes.

Change-Id: Ibd41fe31090eb0406abd16e80b3e6168d424bc74
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
17 months agoGet rid of deprecation warnings 72/103172/5
gvrangan [Wed, 9 Nov 2022 04:49:54 +0000 (10:19 +0530)]
Get rid of deprecation warnings

First patch to replace deprecated RequestsLibrary keywords
{Get,Put,Post,Put,Delete}_Request with {Get,Put,Post,Delete}_On_Session.

Signed-off-by: gvrangan <gvrangan@gmail.com>
Change-Id: I2402538bb11be2f93f4157bdbd0ec8280a7eba7e

18 months agoReplace robotframework-tidy-wrapper with robotidy 49/102349/9
Sangwook Ha [Fri, 9 Sep 2022 23:30:17 +0000 (16:30 -0700)]
Replace robotframework-tidy-wrapper with robotidy

Built-in Robotframework Tidy tool has been deprecated and the pre-commit
hook (robotframework-tidy-wrapper) based on the tool has not been
updated for more than 2 years.

Replace the pre-commit hook with robotidy as recommended.

JIRA: INTTEST-132
Change-Id: I94f26ec87513c504f878069b787cdc0c6a6e34e6
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 18 48/102348/8
Sangwook Ha [Sat, 10 Sep 2022 03:39:39 +0000 (20:39 -0700)]
Update Robot Framework format - step 18

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- tools/deployment

JIRA: INTTEST-132
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: Ib5094ed820f09fc0c426c6ac794d43520f924778

18 months agoUpdate Robot Framework format - step 17 47/102347/8
Sangwook Ha [Sat, 10 Sep 2022 03:38:21 +0000 (20:38 -0700)]
Update Robot Framework format - step 17

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/variables

JIRA: INTTEST-132
Change-Id: I9c29223fed6b2e9602fc3b9b1a139eda02077af0
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 16 46/102346/8
Sangwook Ha [Sat, 10 Sep 2022 03:36:09 +0000 (20:36 -0700)]
Update Robot Framework format - step 16

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/unimgr
- csit/suites/usc
- csit/suites/vpnservice
- csit/suites/vtn
- csit/suites/yangtools

JIRA: INTTEST-132
Change-Id: I6d5ed935cde554663d5712895f7cab0a506c02f7
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 15 45/102345/8
Sangwook Ha [Sat, 10 Sep 2022 03:33:16 +0000 (20:33 -0700)]
Update Robot Framework format - step 15

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/telemetry
- csit/suites/test
- csit/suites/topoprocessing
- csit/suites/tsdr

JIRA: INTTEST-132
Change-Id: I001176adf643a580336d52b23b00fb01d229a975
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 14 44/102344/8
Sangwook Ha [Sat, 10 Sep 2022 02:37:16 +0000 (19:37 -0700)]
Update Robot Framework format - step 14

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/packetcable
- csit/suites/persistence
- csit/suites/sfc
- csit/suites/sxp

JIRA: INTTEST-132
Change-Id: I3fafc815aeda8bf74c4f12ae889102308d8b72dd
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 13 43/102343/8
Sangwook Ha [Sat, 10 Sep 2022 02:31:25 +0000 (19:31 -0700)]
Update Robot Framework format - step 13

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/openstack
- csit/suites/ovsdb

JIRA: INTTEST-132
Change-Id: I52fb7223105498e40ed55869d70af255e216215b
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 12 42/102342/8
Sangwook Ha [Sat, 10 Sep 2022 02:30:08 +0000 (19:30 -0700)]
Update Robot Framework format - step 12

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/openflowplugin

JIRA: INTTEST-132
Change-Id: Ia8a0c2dc6a2b51dbeb7b98a11452488f8bd9056c
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 11 41/102341/8
Sangwook Ha [Sat, 10 Sep 2022 02:27:53 +0000 (19:27 -0700)]
Update Robot Framework format - step 11

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/netvirt
- csit/suites/ocpplugin
- csit/suites/odlmicro
- csit/suites/odltools

JIRA: INTTEST-132
Change-Id: Ie786027a441055fa7bd79bb3063213e725049b13
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 10 40/102340/8
Sangwook Ha [Sat, 24 Sep 2022 03:04:09 +0000 (20:04 -0700)]
Update Robot Framework format - step 10

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/netconf

JIRA: INTTEST-132
Change-Id: Id6fc77ae951956e740382e9f74be998536fefeab
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 9 39/102339/8
Sangwook Ha [Sat, 10 Sep 2022 02:23:28 +0000 (19:23 -0700)]
Update Robot Framework format - step 9

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/l2gw
- csit/suites/l2switch
- csit/suites/lacp
- csit/suites/lispflowmapping
- csit/suites/mdsal
- csit/suites/nemo

JIRA: INTTEST-132
Change-Id: Ic20919465e5fd30d73e84405548cc62115c951b9
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 8 38/102338/8
Sangwook Ha [Sat, 10 Sep 2022 02:20:43 +0000 (19:20 -0700)]
Update Robot Framework format - step 8

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/integration
- csit/suites/iotdm
- csit/suites/jsonrpc

JIRA: INTTEST-132
Change-Id: Ic64caa05257df2e2fc603c63139f4c0eaa8ca173
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 7 37/102337/8
Sangwook Ha [Sat, 10 Sep 2022 02:18:43 +0000 (19:18 -0700)]
Update Robot Framework format - step 7

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/groupbasedpolicy

JIRA: INTTEST-132
Change-Id: I3d2e96af277966bad31af48fb15ea591c84251ff
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 6 36/102336/8
Sangwook Ha [Sat, 10 Sep 2022 02:15:23 +0000 (19:15 -0700)]
Update Robot Framework format - step 6

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/daexim
- csit/suites/didm
- csit/suites/distribution
- csit/suites/dluxapps
- csit/suites/examples
- csit/suites/genius

JIRA: INTTEST-132
Change-Id: I26e9e23b5e76c37fcdc2bbb779f42d8fe95e7a59
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 5 35/102335/8
Sangwook Ha [Fri, 9 Sep 2022 23:57:57 +0000 (16:57 -0700)]
Update Robot Framework format - step 5

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/controller

JIRA: INTTEST-132
Change-Id: I91e3d42d4f234dc6e4204f30b8b846ea72850a15
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 4 34/102334/8
Sangwook Ha [Fri, 9 Sep 2022 23:55:48 +0000 (16:55 -0700)]
Update Robot Framework format - step 4

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/bier
- csit/suites/capwap
- csit/suites/cardinal
- csit/suites/centinel

JIRA: INTTEST-132
Change-Id: I3296eb336d9473a2d86437461e65035787bd57ae
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 3 33/102333/8
Sangwook Ha [Fri, 9 Sep 2022 23:53:47 +0000 (16:53 -0700)]
Update Robot Framework format - step 3

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/bgpcep

JIRA: INTTEST-132
Change-Id: I0f93c6efab9f10a433285fd3562e9fef29993cf2
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 2 32/102332/8
Sangwook Ha [Fri, 9 Sep 2022 23:49:15 +0000 (16:49 -0700)]
Update Robot Framework format - step 2

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/suites/aaa
- csit/suites/alto
- csit/suites/backuprestore

JIRA: INTTEST-132
Change-Id: Iba4d4dc8745a915faf94f4d0f45fe13881e33581
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
18 months agoUpdate Robot Framework format - step 1 31/102331/8
Sangwook Ha [Fri, 9 Sep 2022 23:43:51 +0000 (16:43 -0700)]
Update Robot Framework format - step 1

Robotidy has stricter formatting rules for line width, alignment,
section ordering & spacing, etc.

Update the format of Robot Framework files in the following directory
with Robotidy:

- csit/libraries

JIRA: INTTEST-132
Change-Id: I5c7300e322b7069bac36a8b6ca3273e6f9186d25
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
19 months agoDisable pre-commit-robotframework-tidy 30/102330/4
Sangwook Ha [Sat, 10 Sep 2022 07:48:25 +0000 (00:48 -0700)]
Disable pre-commit-robotframework-tidy

Formatting of Robot Framework Tidy tool is incompatible with that of
Robotidy which will replace the deprecated tool. In preparation of
adopting Robotidy disable pre-commit-robotframework-tidy to avoid
verification failure.

JIRA: INTTEST-132
Change-Id: Ifa111ed3b392206be27a0ca78f1f9464d40ba9aa
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
19 months agoFix NETCONF notification test setup for Python scripts 70/102470/1
Sangwook Ha [Fri, 23 Sep 2022 20:30:37 +0000 (13:30 -0700)]
Fix NETCONF notification test setup for Python scripts

The test setup for Python scripts used in the notifications_basic test
suite is not consistent - mix of Python 2 & 3.

Clean that up so that all the packages are available for Python 3, and
upgrade basic tools for package installation to make the following
installation process more reliable.

Change-Id: I979a6872e45412004ab024b15f83c2ee832eacf0
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
19 months agoUpdate API document URI for Chlorine 69/102469/1
Sangwook Ha [Fri, 23 Sep 2022 20:18:01 +0000 (13:18 -0700)]
Update API document URI for Chlorine

In Chlorine the RESTCONF draft implementation was removed, so the URI
for API document has been updated, too (NETCONF-902).

Update the test case for API doc to use the new URI if the controller
version is Chlorine or later.

Change-Id: I43d4d2afa2d79ed586c2ff1e61a05fa6afc58e45
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
19 months agoUpdate the payload of network-topology-pcep node 07/102407/3
Sangwook Ha [Sat, 17 Sep 2022 20:31:51 +0000 (13:31 -0700)]
Update the payload of network-topology-pcep node

In Chlorine network-pcep-topology-config.yang was removed (BGPCEP-990)
and 'session-config' in the network-topology-pcep node is augmented from
network-topology-pcep.yang.

Update the namespace of 'session-config' in the configuration payload to
that of network-topology-pcep.yang for Chlorine.

The soft links to the aluminium directories were replaced with chlorine
directories with files copied from aluminium. The only files changed are
the following two PUT payload:

- pcepuser/chlorine/node_speaker_entity_identifier/data.xml
- tcpmd5user/chlorine/pcep_topology_node/data.xml

Change-Id: I1e54f7a65cc31884a9c6ae2d03fa5fd51ac95638
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
19 months agoBump pre-commit black black to 22.8.0 08/102408/1
Sangwook Ha [Sat, 17 Sep 2022 20:56:17 +0000 (13:56 -0700)]
Bump pre-commit black black to 22.8.0

Current version of black is not compatible with click 8.1.x:

  ImportError: cannot import name '_unicodefun' from 'click'

This issue has been fixed since 22.3.0:

https://github.com/psf/black/releases/tag/22.3.0

Upgrade black to the latest version (22.8.0).

Change-Id: Iacf8328ea4b7622412948238c206c5af4ff692cd
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
20 months agoFix bgpcep-1node-throughpcep 42/102242/6
Sangwook Ha [Mon, 29 Aug 2022 16:19:26 +0000 (09:19 -0700)]
Fix bgpcep-1node-throughpcep

Update Python script 'updater.py' to make it compatible with Python 3,
and replace RESTCONF draft URLs & data with the ones for RFC8040.

Change-Id: I6863f5454149d23d5a21b349a1ecfde443eaf3e3
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
20 months agoFix bgpcep-1node-userfeatures tests 39/102239/11
Sangwook Ha [Thu, 25 Aug 2022 03:53:56 +0000 (20:53 -0700)]
Fix bgpcep-1node-userfeatures tests

Python 2 & the network script (/etc/init.d/network) are not available on
CentOS 8. Update the Robot test script to address the incompabilities.

Update test scripts still using RESTCONF draft to switch to RFC8040
URLs, status code & data format.

Also, fix some URLs which were not properly defined in the Variables
section because it included an imported varialbe 'REST_API'.

Change-Id: Id52566f332455be7525166a462b47b5cf4c2d295
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
20 months agoFix bgpcep-1node-bgp-ingest tests 13/102213/15
Sangwook Ha [Thu, 25 Aug 2022 03:53:56 +0000 (20:53 -0700)]
Fix bgpcep-1node-bgp-ingest tests

Python 2 and 'python' command is not available any more in ODL system VM
based on CentOS 8. Update Python scripts 'ipaddr.py', 'play.py' and
'bgp_app_peer.py' to support Python 3.

Use the RFC8040 URLs in 'bgp_app_peer.py' to address some of the failed
test cases in Chlrorine where RESTCONF draft implementation is removed.

Change-Id: I4ffde830df6211b1365b87203843e08134348d26
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
20 months agoSwitch ChangeCounter to RFC8040 01/102201/2
Robert Varga [Mon, 22 Aug 2022 10:29:38 +0000 (12:29 +0200)]
Switch ChangeCounter to RFC8040

Switch to using RFC8040 URLs instead of draft.

Change-Id: Iebcbac08ff38f4ec5d421e3840746920c412466d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
20 months agoUpdate PEER_CHECK_URL 00/102200/1
Robert Varga [Mon, 22 Aug 2022 10:14:24 +0000 (12:14 +0200)]
Update PEER_CHECK_URL

Use RFC8040 endpoint to check peer presence across libraries and
PrefixcountKeywords.

Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Change-Id: Ia99cff9c3add45b9ae89ed33db0386ecb157fc53

20 months agoAdd support for chlorine release 93/102193/1
Robert Varga [Sun, 21 Aug 2022 19:35:26 +0000 (21:35 +0200)]
Add support for chlorine release

We have a new release and CSIT gets bitten by files not being present.
Fix that up.

Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Change-Id: Iebd3ab410eda1d020b2620b54c659a55ff37f46d

20 months agoSwitch PrefixCounting to RFC8040 88/102188/3
Robert Varga [Sat, 20 Aug 2022 20:39:18 +0000 (22:39 +0200)]
Switch PrefixCounting to RFC8040

Use RESTS_API's nonconfig endpoing and update topology selector. This
should fix first order of 404s reported in bgpcep CSIT in Chlorine and
is safe as far as back as Phosphorus.

Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Change-Id: Iebda1e88e11880b6229cc9c5e86c00ecf7257ba9

20 months agoSupport OpenJDK17 in Compose_Base_Java_Command 89/102189/1
Robert Varga [Sat, 20 Aug 2022 20:46:35 +0000 (22:46 +0200)]
Support OpenJDK17 in Compose_Base_Java_Command

We need the ability to run Java 17 binaries, make sure we can select
the appropriate for them.

Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Change-Id: I2f3e66085c0e2505d5a14dbce1d2bf143466ccb2

20 months agoSupport the new path option for yang-model-validator 02/102102/5
Sangwook Ha [Tue, 16 Aug 2022 21:26:12 +0000 (14:26 -0700)]
Support the new path option for yang-model-validator

YANG Tools adopted argparse4j for yang-model-validator in v9.0.0
(YANGTOOLS-1424). The new implementation requires space (' '),
instead of colon (':'), between paths.
More importantly it does not create an aggregated list of YANG
directory paths any more when the path option ('-p', '--path') is used
multiple times - only the last one takes effect.

Update yang-model-validator test suite to support this change in YANG
Tools v9.0.0.

Change-Id: I9307ccf2677702223f221f8f9603ff0ad1ecbff3
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
22 months agoUse md-sal datastore for netconf-testtool 50/101550/1
Sangwook Ha [Thu, 9 Jun 2022 17:25:23 +0000 (10:25 -0700)]
Use md-sal datastore for netconf-testtool

There are a few test cases that require netconf-testtool to use
the md-sal datastore. Since the issue with mdsal-netconf-connector
(NETCONF-879) which prevented successful mounting of netconf-testtool
has been addressed, restore the netconf-testtool configuration to use
the md-sal datastore.

This effectively reverts the following change:
Ifd378b8cacf82d71aa81d83e01305d0ce853c597

Change-Id: Idbb2f548bb80c7a66ac3065c27eaa6b72d5b6f79
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
22 months agoUse Netopeer2 for NETCONF key authentication test 48/101448/5
Sangwook Ha [Thu, 2 Jun 2022 20:26:04 +0000 (13:26 -0700)]
Use Netopeer2 for NETCONF key authentication test

Netopeer image (sdnhub/netopeer) used for NETCONF key authentication
test is 6 years old and its SSH library (libssh v0.6.4) does not
support the 'rsa-sha2-512' signing algorithm used by controller.

Use Netopeer2 (sysrepo/sysrepo-netopeer2) instead, which is also used
for NETCONF callhome tests, to support more modern crypto algorithms
and fix a test failure.

Change-Id: Ib205dfdeaa8c7001d430c955d8629c096818d75a
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
22 months agoUse network-topology model for notification tests 24/101424/5
Sangwook Ha [Thu, 2 Jun 2022 03:47:40 +0000 (20:47 -0700)]
Use network-topology model for notification tests

opendaylight-inventory.yang is only available from openflowplugin,
making netconf notification tests depend on the openflowplugin feature.
Use network-topology.yang instead to avoid the dependecy issue when
KARAF_VERSION is set to 'netconf'.

Change-Id: I4aecc6c1ea38eaedaf85b44dae625dd0d54177b8
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
23 months agounable to terminate netconf session due to process ID is truncated 94/101394/1
Andrew Hsia [Tue, 31 May 2022 20:33:15 +0000 (16:33 -0400)]
unable to terminate netconf session due to process ID is truncated

JIRA: INTTEST-131

Signed-off-by: Andrew Hsia <andrew.hsia@verizonwireless.com>
Change-Id: I891e9915e36ba4da5e49f4e900b2149752363416

23 months agoFix the Netconf CSIT Failures 71/101271/2
gvrangan [Tue, 24 May 2022 10:12:27 +0000 (10:12 +0000)]
Fix the Netconf CSIT Failures

The mdsal option set to true causing the netconf-testtool to fail.
This path ads an option to disable mdsal option for the netconf tests

Signed-off-by: gvrangan <gvrangan@gmail.com>
Change-Id: Ifd378b8cacf82d71aa81d83e01305d0ce853c597

2 years agoRemove unnecessary version checks in some bgpuser tests 15/100715/1
Sangwook Ha [Thu, 21 Apr 2022 18:40:28 +0000 (11:40 -0700)]
Remove unnecessary version checks in some bgpuser tests

Support for versions older than Oxygen/Fluorine ended a long time ago,
so version checks against Oxygen/Fluorine are not necessary.
Remove the keywords in 'bgpuser/basic.robot' and make the test cases
a little simpler.

Change-Id: Ibc9c9699b37ab19824b35af895da2b3e679a0d52
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoSupport decimal64 data nodes in peer group for Sulfur 88/100588/3
gvrangan [Thu, 14 Apr 2022 10:12:40 +0000 (10:12 +0000)]
Support decimal64 data nodes in peer group for Sulfur

In Sulfer decimal64 numbers in the response body include a fraction.
Add separate JSON data files used for verification of peer group
configuration for Sulfur or later and update the keywords to choose
the data directory depending on the controller version.

Change-Id: I0d6d2c55d65ab22ebf22a60ec90b31ee973bac17
Signed-off-by: gvrangan <gvrangan@gmail.com>
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoUse RFC8040 URL for OVSDB tests 97/100497/7
Sangwook Ha [Sat, 9 Apr 2022 03:19:37 +0000 (20:19 -0700)]
Use RFC8040 URL for OVSDB tests

Replace Bierman02 URLs in the OVSDB tests with RFC8040 URLs
using new variables defined for the paths commonly used for
the OVSDB CSIT tests. And also make changes in the status code
(204 for empty body) and the JSON data format (module prefix)
required for RFC8040.

Change-Id: I4634ab53fdc1f74b9a078c7f15a2fc8c40ebd7d4
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoUse RFC8040 URL for DAEXIM tests 95/100495/3
Sangwook Ha [Fri, 8 Apr 2022 20:49:52 +0000 (13:49 -0700)]
Use RFC8040 URL for DAEXIM tests

Replace Bierman02 URLs in the DAEXIM tests with RFC8040 URLs.

Change-Id: I6a814dc94964c50599aeb49091b340f3a1a2e002
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoUse RFC8040 URL for JSON-RPC tests 90/100490/3
Sangwook Ha [Fri, 8 Apr 2022 18:22:30 +0000 (11:22 -0700)]
Use RFC8040 URL for JSON-RPC tests

Replace Bierman02 URLs in the JSON-RPC tests with RFC8040 URLs.

Change-Id: I72c2fc2c5964c745239c9098dd0562cd52b26658
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoFix operational topology URL in ClusterOpenFlow.robot 85/100385/2
Sangwook Ha [Mon, 4 Apr 2022 15:59:26 +0000 (08:59 -0700)]
Fix operational topology URL in ClusterOpenFlow.robot

There are a few test cases in OpenFlow cluster test suite
still using the Bierman02 URL for operational topology.
Replace it with the RFC8040 URL.

Change-Id: I8ff21b10397705e15ecce046d0c865b48305a907
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoUse RFC8040 YANG module library 77/100377/1
Sangwook Ha [Mon, 4 Apr 2022 06:33:29 +0000 (23:33 -0700)]
Use RFC8040 YANG module library

'/restconf/modules' is for Bierman02. Use the URL path for RFC8040
YANG module library '/rests/data/ietf-yang-library:modules-state'.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I9e886f5351cda9723d3ab74237435f1cd080a903

2 years agoReplace 'Run Keyword Unless' 68/100368/3
Sangwook Ha [Sat, 2 Apr 2022 23:01:22 +0000 (16:01 -0700)]
Replace 'Run Keyword Unless'

Builtin keyword 'Run Keyword Unless' has been deprecated since v5.0:
https://github.com/robotframework/robotframework/issues/4174

Replace it with 'Run Keyword If'.

Change-Id: Id721d6ebd8e1304d23242d1700b04087ea86217d
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoUse call-home SSH port 4334 76/98876/9
Ivan Hrasko [Tue, 7 Dec 2021 19:46:52 +0000 (20:46 +0100)]
Use call-home SSH port 4334

Adapt tests for change in NETCONF 3.x branch
for Sulfur release stream.

Starting with Sulfur release we use 4334 port
for NETCONF call-home SSH instead of 6666.

For simplicity configure all docker placeholders
(SSH + TLS) from NetconfCallHome.robot file.

JIRA: NETCONF-846
Change-Id: If4e95c26adae57425005859578a69f468d545373
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
2 years agoFix pretty-print parameter 60/100360/1
Robert Varga [Fri, 1 Apr 2022 23:17:34 +0000 (01:17 +0200)]
Fix pretty-print parameter

RFC8040 uses "odl-pretty-print", not "prettyPrint" to make it clear this
is an ODL extension. It also rejects unknown parameters, so we need to
adjust our invocations.

Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Change-Id: I6e7fe014c1155672b2482d6340ae91f579213bb2

2 years agoBump pre-commit black to 22.1.0 53/100253/2
Sangwook Ha [Fri, 25 Mar 2022 07:16:17 +0000 (00:16 -0700)]
Bump pre-commit black to 22.1.0

Update black from 20.8b1 to 22.1.0:

https://github.com/psf/black/releases

and apply new format changes enforced by the new version.

Change-Id: I1281481b2d4561d72f5edcfeb3665a774108468d
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoBump pre-commit-hooks to v4.1.0 52/100252/1
Sangwook Ha [Fri, 25 Mar 2022 06:47:17 +0000 (23:47 -0700)]
Bump pre-commit-hooks to v4.1.0

Update pre-commit-hooks from v2.4.0 to v4.1.0:

https://github.com/pre-commit/pre-commit-hooks/releases

Since flake8 was removed in v4.0.0:

https://github.com/pre-commit/pre-commit-hooks/releases/tag/v4.0.0
https://github.com/pre-commit/pre-commit-hooks/pull/597

replace it with PyCQA/flake8:

https://github.com/PyCQA/flake8
https://flake8.pycqa.org/en/latest/release-notes/index.html

and address flake8 W605 issues detected by the new flake8:

https://www.flake8rules.com/rules/W605.html

Change-Id: I148b1b862b192a3e44c9ee90292df7678629d8e0
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoBump pre-commit gitlint to v0.17.0 51/100251/1
Sangwook Ha [Thu, 24 Mar 2022 22:51:09 +0000 (15:51 -0700)]
Bump pre-commit gitlint to v0.17.0

Update gitlint from v0.11.0 to v0.17.0:

https://github.com/jorisroovers/gitlint/releases

Change-Id: I302843ab105e9a34192f2aa9b7603d6d08592ab8
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoCommitter list clean up 50/100150/6
Luis Gomez [Fri, 18 Mar 2022 22:15:26 +0000 (15:15 -0700)]
Committer list clean up

Change-Id: I964aa3981b18562ee9a8058c8f56e2e37a44599d
Signed-off-by: Luis Gomez <ecelgp@gmail.com>
2 years agoPin Robotframework version for pre-commit 32/100232/4
Sangwook Ha [Thu, 24 Mar 2022 05:59:52 +0000 (22:59 -0700)]
Pin Robotframework version for pre-commit

robotframework-tidy-wrapper is not compatible with the latest
version of Robotframework (v5.0) where built-in Tidy tool has
been removed:

https://github.com/robotframework/robotframework/issues/4020

Pin the version of Robotframework at v4.1.x for now.

Change-Id: I08eb8039d99eda653a6b05a87567fbf54ad2d8ba
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
2 years agoFix remaining issues in netconf clustering suite 02/100002/1
Tomas Cere [Tue, 8 Mar 2022 11:36:38 +0000 (12:36 +0100)]
Fix remaining issues in netconf clustering suite

Change-Id: I9a216c18c0751fe48396a4e1ae98f94d92c12562
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
2 years agoRename netconf test schemas 94/99994/3
Tomas Cere [Mon, 7 Mar 2022 14:46:44 +0000 (15:46 +0100)]
Rename netconf test schemas

Some of these were missing revision and started failing
once testtool stopped renaming the schemas and started
rejecting them instead.

Change-Id: I8c73150902d21e268d2a7f9bc8fc2c400f340271
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
2 years agoAdd new int/test committers 72/99972/1
Luis Gomez [Fri, 4 Mar 2022 20:13:09 +0000 (12:13 -0800)]
Add new int/test committers

Change-Id: I679bcb5d62b4ee0378137592a9204c036fe76079
Signed-off-by: Luis Gomez <ecelgp@gmail.com>
2 years agoRelax get entity timeouts 74/98874/7
Tomas Cere [Tue, 7 Dec 2021 11:40:01 +0000 (12:40 +0100)]
Relax get entity timeouts

Due to split brain resolver there can be a period of time
when the cluster is settling and its yet to make a decision
on whether to down a node.

JIRA: CONTROLLER-2025
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Change-Id: I7b1f418a0e727a49fe5aca9927f0891e37ab2d75

2 years agoIncrease cluster-entities request timeout 86/98786/3
Tomas Cere [Wed, 1 Dec 2021 10:52:08 +0000 (11:52 +0100)]
Increase cluster-entities request timeout

The requests need a more relaxex timeout due to the fallback
mechanism in the rpcs, which falls back to distributed-data
in case the request to the supervisor times out.

JIRA: CONTROLLER-2025
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Change-Id: Ib05b2743042fe1460101d45ae8e95b85182abf53

2 years agoMigrate netconf suites restconf calls to rfc8040 64/97964/18
Tomas Cere [Mon, 18 Oct 2021 08:58:18 +0000 (10:58 +0200)]
Migrate netconf suites restconf calls to rfc8040

Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Change-Id: Ia31101b22699086c29a8c26fdc9e710d271b2df8

2 years agoFix wrong mapping type for templated requests in netconf 31/99531/1
Tomas Cere [Mon, 31 Jan 2022 12:45:01 +0000 (13:45 +0100)]
Fix wrong mapping type for templated requests in netconf

This is currently causing a number of failures all over netconf
suite due to wrong string type used for mapping in templated requests.

Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Change-Id: I50c72ceb93e0891af581988b7b0d1db9d7a6b5f4

2 years agoAdd chlorine keywords 84/99184/2
Ivan Hrasko [Mon, 3 Jan 2022 11:07:32 +0000 (12:07 +0100)]
Add chlorine keywords

Change-Id: Ife7724a90f95ef2ab768dc49e179d0040af031a1
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
2 years agoAdd chlorine to release dict 83/99183/2
Ivan Hrasko [Mon, 3 Jan 2022 10:09:32 +0000 (11:09 +0100)]
Add chlorine to release dict

Change-Id: Ib64a08ac8a5ea4a0814969440fb42ec4637ff614
Signed-off-by: Ivan Hrasko <ivan.hrasko@pantheon.tech>
2 years agoReplace entity-owners API call 64/98664/3
Sangwook Ha [Tue, 23 Nov 2021 22:18:22 +0000 (14:18 -0800)]
Replace entity-owners API call

An entity ownership test for OpenFlow Plugin makes a direct REST
API call to get the entity ownership information from operational
data store, which is only valid up to Silicon.

Update the 'get_entities' function in the ClusterEntities library
to fall back on the entity-owners API call for Silicon, and replace
the API call to the operational data currently used in the test case
with the function/keyword so that Silicon/Phosphorus/Sulfur are
all supported.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: Idf7d41d1abc509f5f344e7d6d40d93a4dee8f960

2 years agoAdd module to the augmented node in the URL path 63/98663/3
Sangwook Ha [Tue, 23 Nov 2021 09:57:01 +0000 (01:57 -0800)]
Add module to the augmented node in the URL path

Phosphorus/Sulfur now require module name for augmented data node
in the URL path. Update the URLs for OpenFlow Plugin tests
to include the module name (flow-node-inventory) for the augmented
nodes (table, group).

Set the expected status code for add/update/delete flow RPC to
204 when the stream is at least Phosphorus, instead of 200,
because the status code for the empty RPC response is 204
since Phosphorus.

Add missing stream-specific keywords in CompareStream.robot up
to Sulfur.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: Ib2dcb163b001cc23becd29dabd1c23a38c479dfb

2 years agoAdd module to the table URL segment in ScaleClient.py 42/98642/4
Sangwook Ha [Tue, 23 Nov 2021 00:45:00 +0000 (16:45 -0800)]
Add module to the table URL segment in ScaleClient.py

In Phosphorus/Sulfur URL without the module name for
the augmented data node, i.e. the table list augmented to
opendaylight-inventory, returns 409 error. Add the module
name 'flow-node-inventory' to the path segment to address
the issue.

And add a step to break out of request loop in ScaleClient.py
if there are many request errors (more than 10) to prevent
the overall test from failing to complete (or taking too long).

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I9b7225c90160836fa1f2ad0ab2e492593cebc4b5

2 years agoUpdate change_counter RFC8040 URI 52/98652/1
Robert Varga [Tue, 23 Nov 2021 11:11:28 +0000 (12:11 +0100)]
Update change_counter RFC8040 URI

List key update was missed in previous patch, fix that.

Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Change-Id: I504a065b832b5c14f27f45e6ea47bad48eeb5add

2 years agoRemove Sanity3Node test suite 41/98641/1
Sangwook Ha [Mon, 22 Nov 2021 22:31:54 +0000 (14:31 -0800)]
Remove Sanity3Node test suite

This test suite is outdated & not used in any place.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I974a80a90c84d6794a2ad4e252138c1d27f001e0

2 years agoUpdate mapping for 'Post As Json Templated' 40/98640/2
Sangwook Ha [Mon, 22 Nov 2021 21:37:50 +0000 (13:37 -0800)]
Update mapping for 'Post As Json Templated'

Now 'mapping' for the *_As_*_Templated keywords should be
a dictionary and the value of the 'mapping' dictionary is
percent-encoded with an expectation that the value will replace
the value placeholder of the RFC8040 list segment.

Update OpenFlow plugin test cases using the keywords to provide
a dictionary. Also, replace the Bierman02 URL still used in the URL
templates, and change the placeholder to the value of the node list,
instead of just switch ID.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I0de33bd5670fdd8f11f464dfdd67b72b792688db

2 years agoReplace Bierman02 with RFC8040 for OpenFlow Plugin 58/97658/31
Sangwook Ha [Tue, 28 Sep 2021 01:50:12 +0000 (18:50 -0700)]
Replace Bierman02 with RFC8040 for OpenFlow Plugin

Create new variables for RFC8040 topology & inventory API URLs
for OpenFlow Plugin test suites and replace RESTCONF APIs
based on Bierman02 with the ones for RFC8040.

Some of the common libraries in 'csit/libraries' used by OpenFlow
Plugin test suites are also updated. This requires additional
changes in other test suites using the updated libraries.

HEADERS_YANG_JSON variable is temporarily changed from
'application/yang.data+json' to 'application/json' to make
it compatible for both Bierman02 & RFC8040 - the former
is not accepted by RFC8040 URLs.

Add a step to break out of request loop in ScaleClient.py
if there are many request timeout exceptions (more than 10)
and a step to check if there is RuntimeException in the
controller log after checking NPE in WorflowsOpenFlow.robot
and WorflowsL2switch.robot - using RFC8040 triggered
RuntimeException because of the circuit breaker timeout
issue (CONTROLLER-2026) making overall test fail to complete
(or take too long).

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Signed-off-by: Sandhiya Selvaraj <sandhiya.selvaraj@verizon.com>
Change-Id: I25625598e5eb7aedac7d5a0b536af8ac26a9ebf7

2 years agoMigrate bgpcep suites restconf calls to rfc8040 95/97595/49
Tomas Cere [Wed, 22 Sep 2021 09:26:10 +0000 (11:26 +0200)]
Migrate bgpcep suites restconf calls to rfc8040

Change-Id: I2e4e0929e300156cd6820ff8671f979d991d9834
Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
2 years agoRemove references to prefix-shards module 13/98613/1
Richard Kosegi [Fri, 19 Nov 2021 05:05:07 +0000 (06:05 +0100)]
Remove references to prefix-shards module

Jira: CONTROLLER-1977
Change-Id: I7f7ebf923fdefd8b5ae3734d92fbe2aac55994c0
Signed-off-by: Richard Kosegi <richard.kosegi@gmail.com>
2 years agoMake controller role checking more reliable 68/98468/6
Sangwook Ha [Fri, 12 Nov 2021 22:23:07 +0000 (14:23 -0800)]
Make controller role checking more reliable

When there are two active OpenFlow channel connections configured,
the role of each connection keeps changing as the two connections
compete and keep reconnecting. So checking the controller role
every second is not a very reliable way to detect transient state.

Use OVSDB monitoring which streams updates in the database to
record all the changes of the controller role, instead of periodic
polling, to make the test results more reliable. This will help
to detect true failure cases.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: Ided77a53e4df7db1ef99d453cfd7aa0dcd062532

2 years agoMake karaf logout more stable 98/98398/2
Sangwook Ha [Thu, 11 Nov 2021 03:57:11 +0000 (19:57 -0800)]
Make karaf logout more stable

Logging out from karaf session sometimes fails because it does not
detect written text. Use 'SSHLibrary.Write_Bare' which does not consume
anything to make it more reliable.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: Ic29c40715b171eef6a82dc99ca9b22d865fb39c1

2 years agoSupport OVSDB entity name format in Phosphorus 99/98399/2
Sangwook Ha [Thu, 11 Nov 2021 04:57:35 +0000 (20:57 -0800)]
Support OVSDB entity name format in Phosphorus

Retrieval of the OVSDB entity ownership is now supported
in Phosphorus/Sulfur (CONTROLLER-2009).
Update ClusterEntities.py to update entity name following
the OVSDB instance identifier name format to retrieve
the entity ownership information.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I9abe99f1e6bfbaabd3f9460df552f24bf8e996b9

2 years agoCleanup 020_bgp_functional_multipath suite 94/97594/5
Tomas Cere [Wed, 22 Sep 2021 09:31:44 +0000 (11:31 +0200)]
Cleanup 020_bgp_functional_multipath suite

This suite had some unused keywords leftover and
referenced a couple of unused variables.

Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Change-Id: I118919ea7b9c8c8366a5103b84095f4ba08a9ca6

2 years agoFix the JSONRPC read service issue 47/98247/12
Sangwook Ha [Fri, 29 Oct 2021 19:56:21 +0000 (12:56 -0700)]
Fix the JSONRPC read service issue

The steps to upgrade pip and install pyzmq & zmq were failing
because it's done with an old version of OS default pip.

Add a new keyword to support Python 3 virtual environment in
SSHKeywords.robot, and start the read service in a new Python 3
virtual environment created with the new keyword - a new keyword
was created, instead of updating the existing keyword, in order
not to interfere with other test cases.

Replace 'send' with 'send_string' in the odl-jsonrpc-test-read
Python script because the former cannot be used to send a unicode
string in Python 3.

And remove new lines & spaces from the configuration data when
creating the script command to make it a little simpler.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I70e694bb1a4fa21c2133b262e291791e6afe5ce8

2 years agoFix bgpcep testtool deploy when running with snapshots. 15/98215/1
Tomas Cere [Fri, 29 Oct 2021 09:29:28 +0000 (11:29 +0200)]
Fix bgpcep testtool deploy when running with snapshots.

Signed-off-by: Tomas Cere <tomas.cere@pantheon.tech>
Change-Id: If792c7409bf279ae5ca11a80e329b0f9cb9888e4

2 years agoSupport OVSDB entity ownership ID format 11/98211/5
Sangwook Ha [Thu, 28 Oct 2021 21:04:59 +0000 (14:04 -0700)]
Support OVSDB entity ownership ID format

Entity type 'ovsdb' has its own entity ID format, different from
the one for ServiceEntityType & AsyncServiceCloseEntityType.
Add entity ID template for for 'ovsdb' entity type.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I8d1383d1ce1e53e290dfd25c9473acb36738a576

2 years agoRemove entity-ownership from shard list for Phosphorus or later 33/98133/2
Sangwook Ha [Tue, 26 Oct 2021 08:55:10 +0000 (01:55 -0700)]
Remove entity-ownership from shard list for Phosphorus or later

Entity ownership is not stored in operational data store any more
since Phosphorus. Remove entity-ownership from the operational
shard list if the controller version is at least Phosphorus.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I67a4eb2e2adcc95b5e1463e05ab7e65198271c0d

2 years agoFix incorrect BGP entity name & type pairs 18/98118/3
Sangwook Ha [Mon, 25 Oct 2021 08:11:41 +0000 (01:11 -0700)]
Fix incorrect BGP entity name & type pairs

Get_Owner_And_Successors_For_device requires Bgpcep as the entity type
when the BGP RIB name is given as the entity name.
Another option is to use the entity name with the '-service-group'
suffix, e.g. 'example-bgp-rib-service-group' instead of
'example-bgp-rib', with 'org.opendaylight.mdsal.ServiceEntityType'
as the entity type. In this case the initial attempt to get
the ownership information from
Get_Owner_And_Candidates_For_Device_Singleton will
fail and Get_Owner_And_Candidates_For_Device_Rpc will be used
as a fallback.

There are several test cases that incorrecly use the BGP RIB name with
'org.opendaylight.mdsal.ServiceEntityType'. Fix the errors with the
first option (use 'Bgpcep' as the type) to utilize the abstraction
provided by the keyword.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: Ic44cd0f35531cc22bc3e4627ba2edec56084e075

2 years agoMerge device specific keywords to retrieve entity ownership data 17/98117/4
Sangwook Ha [Mon, 25 Oct 2021 04:08:47 +0000 (21:08 -0700)]
Merge device specific keywords to retrieve entity ownership data

Keywords 'Get_Owner_And_Candidates_For_Device_Singleton_{device_type}'
defined for netconf, bgpcep, sxp are the same except for prefix/suffix
added to the device name. Create a dictionary for the prefix/suffix
and share the same keyword Get_Owner_And_Candidates_For_Device_Singleton.

The keyword didn't support OpenFlow device type before, because there
was no keyword specific to the OpenFlow device type, but it is
supported now.

This change also removes the odl-general-entity prefix/suffix for
bgpcep & sxp because the entity name does not include the prefix
with the new entity owner RPC - netconf does not have it.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I5181e2f9f531835310714789ece8df9634ee118f

2 years agoSupport Silicon for retrieval of entity ownership information 14/98114/2
Sangwook Ha [Sun, 24 Oct 2021 23:56:45 +0000 (16:56 -0700)]
Support Silicon for retrieval of entity ownership information

ClusterEntities.py uses RPC introduced in Phosphorus to retrieve
entity ownership information, hence Silicon or earlier versions,
which store entity ownership information in the data store,
are not supported.

Fall back on the REST API calls to retrieve the information from
the operational data store, if the status code for the RPC call is
400 (bad request), to support Silicon and earlier versions.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I18c8d667554d25e5126770235ad33ff404cbe9fe