cloudfoundry / cloud-service-broker

OSBAPI service broker that uses Terraform to provision and bind services. Derived from https://github.com/GoogleCloudPlatform/gcp-service-broker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] Unable to bind Azure MySQL Basic tier database instance

claassen opened this issue · comments

Description

When trying to create a service key for bind an application to an Azure MySQL instance created with Basic tier, the broker times out and broker logs show the following error:

2020-11-10T09:13:02.14-0500 [APP/PROC/WEB/0] ERR {"timestamp":"1605017582.143054008","source":"cloud-service-broker","message":"cloud-service-broker.bind.unknown-error","log_level":2,"data":{"binding-id":"165cf2c3-bcee-48c9-b992-1d18d23e7aa1","error":"Error: Could not connect to server: Error 9009: Client connections to Basic tier servers through Virtual Network Service Endpoints are not supported. Virtual Network Service Endpoints are supported for General Purpose and Memory Optimized severs.\u0000  on brokertemplate/definition.tf line 42, in resource \"mysql_user\" \"newuser\":  42: resource \"mysql_user\" \"newuser\" { exit status 1","instance-id":"253d7f39-4747-472c-b2cd-42869276aa94","session":"16"}}

Network connectivity does appear to work though from the cloud service broker app:

cf ssh cloud-service-broker
...
vcap@cb9da572-9ca3-480e-6646-7ca4:~$ nc -zv 9o0zbkwe.mysql.database.azure.com 3306
Connection to 9o0zbkwe.mysql.database.azure.com 3306 port [tcp/mysql] succeeded!

Expected Behavior

Service instance should bind successfully.

Actual Behavior

Binding fails with a timeout.

Possible Fix

?

Steps to Reproduce

  1. cf create-service csb-azure-mysql basic test-db
  2. cf create-service-key test-db testkey OR bind service instance to an app

Context

We have created a custom plan for Basic tier MySQL database:

{
        "name": "basic",
        "id": "3de9246d-10da-47e7-afbd-614c1f2ffd2d",
        "description": "B_Gen5_1 with 5GB storage",
        "sku_name": "B_Gen5_1",
        "storage_gb": 5,
        "use_tls": true,
        "tls_min_version": "TLS1_2"
}

Your Environment

  • Version used: sb-0.2.0-rc.7-azure-1.0.0-rc.8
  • Platform (Azure/AWS/GCP): Azure
  • Applicable Services: csb-azure-mysql

This seems like it may just be an Azure limitation, will likely close this issue when I have a better understanding.