FA: introduce versioning for cloud-init templates

Bug #1478549 reported by Alexander Gordeev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
Medium
Alexander Gordeev

Bug Description

right now, there's no any kind of versioning support for cloud-init templates.

It makes provisioning a node too risky for older version of fuel after upgrade. As cloud-init templates aligned with our custom build packages which may vary from one fuel release to another.

current version of fuel-agent with cloud-init templates is installed into bootstrap image. This image after upgrade will be replaced just to the newest one. cloud-init templates too. Therefore, it could break provisioning for old envs.

So, there's a flaw.

STR:
1) install 6.x version of fuel
2) deploy a cluster
3) upgrade fuel-master to 7.0
4) add new node to already deployed cluster

Actual result:
provisioning could lead to fail if cloud-init templates from 7.0 will be incompatible with 6.x environment.

Expected result:
provisioning succeeds. cloud-init templates for specific version of fuel will be applied, not just the newest one from 7.0

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-web (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/208568

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-agent (master)

Fix proposed to branch: master
Review: https://review.openstack.org/208571

Changed in fuel:
status: Confirmed → In Progress
Revision history for this message
Ihor Kalnytskyi (ikalnytskyi) wrote :

Why this issue is High? AFAIK, it's about tech-debt, not about fixing actual issue.

Revision history for this message
Alexander Gordeev (a-gordeev) wrote :

It could break deployment in old environment after upgrade.

once testing jobs which cover that scenario will be ready, we will know exactly all the issues.

Ok, it's medium, you're right.

Changed in fuel:
importance: High → Medium
Revision history for this message
Dmitry Pyzhov (dpyzhov) wrote :

Let's raise priority to High and return bug to 7.0 if there are real issues with the upgrade.

Changed in fuel:
milestone: 7.0 → 8.0
Dmitry Pyzhov (dpyzhov)
tags: added: tech-debt
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-web (master)

Reviewed: https://review.openstack.org/208568
Committed: https://git.openstack.org/cgit/stackforge/fuel-web/commit/?id=602ab1c1b3a7fb1dd5a805fcbac6e37106bd8d0e
Submitter: Jenkins
Branch: master

commit 602ab1c1b3a7fb1dd5a805fcbac6e37106bd8d0e
Author: Alexander Gordeev <email address hidden>
Date: Mon Aug 3 20:20:44 2015 +0300

    nailgun: Add 'cloud_init_templates' dict to provisioning serializer

    To choose appropriate cloud-init templates during provisioning,
    new field should be added to provisioning serializer.

    It contains a dict with filenames for cloud-init to be chosen.
    Every filename contains fuel environment version and operating
    system name.

    Eg.:

    "cloud_init_templates": {
        "boothook": "boothook_fuel_6.1_centos.jinja2",
        "cloud_config": "cloud_config_fuel_6.1_centos.jinja2",
        "meta_data": "meta_data_fuel_6.1_centos.jinja2",
    }

    Change-Id: I81b50863a58de10ee33c8064b38fc92ef7e1d86a
    Related-Bug: #1478549

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-agent (master)

Reviewed: https://review.openstack.org/208571
Committed: https://git.openstack.org/cgit/stackforge/fuel-agent/commit/?id=4352af292b152082f34ad5f957d13b535627ebc2
Submitter: Jenkins
Branch: master

commit 4352af292b152082f34ad5f957d13b535627ebc2
Author: Alexander Gordeev <email address hidden>
Date: Mon Aug 3 19:53:27 2015 +0300

    Add versioning for cloud-init templates

    Since cloud-init templates may vary from one release to another,
    fuel-agent should be able to choose appropriate version according to
    environment version provided in provision data.

    Due to matter of changes, only boothook templates were affected,
    the rest of templates haven't been changed yet.

    * add templates from 6.1/stable
    * add templates from 7.0/stable
    * rename meta-data to meta_data

    Change-Id: I03f9c304edb387435747c5f59d83516e8adcce9f
    Closes-Bug: #1478549
    Depends-On: I81b50863a58de10ee33c8064b38fc92ef7e1d86a

Changed in fuel:
status: In Progress → Fix Committed
Dmitry Pyzhov (dpyzhov)
tags: added: area-python
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.