2016-04-04 16:35:57 |
Carlos Novo |
bug |
|
|
added bug |
2016-04-04 16:43:44 |
Carlos Novo |
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.exit(main())
File "/usr/lib/python2.7/site-packages/fuelclient/cli/error.py", line 115, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 266, in main
parser.parse()
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 143, in parse
actions[parsed_params.action].action_func(parsed_params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/base.py", line 62, in action_func
method(params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/plugins.py", line 88, in install
results = Plugins.install(file_path, force=params.force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 344, in install
response = cls.register(name, version, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 299, in register
return cls.update_or_create(metadata, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 454, in update_or_create
url = cls.class_instance_path.format(id=resp['id'])
KeyError: 'id'
Steps to reproduce:
- Log into the fuel server
- Download any v1.0 plugin, eg
wget http://plugins.mirantis.com/repository/l/b/lbaas/lbaas-1.0.0.fp
- 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.exit(main())
File "/usr/lib/python2.7/site-packages/fuelclient/cli/error.py", line 115, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 266, in main
parser.parse()
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 143, in parse
actions[parsed_params.action].action_func(parsed_params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/base.py", line 62, in action_func
method(params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/plugins.py", line 88, in install
results = Plugins.install(file_path, force=params.force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 344, in install
response = cls.register(name, version, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 299, in register
return cls.update_or_create(metadata, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 454, in update_or_create
url = cls.class_instance_path.format(id=resp['id'])
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-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07
Version of components: fuel 8.0.0
Aditional information:
In /usr/lib/python2.7/site-packages/fuelclient/objects/plugin.py, method update_or_create(), when resp status code is 409 ( Conflict ) and force flat is set, the put url is trying to be achieved using resp['id']
The problem is that, in that case, the resp has not such key. The 'id' key is in resp['message'] .
Proposed fix:
json.load(resp['message']) and get the 'id' from the resulting dictionary. |
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.exit(main())
File "/usr/lib/python2.7/site-packages/fuelclient/cli/error.py", line 115, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 266, in main
parser.parse()
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 143, in parse
actions[parsed_params.action].action_func(parsed_params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/base.py", line 62, in action_func
method(params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/plugins.py", line 88, in install
results = Plugins.install(file_path, force=params.force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 344, in install
response = cls.register(name, version, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 299, in register
return cls.update_or_create(metadata, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 454, in update_or_create
url = cls.class_instance_path.format(id=resp['id'])
KeyError: 'id'
Steps to reproduce:
- Log into the fuel server
- Download any v1.0 plugin, eg
wget http://plugins.mirantis.com/repository/l/b/lbaas/lbaas-1.0.0.fp
- 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.exit(main())
File "/usr/lib/python2.7/site-packages/fuelclient/cli/error.py", line 115, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 266, in main
parser.parse()
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 143, in parse
actions[parsed_params.action].action_func(parsed_params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/base.py", line 62, in action_func
method(params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/plugins.py", line 88, in install
results = Plugins.install(file_path, force=params.force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 344, in install
response = cls.register(name, version, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 299, in register
return cls.update_or_create(metadata, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 454, in update_or_create
url = cls.class_instance_path.format(id=resp['id'])
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-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07
Version of components: fuel 8.0.0
Aditional information:
In /usr/lib/python2.7/site-packages/fuelclient/objects/plugin.py, method update_or_create(), when resp status code is 409 ( Conflict ) and force flag is set, the put url is trying to be achieved using resp['id']
The problem is that, in that case, the resp has not such key. The 'id' key is in resp['message'] .
Proposed fix:
json.load(resp['message']) and get the 'id' from the resulting dictionary. |
|
2016-04-04 19:39:55 |
Carlos Novo |
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.exit(main())
File "/usr/lib/python2.7/site-packages/fuelclient/cli/error.py", line 115, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 266, in main
parser.parse()
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 143, in parse
actions[parsed_params.action].action_func(parsed_params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/base.py", line 62, in action_func
method(params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/plugins.py", line 88, in install
results = Plugins.install(file_path, force=params.force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 344, in install
response = cls.register(name, version, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 299, in register
return cls.update_or_create(metadata, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 454, in update_or_create
url = cls.class_instance_path.format(id=resp['id'])
KeyError: 'id'
Steps to reproduce:
- Log into the fuel server
- Download any v1.0 plugin, eg
wget http://plugins.mirantis.com/repository/l/b/lbaas/lbaas-1.0.0.fp
- 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.exit(main())
File "/usr/lib/python2.7/site-packages/fuelclient/cli/error.py", line 115, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 266, in main
parser.parse()
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 143, in parse
actions[parsed_params.action].action_func(parsed_params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/base.py", line 62, in action_func
method(params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/plugins.py", line 88, in install
results = Plugins.install(file_path, force=params.force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 344, in install
response = cls.register(name, version, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 299, in register
return cls.update_or_create(metadata, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 454, in update_or_create
url = cls.class_instance_path.format(id=resp['id'])
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-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07
Version of components: fuel 8.0.0
Aditional information:
In /usr/lib/python2.7/site-packages/fuelclient/objects/plugin.py, method update_or_create(), when resp status code is 409 ( Conflict ) and force flag is set, the put url is trying to be achieved using resp['id']
The problem is that, in that case, the resp has not such key. The 'id' key is in resp['message'] .
Proposed fix:
json.load(resp['message']) and get the 'id' from the resulting dictionary. |
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.exit(main())
File "/usr/lib/python2.7/site-packages/fuelclient/cli/error.py", line 115, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 266, in main
parser.parse()
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 143, in parse
actions[parsed_params.action].action_func(parsed_params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/base.py", line 62, in action_func
method(params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/plugins.py", line 88, in install
results = Plugins.install(file_path, force=params.force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 344, in install
response = cls.register(name, version, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 299, in register
return cls.update_or_create(metadata, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 454, in update_or_create
url = cls.class_instance_path.format(id=resp['id'])
KeyError: 'id'
```
Steps to reproduce:
- Log into the fuel server
- Download any v1.0 plugin, eg
wget http://plugins.mirantis.com/repository/l/b/lbaas/lbaas-1.0.0.fp
- 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.exit(main())
File "/usr/lib/python2.7/site-packages/fuelclient/cli/error.py", line 115, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 266, in main
parser.parse()
File "/usr/lib/python2.7/site-packages/fuelclient/cli/parser.py", line 143, in parse
actions[parsed_params.action].action_func(parsed_params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/base.py", line 62, in action_func
method(params)
File "/usr/lib/python2.7/site-packages/fuelclient/cli/actions/plugins.py", line 88, in install
results = Plugins.install(file_path, force=params.force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 344, in install
response = cls.register(name, version, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 299, in register
return cls.update_or_create(metadata, force=force)
File "/usr/lib/python2.7/site-packages/fuelclient/objects/plugins.py", line 454, in update_or_create
url = cls.class_instance_path.format(id=resp['id'])
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-229.20.1.el7.x86_64 #1 SMP Tue Nov 3 19:10:07
Version of components: fuel 8.0.0
Aditional information:
In /usr/lib/python2.7/site-packages/fuelclient/objects/plugin.py, method update_or_create(), when resp status code is 409 ( Conflict ) and force flag is set, the put url is trying to be achieved using resp['id']
The problem is that, in that case, the resp has not such key. The 'id' key is in resp['message'] .
Proposed fix:
json.load(resp['message']) and get the 'id' from the resulting dictionary. |
|
2016-04-05 09:12:41 |
Oleksiy Molchanov |
fuel: milestone |
|
8.0-updates |
|
2016-04-05 09:12:52 |
Oleksiy Molchanov |
nominated for series |
|
fuel/mitaka |
|
2016-04-05 09:12:52 |
Oleksiy Molchanov |
bug task added |
|
fuel/mitaka |
|
2016-04-05 09:13:12 |
Oleksiy Molchanov |
fuel/mitaka: milestone |
8.0-updates |
9.0 |
|
2016-04-05 09:13:21 |
Oleksiy Molchanov |
fuel/mitaka: assignee |
|
Fuel Python Team (fuel-python) |
|
2016-04-05 09:13:24 |
Oleksiy Molchanov |
fuel/mitaka: importance |
Undecided |
Medium |
|
2016-04-05 09:13:27 |
Oleksiy Molchanov |
fuel/mitaka: status |
New |
Confirmed |
|
2016-04-05 09:13:38 |
Oleksiy Molchanov |
tags |
|
area-python |
|
2016-04-05 09:38:56 |
Ovidiu Miron |
fuel/mitaka: assignee |
Fuel Python Team (fuel-python) |
Ovidiu Miron (omiron) |
|
2016-04-06 16:52:08 |
OpenStack Infra |
fuel: status |
Confirmed |
In Progress |
|
2016-04-06 16:53:47 |
Ovidiu Miron |
fuel/mitaka: status |
In Progress |
Fix Committed |
|
2016-04-08 04:16:27 |
Vitalii Kulanov |
tags |
area-python |
area-python module-client |
|
2016-04-13 14:41:21 |
Ihor Kalnytskyi |
fuel/mitaka: status |
Fix Committed |
In Progress |
|
2016-04-13 14:57:49 |
Dmitry Pyzhov |
fuel: status |
Fix Committed |
In Progress |
|
2016-04-13 14:57:50 |
Dmitry Pyzhov |
fuel: milestone |
9.0 |
10.0 |
|
2016-04-13 14:57:54 |
Dmitry Pyzhov |
fuel/mitaka: status |
In Progress |
Won't Fix |
|
2016-04-19 09:17:59 |
OpenStack Infra |
fuel: status |
In Progress |
Fix Committed |
|