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

[BUG] MySQL/MariaDB Hostname is seemingly ignored completely. Error message shows it trying to connect to local internet hostname (selfhosted) or one of the whitelist IPs (cloud version). #3615

Open
2 of 3 tasks
jontstaz opened this issue Dec 29, 2023 · 9 comments
Assignees
Labels
bug Something isn't working

Comments

@jontstaz
Copy link

jontstaz commented Dec 29, 2023

Description

Illa seemingly disregards the MySQL/MariaDB hostname and instead attempts to connect to one of the whitelist IPs (cloud) or your local hostname (self-hosted) instead...

Steps to reproduce

  1. Go to Resources
  2. Click on Create New
  3. Select either MySQL or MariaDB (Same behavior for both)
  4. Add MySQL credentials, including hostname (preferably AWS RDS Instance Hostname, eg. xxxxxxxxxxxx.xxxxx.ap-southeast-1.rds.amazonaws.com
  5. On the Illa Cloud version, you should see an error message such as: test resource connection error: Error 1045 (28000): Access denied for user 'root'@'146.190.0.234' (using password: YES) where 146.190.0.234 is, extremely confusingly, one of the IPs from the Allow IP addresses list.
  6. On the self-hosted Illa version, you should see an error message such as: test resource connection error: Error 1045 (28000): Access denied for user 'root'@'123-123-123-12.my-local-hostname.com' (using password: YES) where 123-123-123-12.my-local-hostname.com is your local hostname.

It seems there are some big problems with how the MySQL and MariaDB resource connections are setup. Despite what you put in the Hostname box, it seems to completely disregard it and then it attempts to connect to a (non-existent) MySQL instance on one of the Illa cloud whitelist IPs, or your local hostname on the self-hosted version. Why it would behave in such a way is completely beyond me and is extremely confusing to say the least. I'm surprised there aren't more issues about this. Perhaps the Hostname box is only configured to work with IP addresses and the bug only occurs when using an actual hostname as opposed to an IP address for the MySQL host.

Version

cloud

ILLA Builder Version

4.18

Browser

Edge, Chrome, Firefox

Operating System

  • macOS
  • Windows
  • Linux

Additional Information

No response

@jontstaz jontstaz added the bug Something isn't working label Dec 29, 2023
@AruSeito AruSeito assigned karminski and unassigned AruSeito Jan 3, 2024
@karminski
Copy link
Contributor

@jontstaz hi, we;ve fixed this issue, please recreate the resource and try again. We sincerely apologize for the inconvenience caused by the bug.

@jontstaz
Copy link
Author

jontstaz commented Jan 3, 2024

@jontstaz hi, we;ve fixed this issue, please recreate the resource and try again. We sincerely apologize for the inconvenience caused by the bug.

Hi, I just tried on the cloud version but I'm still getting the same error. I haven't tried the selfhosted version yet. Did you fix it on both?

@karminski
Copy link
Contributor

@jontstaz Hi, I'm sure I fixed it on both ends. For self-hosting, please try using the Docker image "illa-builder:v4.2.1". Kindly note that the resource needs to be recreated for the changes to take effect.

@karminski
Copy link
Contributor

@jontstaz Hi, does it work?

@jontstaz
Copy link
Author

@karminski - Hi, I can confirm it's still not working on Illa Cloud, not is it working on the self-hosted version. I made sure to pull the exact version you stated, Docker Image illa-builder:v4.2.1. I also purged all my cache and used a completely different browser to test the cloud version.

Selfhosted:
image

Cloud Version (as you can see, the IP 146.190.0.234 is still one of the whitelist IPs from the box..:
image
image

Very strange situation, I'm sure others who also use AWS' RDS databases would be facing identical issues. Would be great to see this fixed.

@karminski
Copy link
Contributor

@jontstaz Hello, please give it another try. We have made some attempts to resolve the issues. We use several database drivers, some of which require the connection DSN to be escaped, while others do not. Initially, we faced some challenges when dealing with the escape method. However, we have managed to solve it now.

@jontstaz
Copy link
Author

jontstaz commented Feb 5, 2024

@jontstaz Hello, please give it another try. We have made some attempts to resolve the issues. We use several database drivers, some of which require the connection DSN to be escaped, while others do not. Initially, we faced some challenges when dealing with the escape method. However, we have managed to solve it now.

Hi again @karminski ,

Unfortunately not. I just tested the cloud version again and I'm still facing the identical error. It's still showing that it's replacing my AWS RDS host with one of the IPs from the whitelist on the right-hand-side..
05 02_2024_18:29:38_grim

I'm yet to test the self-hosted version again.

Update: just pulled the latest self-hosted docker image and sadly I'm facing the same error. The issue seems not to be fixed.

@karminski
Copy link
Contributor

@jontstaz Could you please modify the MySQL instance to have a simple password (using only [A-Za-z0-9] characters), and then check if the issue is caused by a connection DSN password escape problem?

@karminski
Copy link
Contributor

@jontstaz Hello, I have successfully set up an AWS RDS instance and it is functioning perfectly with illa action.

image

image

About AWS RDS config:

I have created an instance with the following information:

(I have already deleted this instance after testing)
Engine type: MySQL
Engine Version: MySQL 8.0.35
Templates: Dev/Test
Availability and durability: Single DB Instance
Master username: root
Master password: zP?vD;L>^LT)dL?H.p|YjK,^2
DB instance class: db.m6gd.large
Compute resource: Don't connect to an EC2 compute resouece
Network type: IPv4
VPC: Create new VPC
DB subnet group: new
Public access: Yes
VPC security group (firewall): Create new
New VPC security group name: database-sg-1
RDS Proxy: No
Database port: 3306
Database authentication: Password authentication
Initial database name: illa_testing
DB parameter group: default.mysql8.0
Option group: default:mysql-8-0

image

The Secure Group settings are:

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants