Why does Red Hat Access Support and Knowledge commands of redhat-support-tool fail ?

Solution Verified - Updated

Environment

  • Red Hat Enterprise Linux 8
  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 6.
  • redhat-support-tool

Issue

  • Adding attachment to dropbox fails. Dropbox FTP has been deprecated and hence any upload to dropbox using redhat-support-tool will fail.
    For example:

    Welcome to the Red Hat Support Tool.
    Command (? for help): addattachment -f
    Please provide the full path to the file (or 'q' to exit): /vagrant_data/test_file_rhst
    Compressing /vagrant_data/test_file_rhst for upload ... completed successfully.
    Please provide a case number (or 'q' to exit): 02290113
    Uploading test_file_rhst.gz to dropbox.redhat.com ...     failed.
    ERROR: Problem encountered whilst uploading the attachment.  Please consult the Red Hat Support Tool logs for details.    
    
  • For RHEL 7 and RHEL 6 - The commands related to the case management, knowledge access, along with the diagnose command fail to give response and shows - SSLError: tlsv1 alert internal error.
    For example:

    Welcome to the Red Hat Support Tool.
    Command (? for help): listproducts
    Unable to find products
    Command (? for help): listcases
    tlsv1 alert internal error
    Command (? for help):
    
  • For RHEL 8, RHEL 7 and RHEL 6 - commands related to the case management, knowledge access along with the diagnose command fail to give response. For example,

    Welcome to the Red Hat Support Tool.
    Command (? for help): listproducts
    Unable to fulfill request with support services API. Reason: Gone
    

Resolution

  • RHEL 9 and later

  • For RHEL 7 and RHEL 8

    • Update to the latest version of redhat-support-tool package.
      • Note the latest version (0.13.0) of redhat-support-tool currently does not support the getattachment all option with the new API, please use listattachments command and then download each file via getattachment -c <case-number> -u <uuid>
    • The redhat-support-tool is deprecated in RHEL 8., see "Red Hat Support Tool (RHST) Deprecation Guide"
  • For RHEL 6

    • The redhat-support-tool is no longer supported on RHEL6 as of July 11, 2022.
      • The underlying APIs and ciphers utilized by redhat-support-tool on RHEL6 for data exchange with the Red Hat Customer Portal have been retired.
    • To continue to use redhat-support-tool upgrade to RHEL 7 or 8
    • Note that ftp/dropbox support has been replaced with "Red Hat Secure FTP - User Guide ".
    • An alternative to redhat-support-tool is to use curl commands as outlined within "Red Hat Support Tool (RHST) Deprecation Guide"

Root Cause

Diagnostic Steps

  • For RHEL 8
  1. For the dropbox related error, refer to the log file ~/.redhat-support-tool/logs/red_hat_support_tool.log:

            2022-04-04 06:57:00,689 - redhat_support_tool.plugins.add_attachment - ERROR - ERROR: Problem encountered whilst uploading the attachment.  Please consult the Red Hat Support Tool logs for details.
            2022-04-04 06:57:00,690 - redhat_support_tool.helpers.launchhelper - ERROR - Could not upload file to dropbox: [Errno 110] Connection timed out
            Traceback (most recent call last):
              File "/usr/lib/python3.6/site-packages/redhat_support_lib/utils/ftphelper.py", line 104, in ftp_attachment  passwd=config.ftp_pass)
              File "/usr/lib64/python3.6/ftplib.py", line 117, in __init__  self.connect(host)
              File "/usr/lib64/python3.6/ftplib.py", line 152, in connect  source_address=self.source_address)
              File "/usr/lib64/python3.6/socket.py", line 724, in create_connection raise err
              File "/usr/lib64/python3.6/socket.py", line 713, in create_connection  sock.connect(sa)
            TimeoutError: [Errno 110] Connection timed out
    
        During handling of the above exception, another exception occurred:
    
            Traceback (most recent call last):
              File "/usr/lib/python3.6/site-packages/redhat_support_tool/helpers/launchhelper.py", line 106, in run return cls.non_interactive_action()
              File "/usr/lib/python3.6/site-packages/redhat_support_tool/plugins/add_attachment.py", line 504, in non_interactive_action  useFtp=self.use_ftp)
              File "/usr/lib/python3.6/site-packages/redhat_support_lib/infrastructure/brokers.py", line 612, in add  amnt = FtpHelper.ftp_attachment(fileName, caseNumber, fileChunk)
              File "/usr/lib/python3.6/site-packages/redhat_support_lib/utils/ftphelper.py", line 137, in ftp_attachment  raise Exception("Could not upload file to dropbox: {}".format(e))
            Exception: Could not upload file to dropbox: [Errno 110] Connection timed out
    
  2. For the decommissioned API error, refer to the log file ~/.redhat-support-tool/logs/red_hat_support_tool.log. Shown below is the traceback for “listproducts” command:

        2022-07-18 03:20:50,903 - redhat_support_tool.helpers.common - WARNING - Unable to fulfill request with support services API. Reason: Gone
        2022-07-18 03:20:50,903 - redhat_support_tool.helpers.launchhelper - ERROR - Strata API request failure, b''
    Traceback (most recent call last):
          File "/usr/lib/python3.6/site-packages/redhat_support_tool/helpers/launchhelper.py", line 106, in run
    	return cls.non_interactive_action()
          File "/usr/lib/python3.6/site-packages/redhat_support_tool/plugins/list_products.py", line 67, in non_interactive_action
    	ary = get_products()
          File "/usr/lib/python3.6/site-packages/redhat_support_tool/helpers/common.py", line 125, in get_products
    	productsAry = api.products.list()
          File "/usr/lib/python3.6/site-packages/redhat_support_lib/infrastructure/brokers.py", line 1398, in list
    	doc, headers = self._getProxy().get(url)
          File "/usr/lib/python3.6/site-packages/redhat_support_lib/infrastructure/proxy.py", line 44, in get
    	return self.request(method='GET', url=url, headers=headers)
          File "/usr/lib/python3.6/site-packages/redhat_support_lib/infrastructure/proxy.py", line 120, in request
    	conn=self.getConnectionsPool().getConnection())
          File "/usr/lib/python3.6/site-packages/redhat_support_lib/infrastructure/proxy.py", line 138, in __doRequest
    	raise RequestError(response.status, response.reason, response.read())
        redhat_support_lib.infrastructure.errors.RequestError: Strata API request failure, b''
    
  • For RHEL 7
  1. For the dropbox related error, refer to the log file ~/.redhat-support-tool/logs/red_hat_support_tool.log:

    2022-04-04 07:10:50,727 - redhat_support_tool.plugins.add_attachment - ERROR - ERROR: Problem encountered whilst uploading the attachment.  
    Please consult the Red Hat Support Tool logs for details.
    2022-04-04 07:10:50,728 - redhat_support_tool.helpers.launchhelper - ERROR - Could not upload file to dropbox: [Errno 110] Connection timed out
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/redhat_support_tool/helpers/launchhelper.py", line 106, in run return cls.non_interactive_action()
      File "/usr/lib/python2.7/site-packages/redhat_support_tool/plugins/add_attachment.py", line 507, in non_interactive_action  useFtp=self.use_ftp)
      File "/usr/lib/python2.7/site-packages/redhat_support_lib/infrastructure/brokers.py", line 612, in add amnt = FtpHelper.ftp_attachment(fileName, caseNumber, fileChunk)
      File "/usr/lib/python2.7/site-packages/redhat_support_lib/utils/ftphelper.py", line 138, in ftp_attachment raise Exception("Could not upload file to dropbox: {}". format(e))
    Exception: Could not upload file to dropbox: [Errno 110] Connection timed out
    
  2. For the SSLError due to the cipher change, check the ~/.redhat-support-tool/logs/red_hat_support_tool.log file:

    2022-03-29 06:43:03,125 - redhat_support_tool.helpers.launchhelper - ERROR - tlsv1 alert internal error
    Traceback (most recent call last):
      File "/usr/lib/python2.7/site-packages/redhat_support_tool/helpers/launchhelper.py", line 106, in run return cls.non_interactive_action()
      File "/usr/lib/python2.7/site-packages/redhat_support_tool/plugins/list_products.py", line 67, in non_interactive_action ary = get_products()
      File "/usr/lib/python2.7/site-packages/redhat_support_tool/helpers/common.py", line 125, in get_products productsAry = api.products.list()
      File "/usr/lib/python2.7/site-packages/redhat_support_lib/infrastructure/brokers.py", line 1398, in list doc, headers = self._getProxy().get(url)
      File "/usr/lib/python2.7/site-packages/redhat_support_lib/infrastructure/proxy.py", line 44, in get return self.request(method='GET', url=url, headers=headers)
      File "/usr/lib/python2.7/site-packages/redhat_support_lib/infrastructure/proxy.py", line 120, in request conn=self.getConnectionsPool().getConnection())
      File "/usr/lib/python2.7/site-packages/redhat_support_lib/infrastructure/proxy.py", line 127, in __doRequest headers=headers)
      File "/usr/lib/python2.7/site-packages/redhat_support_lib/web/connection.py", line 106, in doRequest self.getHeaders(headers))
      File "/usr/lib64/python2.7/httplib.py", line 1041, in request self._send_request(method, url, body, headers)
      File "/usr/lib64/python2.7/httplib.py", line 1075, in _send_request self.endheaders(body)
      File "/usr/lib64/python2.7/site-packages/M2Crypto/httpslib.py", line 192, in endheaders HTTPSConnection.endheaders(self, *args, **kwargs)
      File "/usr/lib64/python2.7/httplib.py", line 1037, in endheaders self._send_output(message_body)
      File "/usr/lib64/python2.7/httplib.py", line 881, in _send_output self.send(msg)
      File "/usr/lib64/python2.7/httplib.py", line 843, in send self.connect()
      File "/usr/lib64/python2.7/site-packages/M2Crypto/httpslib.py", line 208, in connect  self._start_ssl()
      File "/usr/lib64/python2.7/site-packages/M2Crypto/httpslib.py", line 226, in _start_ssl self.sock.connect_ssl()
      File "/usr/lib64/python2.7/site-packages/M2Crypto/SSL/Connection.py", line 178, in connect_ssl return m2.ssl_connect(self.ssl, self._timeout)
    SSLError: tlsv1 alert internal error
    
  3. For the decommissioned API error, refer to the log file ~/.redhat-support-tool/logs/red_hat_support_tool.log. Shown below is the traceback for “listproducts” command :

       2022-07-18 03:33:02,257 - redhat_support_tool.helpers.common - WARNING - Unable to fulfill request with support services API. Reason: Gone
       2022-07-18 03:33:02,257 - redhat_support_tool.helpers.launchhelper - ERROR - Strata API request failure,
       Traceback (most recent call last):
         File "/usr/lib/python2.7/site-packages/redhat_support_tool/helpers/launchhelper.py", line 106, in run
    return cls.non_interactive_action()
         File "/usr/lib/python2.7/site-packages/redhat_support_tool/plugins/list_products.py", line 67, in non_interactive_action
    ary = get_products()
         File "/usr/lib/python2.7/site-packages/redhat_support_tool/helpers/common.py", line 125, in get_products
    productsAry = api.products.list()
         File "/usr/lib/python2.7/site-packages/redhat_support_lib/infrastructure/brokers.py", line 1398, in list
    doc, headers = self._getProxy().get(url)
         File "/usr/lib/python2.7/site-packages/redhat_support_lib/infrastructure/proxy.py", line 44, in get
    return self.request(method='GET', url=url, headers=headers)
         File "/usr/lib/python2.7/site-packages/redhat_support_lib/infrastructure/proxy.py", line 120, in request
    conn=self.getConnectionsPool().getConnection())
         File "/usr/lib/python2.7/site-packages/redhat_support_lib/infrastructure/proxy.py", line 138, in __doRequest
    raise RequestError(response.status, response.reason, response.read())
       RequestError: Strata API request failure,
    
  • For RHEL 6
  1. For the dropbox related error, refer to the log file ~/.redhat-support-tool/logs/red_hat_support_tool.log:

      2022-03-04 10:32:59,289 - redhat_support_tool.plugins.add_attachment - ERROR - ERROR: Problem encountered whilst uploading the attachment.  Please consult the Red Hat Support Tool logs for details.
      2022-03-04 10:32:59,290 - redhat_support_tool.helpers.launchhelper - ERROR - local variable 'timer' referenced before assignment
      Traceback (most recent call last):
       File "/usr/lib/python2.6/site-packages/redhat_support_tool/helpers/launchhelper.py", line 106, in run return cls.non_interactive_action()
       File "/usr/lib/python2.6/site-packages/redhat_support_tool/plugins/add_attachment.py", line 437, in non_interactive_action useFtp=self.use_ftp)
       File "/usr/lib/python2.6/site-packages/redhat_support_lib/infrastructure/brokers.py", line 612, in add  amnt = FtpHelper.ftp_attachment(fileName, caseNumber, fileChunk)
       File "/usr/lib/python2.6/site-packages/redhat_support_lib/utils/ftphelper.py", line 135, in ftp_attachment  timer.stop()
     UnboundLocalError: local variable 'timer' referenced before assignment
    
  2. For the SSLError due to the cipher change, check the log file~/.redhat-support-tool/logs/red_hat_support_tool.log:

       File "/usr/lib/python2.6/site-packages/redhat_support_lib/infrastructure/proxy.py", line 120, in request conn=self.getConnectionsPool().getConnection())
       File "/usr/lib/python2.6/site-packages/redhat_support_lib/infrastructure/proxy.py", line 127, in __doRequest headers=headers)
       File "/usr/lib/python2.6/site-packages/redhat_support_lib/web/connection.py", line 106, in doRequest self.getHeaders(headers))
       File "/usr/lib64/python2.6/httplib.py", line 973, in request self._send_request(method, url, body, headers)
       File "/usr/lib64/python2.6/httplib.py", line 1010, in _send_request self.endheaders()
       File "/usr/lib64/python2.6/site-packages/M2Crypto/httpslib.py", line 189, in endheaders  HTTPSConnection.endheaders(self, *args, **kwargs)
       File "/usr/lib64/python2.6/httplib.py", line 967, in endheaders self._send_output()
       File "/usr/lib64/python2.6/httplib.py", line 831, in _send_output self.send(msg)
       File "/usr/lib64/python2.6/httplib.py", line 790, in send self.connect()
       File "/usr/lib64/python2.6/site-packages/M2Crypto/httpslib.py", line 205, in connect self._start_ssl()
       File "/usr/lib64/python2.6/site-packages/M2Crypto/httpslib.py", line 223, in _start_ssl  self.sock.connect_ssl()
       File "/usr/lib64/python2.6/site-packages/M2Crypto/SSL/Connection.py", line 178, in connect_ssl  return m2.ssl_connect(self.ssl, self._timeout)
     SSLError: tlsv1 alert internal error
    
  3. For the decommissioned API error, refer to the log file ~/.redhat-support-tool/logs/red_hat_support_tool.log. Shown below is the traceback for “listproducts” command::

       2022-07-18 03:12:12,958 - redhat_support_tool.helpers.common - WARNING - Unable to fulfill request with support services API. Reason: Gone
       2022-07-18 03:12:12,959 - redhat_support_tool.helpers.launchhelper - ERROR - Strata API request failure,
       Traceback (most recent call last):
         File "/usr/lib/python2.6/site-packages/redhat_support_tool/helpers/launchhelper.py", line 106, in run
      	return cls.non_interactive_action()
         File "/usr/lib/python2.6/site-packages/redhat_support_tool/plugins/list_products.py", line 67, in non_interactive_action
    ary = get_products()
         File "/usr/lib/python2.6/site-packages/redhat_support_tool/helpers/common.py", line 125, in get_products
    productsAry = api.products.list()
         File "/usr/lib/python2.6/site-packages/redhat_support_lib/infrastructure/brokers.py", line 1398, in list
    doc, headers = self._getProxy().get(url)
         File "/usr/lib/python2.6/site-packages/redhat_support_lib/infrastructure/proxy.py", line 44, in get
    return self.request(method='GET', url=url, headers=headers)
         File "/usr/lib/python2.6/site-packages/redhat_support_lib/infrastructure/proxy.py", line 120, in request
    conn=self.getConnectionsPool().getConnection())
         File "/usr/lib/python2.6/site-packages/redhat_support_lib/infrastructure/proxy.py", line 138, in __doRequest
    raise RequestError(response.status, response.reason, response.read())
       RequestError: Strata API request failure,
    
SBR
Category
Tags

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.