how do I deploy instances in a non-VLAN datacenter
I've been trying to deploy an instance in Fremont, which is a non-VLAN datacenter. When I do the API call, I get the error "This Linode's region does not support VLANs at this time.". Note that I am not trying to use VLANs, I just want the public IP address configured. I have pasted the config below, with the only changes being redacting the private fields. If I remove the "interfaces" key altogether the node is created successfully but not network accessible. What should I enter to just get connectivity with the public IP and nothing else?
{
"backups_enabled": false,
"swap_size": 512,
"image": "linode/ubuntu22.04",
"root_pass": "??????",
"stackscript_id": ?????,
"interfaces": [
{
"purpose": "public",
"label": null,
"ipam_address": null
}
],
"authorized_keys": [
"??????"
],
"booted": true,
"label": "?????",
"type": "g6-nanode-1",
"region": "us-west",
"group": "Linode-Group"
}
1 Reply
I took some time to replicate your error with an API call to launch a similar setup in my account. I matched as many of the values from your call as I could. I also got the error message "This Linode's region does not support VLANs at this time" when I had the interfaces key defined. When I removed the interfaces key and made the call, I couldn't ping my Linode. There are 2 ways I was able to fix this.
The important piece that I played with here was our Network Helper tool. Since you mentioned that your Linode booted but wasn't network accessible, it sounded like your Linode's IP address wasn't getting assigned to the interface. That's something that Network Helper will do on boot, so I turned off Network Helper globally in my account and was able to replicate the lack of network connectivity that you described.
The simple fix for me was to keep Network Helper globally disabled and also leave the interfaces key in my call BUT leave it's value as an empty array. i.e -->
"interfaces": []
It seems that when there are any defined values within the array, it's recognized as vlan setup. After I made the call with this empty array, I was able to ping my Linode. The API documentation says that an empty interfaces array results in a default public interface configuration only … which sounds like what you wanted to accomplish.The next option was enabling Network Helper. Now, if you did have Network Helper disabled globally, it's probably purposeful and you may not want to enable it globally because it can potentially overwrite any previous network configurations for other Linodes you may have. You can enable it for a single Linode within the API call though. So, this time, I left Network Helper globally disabled but enabled it for the new Linode by adding the helpers key and removing the interfaces key in my call. i.e -->
"helpers": { "network": true }
Best of luck troubleshooting this. If this worked for you, let me know in a reply. You can also reply with any other errors you ran into when trying the options I suggested.