← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1493094] [NEW] Ironic: "api_version" configuration option should be float (to support microversion)

 

Public bug reported:

The Nova Ironic driver supports setting the API version that it will use
to when talking to the Ironic API, to do it one should change the
"api_version" configuration option under the "ironic" section. The
problem is that, since Ironic supports microversion we can't set a
version to be "1.8" for e.g, which is a complete valid version for
Ironic but the "api_version" field is expecting a Int() instead of a
Float().


How to reproduce:

1- Set the "api_version" under the "ironic" section in nova.conf to some
float value, i.e 1.8

2- Restart nova-compute


Error log:

2015-09-07 16:32:31.899 CRITICAL nova [req-f9380d3d-8ea5-48ea-
8fa3-5c497c0e3e1c None None] ConfigFileValueError: Value for option
api_version is not valid: invalid literal for int() with base 10: '1.8'

2015-09-07 16:32:31.899 TRACE nova Traceback (most recent call last):
2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/bin/nova-compute", line 10, in <module>
2015-09-07 16:32:31.899 TRACE nova     sys.exit(main())
2015-09-07 16:32:31.899 TRACE nova   File "/opt/stack/nova/nova/cmd/compute.py", line 74, in main
2015-09-07 16:32:31.899 TRACE nova     service.wait()
2015-09-07 16:32:31.899 TRACE nova   File "/opt/stack/nova/nova/service.py", line 439, in wait
2015-09-07 16:32:31.899 TRACE nova     _launcher.wait()
2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_service/service.py", line 281, in wait
2015-09-07 16:32:31.899 TRACE nova     status, signo = self._wait_for_exit_or_signal(ready_callback)
2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_service/service.py", line 254, in _wait_for_exit_or_signal
2015-09-07 16:32:31.899 TRACE nova     self.conf.log_opt_values(LOG, logging.DEBUG)
2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2233, in log_opt_values
2015-09-07 16:32:31.899 TRACE nova     _sanitize(opt, getattr(group_attr, opt_name)))
2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2559, in __getattr__
2015-09-07 16:32:31.899 TRACE nova     return self._conf._get(name, self._group)
2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2276, in _get
2015-09-07 16:32:31.899 TRACE nova     value = self._do_get(name, group, namespace)
2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2319, in _do_get
2015-09-07 16:32:31.899 TRACE nova     % (opt.name, str(ve)))
2015-09-07 16:32:31.899 TRACE nova ConfigFileValueError: Value for option api_version is not valid: invalid literal for int() with base 10: '1.8'
2015-09-07 16:32:31.899 TRACE nova

** Affects: nova
     Importance: Undecided
     Assignee: Lucas Alvares Gomes (lucasagomes)
         Status: New


** Tags: ironic

** Tags added: ironic

** Changed in: nova
     Assignee: (unassigned) => Lucas Alvares Gomes (lucasagomes)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1493094

Title:
  Ironic: "api_version" configuration option should be float (to support
  microversion)

Status in OpenStack Compute (nova):
  New

Bug description:
  The Nova Ironic driver supports setting the API version that it will
  use to when talking to the Ironic API, to do it one should change the
  "api_version" configuration option under the "ironic" section. The
  problem is that, since Ironic supports microversion we can't set a
  version to be "1.8" for e.g, which is a complete valid version for
  Ironic but the "api_version" field is expecting a Int() instead of a
  Float().

  
  How to reproduce:

  1- Set the "api_version" under the "ironic" section in nova.conf to
  some float value, i.e 1.8

  2- Restart nova-compute

  
  Error log:

  2015-09-07 16:32:31.899 CRITICAL nova [req-f9380d3d-8ea5-48ea-
  8fa3-5c497c0e3e1c None None] ConfigFileValueError: Value for option
  api_version is not valid: invalid literal for int() with base 10:
  '1.8'

  2015-09-07 16:32:31.899 TRACE nova Traceback (most recent call last):
  2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/bin/nova-compute", line 10, in <module>
  2015-09-07 16:32:31.899 TRACE nova     sys.exit(main())
  2015-09-07 16:32:31.899 TRACE nova   File "/opt/stack/nova/nova/cmd/compute.py", line 74, in main
  2015-09-07 16:32:31.899 TRACE nova     service.wait()
  2015-09-07 16:32:31.899 TRACE nova   File "/opt/stack/nova/nova/service.py", line 439, in wait
  2015-09-07 16:32:31.899 TRACE nova     _launcher.wait()
  2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_service/service.py", line 281, in wait
  2015-09-07 16:32:31.899 TRACE nova     status, signo = self._wait_for_exit_or_signal(ready_callback)
  2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_service/service.py", line 254, in _wait_for_exit_or_signal
  2015-09-07 16:32:31.899 TRACE nova     self.conf.log_opt_values(LOG, logging.DEBUG)
  2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2233, in log_opt_values
  2015-09-07 16:32:31.899 TRACE nova     _sanitize(opt, getattr(group_attr, opt_name)))
  2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2559, in __getattr__
  2015-09-07 16:32:31.899 TRACE nova     return self._conf._get(name, self._group)
  2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2276, in _get
  2015-09-07 16:32:31.899 TRACE nova     value = self._do_get(name, group, namespace)
  2015-09-07 16:32:31.899 TRACE nova   File "/usr/local/lib/python2.7/dist-packages/oslo_config/cfg.py", line 2319, in _do_get
  2015-09-07 16:32:31.899 TRACE nova     % (opt.name, str(ve)))
  2015-09-07 16:32:31.899 TRACE nova ConfigFileValueError: Value for option api_version is not valid: invalid literal for int() with base 10: '1.8'
  2015-09-07 16:32:31.899 TRACE nova

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1493094/+subscriptions


Follow ups