pgadmin4 icon indicating copy to clipboard operation
pgadmin4 copied to clipboard

Deploy Cloud Instance Google Cloud SQL -

Open tobese opened this issue 8 months ago • 3 comments

Go to:

  1. Go to 'Deploy Clod Instance'
  2. Click on 'Google Cloud SQL'
  3. Authenticate
  4. Watch Project Dropdown loading...

It turns out that there is a problem with the account setup that is silently swallowed. Fortunately it is saved in the log.

Desktop (please complete the following information):

  • OS: macOS Sequia 16.3.2
  • Version: 9.1
  • Mode: Desktop
  • Package type: Python

Additional context

What I think it's relevant log info: File "/Applications/pgAdmin 4.app/Contents/Resources/web/pgadmin/authenticate/mfa/utils.py", line 171, in mfa_enabled return execute_if_disabled() File "/Applications/pgAdmin 4.app/Contents/Resources/web/pgadmin/authenticate/mfa/utils.py", line 297, in execute_func return wrapped(*args, **kwargs) File "/Applications/pgAdmin 4.app/Contents/Resources/web/pgadmin/user_login_check.py", line 22, in wrapper return func(*args, **kwargs) File "/Applications/pgAdmin 4.app/Contents/Resources/web/pgadmin/misc/cloud/google/init.py", line 162, in get_projects projects_list = google_obj.get_projects() File "/Applications/pgAdmin 4.app/Contents/Resources/web/pgadmin/misc/cloud/google/init.py", line 439, in get_projects res = req.execute() File "/Applications/pgAdmin 4.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper return wrapped(*args, **kwargs) File "/Applications/pgAdmin 4.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/googleapiclient/http.py", line 938, in execute raise HttpError(resp, content, uri=self.uri) googleapiclient.errors.HttpError: <HttpError 403 when requesting https://cloudresourcemanager.googleapis.com/v1/projects?alt=json returned "Cloud Resource Manager API has not been used in project 706577269333 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=706577269333 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.". Details: "[{'@type': 'type.googleapis.com/google.rpc.ErrorInfo', 'reason': 'SERVICE_DISABLED', 'domain': 'googleapis.com', 'metadata': {'activationUrl': 'https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=706577269333', 'serviceTitle': 'Cloud Resource Manager API', 'containerInfo': '706577269333', 'service': 'cloudresourcemanager.googleapis.com', 'consumer': 'projects/706577269333'}}, {'@type': 'type.googleapis.com/google.rpc.LocalizedMessage', 'locale': 'en-US', 'message': 'Cloud Resource Manager API has not been used in project 706577269333 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=706577269333 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.'}, {'@type': 'type.googleapis.com/google.rpc.Help', 'links': [{'description': 'Google developers console API activation', 'url': 'https://console.developers.google.com/apis/api/cloudresourcemanager.googleapis.com/overview?project=706577269333'}]}]"> 2025-04-15 12:39:20,046: ERROR pgadmin: 'secondary_availability_zone' Traceback (most recent call last): File "/Applications/pgAdmin 4.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/flask/app.py", line 917, in full_dispatch_request rv = self.dispatch_request() File "/Applications/pgAdmin 4.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/flask/app.py", line 902, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "/Applications/pgAdmin 4.app/Contents/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/flask_login/utils.py", line 290, in decorated_view return current_app.ensure_sync(func)(*args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ File "/Applications/pgAdmin 4.app/Contents/Resources/web/pgadmin/authenticate/mfa/utils.py", line 304, in inner return mfa_enabled( if_else_func( ...<12 lines>... execute_func )

tobese avatar Apr 16 '25 09:04 tobese

pgadmin4 copy.log Hi, tried to use AWS and the affect was the same so I attach the log-file. The first line reveals a interesting message, partly in German :) "2025-04-22 11:49:35,085: WARNING werkzeug: Werkzeug appears to be used in a production deployment. Consider switching to a production web server instead." Hopefully this fix will lead to that an error message is shown also for AWS, otherwise I'll file another issue.

tobese avatar Apr 22 '25 10:04 tobese

@tobese Both the errors are due to insufficient permissions to respective cloud services/api. For google cloud deployment you need to enable below APIs from google cloud console - 1.Cloud Resource Manager API 2.Cloud SQL Admin API 3.Compute Engine API

For AWS - You need the user who access to the -

  1. describe_db_engine_versions
  2. describe_orderable_db_instance_options
  3. describe_db_instances

pgadmin will fix this issue so that these errors on shown on UI and user can take appropriate action.

yogeshmahajan-1903 avatar Apr 22 '25 11:04 yogeshmahajan-1903

Great, thx!

tobese avatar Apr 23 '25 04:04 tobese

Fixed in pgAdmin 4 v9.4. Verified with the candidate build on macOS.

Image

khushboovashi avatar May 28 '25 05:05 khushboovashi