-# Copyright (c) 2016 Cisco and/or its affiliates.
+# Copyright (c) 2017 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
requests.request.
"""
+from ipaddress import IPv6Address, AddressValueError
from enum import IntEnum, unique
from robot.api.deco import keyword
:return: Full url.
:rtype: str
"""
+
+ try:
+ IPv6Address(unicode(ip_addr))
+ # IPv6 address must be in brackets
+ ip_addr = "[{0}]".format(ip_addr)
+ except (AttributeError, AddressValueError):
+ pass
+
return "http://{ip}:{port}{path}".format(ip=ip_addr, port=port,
path=path)
"""
timeout = kwargs["timeout"]
- if BuiltIn().get_variable_value("${use_odl_client}"):
- # TODO: node["honeycomb"]["odl_port"]
+ use_odl = BuiltIn().get_variable_value("${use_odl_client}")
+
+ if use_odl:
port = 8181
+ # Using default ODL Restconf port
+ # TODO: add node["honeycomb"]["odl_port"] to topology, use it here
odl_url_part = "/network-topology:network-topology/topology/" \
"topology-netconf/node/vpp/yang-ext:mount"
else:
try:
auth = HTTPBasicAuth(node['honeycomb']['user'],
node['honeycomb']['passwd'])
- rsp = request(method, url, auth=auth, **kwargs)
+ rsp = request(method, url, auth=auth, verify=False, **kwargs)
logger.debug("Status code: {0}".format(rsp.status_code))
logger.debug("Response: {0}".format(rsp.content))
@staticmethod
@keyword(name="HTTP Get")
- def get(node, path, headers=None, timeout=10, enable_logging=True):
+ def get(node, path, headers=None, timeout=15, enable_logging=True):
"""Sends a GET request and returns the response and status code.
:param node: Honeycomb node.
@staticmethod
@keyword(name="HTTP Put")
- def put(node, path, headers=None, payload=None, json=None, timeout=10):
+ def put(node, path, headers=None, payload=None, json=None, timeout=15):
"""Sends a PUT request and returns the response and status code.
:param node: Honeycomb node.
@staticmethod
@keyword(name="HTTP Post")
- def post(node, path, headers=None, payload=None, json=None, timeout=10,
+ def post(node, path, headers=None, payload=None, json=None, timeout=15,
enable_logging=True):
"""Sends a POST request and returns the response and status code.
@staticmethod
@keyword(name="HTTP Delete")
- def delete(node, path, timeout=10):
+ def delete(node, path, timeout=15):
"""Sends a DELETE request and returns the response and status code.
:param node: Honeycomb node.