saltstack / salt

Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:
https://repo.saltproject.io/
Apache License 2.0
14.11k stars 5.47k forks source link

integration.cloud.clouds.test_vmware #53011

Closed garethgreenaway closed 5 years ago

garethgreenaway commented 5 years ago

2019.2 failed salt-centos-7-py2-cloud, salt-centos-7-py3-cloud

'CLOUD-TEST-ZN7M1E:' not found in []


Traceback (most recent call last):
  File "/tmp/kitchen/testing/tests/integration/cloud/clouds/test_vmware.py", line 122, in test_snapshot
    self.assertIn(ret_str, instance)
AssertionError: 'CLOUD-TEST-ZN7M1E:' not found in []

2019.2 failed salt-centos-7-py2-cloud, salt-centos-7-py3-cloud

'CLOUD-TEST-ZN7M1E:' not found in []


Traceback (most recent call last):
  File "/tmp/kitchen/testing/tests/integration/cloud/clouds/test_vmware.py", line 97, in test_instance
    self.assertIn(ret_str, instance)
AssertionError: 'CLOUD-TEST-ZN7M1E:' not found in []
KChandrashekhar commented 5 years ago

Test is failing on 2019.2 branch and not on 2019.2.1 so it will be fixed in 2019.2.2 release

Ch3LL commented 5 years ago

@KChandrashekhar i see this failing on 2019.2.1 here: https://jenkinsci.saltstack.com/job/2019.2.1/view/Cloud/job/salt-centos-7-py2-cloud/52/

Akm0d commented 5 years ago

Verified the bug

Akm0d commented 5 years ago

break at test_vmware.py:91 instance = self.run_cloud('-p vmware-test {0}'.format(INSTANCE_NAME), timeout=TIMEOUT) break at case.py:360 process = subprocess.Popen(cmd. **popen_kwargs) Output of that subprocess:

python3.7 /tmp/salt-tests-tmpdir/scripts/salt-cloud -c /tmp/salt-tests-tmpdir/config -p vmware-test CLOUD-TEST-S9WDXK
[WARNING ] Missing dependency: 'azure'. The azure driver requires 'azure' to be installed.
[WARNING ] Missing dependency: 'oneandone'. The oneandone driver requires 'oneandone' to be installed.
[ERROR   ] Exception raised when processing __virtual__ function for salt.loaded.int.clouds.openstack. Module will not be loaded: name 'shade' is not defined
[WARNING ] salt.loaded.int.clouds.openstack.__virtual__() is wrongly returning `None`. It should either return `True`, `False` or a new name. If you're the developer of the module 'openstack', please fix this.
[WARNING ] Missing dependency: 'profitbricks'. The profitbricks driver requires 'profitbricks' to be installed.
[WARNING ] The cloud driver, 'azure', configured under the 'azure-config' cloud provider alias, could not be loaded. Please check your provider configuration files and ensure all required dependencies are installed for the 'azure' driver.
In rare cases, this could indicate the 'azure.get_configured_provider()' function could not be found.
Removing 'azure' from the available providers list
[WARNING ] The cloud driver, 'oneandone', configured under the 'oneandone-config' cloud provider alias, could not be loaded. Please check your provider configuration files and ensure all required dependencies are installed for the 'oneandone' driver.
In rare cases, this could indicate the 'oneandone.get_configured_provider()' function could not be found.
Removing 'oneandone' from the available providers list
[WARNING ] The cloud driver, 'profitbricks', configured under the 'profitbricks-config' cloud provider alias, could not be loaded. Please check your provider configuration files and ensure all required dependencies are installed for the 'profitbricks' driver.
In rare cases, this could indicate the 'profitbricks.get_configured_provider()' function could not be found.
Removing 'profitbricks' from the available providers list
[WARNING ] The cloud driver, 'openstack', configured under the 'openstack-config' cloud provider alias, could not be loaded. Please check your provider configuration files and ensure all required dependencies are installed for the 'openstack' driver.
In rare cases, this could indicate the 'openstack.get_configured_provider()' function could not be found.
Removing 'openstack' from the available providers list
[WARNING ] The cloud driver, 'virtualbox', configured under the 'virtualbox-config' cloud provider alias, could not be loaded. Please check your provider configuration files and ensure all required dependencies are installed for the 'virtualbox' driver.
In rare cases, this could indicate the 'virtualbox.get_configured_provider()' function could not be found.
Removing 'virtualbox' from the available providers list
[ERROR   ] [Errno -2] Name or service not known
Traceback (most recent call last):
  File "/home/akmod/PycharmProjects/salt/salt/utils/vmware.py", line 222, in _get_service_instance
    mechanism=mechanism)
  File "/home/akmod/venv/lib/python3.7/site-packages/pyVim/connect.py", line 836, in SmartConnect
    sslContext)
  File "/home/akmod/venv/lib/python3.7/site-packages/pyVim/connect.py", line 718, in __FindSupportedVersion
    sslContext)
  File "/home/akmod/venv/lib/python3.7/site-packages/pyVim/connect.py", line 638, in __GetServiceVersionDescription
    path + "/vimServiceVersions.xml", sslContext)
  File "/home/akmod/venv/lib/python3.7/site-packages/pyVim/connect.py", line 604, in __GetElementTree
    conn.request("GET", path)
  File "/usr/lib/python3.7/http/client.py", line 1229, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1275, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1224, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.7/http/client.py", line 1016, in _send_output
    self.send(msg)
  File "/usr/lib/python3.7/http/client.py", line 956, in send
    self.connect()
  File "/usr/lib/python3.7/http/client.py", line 1384, in connect
    super().connect()
  File "/usr/lib/python3.7/http/client.py", line 928, in connect
    (self.host,self.port), self.timeout, self.source_address)
  File "/usr/lib/python3.7/socket.py", line 707, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "/usr/lib/python3.7/socket.py", line 748, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
[ERROR   ] username is required for Joyent API requests. Please set one in your provider configuration
[ERROR   ] ssh_keyfile is required for Joyent API requests.  Please set one in your provider configuration
[ERROR   ] ssh_keyname is required for Joyent API requests.  Please set one in your provider configuration
[WARNING ] SSL Error on 18 ('50.18.48.147', 443): [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1056)
[WARNING ] There's no master defined on the 'CLOUD-TEST-S9WDXK' VM settings.
[WARNING ] /home/akmod/PycharmProjects/salt/salt/transport/ipc.py:261: DeprecationWarning: encoding is deprecated, Use raw=False instead.
  self.unpacker = msgpack.Unpacker(encoding=encoding)

[ERROR   ] There was a profile error: I/O operation on closed file
Akm0d commented 5 years ago

I suspect that this is actually a problem with credentials in salt-jenkins or on vsphere... I tried running the same test on multiple branches, even older stable branches, and got the same result.

Akm0d commented 5 years ago

Passwords on vsphere reset every 90 days, we reset it for the cloud-tests user and will add a more helpful error in the code so we don't spin wheels on this in the future.

Akm0d commented 5 years ago

I want to close this issue... I have a PR to give more detailed errors sooner, so that we don't run in circles on this again in 90 days when the vsphere creds expire. But as far as I can tell this is fixed. Let me know if anyone still has issues.