huaweicloud / terraform-provider-huaweicloud

Terraform HuaweiCloud provider
https://www.terraform.io/docs/providers/huaweicloud/
Mozilla Public License 2.0
211 stars 159 forks source link

Sbercloud issue 4709 #317

Closed Aram1X closed 4 years ago

Aram1X commented 4 years ago

Problem 1: The DDS API does not list all available flavors for creating DDS, as the RDS API does for example.

I started testing the DDS TF resource.

I'm under impression that the work is still in progress.

The blocker is to get a list of valid instance types. I used the huaweicloud_dds_flavors_v3 data source but it doesn't seem to work. It returns just the first element:

code:

data "huaweicloud_dds_flavors_v3" "flavor" {

engine_name = "DDS-Community"

region = "ru-moscow-1"

}

output "dds_flavors" {

value = data.huaweicloud_dds_flavors_v3.flavor

}

result:

dds_flavors = {

"engine_name" = "DDS-Community"

"id" = "dds.mongodb.c6.medium.4.mongos"

"ram" = "4"

"region" = "ru-moscow-1"

"spec_code" = "dds.mongodb.c6.medium.4.mongos"

"type" = "mongos"

"vcpus" = "1"

}

expected result: the whole list of supported instance types, similar to huaweicloud_rds_flavors_v3.

I examined the flavors endpoint and this way got the list, so I finally was able to create the replica set with Terraform However, I'm not going to hardcode the instance type anywhere and need to query it via the data source that's why it's critical for me to get it working. I'm going to pass as input values ​​just the number of vpcus and amount of memory, along with the type (cluster or replica set), etc, and this way get the DDS instance type.

So, I expect to get a list of the available instance types similar to what I got directly from the API:

{

  "engine_name": "DDS-Community",

  "type": "mongos",

  "vcpus": "1",

  "ram": "4",

  "spec_code": "dds.mongodb.c6.medium.4.mongos",

  "az_status": {

    "ru-moscow-1a": "unsupported"

  }

}

Of course, it would be better to get that list filtered out and see just the supported instance types.

Problem 2: when the DDS creation is completed, the created resource is not displayed:

Second, I expect to see in the resource status output the endpoint similarly to what you present in the webUI:

Address

mongodb: // rwuser: ****@10.237.65.170: 8635,10.237.65.154: 8635 / test? authSource = admin & replicaSet = replica

Now, after I created the replica set, I don't see any endpoint details.

Note 3: confusion in subnet_id and network_id

Minor bug (likely ported from the RDS resource as the same bug exists there), you are asked to provide the subnet_id while you are expected to provide thenetwork_id.

Problem 4: when creating DDS it is not possible to enable / disable SSL support

That’d also be good if they added the SSL on / off toggle to the DDS resource.

Please correct these comments in the next Terraform release.

It would be very desirable to have a release date.

ShiChangkuo commented 4 years ago

@Aram1X sorry for late reply.

For problem 4, now the API has supported ssl_option parameter, will implement it soon; For problem 2, we can not get the endpoint details from API side, so do the provider;

For problem 1 and 3, both of them are all caused by historical reasons. and we will improve them to become more easier to use in the feature.