Bug 2257371

Summary: [4.12]: external script - create-external-cluster-resources.py throwing error with Out of range IP addresses: xx.x.xxx.255
Product: [Red Hat Storage] Red Hat OpenShift Data Foundation Reporter: Vijay Avuthu <vavuthu>
Component: rookAssignee: Subham Rai <srai>
Status: CLOSED ERRATA QA Contact: Vijay Avuthu <vavuthu>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.12CC: hnallurv, kramdoss, odf-bz-bot, srai, tnielsen
Target Milestone: ---Keywords: Automation
Target Release: ODF 4.13.8Flags: kramdoss: needinfo+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 4.13.8-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-04-03 07:03:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vijay Avuthu 2024-01-09 05:46:27 UTC
Description of problem (please be detailed as possible and provide log
snippests):

in 4.12, external script create-external-cluster-resources.py is throwing error 
__main__.ExecutionFailureException: Out of range IP addresses: 1x.x.xxx.255

Version of all relevant components (if applicable):
ocs-registry:4.12.11-1

Does this issue impact your ability to continue to work with the product
(please explain in detail what is the user impact)?
Yes

Is there any workaround available to the best of your knowledge?
modify script

Rate from 1 - 5 the complexity of the scenario you performed that caused this
bug (1 - very simple, 5 - very complex)?
1/1

Can this issue reproducible?
Yes

Can this issue reproduce from the UI?
Not tried

If this is a regression, please provide more details to justify this:
No

Steps to Reproduce:
1. install ODF with external mode
2. run external script 
3.


Actual results:

2024-01-08 15:37:09  10:07:09 - MainThread - ocs_ci.deployment.helpers.external_cluster_helpers - ERROR  - Failed to run /tmp/external-cluster-details-exporter-gmru0fcl.py with parameters --rbd-data-pool-name rbd --rgw-endpoint 1x.x.xxx.xxx:80. Error: Traceback (most recent call last):
2024-01-08 15:37:09    File "/tmp/external-cluster-details-exporter-gmru0fcl.py", line 1833, in <module>
2024-01-08 15:37:09      raise err
2024-01-08 15:37:09    File "/tmp/external-cluster-details-exporter-gmru0fcl.py", line 1830, in <module>
2024-01-08 15:37:09      rjObj.main()
2024-01-08 15:37:09    File "/tmp/external-cluster-details-exporter-gmru0fcl.py", line 1810, in main
2024-01-08 15:37:09      generated_output = self.gen_json_out()
2024-01-08 15:37:09    File "/tmp/external-cluster-details-exporter-gmru0fcl.py", line 1535, in gen_json_out
2024-01-08 15:37:09      self._gen_output_map()
2024-01-08 15:37:09    File "/tmp/external-cluster-details-exporter-gmru0fcl.py", line 1471, in _gen_output_map
2024-01-08 15:37:09      ) = self.get_active_and_standby_mgrs()
2024-01-08 15:37:09    File "/tmp/external-cluster-details-exporter-gmru0fcl.py", line 799, in get_active_and_standby_mgrs
2024-01-08 15:37:09      self._invalid_endpoint(monitoring_endpoint)
2024-01-08 15:37:09    File "/tmp/external-cluster-details-exporter-gmru0fcl.py", line 567, in _invalid_endpoint
2024-01-08 15:37:09      raise ExecutionFailureException(
2024-01-08 15:37:09  __main__.ExecutionFailureException: Out of range IP addresses: 1x.x.xxx.255


Expected results:
script shouldn't fail.


Additional info:

script is checking each octet should be >0 and <255 which is failing here. 255 can be part of each octet.

job: https://url.corp.redhat.com/a502c43

Comment 7 Subham Rai 2024-02-01 05:55:03 UTC
are we good to merge the PR for 4.13.8?
@kramdoss

Comment 8 Vijay Avuthu 2024-03-25 05:29:17 UTC
Verified with build: ocs-registry:4.13.8-1

job: https://url.corp.redhat.com/7dcbf1a
logs: https://url.corp.redhat.com/29ab32f

No issues seen with normal flow.

> to test -ve scenario added  self._invalid_endpoint(self._arg_parser.rgw_endpoint) at line 1303

    def validate_rgw_endpoint(self, info_cap_supported):
        self._invalid_endpoint(self._arg_parser.rgw_endpoint)
        # if the 'cluster' instance is a dummy one,


> Failed as expected with Out of range IP addresses

# python3 /tmp/external-cluster-details-exporter-uhws2xrv.py --rbd-data-pool-name rbd --rgw-endpoint 10.x.xxx.275:80
Execution Failed: Out of range IP addresses: 10.x.xxx.275
Traceback (most recent call last):
  File "/tmp/external-cluster-details-exporter-uhws2xrv.py", line 1759, in <module>
    raise err
  File "/tmp/external-cluster-details-exporter-uhws2xrv.py", line 1756, in <module>
    rjObj.main()
  File "/tmp/external-cluster-details-exporter-uhws2xrv.py", line 1736, in main
    generated_output = self.gen_json_out()
  File "/tmp/external-cluster-details-exporter-uhws2xrv.py", line 1486, in gen_json_out
    self._gen_output_map()
  File "/tmp/external-cluster-details-exporter-uhws2xrv.py", line 1463, in _gen_output_map
    err = self.validate_rgw_endpoint(info_cap_supported)
  File "/tmp/external-cluster-details-exporter-uhws2xrv.py", line 1304, in validate_rgw_endpoint
    self._invalid_endpoint(self._arg_parser.rgw_endpoint)
  File "/tmp/external-cluster-details-exporter-uhws2xrv.py", line 553, in _invalid_endpoint
    raise ExecutionFailureException(f"Out of range IP addresses: {ipv4}")
__main__.ExecutionFailureException: Out of range IP addresses: 10.x.xxx.275

> with 255 octet

# python3 /tmp/external-cluster-details-exporter-uhws2xrv.py --rbd-data-pool-name rbd --rgw-endpoint 10.x.xxx.255:80
[{"name": "rook-ceph-mon-endpoints", "kind": "ConfigMap", "data": {"data": "ceph-ci-vavuthu22257371-5jqg4-4l7a35-node1-installer=10.x.xxx.xx:6789", "maxMonId": "0", "mapping": "{}"}}, ...]

Comment 13 errata-xmlrpc 2024-04-03 07:03:13 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Red Hat OpenShift Data Foundation 4.13.8 Bug Fix Update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2024:1657