when using config drive BaseOpenStackService does not support networking exposed through network_data.json

Bug #1647394 reported by Ruslan Lutsenko on 2016-12-05
32
This bug affects 7 people
Affects Status Importance Assigned to Milestone
cloudbase-init
Undecided
Unassigned

Bug Description

We use openstack Newton with config drive enabled.
Starting LIBERTY = '2015-10-15'openstack networking details provided in the separate json file "network_data.json"

It seem currently cloudbase-init reads only user_metadata.json end expects key "network_config" which is not the case in the recent versions of the openstack.
https://github.com/openstack/cloudbase-init/blob/master/cloudbaseinit/metadata/services/baseopenstackservice.py#L71

Because of this cloudbaseinit.plugins.common.networkconfig.NetworkConfigPlugin silently skips networking part.

Expected behaviour:

- Support new meta format with "network_data.json"
- Extend logging with warning/error message in case NetworkConfigPlugin enabled and networking configuration can not be found in metadata.

Linux cloud-init already has support of the "network_data" : https://git.launchpad.net/cloud-init/tree/cloudinit/sources/helpers/openstack.py#n216

{"services": [{"type": "dns", "address": "8.8.8.8"}], "networks": [{"network_id": "a7ffd6e4-3600-4d21-a785-4c1f89101b6f", "type": "ipv4", "netmask": "255.255.255.128", "link": "tap6c24009c-9c", "routes": [{"netmask": "0.0.0.0", "network": "0.0.0.0", "gateway": "172.16.16.126"}], "ip_address": "172.16.16.6", "id": "network0"}], "links": [{"ethernet_mac_address": "fa:16:3e:98:28:83", "mtu": 1500, "type": "bridge", "id": "tap6c24009c-9c", "vif_id": "6c24009c-9c51-4a01-bccb-0488fc3d539d"}]}

description: updated

{
    "admin_pass": "...",
    "availability_zone": "nova",
    "devices": [],
    "hostname": "win-debug.novalocal",
    "keys": [
        { "data": "...",
            "name": "...",
            "type": "ssh"
        }
    ],
    "launch_index": 0,
    "meta": {
        "admin_pass": "..."
    },
    "name": "win_debug",
    "project_id": "4454e3900c9d43aeae...",
    "public_keys": {

    }, "random_seed": "..."
    "uuid": "..."
}

Adrian Vladu (avladu) on 2017-03-17
Changed in cloudbase-init:
status: New → Confirmed
Adrian Vladu (avladu) wrote :

Hello,

For the moment, you can use the cloudbase-init functionality, by setting in the nova compute config file:

[DEFAULT]
flat_injected=true

Thanks,
Adrian Vladu

Marking as invalid as this is a new feature request, not a bug.
Here's the corresponding blueprint: https://blueprints.launchpad.net/cloudbase-init/+spec/json-network-config

Changed in cloudbase-init:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers