[openstack-qa] Can' t get tempest's run_ssh to work with floating IPs

Andriy Yurchuk ayurchuk at minuteware.net
Mon May 12 12:47:59 UTC 2014


Hi!

I'm trying to make tempest not skip the SSH tests. I have allow_tenant_isolation=True. I set run_ssh=True and ssh_connect_method=floating and run the test tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name. But tempest does not assign the floating IP to the instance and always fails with the following error:

======================================================================
FAIL: tempest.api.compute.servers.test_create_server.ServersTestJSON.test_host_name_is_same_as_server_name[gate]
----------------------------------------------------------------------
Traceback (most recent call last):
_StringException: Empty attachments:
  pythonlogging:''
  stderr
  stdout

Traceback (most recent call last):
  File "tempest/api/compute/servers/test_create_server.py", line 102, in test_host_name_is_same_as_server_name
    self.password)
  File "tempest/common/utils/linux/remote_client.py", line 35, in __init__
    addresses = server['addresses'][network]
KeyError: 'public'

I understand this failure - it's because I have network_for_ssh commented out and the default is 'public'. But why does tempest use this config variable when it created a temporary network for my test (along with a temp tenant and router etc.) and it should try to use this instead of the one from config file.
Looks like the problem comes from tempest/common/utils/linux/remote_client.py:29 where the network name is just hard-coded to a config variable. Unless I'm missing something…

Another option I tried is disabling tenant isolation. Then I set network_for_ssh to the network name of the tenant I use but then again tempest does not even try to assign a floating IP to the instance.
I'd appreciate any help on this.

Thanks.


---
Regards,
Andriy Yurchuk


More information about the openstack-qa mailing list