Bug 2031101

Summary: Exposed route host to image registry” connecting successfully to invalid registry “xyz.com”
Product: Migration Toolkit for Containers Reporter: ssingla
Component: ControllerAssignee: John Matthews <jmatthew>
Status: ASSIGNED --- QA Contact: Xin jiang <xjiang>
Severity: low Docs Contact: Richard Hoch <rhoch>
Priority: low    
Version: 1.6.3   
Target Milestone: ---   
Target Release: 1.6.6   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2048537 (view as bug list) Environment:
Last Closed: 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:
Bug Depends On:    
Bug Blocks: 2048537    
Attachments:
Description Flags
Screenshot none

Description ssingla 2021-12-10 14:04:17 UTC
Created attachment 1845647 [details]
Screenshot

Severity: Low
Priority: Low

Description of problem: 
When I enter "xyz.com" in "Expose route host to image registry" field, It shows connection successful.

Version-Release number of selected component (if applicable):
MTC 1.6.3
SOURCE CLUSTER: AWS 3.11 MTC 1.5.3 
TARGET CLUSTER: AWS 4.9 MTC 1.6.3 (CONTROLLER)

How reproducible:
Always

Steps to reproduce:
1.  Login to the MTC console 

2. Go to the “Clusters” page and edit the non-host cluster using Kebab menu 

3. Enter “xyz.com” to the field “Exposed route host to image registry” and Click on “Update Cluster”

Actual result:

The UI shows connection successful

Expected result:

The connection should fail as it is not a valid route.

Comment 1 Xin jiang 2021-12-10 14:33:30 UTC
Sachin:

When I enter "xyz.com" in "Expose route host to image registry" field, It shows connection successful.
But this is happening only with this string or sometimes with "xyza.com"
For all others invalid values that I tried, TestConnect is failing as expected.

Comment 2 Pranav Gaikwad 2022-02-28 08:08:45 UTC
OpenShift image registries listen on API path "/v2". The MigCluster controller simply issues a GET request at the API path on provided Registry URL. If a response is not an error, it validates the Registry URL. If the response results in an error, it fails the validation. Now the fun part, "https://xyz.com/v2" actually is a valid API path and returns a 200 when a GET request is made. Hence this bug. To solve it, we need a more sophisticated health check mechanism to determine whether provided URL is valid or not.