CHANGES
=======

0.30.0
------

* Add rally-jobs folder to get rally support
* Log CDM structure before+after executing strategy
* Fixed Tempest test due to notification issues
* Use memory mode for sqlite in db test
* Added tests on API hooks and related context
* When action plan is empty, its state is incorrect
* Use parameters instead of config for workload stabilization
* Add documentation for Scoring Module
* Implemented GMR plugin to show CDM structures
* Fix incorrect strings and formatting
* Modify use of assertTrue(A in B)
* Fixed indentation
* The default value of 'is_admin_project'

0.29.0
------

* Add release notes for Newton blueprints
* TrivialFix: Remove cfg import unused
* TrivialFix: Remove logging import unused
* Remove unused LOG
* Update configuration section for notifications
* Doc on how to add notification endpoints
* Notification and CDM partial update
* Remove unreachable line
* Added start/end date params on ceilometer queries
* Correct watcher reraising of exception
* Check unspecified parameters create audit
* Fix loading of plugin configuration parameters
* Add Scoring Module implementation
* Add unit tests for continuous.py
* Updated from global requirements
* Fixed flaky tempest test
* Remove pot files
* Updated from global requirements
* Added strategy ID + Action Plan syncing
* Fixes to get cluster data model
* Updated from global requirements
* Fix double self._goal definition
* Scheduler of decision_engine fix
* Updated from global requirements
* Clean imports in code
* Modify libvirt_opts="-d -l" to libvirtd_opts="-d -l"
* Rename (pre/post)condition to (pre/post)_condition
* Add unit tests for nova_helper.py
* Updated from global requirements
* Removed unused function in uniform airflow
* Update the home-page info with the developer documentation
* Updated from global requirements
* Refactored the compute model and its elements
* Use more specific asserts
* Merged metrics_engine package into decision_engine
* Updated DE architecture doc + 'period' param
* Added DE Background Scheduler w/ model sync jobs
* Cluster data model collector plugin documentation
* Loadable Cluster Data Model Collectors
* Updated from global requirements
* Add scoring engines to database and API layers
* Implement goal_id, strategy_id and host_aggregate into Audit api
* use parameters to set the threshold
* Updated from global requirements
* Fixed Basic optim tempest test
* Fix 2 occurrences of typo: "occured" --> "occurred"
* Add hacking checks to watcher
* Update docs links to docs.openstack.org
* Remove discover from test-requirements
* Updated from global requirements
* Fix typos and messages in strategies
* Remove unused columns parameters in watcher/db/api
* test_context_hook_before_method failed
* Fix dict.keys() PY3 compatible

0.28.0
------

* There are some spelling errors in the code
* Add Python 3.5 classifier and venv
* Update unitaty tests to verify strategy and goal name
* Bad goal and strategy name for Airflow Optimization
* Fix unittest in test_api.py
* Optimize local.conf.controller file to enable watche-dashboard
* Add continuously optimization
* Add Desktop Service Store to .gitignore file
* Documentation for strategy parameters
* Updated from global requirements
* Add installation from Debian packages section
* Add new documentation section for Watcher policies rules
* Update executor to eventlet
* Add policies for API access control to watcher project
* Fix watcher doc build error
* Fix field type to audit_type
* Remove duplicate unittest
* Fix link error in base-setup.rst
* Fix failing Tempest tests
* Enable strategy parameters
* Update Docs links to docs.openstack.org
* add dependency for 3rd-party plugins
* Make default Planner generic to handle new action
* Modify IRC weekly meeting time
* Uniform Airflow migration strategy implementation
* Updated from global requirements
* Centralize plugin loaders in watcher/applier
* Add importing modules instead of classes
* Centralize plugin loaders in decision engine
* Add goal_name field in strategy
* Updated from global requirements
* Use disabled/enabled to change service state
* Check if nova-service is already disabled
* Add bandit in tox -e pep8
* Added filter operators
* Fix StrategyContext to use the strategy_id in the Audit Template
* Use proper theme for release notes
* Fix releasenotes generation
* Documentation on goal and efficacy
* Added efficacy indicators to /action_plans
* Added pre/post execution methods to strategies
* Added EfficacyIndicator object
* Added efficacy specification to /goals
* Add reno for release notes management
* Added EfficacyIndicator model in DB
* Decoupled Goal from Strategy
* Fix broken link in doc
* Added missing config section for autogeneration
* Updated from global requirements
* Added audit_template filter to /audits/detail
* Add fix for hardware.cpu.util meter in sd-strategy
* Add fix for __init__() error
* Updated tempest test creds retrieval mechanism

0.27.0
------

