← Back to team overview

cloud-init team mailing list archive

How to provision networking information in OpenSuse 15.2

 

Hello all,

I'm trying to use Cloud-Init to provision network configuration on a VM in VMware using OpenSuse 15.2 and Cloud-Init 20.2 (the latest version of cloud-init supported by OpenSuse).  The VM is itself created by Terraform, Terraform passes in the correct VMWare guestinfo variables (guestinfo.metadata, guestinfo.userdata) that contain the base64 encoded cloud-init config info.

First I discovered that network information can only be specified in guestinfo.metadata, and then it turns out that this information must not be specified in yaml, but in json format.  So I specified the JSON information in guestinfo.metadata for the VM.

Problem: no network configuration is carried out in OpenSuse by cloud-init, the IP address for eth0 does not change (it remains set to DHCP).  The guestinfo.userdata config is applied correctly by cloud-init and works fine.

Question: Is there something I'm missing or forgetting to do?

Here are the guestinfo.metadata JSON contents:

{
  "network-config": {
    "version": 1,
    "config": [
      {
        "name":"lo",
        "type":"physical",
        "subnets":{
          "control":"auto",
          "type":"loopback"
        }
      },
      {
        "name":"eth0",
        "type":"physical",
        "subnets":{
          "type":"static",
          "address":"10.150.86.170",
          "netmask":"255.255.255.128",
          "gateway":"10.150.86.1"
        }
      }
    ]
  }
}

Thanks for any help,

Ravik Tupja
Sen. Software Developer
Windstream Communications



Sensitivity: Internal

This email message and any attachments are for the sole use of the intended recipient(s). Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message and any attachments.