[Plugins] Plugin v1.0 installation fails when -f flag is specified
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Fuel for OpenStack |
Fix Committed
|
Medium
|
Ovidiu Miron | ||
Mitaka |
Won't Fix
|
Medium
|
Ovidiu Miron |
Bug Description
Detailed bug description:
If a plugin in the version 1.0 is tried to be installed and it doesn't update an already installed plugin, when the user specifies the option -f in order to force the reinstallation, a python error is raised:
```
[root@fuel objects]# fuel plugins --install /tmp/lbaas-1.0.0.fp -f
DEPRECATION WARNING: The plugin has old 1.0 package format, this format does not support many features, such as plugins updates, find plugin in new format or migrate and rebuild this one.
Traceback (most recent call last):
File "/usr/bin/fuel", line 10, in <module>
sys.
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
parser.parse()
File "/usr/lib/
actions[
File "/usr/lib/
method(params)
File "/usr/lib/
results = Plugins.
File "/usr/lib/
response = cls.register(name, version, force=force)
File "/usr/lib/
return cls.update_
File "/usr/lib/
url = cls.class_
KeyError: 'id'
```
Steps to reproduce:
- Log into the fuel server
- Download any v1.0 plugin, eg
wget http://
- Install the plugin
fuel plugins --install /tmp/lbaas-1.0.0.fp
- Install the plugin again with -f
fuel plugins --install /tmp/lbaas-1.0.0.fp -f
Expected results:
The plugin is reinstalled
Actual result:
Traceback (most recent call last):
File "/usr/bin/fuel", line 10, in <module>
sys.
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
parser.parse()
File "/usr/lib/
actions[
File "/usr/lib/
method(params)
File "/usr/lib/
results = Plugins.
File "/usr/lib/
response = cls.register(name, version, force=force)
File "/usr/lib/
return cls.update_
File "/usr/lib/
url = cls.class_
KeyError: 'id'
Reproducibility:
Allways
Workaround:
Doesn't exist
Impact:
The user can not force the reinstallation of a v1.0 plugin
Description of the environment:
Operation system: Linux fuel.domain.tld 3.10.0-
Version of components: fuel 8.0.0
Aditional information:
In /usr/lib/
The problem is that, in that case, the resp has not such key. The 'id' key is in resp['message'] .
Proposed fix:
json.load(
description: | updated |
description: | updated |
Changed in fuel: | |
milestone: | none → 8.0-updates |
tags: | added: area-python |
tags: | added: module-client |
Fix proposed to branch: master /review. openstack. org/302357
Review: https:/