Single plugin not getting updated.

Bug #1861699 reported by Maxim V. Yefimov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
Medium
Oleksiy Molchanov

Bug Description

Steps to reproduce the issue
Following are the steps to reproduce the issue:
Source plugin: <<plugin-name>>-version 1.0.11
Target plugin: <<plugin-name>>-version 1.0.14
1.Place the target plugin in required Fuel directory and perform the plugin update.
2. Check if the target plugin is updated in fuel plugins list.
3. Execute the plugin tasks to update the plugin information in the slave nodes(computes):
fuel node --node <node_ids> --tasks upload_configuration plugins_rsync plugins_setup_repositories setup_repositories <<plugin-installation-task>> --force
where <node_ids> is a comma-separated list of all the node IDs in the fuel node command.
Example command for a system with 9 nodes:
fuel node --node 1,2,3,4,5,6,7,8,9 --tasks upload_configuration plugins_rsync plugins_setup_repositories setup_repositories eri_hds_agent_install --force
Once the tasks are completely executed and the node is in operational state, log onto the computes and check the package version:
apt-cache policy <<package-name>>
The installed and candidate version remains the same i.e, the plugin version does not change and update does not happen.

Workaround: Running apt-get update on all the computes manually and checking package version on computes using:
apt-cache policy <<package-name>>
The installed and candidate version now changes on the computes, after that rerunning the tasks updates the plugin:
fuel node --node <node_ids> --tasks upload_configuration plugins_rsync plugins_setup_repositories setup_repositories <<plugin-installation-task>> --force
Analysis/Observation:
It looks like setup_repositories task only does an apt-get update when there is a change in apt source files and without the update the compute is not aware of the new version.
Apt::Source<||> ~> Exec<| title == 'apt_update' |>
Exec<| title == 'apt_update' |> -> Package<||>

Compute Puppet log:
2020-01-31 07:07:40 +0000 Scope(Class[Osnailyfacter::Fuel_pkgs::Setup_repositories]) (notice): MODULAR: fuel_pkgs/setup_repositories.pp
2020-01-31 07:07:40 +0000 Puppet (notice): Compiled catalog for compute-0-1.domain.tld in environment production in 0.53 seconds
2020-01-31 07:07:41 +0000 /Stage[main]/Osnailyfacter::Fuel_pkgs::Setup_repositories/Apt::Conf[allow-unathenticated]/Apt::Setting[conf-allow-unathenticated]/File[/etc/apt/apt.conf.d/02allow-unathenticated]/content (notice): content changed '{md5}f8f5b8bdc05f83bb01e761dec7cec6f6' to '{md5}68f279641bafe8237566c000ffce90ef'
2020-01-31 07:07:41 +0000 Puppet (notice): Finished catalog run in 0.43 seconds
2020-01-31 07:07:58 +0000 Scope(Class[main]) (notice): MODULAR: ericsson_hds_agent/install
2020-01-31 07:07:59 +0000 Puppet (notice): Compiled catalog for compute-0-1.domain.tld in environment production in 0.27 seconds
2020-01-31 07:07:59 +0000 /Stage[main]/Main/Exec[hds-agent - debconf-set-selections server]/returns (notice): executed successfully
2020-01-31 07:07:59 +0000 /Stage[main]/Main/Exec[hds-agent - debconf-set-selections frequency]/returns (notice): executed successfully
2020-01-31 07:07:59 +0000 /Stage[main]/Main/Exec[hds-agent - debconf-set-selections interface]/returns (notice): executed successfully
2020-01-31 07:08:00 +0000 Puppet (notice): Finished catalog run in 0.95 seconds

Changed in fuel:
milestone: none → 9.x-updates
assignee: nobody → MOS Maintenance (mos-maintenance)
importance: Undecided → Medium
status: New → Confirmed
Changed in fuel:
assignee: MOS Maintenance (mos-maintenance) → Oleksiy Molchanov (omolchanov)
Revision history for this message
Oleksiy Molchanov (omolchanov) wrote :

By design these tasks shouldn't run any update if there were no repos added, because it makes no sense. In your case I suggest few approaches:

1. Add apt update to your plugin task.
2. Use different repo naming in new version of plugin.

Changed in fuel:
status: Confirmed → Invalid
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.