Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-11034

Occasionally broken fast-track with an SSL error

XMLWordPrintable

    • Moderate
    • No
    • 5
    • False
    • Hide

      None

      Show
      None

      I've noticed that sometimes on my dev-scripts environment fast-track mode does not actually work. I've seen a freshly inspected node going through a full power cycle for cleaning. In the agent logs I see

      ar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client [-] An error occurred while attempting to discover the available Ironic API versions, falling back to using version 1.31: requests.exceptions.SSLError: HTTPSConnectionPool(host='192.168.111.5', port=6385): Max retries exceeded with url: / (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1129)'))) 
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client Traceback (most recent call last):
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 699, in urlopen
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     httplib_response = self._make_request(
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 382, in _make_request
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     self._validate_conn(conn)
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib/python3.9/site-packages/urllib3/connectionpool.py", line 1010, in _validate_conn
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     conn.connect()
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib/python3.9/site-packages/urllib3/connection.py", line 411, in connect
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     self.sock = ssl_wrap_socket(
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib/python3.9/site-packages/urllib3/util/ssl_.py", line 453, in ssl_wrap_socket
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls)
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib/python3.9/site-packages/urllib3/util/ssl_.py", line 495, in _ssl_wrap_socket_impl
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     return ssl_context.wrap_socket(sock)
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib/python3.9/site-packages/eventlet/green/ssl.py", line 446, in wrap_socket 
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     return GreenSSLSocket(sock, *a, _context=self, **kw) 
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib/python3.9/site-packages/eventlet/green/ssl.py", line 140, in __init__ 
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     self.do_handshake()
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib/python3.9/site-packages/eventlet/green/ssl.py", line 312, in do_handshake
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     return self._call_trampolining(
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib/python3.9/site-packages/eventlet/green/ssl.py", line 162, in _call_trampolining
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     return func(*a, **kw) 
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client   File "/usr/lib64/python3.9/ssl.py", line 1309, in do_handshake
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client     self._sslobj.do_handshake()
      Mar 29 09:59:03 extraworker-1 podman[1337]: 2023-03-29 09:59:03.762 1 ERROR ironic_python_agent.ironic_api_client ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1129)

      Interestingly, the lookup then succeeds but without an agent token. Then heartbeats keep failing:

      Mar 29 09:59:04 extraworker-1 ironic-agent[1355]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent Traceback (most recent call last):
      Mar 29 09:59:04 extraworker-1 podman[1337]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent [-] error sending heartbeat to https://192.168.111.5:6385: ironic_python_agent.errors.HeartbeatError: Error heartbeating to agent API: Error 400: Agent token is required for heartbeat processing.
      Mar 29 09:59:04 extraworker-1 podman[1337]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent Traceback (most recent call last):
      Mar 29 09:59:04 extraworker-1 podman[1337]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent   File "/usr/lib/python3.9/site-packages/ironic_python_agent/agent.py", line 118, in do_heartbeat
      Mar 29 09:59:04 extraworker-1 podman[1337]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent     self.api.heartbeat(
      Mar 29 09:59:04 extraworker-1 podman[1337]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent   File "/usr/lib/python3.9/site-packages/ironic_python_agent/ironic_api_client.py", line 176, in heartbeat
      Mar 29 09:59:04 extraworker-1 podman[1337]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent     raise errors.HeartbeatError(error)
      Mar 29 09:59:04 extraworker-1 podman[1337]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent ironic_python_agent.errors.HeartbeatError: Error heartbeating to agent API: Error 400: Agent token is required for heartbeat processing.
      Mar 29 09:59:04 extraworker-1 podman[1337]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent 
      Mar 29 09:59:04 extraworker-1 ironic-agent[1355]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent   File "/usr/lib/python3.9/site-packages/ironic_python_agent/agent.py", line 118, in do_heartbeat
      Mar 29 09:59:04 extraworker-1 ironic-agent[1355]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent     self.api.heartbeat(
      Mar 29 09:59:04 extraworker-1 ironic-agent[1355]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent   File "/usr/lib/python3.9/site-packages/ironic_python_agent/ironic_api_client.py", line 176, in heartbeat
      Mar 29 09:59:04 extraworker-1 ironic-agent[1355]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent     raise errors.HeartbeatError(error)
      Mar 29 09:59:04 extraworker-1 ironic-agent[1355]: 2023-03-29 09:59:04.132 1 ERROR ironic_python_agent.agent ironic_python_agent.errors.HeartbeatError: Error heartbeating to agent API: Error 400: Agent token is required for heartbeat processing.
      

      Steps to Reproduce: not sure yet. Maybe a race condition.

            rhn-engineering-dtantsur Dmitry Tantsur
            rhn-engineering-dtantsur Dmitry Tantsur
            Jad Haj Yahya Jad Haj Yahya
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: