Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSL Error with st2 sensor connection redis #5337

Open
cshelke52889 opened this issue Aug 22, 2021 · 2 comments
Open

SSL Error with st2 sensor connection redis #5337

cshelke52889 opened this issue Aug 22, 2021 · 2 comments
Labels

Comments

@cshelke52889
Copy link

cshelke52889 commented Aug 22, 2021

Getting these errors while connecting to redis with SSL. A normal action runs fine, sensor seems to be having problem. I did try to use the fixes mentioned in eventlet/eventlet#371 but none of the different combinations of library versions seem to work for my case.

lib versions tried:
redis==latest/3.3.5
eventlet==latest/0.17.4
Flask-SocketIO==4.2.1
dnspython==latest/1.16.0

021-08-17 14:32:25,839 WARNING [-] Sensor "XYZSensor" run method raised an exception: Error while reading from socket: ('timed out',).
Traceback (most recent call last):
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/redis/connection.py", line 198, in _read_from_socket
    data = recv(self._sock, socket_read_size)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/redis/_compat.py", line 72, in recv
    return sock.recv(*args, **kwargs)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/eventlet/green/ssl.py", line 231, in recv
    return self._base_recv(buflen, flags, into=False)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/eventlet/green/ssl.py", line 258, in _base_recv
    read = self.read(nbytes)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/eventlet/green/ssl.py", line 176, in read
    super(GreenSSLSocket, self).read, *args, **kwargs)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/eventlet/green/ssl.py", line 156, in _call_trampolining
    timeout_exc=timeout_exc('timed out'))
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/eventlet/hubs/__init__.py", line 159, in trampoline
    return hub.switch()
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/eventlet/hubs/hub.py", line 298, in switch
    return self.greenlet.switch()
ssl.SSLError: ('timed out',)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/st2reactor/container/sensor_wrapper.py", line 229, in run
    self._sensor_instance.run()
  File "/opt/stackstorm/packs/st2sensors/sensors/vmc_event_notification_sensor.py", line 56, in run
    self.pubsub.subscribe('XYZEvents')
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/redis/client.py", line 3580, in subscribe
    ret_val = self.execute_command('SUBSCRIBE', *iterkeys(new_channels))
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/redis/client.py", line 3468, in execute_command
    self.shard_hint
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/redis/connection.py", line 1203, in get_connection
    if connection.can_read():
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/redis/connection.py", line 734, in can_read
    return self._parser.can_read(timeout)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/redis/connection.py", line 321, in can_read
    return self._buffer and self._buffer.can_read(timeout)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/redis/connection.py", line 231, in can_read
    raise_on_timeout=False)
  File "/opt/stackstorm/st2/lib/python3.6/site-packages/redis/connection.py", line 223, in _read_from_socket
    (ex.args,))
    ```
@guzzijones
Copy link
Contributor

You can accomplish the same use case with a rule using the cron trigger as you can with a polling sensor. I recommend refactoring into an action - rule if possible.

@stale
Copy link

stale bot commented Apr 16, 2022

Thanks for contributing to this issue. As it has been 90 days since the last activity, we are automatically marking is as stale. If this issue is not relevant or applicable anymore (problem has been fixed in a new version or similar), please close the issue or let us know so we can close it. On the contrary, if the issue is still relevant, there is nothing you need to do, but if you have any additional details or context which would help us when working on this issue, please include it as a comment to this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants