X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=tools%2Ffastbgp%2Fbgp_app_peer.py;fp=tools%2Ffastbgp%2Fbgp_app_peer.py;h=d1a8a28d3f0cba819f8c36ee530ccbf7c038b78b;hb=7feb3e40725da419b2fbb05b6023f231303d630c;hp=b3dfbfd66c60f7d775c03cfe460d0feb5b00aa81;hpb=6fab25fa71a3ead4a04bbeb3cd96a979b7ed23c9;p=integration%2Ftest.git diff --git a/tools/fastbgp/bgp_app_peer.py b/tools/fastbgp/bgp_app_peer.py index b3dfbfd66c..d1a8a28d3f 100755 --- a/tools/fastbgp/bgp_app_peer.py +++ b/tools/fastbgp/bgp_app_peer.py @@ -29,13 +29,13 @@ def _build_url(odl_ip, port, uri): :param port: controller's restconf port - :param uri: URI without /restconf/ to complete URL + :param uri: URI without /rests/ to complete URL Returns: :returns url: full restconf url corresponding to params """ - url = "http://" + str(odl_ip) + ":" + port + "/restconf/" + uri + url = "http://" + str(odl_ip) + ":" + port + "/rests/" + uri return url @@ -107,11 +107,11 @@ def _stream_data( logger.debug("...streaming chunk %s (prefix: %s)", chunk, prefix_str) logger.debug("xml data\n%s", xml_data) total_build_data_time_counter += time.time() - build_data_timestamp - yield xml_data + yield xml_data.encode() def send_request( - operation, odl_ip, port, uri, auth, xml_data=None, expect_status_code=200 + operation, odl_ip, port, uri, auth, xml_data=None, expect_status_code=None ): """Send a http request. @@ -122,7 +122,7 @@ def send_request( :param port: controller's restconf port - :param uri: URI without /restconf/ to complete URL + :param uri: URI without /rests/ to complete URL :param auth: authentication credentials @@ -131,6 +131,9 @@ def send_request( Returns: :returns http response object """ + if expect_status_code is None: + expect_status_code = [200] + global total_response_time_counter global total_number_of_responses_counter @@ -148,7 +151,7 @@ def send_request( except requests.exceptions.Timeout: logger.error("No response from %s", odl_ip) else: - if rsp.status_code == expect_status_code: + if rsp.status_code in expect_status_code: logger.debug("%s %s", rsp.request, rsp.request.url) logger.debug("Request headers: %s:", rsp.request.headers) logger.debug("Response: %s", rsp.text) @@ -178,7 +181,7 @@ def get_prefixes( :param port: controller's restconf port - :param uri: URI without /restconf/ to complete URL + :param uri: URI without /rests/ to complete URL :param auth: authentication tupple as (user, password) @@ -194,7 +197,7 @@ def get_prefixes( :returns None """ - logger.info("Get all prefixes from %s:%s/restconf/%s", odl_ip, port, uri) + logger.info("Get all prefixes from %s:%s/rests/%s", odl_ip, port, uri) rsp = send_request("GET", odl_ip, port, uri, auth) if rsp is not None: s = rsp.text @@ -231,7 +234,7 @@ def post_prefixes( :param port: controller's restconf port - :param uri: URI without /restconf/ to complete URL + :param uri: URI without /rests/ to complete URL :param auth: authentication tupple as (user, password) @@ -249,7 +252,7 @@ def post_prefixes( :returns None """ logger.info( - "Post %s prefix(es) in a single request (starting from %s/%s) into %s:%s/restconf/%s", + "Post %s prefix(es) in a single request (starting from %s/%s) into %s:%s/rests/%s", count, prefix_base, prefix_len, @@ -259,7 +262,7 @@ def post_prefixes( ) xml_stream = _stream_data(xml_template, prefix_base, prefix_len, count, route_key) send_request( - "POST", odl_ip, port, uri, auth, xml_data=xml_stream, expect_status_code=204 + "POST", odl_ip, port, uri, auth, xml_data=xml_stream, expect_status_code=[201] ) @@ -281,7 +284,7 @@ def put_prefixes( :param port: controller's restconf port - :param uri: URI without /restconf/ to complete URL + :param uri: URI without /rests/ to complete URL :param auth: authentication tupple as (user, password) @@ -296,9 +299,9 @@ def put_prefixes( Returns: :returns None """ - uri_add_prefix = uri + _uri_suffix_ipv4_routes + uri_add_prefix = f"{uri}/{_uri_suffix_ipv4_routes}" logger.info( - "Put %s prefix(es) in a single request (starting from %s/%s) into %s:%s/restconf/%s", + "Put %s prefix(es) in a single request (starting from %s/%s) into %s:%s/rests/%s", count, prefix_base, prefix_len, @@ -307,7 +310,15 @@ def put_prefixes( uri_add_prefix, ) xml_stream = _stream_data(xml_template, prefix_base, prefix_len, count, route_key) - send_request("PUT", odl_ip, port, uri_add_prefix, auth, xml_data=xml_stream) + send_request( + "PUT", + odl_ip, + port, + uri_add_prefix, + auth, + xml_data=xml_stream, + expect_status_code=[201, 204], + ) def add_prefixes( @@ -328,7 +339,7 @@ def add_prefixes( :param port: controller's restconf port - :param uri: URI without /restconf/ to complete URL + :param uri: URI without /rests/ to complete URL :param auth: authentication tupple as (user, password) @@ -344,7 +355,7 @@ def add_prefixes( :returns None """ logger.info( - "Add %s prefixes (starting from %s/%s) into %s:%s/restconf/%s", + "Add %s prefixes (starting from %s/%s) into %s:%s/rests/%s", count, prefix_base, prefix_len, @@ -352,12 +363,12 @@ def add_prefixes( port, uri, ) - uri_add_prefix = uri + _uri_suffix_ipv4_routes + uri_add_prefix = f"{uri}/{_uri_suffix_ipv4_routes}" prefix_gap = 2 ** (32 - prefix_len) for prefix_index in range(count): prefix = prefix_base + prefix_index * prefix_gap logger.info( - "Adding prefix %s/%s to %s:%s/restconf/%s", + "Adding prefix %s/%s to %s:%s/rests/%s", prefix, prefix_len, odl_ip, @@ -374,7 +385,7 @@ def add_prefixes( uri_add_prefix, auth, xml_data=xml_stream, - expect_status_code=204, + expect_status_code=[201], ) @@ -388,7 +399,7 @@ def delete_prefixes( :param port: controller's restconf port - :param uri: URI without /restconf/ to complete URL + :param uri: URI without /rests/ to complete URL :param auth: authentication tupple as (user, password) @@ -404,7 +415,7 @@ def delete_prefixes( :returns None """ logger.info( - "Delete %s prefix(es) (starting from %s/%s) from %s:%s/restconf/%s", + "Delete %s prefix(es) (starting from %s/%s) from %s:%s/rests/%s", count, prefix_base, prefix_len, @@ -412,13 +423,13 @@ def delete_prefixes( port, uri, ) - partkey = "/0" - uri_del_prefix = uri + _uri_suffix_ipv4_routes + _uri_suffix_ipv4_route + partkey = ",0" + uri_del_prefix = f"{uri}/{_uri_suffix_ipv4_routes}/{_uri_suffix_ipv4_route}" prefix_gap = 2 ** (32 - prefix_len) for prefix_index in range(count): prefix = prefix_base + prefix_index * prefix_gap logger.info( - "Deleting prefix %s/%s/%s from %s:%s/restconf/%s", + "Deleting prefix %s/%s/%s from %s:%s/rests/%s", prefix, prefix_len, partkey, @@ -430,8 +441,9 @@ def delete_prefixes( "DELETE", odl_ip, port, - uri_del_prefix + str(prefix) + "%2F" + str(prefix_len) + partkey, + f"{uri_del_prefix}={prefix}%2F{prefix_len}{partkey}", auth, + expect_status_code=[204], ) @@ -452,7 +464,7 @@ def delete_all_prefixes( :param port: controller's restconf port - :param uri: URI without /restconf/ to complete URL + :param uri: URI without /rests/ to complete URL :param auth: authentication tupple as (user, password) @@ -467,15 +479,17 @@ def delete_all_prefixes( Returns: :returns None """ - logger.info("Delete all prefixes from %s:%s/restconf/%s", odl_ip, port, uri) - uri_del_all_prefixes = uri + _uri_suffix_ipv4_routes - send_request("DELETE", odl_ip, port, uri_del_all_prefixes, auth) + logger.info("Delete all prefixes from %s:%s/rests/%s", odl_ip, port, uri) + uri_del_all_prefixes = f"{uri}/{_uri_suffix_ipv4_routes}" + send_request( + "DELETE", odl_ip, port, uri_del_all_prefixes, auth, expect_status_code=[204] + ) _commands = ["post", "put", "add", "delete", "delete-all", "get"] -_uri_suffix_ipv4_routes = "bgp-inet:ipv4-routes/" +_uri_suffix_ipv4_routes = "bgp-inet:ipv4-routes" _uri_suffix_ipv4_route = ( - "bgp-inet:ipv4-route/" # followed by IP address like 1.1.1.1%2F32 + "bgp-inet:ipv4-route" # followed by IP address like 1.1.1.1%2F32 ) if __name__ == "__main__": @@ -508,9 +522,9 @@ if __name__ == "__main__": parser.add_argument( "--uri", help="The uri part of requests", - default="config/bgp-rib:application-rib/example-app-rib/" - "tables/bgp-types:ipv4-address-family/" - "bgp-types:unicast-subsequent-address-family/", + default="data/bgp-rib:application-rib=example-app-rib/" + "tables=bgp-types%3Aipv4-address-family," + "bgp-types%3Aunicast-subsequent-address-family", ) parser.add_argument( "--xml", @@ -574,7 +588,7 @@ if __name__ == "__main__": prefix_base = args.prefix prefix_len = args.prefixlen count = args.count - uri = args.uri + uri = args.uri[:-1] if len(args.uri) > 0 and args.uri[-1] == "/" else args.uri stream = args.stream xml_template = args.xml