Strategy outlet_temperature fails with message "AttributeError: datasource"

Bug #1709024 reported by Fanis Kalimullin
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
watcher
Fix Released
Medium
Fanis Kalimullin

Bug Description

Description
===========
When I try to run audit, using outlet_temperature strategy, it always fails.

Steps to reproduce
==================
# run audit
openstack optimize audit create -g thermal_optimization -s outlet_temperature

Expected result
===============
Success.

Actual result
=============
Failed.

Environment
===========
watcher:
$ git log
commit be8b163a62ee1f646f99196215f22856fa09cbb2
Merge: b5ac97b 0b31828
Author: Jenkins <email address hidden>
Date: Tue Aug 1 00:30:05 2017 +0000

    Merge "Added Actuator Strategy"

commit 0b31828a0101dd7a0e82b2c4300a7626b0488290
Author: Vincent Françoise <email address hidden>
Date: Wed Jan 25 11:21:23 2017 +0100

    Added Actuator Strategy

    This strategy now allow us to create action plans with an explicit
    set of actions.

    Co-Authored-By: Mikhail Kizilov <email address hidden>
    Change-Id: I7b04b9936ce5f3b5b38f319da7f8737e0f3eea88
    Closes-Bug: #1659243

Logs
=============

Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base audit, request_context)
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base File "/opt/stack/watcher/watcher/decision_engine/strategy/context/base.py", line 45, in execute_strategy
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base solution = self.do_execute_strategy(audit, request_context)
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base File "/opt/stack/watcher/watcher/decision_engine/strategy/context/default.py", line 68, in do_execute_strategy
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base return selected_strategy.execute()
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base File "/opt/stack/watcher/watcher/decision_engine/strategy/strategies/base.py", line 162, in execute
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base self.do_execute()
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base File "/opt/stack/watcher/watcher/decision_engine/strategy/strategies/outlet_temp_control.py", line 284, in do_execute
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base hosts_need_release, hosts_target = self.group_hosts_by_outlet_temp()
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base File "/opt/stack/watcher/watcher/decision_engine/strategy/strategies/outlet_temp_control.py", line 186, in group_hosts_by_outlet_temp
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base self.config.datasource]['host_outlet_temp']
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base File "/opt/stack/watcher/watcher/common/utils.py", line 56, in __getattr__
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base raise AttributeError(name)
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base AttributeError: datasource
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.405 TRACE watcher.decision_engine.audit.base
Aug 07 07:15:51 devstack-0 watcher-decision-engine[30130]: 2017-08-07 07:15:51.417 DEBUG watcher.decision_engine.audit.base [req-1baa0b2d-a3b1-4586-bd87-3746bdc808f1 None None] Update audit state: FAILED from (pid=30130) update_audit_state /opt/stack/watcher/watcher/decision_engine/audit/base.py:99

Changed in watcher:
assignee: nobody → Fanis Kalimullin (gisthere)
importance: Undecided → Medium
status: New → Triaged
milestone: none → pike-rc1
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to watcher (master)

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

Changed in watcher:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to watcher (master)

Reviewed: https://review.openstack.org/491417
Committed: https://git.openstack.org/cgit/openstack/watcher/commit/?id=13b89c8dd2bfa04d5b09aaaa699c698c2b1831d0
Submitter: Jenkins
Branch: master

commit 13b89c8dd2bfa04d5b09aaaa699c698c2b1831d0
Author: Fanis Kalimullin <email address hidden>
Date: Mon Aug 7 08:47:09 2017 +0000

    get_config_opts method was overwritten

    outlet_temperature strategy relies on a datasource config parameter,
    which can be either "ceilometer" or "gnocchi". This patch overrides
    get_config_opts method of base class to allow specify datasource.

    Change-Id: I551401039e26816568a04c7f2151d5b3c7ed269a
    Closes-Bug: #1709024

Changed in watcher:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/watcher 1.4.0

This issue was fixed in the openstack/watcher 1.4.0 release.

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.