* Documentation for plugins-parameters
* Workload balance migration strategy implementation
* Watcher plugins table in Guru meditation reports
* Enabled config parameters to plugins
* Add Overload standard deviation strategy
* Add goal name as filter for strategy list cmd
* Update Watcher documentation
* Updated from global requirements
* Added cold VM migration support
* Add goal_name & strategy_name in /audit_templates
* Replace assertEqual(None, *) with assertIsNone in tests
* Fix lazy translation issue with watcher-db-manage
* Fixed flaky tempest test
* Removed telemetry tag from tempest tests
* Updated from global requirements
* Fix for statistic_aggregation
* Remove direct access to dbapi
* Updated from global requirements
* Fix documentation watcher sql database
* Watcher DB class diagram
* Added .pot file
* Remove [watcher_goals] config section
* Remove watcher_goals section from devstack plugin
* Documentation update for get-goal-from-strategy
* Updated purge to now include goals and strategies
* Syncer now syncs stale audit templates
* Add strategy_id & goal_id fields in audit template
* Refactored Strategy selector to select from DB
* Added /strategies endpoint in Watcher API
* Add Goal in BaseStrategy + Goal API reads from DB
* DB sync for Strategies
* Added Strategy model
* Added Goal object + goal syncing
* Added Goal model into Watcher DB
* Log "https" if using SSL
* [nova_helper] get keypair name by every admin users
* Remove using of UUID field in POST methods of Watcher API
* Refactored DE and Applier to use oslo.service
* Refactored Watcher API service
* Updated from global requirements
* Removed unused 'alarm' field
* Add parameters verification when Audit is being created
* correct the available disk, memory calculating Source data are misused in outlet temperature strategy. This patch fixes it
* Upgrade Watcher Tempest tests for multinode
* Update .coveragerc to ignore abstract methods
* Updated from global requirements
* Fix for deleting audit template
* Remove unused logging import and LOG global var
* Updated from global requirements

0.26.0
------

* Added missing support for resource states in unicode format in VM workload consolidation strategy
* Disabled PATCH, POST and DELETE for /actions
* Added information on plugin mechanism to glossary
* Invalid states for Action Plan in the glossary
* Integrated consolidation strategy with watcher
* Added oslo.context to requirements.txt

0.25.0
------

* Remove the watcher sample configuration file
* Updated action-plugin doc to refer to Voluptuous
* Rename variable vm_avg_cpu_util
* renamed "efficiency" with "efficacy" Closes-Bug:#1558468
* Remove true/false return from action.execute()
* Updated from global requirements
* Documentation on purge command
* Added purge script for soft deleted objects
* Added Mixin-related filters on DB queries
* Updated from global requirements
* Refactored check for invalid goal
* Renamed api.py to base.py in metrics engine
* Re-generated the watcher.pot
* Added Disk Capacity in cluster-data-model
* Removing unicode from README.rst

0.24.0
------

* Doc on how to set up a thirdparty project
* Remove tests omission from coverage target in tox.ini
* add Goal into RESTful Web API (v1) documentation
* Updated Strategy plugin doc
* Doc on how to implement a custom Watcher planner
* Add Watcher dashboard to the list of projects
* Doc on how to implement a custom Watcher action
* Fixed wrongly used assertEqual method
* Improve DevStack documentation for beginners
* Added support for live migration on non-shared storage
* Updated Watcher doc to mention Tempest tests
* RST directive to discover and generate drivers doc
* Rename 'TRIGGERED' state as 'PENDING'
* Fixed type in get_audit_template_by_name method
* Updated from global requirements
* Cleanup in tests/__init__.py
* Update nova service state
* Replace "Triggered" state by "Pending" state
* Add start directory for oslo_debug_helper
* Add missing requirements
* Updated from global requirements
* Re-enable related Tempest test
* Useless return statement in validate_sort_dir
* Pass parameter to the query in get_last_sample_values
* Remove unused function and argument
* Added goal filter in Watcher API
* Improve variable names in strategy implementations
* Added unit tests on actions
* Clean imports in code
* Add Voluptuous to validate the action parameters
* Remove KEYSTONE_CATALOG_BACKEND from DevStack plugin
* Cleanup in test_objects.py
* Better cleanup for Tempest tests
* Ceilometer client instantiation fixup
* Update the default version of Neutron API
* Sync with openstack/requirements master branch
* Delete linked actions when deleting an action plan

0.23.2
------

* Add IRC information into contributing page
* Update docs for password auth configuration options
* Remove references to SERVERS_CONSOLIDATION
* Create OpenStackClients convenience class
* Added Tempest scenario for BASIC_CONSOLIDATION
* Use install instead of mkdir for DevStack dirs
* Removed unused parameter in dt_deserializer()
* Remove unused parameter in Actions API controller
* Define self.client in MessagingCore
* Remove InvalidParameterValue exception
* Tempest API tests on /actions
* GET on an action_plan provides first_action_uuid
* Fixed ActionPlanNotFound typo in msg_fmt

0.23.1
------

* Fixed tempest test bug

0.23.0
------

