Rodion Promyshlennikov 8c13244e25 Add basic classes and structure for tests
Add basic bvt tests for influxdb_grafana.
Add helpers modules.

Change-Id: I698661a478674b7810f688433000ca39cdf35f3c
2016-05-04 16:06:48 +03:00

39 lines
1.5 KiB
Python

# Copyright 2016 Mirantis, Inc.
#
# 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
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
def get_all_bridged_interfaces_for_node(remote, excluded_criteria=None):
# TODO(rpromyshlennikov): do filtration on python side
excluded_criteria_cmd = (
" | grep -v '%s'" % excluded_criteria
if excluded_criteria else "")
cmd = "brctl show | awk '/br-/{{print $1}}'{excluded}".format(
excluded=excluded_criteria_cmd)
interfaces = remote.check_call(cmd)["stdout"]
return [iface.strip() for iface in interfaces]
def switch_interface(remote, interface, method="up"):
cmd = "if{method} {interface}".format(method=method,
interface=interface)
remote.check_call(cmd)
def simulate_network_interrupt_on_node(remote):
cmd = (
"(/sbin/iptables -I INPUT -j DROP "
"&& sleep 30 "
"&& /sbin/iptables -D INPUT -j DROP) 2>&1>/dev/null &")
remote.execute(cmd)