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

New Virtual SSD cloud servers types #62

Closed
JesusPerez opened this issue May 7, 2018 · 11 comments · Fixed by #63
Closed

New Virtual SSD cloud servers types #62

JesusPerez opened this issue May 7, 2018 · 11 comments · Fixed by #63
Labels
bug documentation instance Instance issues, bugs and feature requests

Comments

@JesusPerez
Copy link

Terraform v0.11.8-dev

  • provider.scaleway (unversioned)

Error: Error running plan: 4 error(s) occurred:

  • scaleway_server.master[1]: "type" must be one of ["ARM64-128GB" "ARM64-16GB" "ARM64-2GB" "ARM64-32GB" "ARM64-4GB" "ARM64-64GB" "ARM64-8GB" "C1" "C2L" "C2M" "C2S" "VC1L" "VC1M" "VC1S" "X64-120GB" "X64-15GB" "X64-30GB" "X64-60GB"]

When do you expect to support new virtual SSD cloud servers types ?
START1-XS START1-S START1-M START1-L
Old ones (VC??) probably will not work soon.
Any alternative ?
Could be an easy fix very helpful now.

Thanks Regards

@nicolai86
Copy link
Contributor

@JesusPerez thanks for the report.
We use the list of available instance types to validate server types, as returned by the Scaleway API.

I need to do a deep dive to confirm but their API might not include the new server types, leading to this issue. Otherwise it should just work.

However, there should be a way to disable this check for this specific scenario; I’m sorry for the inconvenience.

@JesusPerez
Copy link
Author

@nicolai86 thanks answer this.

To overcome this issue I had to make a simple script to build servers with new server types for k8s clusters, it is done with scw so I can confirm that it works with:

scw version
Client version: v1.16+dev
Go version (client): go1.10.1
Git commit (client): 53548bf
OS/Arch (client): darwin/amd64

@hadret
Copy link

hadret commented May 8, 2018

hi!

I'm not sure which part exactly (code-wise) is responsible for querying API of the Scaleway, but one can use scw products --short servers to print the available types:

ARM64-128GB
ARM64-16GB
ARM64-2GB
ARM64-32GB
ARM64-4GB
ARM64-64GB
ARM64-8GB
C1
C2L
C2M
C2S
START1-L
START1-M
START1-S
START1-XS
VC1L
VC1M
VC1S
X64-120GB
X64-15GB
X64-30GB
X64-60GB

This means that the proper data is there on the API-side, it's just somehow lost after the call is made.

@nicolai86
Copy link
Contributor

@hadret
Copy link

hadret commented May 8, 2018

Right, however the function itself is part of the scaleway-cli fork (scaleway-sdk), here: https://github.com/nicolai86/scaleway-sdk/blob/master/availability.go#L22

Is it possible that this call has changed recently?

@JesusPerez
Copy link
Author

So .. who, how and when will it be fixed ?
Thanks.

@nicolai86
Copy link
Contributor

Just verified via curl, the scaleway API does not return availability for the new server types:

$ curl 'https://availability.scaleway.com/availability.json'
{
      "create_default": "ARM64-4GB",
      "VC1S": true,
      "VC1M": true,
      "VC1L": true,
      "C1": true,
      "C2S": true,
      "C2M": true,
      "C2L": true,
      "ARM64-2GB": true,
      "ARM64-4GB": true,
      "ARM64-8GB": true,
      "ARM64-16GB": true,
      "ARM64-32GB": true,
      "ARM64-64GB": true,
      "ARM64-128GB": true,
      "X64-15GB": true,
      "X64-30GB": true,
      "X64-60GB": true,
      "X64-120GB": true
    }

I'll cut Scaleway a support ticket and ask if they plan to support this.

@thriqon
Copy link

thriqon commented May 11, 2018

I suspect that Scaleway does not consider this endpoint to be part of their API. Judging from the CORS headers it was probably used for their frontend and not to be used by other users. The relevant code was inserted here: nicolai86/scaleway-sdk@33df10c

Recently, Scaleway started to offer their products subcommand with scw (scaleway/scaleway-cli@cfa747c#diff-13d216b12482e706601d65bcc87deb38) using the (as of yet undocumented) endpoint: https://cp-par1.scaleway.com/products/servers

The web interface currently uses another endpoint: https://api.scaleway.com/products/servers/availability

In conclusion: I think Scaleway does not consider this part of their API and simply forgot to update their products there. It's quite possible that nobody at Scaleway remembers this endpoint at all...

@thriqon
Copy link

thriqon commented May 11, 2018

FWIW, I managed to trick Terraform into working by manually hosting another availability.json and overriding the endpoint like this:

SCW_AVAILABILITY_API=http://localhost:8080 terraform plan

@nicolai86
Copy link
Contributor

@thriqon thank you for diving deep. The scaleway support team gave me two pieces of information:

Given this I’ll update the provider to use a different API endpoint, as it seems to be more up2date.

nicolai86 added a commit that referenced this issue May 15, 2018
nicolai86 added a commit that referenced this issue May 15, 2018
@nicolai86
Copy link
Contributor

@thriqon @JesusPerez with the 1.4.1 release of the provider you can use the new SSD typed servers now.
Let me know if you run into any issues.

@remyleone remyleone added the instance Instance issues, bugs and feature requests label Jul 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug documentation instance Instance issues, bugs and feature requests
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants