[integration tests] after ban l3 agent many times ping from instance to 8.8.8.8 is unsuccessful sometimes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mirantis OpenStack |
Confirmed
|
High
|
MOS QA Team |
Bug Description
Test result:
https:/
Trace:
self = <mos_tests.
@pytest.
def test_ban_
"""Ban l3-agent many times and check health of l3-agent
1. Revert snapshot with neutron cluster
2. Create network1, network2
3. Create router1 and connect it with network1, network2 and
4. Boot vm1 in network1 and associate floating ip
5. Boot vm2 in network2
6. Add rules for ping
7. ping 8.8.8.8, vm1 (both ip) and vm2 (fixed ip) from each other
8. Ban l3-agent on what router1 is
9. Wait for route rescheduling
10. Repeat steps 7-8
11. Ban l3-agent on what router1 is
12. Wait for L3 agent dies
13. Clear last banned L3 agent
14. Wait for L3 agent alive
15. Repeat steps 11-14 40 times
16. Boot one more VM (VM3) in network1
17. Boot vm3 in network1
18. ping 8.8.8.8, vm1 (both ip), vm2 (fixed ip) and vm3 (fixed ip)
"""
net_id = self.os_
devops_node = self.get_
ip = devops_
# ban 2 l3 agents
for _ in range(2):
for _ in range(40):
# ban l3 agent
# clear last banned l3 agent
# check pings
> network_
mos_tests/
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mos_tests/
timeout=
mos_tests/
vm_password)
mos_tests/
vm_
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
env = <mos_tests.
os_conn = <mos_tests.
vm = <Server: server02>, vm_keypair = None
command = 'ping -c1 8.8.8.8 && ping -c1 192.168.1.4 && ping -c1 10.109.16.133'
vm_login = 'cirros', timeout = 240, 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 240 seconds expired waiting for SSH command: `ping -c1 8.8.8.8 && ping -c1 192.168.1.4 && ping -c1 10.109.16.133` completed with 0 exit code
mos_tests/
Changed in mos: | |
status: | New → Confirmed |
Changed in mos: | |
milestone: | none → 9.0 |
assignee: | nobody → MOS QA Team (mos-qa) |
importance: | Undecided → High |