<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, May 24, 2016 at 4:20 PM, Joshua Harlow <span dir="ltr"><<a href="mailto:harlowja@fastmail.com" target="_blank">harlowja@fastmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">Hi there all,<br>
<br>
I am working through code/refactoring in cloud-init to enable translation of the network_data.json file[1] provided by openstack (via nova via neutron?) into the equivalent sysconfig files (ubuntu files should already *mostly* work and systemd files are underway as well).<br>
<br>
Code for this sysconfig (WIP) is @ <a href="https://gist.github.com/harlowja/d63a36de0b405d83be9bd3222a5454a7" rel="noreferrer" target="_blank">https://gist.github.com/harlowja/d63a36de0b405d83be9bd3222a5454a7</a> (requires base branch <a href="https://code.launchpad.net/~harlowja/cloud-init/cloud-init-net-refactor" rel="noreferrer" target="_blank">https://code.launchpad.net/~harlowja/cloud-init/cloud-init-net-refactor</a> which did some tweaks to make things easier to work with).<br>
<br>
Sadly there has been some questions around certain format conversion and what it means when certain formats are given, for example in the following example:<br>
<br>
{<br>
  "services": [<br>
    {<br>
      "type": "dns",<br>
      "address": "172.19.0.12"<br>
    }<br>
  ],<br>
  "networks": [<br>
    {<br>
      "network_id": "dacd568d-5be6-4786-91fe-750c374b78b4",<br>
      "type": "ipv4",<br>
      "netmask": "255.255.252.0",<br>
      "link": "tap1a81968a-79",<br>
      "routes": [<br>
        {<br>
          "netmask": "0.0.0.0",<br>
          "network": "0.0.0.0",<br>
          "gateway": "172.19.3.254"<br>
        }<br>
      ],<br>
      "ip_address": "172.19.1.34",<br>
      "id": "network0"<br>
    }<br>
  ],<br>
  "links": [<br>
    {<br>
      "ethernet_mac_address": "fa:16:3e:ed:9a:59",<br>
      "mtu": null,<br>
      "type": "bridge",<br>
      "id": "tap1a81968a-79",<br>
      "vif_id": "1a81968a-797a-400f-8a80-567f997eb93f"<br>
    }<br>
  ]<br>
}<br>
<br>
In the cloud-init code what happens is that the links get connected to the networks and this gets then internally parsed, but for the bridge type listed here it appears information is missing about exactly what to bridge to (eth0, ethX? something else)?<br>
<br>
Should the 'bridge' type just be ignored and it should just be treated as a physical device type (which will cause a different set of logic in cloud-init to apply); something else?<br></blockquote><div><br></div><div>Thanks Josh,</div><div><br></div><div>In particular, I'm hoping to clarify that the spec is meant to describe guest network configuration (be that a baremetal instance in Ironic or a VM).  If that holds, then I think</div><div>exposing the compute node config (LinuxBridge in this case) into guest network config is confusing, and instead the network_data.json should have had type: vif or type: phys.</div><div><br></div><div>The same holds true for ovs setup's, we've seen this network_data.json:</div><div><br></div><div><br></div><div><a href="http://paste.openstack.org/show/498749/">http://paste.openstack.org/show/498749/</a><br></div><div><br></div><div>then ovs setups should emit type: vif  or type: phys to indicate a guest 'physical' interface.</div><div><br></div><div>Thanks,</div><div>Ryan</div></div></div></div>