* Action plan state transition - payload validation
* Add 'workers' section into configuration doc
* API Tempest tests on goals
* Fix HTML warnings on HTML doc
* Action Plan state - Changed STARTING to TRIGGERED
* Tempest scenario - execute a dummy strategy
* Added doc8
* Add reference to Ceilometer developer guide
* API Tempest tests on Action plans
* Re-organize the Wacher documentation Home Page
* Fix 'Module index' broken HTTP link
* API Tempest tests on Audits
* Refactored existing tempest API tests
* Renamed Status to State
* Update the user-guide to explain the main steps
* Refactor Commands section
* Use taskflow library for building and executing action plans
* Removed unused parameters from api controllers
* Validate audit template UUID on audit create
* Add diagrams to the architecture doc page
* Fix Warnings generated while building of HTML docu
* Reduced the complexity of the execute() method
* Missing super() in API collection controllers
* Remove shadow BaseException class
* Replace message with msg_fmt for custom exceptions
* Removed use of deprecated LOG.warn method
* Add a dynamic loading of Actions handlers in the Watcher Applier
* Update API documentation for action plan
* Renamed diskInfo.py
* Fix extraction of _LI _LW _LE _LC for translation
* Clean up flake8 ignore list
* Move terminology definition to class related
* Keep py3.X compatibility for urllib
* Use dict.items() dirrectly instead of six.iteritems
* Test: make enforce_type=True in CONF.set_override and fix error
* Remove incorrect spaces for libvirt_opts value
* Add a generic and extensible way to describe the flow of actions
* Add a dynamic loading of the Watcher Planner implementation
* Add a common generic dynamic loader for watcher
* Add the possibility to store several parameters for an Action
* Changed testr to os-testr
* Strategy goals should be required in conf
* Use assertTrue/False instead of assertEqual(T/F)
* Implement DevStack plugin
* Remove useless Meta-Action

0.22.0
------

* outlet Temperature based migration strategy
* Move Audit-template management in DefaultStrategyContext
* Remove duplicated nova wrapper
* Move glossary.rst to root folder of doc
* Remove string concatenation in favor of string formatting
* Remove useless event factory
* Rename NovaWrapper to NovaClient
* i18n - Make string translatable
* Change default strategy to DummyStrategy
* Add Creative Commons Attribution header to documentation
* Code refactoring - StrategyContext and Auditendpoint
* Remove *.pyc files before running tox tests
* Add missing parameter in prepare_service for api
* Fix generation of watcher config file
* Rename command to audit
* 'admin_user' opt (and others) imported twice
* Removed duplicated function prepare_service()
* Internationalization (i18n) - Enable French locale
* Include terminology definition from docstring
* Remove pragma no cover from code
* Tidy up - Watcher Decision Engine package
* Typo in ClusteStateNotDefined
* Some tests are ignored
* Tidy up - Rename Base
* Refactored Watcher codebase to add py34 support
* Added unit tests on nova wrapper
* Removed H404, H405, H305 ignore in pep8
* Removed unnecessary code from basic_consolidation
* Remove unreachable code in basic_consolidation.py
* Rename Mapper to Mapping
* Tidy up - Primitive
* Remove references to removed watcher/openstack directory
* Removed py33, pypy support
* Remove alembic revision of watcher db
* Add Apache license header to all rst documentation
* Rename Command to Action
* Update the glossary to lay down Watcher terminology
* Rename command to action_plan
* Removed unused enum
* Rename Meta-Action to Action
* Add a checker for the documentation
* Rename efficiency to efficacy
* Fix Watcher Applier variables in CamelCase
* Remove duplicate setup in Watcher API main()
* Cleanup deprecated documentation
* Provide detailed information on architecture

0.21.0
------

* Update configuration section for rabbitmq
* Created a glossary to lay down Watcher terminology
* Update documentation regarding Ceilometer API V2
* Fixed missing attribute in the data model
* Removed py26 support
* Code refactoring - Watcher Applier package
* Removed old (and unused) openstack/oslo libs
* Fixed doc generation warning
* add missing keystoneclient dependency
* Added priority level to Nop action
* Removed 'watcher_messaging' to use oslo.messaging
* Improve OpenStack clients API
* Added 'dummy' entrypoint within watcher_strategies
* Fixed tense consistency (used past) in statuses
* Added LaunchActionPlanCommand's init super call
* Explained KEYSTONE_SERVICE_PROJECT_NAME variable
* Added missing super call in DefaultApplier's init
* AMQP Channel have to be set espacially to 'watcher'
* Updated the config sample file generation command
* Code refactoring - Watcher Decision Engine package
* Strategy plugins documentation
* Update requirements from OS Global Requirements
* Made Decision Engine extensible via stevedore
* Integration of Ceilometer in Watcher
* Update configuration file sample
* Fix config loading when running the watcher-api
* Fix tiny typo on configuration doc
* Avoid dividing zero
* Should use watcher/common/context.py for consistency
* Update policy.py
* Watcher notification listener is associated with an executor which integrates the listener with a specific I/O handling framework. blocking executor should be the default one
* Update Rabbit MQ server configuration extract
* Use a single command to create the 3 watcher endpoints
* Use i18n directly
* Use olso.log directly
* refactoring documentation
* Change stackforge to openstack, corrected some heading underlines
* use https instead of http for doc link
* update Watcher mission
* consolidation of watcher
* update config file sample
* update documentation
* fix dependencies version
* Documention fixes
* initial version
* Added .gitreview
