Stop using hard coded list of packages during creating IBP

Bug #1538140 reported by Albert Syriy
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
Medium
Alexander Saprykin
8.0.x
Won't Fix
High
Alexander Saprykin

Bug Description

The list of packages are using for building IBP images is hard coded now. See for details [1]. [2]
It disable user to add a new package without changing code of the fuel-agent.
It's a sort of blocker for adding/removing drivers/kernel modules.
Please provide a way for managing package list (adding/removing the packages) by using a config file.

[1] https://github.com/openstack/fuel-agent/blob/9bc9b160bac48b9332a38b78e62330622d6c2750/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/settings.yaml.sample#L18-l41

[2] https://github.com/openstack/fuel-agent/blob/95fe335f2451703e68318787196a1ea4648f94e3/fuel_agent/drivers/nailgun.py#L669-L719

Revision history for this message
Aleksey Zvyagintsev (azvyagintsev) wrote :

# fuel-bootstrap help build
  --no-default-packages
                        Do not append default packages
  --package PKGNAME The option can be given multiple times, all specified
                        packages and their dependencies will be installed.

Changed in fuel:
importance: Critical → Medium
assignee: nobody → Fuel Python Team (fuel-python)
milestone: 8.0 → 9.0
tags: added: area-python
Changed in fuel:
status: New → Confirmed
Revision history for this message
Arthur Svechnikov (asvechnikov) wrote :

You can use CLI tool fuel-bootstrap as Aleksey mentioned above or you can manage packages by editing of /etc/fuel-bootstrap-cli/fuel_bootstrap_cli.yaml

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

Arthur, why did you move this bug to Invalid? If I understand things right, it's still valid for IBP case - you can't pass custom set of packages for Ubuntu provisioning image.

Changed in fuel:
status: Invalid → Confirmed
Revision history for this message
Ivan Ponomarev (ivanzipfer) wrote :

I agree that [2] should be moved to configuration file.
[1] settings.yaml - looks like normal conf file

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

> I agree that [2] should be moved to configuration file.

IBP images produced on per cluster basis. Therefore, I believe it's a matter for cluster setting and should be handled at nailgun side.

Changed in fuel:
assignee: Fuel Python Team (fuel-python) → Alexander Saprykin (cutwater)
Revision history for this message
Oleg S. Gelbukh (gelbuhos) wrote :

+1 for handling packages list as a cluster attribute, and in future add an ability to customize the list of packages per node.

This should help solve issues with handling legacy environments with upgraded Fuel Admin node: we will know exactly which packages were used to build IBP image in the environment.

Changed in fuel:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (master)

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

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

Reviewed: https://review.openstack.org/273974
Committed: https://git.openstack.org/cgit/openstack/fuel-web/commit/?id=4ee42effe27694bd231663e3d0f10c0c42877177
Submitter: Jenkins
Branch: master

commit 4ee42effe27694bd231663e3d0f10c0c42877177
Author: Alexander Saprykin <email address hidden>
Date: Fri Jan 29 11:09:41 2016 +0100

    Move IBP packages list to release attributes

    List of ubuntu packages that are installed during provisioning was
    hardcoded in fuel-agent.
    Add list of packages to cluster attributes, so it
    can be configured in UI or CLI.

    Change-Id: I858cebd868d2e679837bb129bdd5e1194fdf3a32
    Closes-Bug: #1538140

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
Aleksey Zvyagintsev (azvyagintsev) wrote :

Guys, is it any chance to backport in to 8.0 ?

Albert Syriy (asyriy)
Changed in fuel:
milestone: 9.0 → 8.0-updates
milestone: 8.0-updates → 8.0-mu-1
milestone: 8.0-mu-1 → 9.0
milestone: 9.0 → 8.0-mu-1
milestone: 8.0-mu-1 → 9.0
Revision history for this message
Albert Syriy (asyriy) wrote :

We really need it in 8.0 to let customers manipulate with list of packages installed on IBP (Ubuntu).

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (stable/8.0)

Fix proposed to branch: stable/8.0
Review: https://review.openstack.org/298632

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Fix proposed to branch: stable/8.0
Review: https://review.openstack.org/302764

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on fuel-web (stable/8.0)

Change abandoned by Alexander Saprykin (<email address hidden>) on branch: stable/8.0
Review: https://review.openstack.org/298632

Revision history for this message
Alexander Saprykin (cutwater) wrote :

Closed as Won't fix since it's not a customer-found bug, so it will not be backported to 8.0

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Change abandoned by Alexander Saprykin (<email address hidden>) on branch: stable/8.0
Review: https://review.openstack.org/302764
Reason: Not a customer-found bug. Won't be included into 8.0

Revision history for this message
Ilya Kharin (akscram) wrote :

I disagree how it was implemented and merged into the 9.0 release. In this release new type for data, such as a list of strings, was implemented [1], it is possible to use text_list instead of text. I suggest to use the text_list type as a more appropriate format for such data.

[1] https://review.openstack.org/#/c/284053/

Revision history for this message
Ihor Kalnytskyi (ikalnytskyi) wrote :

Ilya,

If I'm not mistaken, It was implemented much before "text_list" was introduced. If you feel like it's better to use "text_list", please feel free to provide a patch.

Revision history for this message
Volodymyr Shypyguzov (vshypyguzov) wrote :

Hi, guys. I have one question regarding IBP image customizing

Should Fuel rebuild image after changing initial packages list?

Steps to reproduce:
1. Create environment
2. Provision one node
3. Add new package to the initial packages list
4. Provision one more node

As I see now Fuel uses image built on step 2. Is this expected behavior?

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

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

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

@Volodymyr Shypyguzov (vshypyguzov)

> As I see now Fuel uses image built on step 2. Is this expected behavior?

Yes, that is totally expected behaviour. If images for the current environment already presented they won't be rebuild anyway. To force rebuild of images, you just need to delete them.

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

Reviewed: https://review.openstack.org/309054
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=7f6977c52b1ec7336933f848a8c351b936dbbd00
Submitter: Jenkins
Branch: master

commit 7f6977c52b1ec7336933f848a8c351b936dbbd00
Author: Volodymyr Shypyguzov <email address hidden>
Date: Thu Apr 21 17:17:46 2016 +0300

    Add tests for IBP

    Add tests for Image Based Provisioning
    +Add test default packages are installed after node provisioning
    +Add test adding package to list installs it
    +Add test removing package from list doesn't install it
    +Add test adding wrong package name breaks provisioning

    Related-bug: #1538140

    Change-Id: I71b89b7e14547031eb207f89fab0cc6bab788330

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-qa (stable/mitaka)

Related fix proposed to branch: stable/mitaka
Review: https://review.openstack.org/316686

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-qa (stable/mitaka)

Reviewed: https://review.openstack.org/316686
Committed: https://git.openstack.org/cgit/openstack/fuel-qa/commit/?id=ef9698cf30536953cb2e5da6e4d4fee3aa851e06
Submitter: Jenkins
Branch: stable/mitaka

commit ef9698cf30536953cb2e5da6e4d4fee3aa851e06
Author: Volodymyr Shypyguzov <email address hidden>
Date: Thu Apr 21 17:17:46 2016 +0300

    Add tests for IBP

    Add tests for Image Based Provisioning
    +Add test default packages are installed after node provisioning
    +Add test adding package to list installs it
    +Add test removing package from list doesn't install it
    +Add test adding wrong package name breaks provisioning

    Related-bug: #1538140

    Change-Id: I71b89b7e14547031eb207f89fab0cc6bab788330

tags: added: in-stable-mitaka
Revision history for this message
Nastya Urlapova (aurlapova) wrote :

Test for IBP are passed on ISO #503:
https://product-ci.infra.mirantis.net/job/9.0.system_test.ubuntu.test_ibp/22/testReport/(root)/
check_ibp_add_package
check_ibp_add_wrong_package
check_ibp_default_package_list 13 min
check_ibp_remove_package

Changed in fuel:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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