[integration tests] Timeout exception during ping on some DVR tests
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mirantis OpenStack |
Confirmed
|
High
|
Georgy Dyuldin |
Bug Description
Test result:
https:/
Exception:
TimeoutExpired: Timeout of 180 seconds expired waiting for SSH command: `ping -c1 8.8.8.8` completed with 0 exit code
Trace:
self = <mos_tests.
count = 40
@pytest.
def test_connectivi
"""Check North-South connectivity without floating after ban l3 agent
1. Create net1, subnet1
2. Create DVR router router1, set gateway and add interface to net1
3. Boot vm in net1
4. Check that ping 8.8.8.8 available from vm
5. Find node with snat for router1:
6. Ban other l3-agents
7. Ban l3-agent on for node with snat:
8. Wait 10 seconds
9. Clear l3-agent on for node with snat:
10. Repeat steps 7-9 `count` times
11. Check that ping 8.8.8.8 available from vm
"""
controller = self.find_
controllers = self.env.
# Ban all l3 agents
with controller.ssh() as remote:
for agent in self.os_
if agent['host'] not in [x.data['fqdn'] for x in controllers]:
if agent['host'] == controller.
cmd = 'pcs resource {{action}} neutron-l3-agent {fqdn}'.format(
with controller.ssh() as remote:
for i in range(1, 41):
> vm_keypair=
mos_tests/
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mos_tests/
vm_password)
mos_tests/
vm_
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
env = <mos_tests.
os_conn = <mos_tests.
vm = <Server: server01>, vm_keypair = <Keypair: instancekey>
command = 'ping -c1 8.8.8.8', vm_login = 'cirros', timeout = 180
vm_password = 'cubswin:)'
def run_on_vm(env, os_conn, vm, vm_keypair=None, command='uname',
"""Execute command on vm and return dict with results
:param vm: server to execute command on
:param vm_keypair: keypair used during vm creating
:param command: command to execute
:param vm_login: username to login to vm via ssh
:param vm_password: password to login to vm via ssh
:param timeout: type - int or None
- if None - execute command and return results
- if int - wait `timeout` seconds until command exit_code will be 0
:returns: Dictionary with `exit_code`, `stdout`, `stderr` keys.
"""
results = []
def execute():
with os_conn.
if timeout is None:
else:
err_msg = "SSH command: `{command}` completed with 0 exit code"
> waiting_
E TimeoutExpired: Timeout of 180 seconds expired waiting for SSH command: `ping -c1 8.8.8.8` completed with 0 exit code
mos_tests/
Changed in mos: | |
status: | New → Confirmed |
assignee: | nobody → Georgy Dyuldin (g-dyuldin) |
Changed in mos: | |
importance: | Undecided → High |
milestone: | none → 9.0 |