no way to provide vendor metadata

Bug #1777714 reported by Shane Peters on 2018-06-19
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Charm Helpers
Undecided
Rodrigo Barbieri
OpenStack neutron-gateway charm
Undecided
Shane Peters
OpenStack nova-cloud-controller charm
Undecided
Rodrigo Barbieri
OpenStack nova-compute charm
Undecided
Rodrigo Barbieri

Bug Description

The charm doesn't provide a way to provision vendor_data to VMs.

Being able to enable and configure vendor_data would help alleviate the need to spin custom images for things like package mirrors, timezones, or network proxies.

# More on Vendor Data
https://docs.openstack.org/nova/latest/user/vendordata.html

Tags: sts Edit Tag help
Shane Peters (shaner) on 2018-06-25
Changed in charm-neutron-gateway:
assignee: nobody → Shane Peters (shaner)
summary: - no way to provide vendor_data metadata
+ no way to provide vendor metadata
Shane Peters (shaner) on 2018-06-25
Changed in charm-neutron-gateway:
status: New → Confirmed
status: Confirmed → In Progress

Reviewed: https://review.openstack.org/577859
Committed: https://git.openstack.org/cgit/openstack/charm-neutron-gateway/commit/?id=b355ea0473af5f1cf47c23ac5dadbeea52942bb0
Submitter: Zuul
Branch: master

commit b355ea0473af5f1cf47c23ac5dadbeea52942bb0
Author: Shane Peters <email address hidden>
Date: Mon Jun 25 12:07:49 2018 -0400

    Add functionality for vendor_data

    Using vendor metadata helps alleviate the need to spin custom images
    for things like package mirrors, timezones, or network proxies.

    Adds new config option 'vendor-data' which takes a JSON formated
    string to be used as static vendor metadata.

    Adds new config option 'vendor-data-url' which takes a URL which
    serves dynamic JSON formatted vendor metadata.

    Adds new NovaMetadataContext class which writes
    /etc/nova/vendor_data.json and enables it via nova.conf.

    Closes-Bug: 1777714

    Change-Id: I1d70804e59d42b0651a462c81e01d9c95626f27d

Changed in charm-neutron-gateway:
status: In Progress → Fix Committed
David Ames (thedac) on 2018-09-06
Changed in charm-neutron-gateway:
milestone: none → 18.08
James Page (james-page) on 2018-09-12
Changed in charm-neutron-gateway:
status: Fix Committed → Fix Released

This bug is still present when the cloud is deployed using DVR + L3HA. In this case, the metadata is served from the computes, and setting the config in neutron-gateway does not cause the change to propagate to the compute notes

Changed in charm-neutron-openvswitch:
status: New → Triaged
importance: Undecided → High
no longer affects: charm-neutron-openvswitch

charm-nova-compute already has vendor-data config. Additionally, for all deploys using Queens or later, this configuration should be used rather than the neutron-gateway version.

Does the charm-nova-compute based configuration not work as you expect when mixed with DVR?

Changed in charm-nova-compute:
status: New → Incomplete
Changed in charm-nova-cloud-controller:
status: New → Incomplete

Can you please include more details about what you're trying to accomplish, and with what versions of both OpenStack and the charms?

Changed in charm-nova-cloud-controller:
assignee: nobody → Rodrigo Barbieri (rodrigo-barbieri2010)
Changed in charm-nova-compute:
assignee: nobody → Rodrigo Barbieri (rodrigo-barbieri2010)
Changed in charm-helpers:
assignee: nobody → Rodrigo Barbieri (rodrigo-barbieri2010)

Related fix proposed to branch: master
Review: https://review.opendev.org/659827

Changed in charm-nova-compute:
status: Incomplete → In Progress
Changed in charm-nova-cloud-controller:
status: Incomplete → In Progress
Changed in charm-helpers:
status: New → Fix Committed

Reviewed: https://review.opendev.org/659827
Committed: https://git.openstack.org/cgit/openstack/charm-neutron-gateway/commit/?id=206970c6c1302f235b569d6b1f194d002a1a2c9b
Submitter: Zuul
Branch: master

commit 206970c6c1302f235b569d6b1f194d002a1a2c9b
Author: Rodrigo Barbieri <email address hidden>
Date: Fri May 17 10:43:36 2019 -0300

    Replace nova vendor metadata code

    Two generic contexts to handle nova vendor metadata have
    been implemented in charm-helpers. So, replace the existing
    one here in order to simplify and unify the implementation
    across all charms that handle vendor metadata.

    Change-Id: I2a802c763f2f4403a6dfb17575aa742ca8072e96
    Related-Bug: #1777714

Added a new PR to fix a bug caused by the previous PR (324): https://github.com/juju/charm-helpers/pull/332

Reviewed: https://review.opendev.org/657672
Committed: https://git.openstack.org/cgit/openstack/charm-nova-compute/commit/?id=af051c4fba0b5ff2db62a908ab9fad688353750c
Submitter: Zuul
Branch: master

commit af051c4fba0b5ff2db62a908ab9fad688353750c
Author: Rodrigo Barbieri <email address hidden>
Date: Thu May 9 16:15:04 2019 -0300

    Propagate vendor_data from nova-cloud-controller

    When using DVR and L3HA neutron deployment options,
    Nova API Metadata requests are served from compute nodes,
    instead of from neutron-gateway nodes.

    This change allows nova-compute to receive vendor_data
    configuration values from nova-cloud-controller charm
    relation and write to nova-compute's nova.conf
    appropriately.

    This will be effictive for Queens and later OpenStack
    releases.

    Synced charm-helpers in order to import new context
    for writing the vendor_data.json file.

    Change-Id: I0c79e1bfac9fbe7009a7e862ad010cfa2de8cfda
    Closes-Bug: #1777714

Changed in charm-nova-compute:
status: In Progress → Fix Committed

Reviewed: https://review.opendev.org/658394
Committed: https://git.openstack.org/cgit/openstack/charm-nova-cloud-controller/commit/?id=a51efaf640b4138e3fd930fe6521ab6905bc2e0a
Submitter: Zuul
Branch: master

commit a51efaf640b4138e3fd930fe6521ab6905bc2e0a
Author: Rodrigo Barbieri <email address hidden>
Date: Fri May 10 11:38:53 2019 -0300

    Propagate vendor_data from nova-cloud-controller

    When using DVR and L3HA neutron deployment options,
    Nova API Metadata requests are served from compute nodes,
    instead of from neutron-gateway nodes.

    This change allows nova-cloud-controller to send vendor_data
    configuration values to nova-compute charm relation so it
    can write to nova-compute's nova.conf appropriately.

    Replaced the existing context logic with inheritance
    from a new context created in charm-helpers, so the
    logic can be shared across several charms that write
    vendor metadata to nova.conf and vendor_data.json.

    Also, small fix in the vendor-data and vendor-data-url
    descriptions, where it was incorrectly stating that such
    configuration would be effective in nova-cloud-controller
    on Queens release.

    The values set in vendor-data and vendor-data-url config
    options will always be propagated to nova-compute regardless
    of the OpenStack release. Those values will continue to only
    be effective in nova-cloud-controller nodes on Rocky release
    or later.

    Included sync of charm-helpers code in order to inherit
    the refactored vendor metadata contexts.

    Change-Id: If8373fc6b2d04dbc29ed07896d385ac920cae3f4
    Depends-On: I0c79e1bfac9fbe7009a7e862ad010cfa2de8cfda
    Closes-Bug: #1777714

Changed in charm-nova-cloud-controller:
status: In Progress → Fix Committed
James Page (james-page) on 2019-08-07
Changed in charm-nova-cloud-controller:
milestone: none → 19.07
Changed in charm-nova-compute:
milestone: none → 19.07
David Ames (thedac) on 2019-08-12
Changed in charm-nova-cloud-controller:
status: Fix Committed → Fix Released
Changed in charm-nova-compute:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers