CHANGES
=======

15.1.2
------

* Add policy enforcement to webhook trigger endpoint

15.1.1
------

* Avoid logging messaging transport URLs
* Enable extra zone migration tests on master branch
* Handle missing fields building storage model XML or list
* Test zone migration audit without destination
* Ensure zone migration creates the correct action
* Add test for zone migration audit without dst\_type
* Fix zone migration dst pool and type selection
* Add tests for get\_dst\_pool\_and\_type method
* Fix small issues in cinder\_helper unit test
* Fix check for volume type in cinder helper migrate

15.1.0
------

* Revert "Update migration notification"
* Move real data jobs nodeset to three nodes (two computes + 1 controller)
* Retry calls to nova API when connection errors are detected
* update unit tests for nova\_helper module
* Make VM resize timeout configurable with migration defaults
* Make VM migrations timeout configurable and apply reasonable defaults
* Consolidate and improve Zuul CI job definitions
* Fix zone migration to accept dst\_pool or dst\_type
* use the correct package name for microversion-parse
* Ignore cinder notifications if the Storage model is empty
* Fix zone migration instance not found issue
* Add unit tests for instance and volume not found in model
* Add missing 1.6 API doc in rest version history
* Improve unit tests for zone migration strategy
* Support zone migration audit without compute\_nodes
* Allow volume and vm migrations in zone\_migration
* Add test for zone\_migration with instances and volumes
* Use src\_type to filter volumes in zone migration
* Update TOX\_CONSTRAINTS\_FILE for stable/2025.2
* Update .gitreview for stable/2025.2

15.0.0
------

* Handle missing dst\_pool parameter in zone\_migration
* Enable storage model collector by default
* Add 2025.2 release notes prelude
* Update prometheus-threading parent jop
* Check result of retype action based on type and status
* Fix doc section to enable cinder notifications
* Make Monasca client optional and lazy-load
* Allow status\_message updates for actions in SKIPPED state
* Update aetos fake data job to disable real metrics
* Rename confusing query timeout options
* Extend compute model attributes
* Follow up changes for skip-action blueprint
* Fix missing watcher\_workflow\_engines.taskflow section
* Fix type mismatch between option and its default
* Update Overload standard deviation doc
* Add options to disable migration in host maintenance
* Fix NovaHelper microversion comparison
* API changes for skipped actions: patch actions and status\_message
* Skip actions automatically based on pre\_condition results
* Validate endpoint\_type option at loading
* Add \`status\_message\` to objects and notifications
* Add \`status\_message\` column to Actions, Audits and ActionPlans tables
* Add parameters to force failures in nop action
* Add patch call validation based on allowed\_attrs
* use cinder migrate for swap volume
* Add Aetos datasource
* Add new tests to validate GET /infra-optim/v1/data\_model
* Fix api-ref doc for GET /infra-optim/v1/data\_model
* Add a new tox environment to run unit tests in threading mode
* Extend decision engine to support threading mode
* Replace dateutils usage with datetime and oslo.utils
* Disable real metrics on devstack injected data jobs
* Configure watcher tempest's microversion in devstack
* finalize python 3.9 support removal
* Add comprehensive release liaison guide for DPL model
* Fix release notes typo and extra information
* Drop Code related to OperationNotPermitted exception
* Drops forbidden patch/delete/post action apis
* sqlalchemy: Use built-in declarative
* Drop unused fake class
* Add crosslinks to strategies table
* Update workload balance doc per review comments
* Add doc clarifications for Zone Migration
* Update Host Maintenance strategy documentation
* Use KiB as unit for host\_ram\_usage when using prometheus datasource
* Add debug message to report calculated metric for workload\_balance
* Add table - level of test/usage per strategy
* Aggregate by label when querying instance cpu usage in prometheus
* Drop unused method get\_disabled\_compute\_nodes\_with\_reason
* Move eventlet command scripts to a different dir
* Add warning message for experimental integrations
* Update Workload Balance strategy documentation
* Add Integrations doc page with support matrix
* Fix audit creation with no name and no goal or audit\_template
* Adapt zuul.yaml strategies jobs to include tests with tag 'strategy'
* devstack: Drop template for mod\_wsgi
* Set actionplan state to FAILED if any action has failed
* Add unit test zone migration with\_attached\_volume
* Drop sg\_core related prometheus var
* add missing bindeps for docs
* resolve fixme comments in RequestContext
* update tests for new oslo.context release
* Handle missing dst\_node parameter in zone\_migration
* Added unit test to validate audit creation with no goal and no name
* Add unit test to check action plan state when a nested action fails
* Return HTTP code 400 when creating an audit with wrong parameters
* Add test for missing destination in zone migration
* Fix incorrect logging format
* Check logs in some cinder and nova helper tests
* Add a unit test to check the error when creating an audit with wrong parameters
* Drop code from Host maintenance strategy migrating instance to disabled hosts
* Remove deprecated executor in message handling servers
* Migrate value column of efficacy indicator on load
* Drop nova command reference from the code
* Deprecated Noisy Neighbor strategy
* Set keystone\_client default interface to public
* Set number of decimal digits in efficacy indicator
* Add test for EfficacyIndicator value in mysql
* drop jammy jobs
* drop suse supprot in the devstack plugin
* update pre-commit hook versions
* Add support for pyproject.toml and wsgi module paths
* [host\_maintenance] Pass des hostname in add\_action solution
* Make prometheus the default devstack example
* Add real-data based tests to experimental and weekly pipelines
* Drop sg\_core prometheus related vars
* Aggregate by fqdn label instead instance in host cpu metrics
* Replace watcherclient functional job with python-watcherclient-functional
* Imported Translations from Zanata
* Query by fqdn\_label instead of instance for host metrics
* Update master for stable/2025.1

14.0.0
------

* Do not collect node\_exporter cpu metrics in prometheus job
* Add epoxy prelude
* Replace deprecated abc.abstractproperty
* Drop implicit test dependency on iso8601
* Enable prometheus datasource in watcher-prometheus-integration job
* Enable prometheus and node\_exporter from devstack-plugin-prometheus
* Deprecate Monasca data source
* Further database refactoring
* pre-commit: Integrate bandit
* Remove unused os-api-ref from test requirements
* Drop import fallback for Python 2
* Add support for instance metrics to prometheus datasource
* Drop bandit B320 profile to fix tox -e bandit interface
* Add Tempest test for Prometheus integration
* Add prometheus data source for watcher decision engine
* Imported Translations from Zanata
* Remove ceilometer datasource
* X-Project-Name key in test code was duplicated
* Fix create\_continuous\_audit\_with\_wrong\_interval test assert
* Update gate jobs as per the 2025.1 cycle testing runtime
* Fix incompatiablity between apscheduler and eventlet
* [pre-commit] enforce pre-commit checks in ci
* [docs] apply sphinx-lint to docs
* Replace deprecated configure\_auth\_token\_middleware
* reno: Update master for unmaintained/2023.1
* Remove default override for config options policy\_file
* [pre-commit] Fix execute and shebang lines
* [eventlet] Ensure unit tests are monkey patched
* [tox] update tox.ini to enable debugging
* [pre-commit] fix typos and configure codespell
* Update python versions, drop py3.8
* Update master for stable/2024.2
* Drop unnecessary 'x' bit from doc config file
* Run watcher-db-manage in grenade testing from venv
* [pre-commit] Add initial pre-commit config
* tox: Drop envdir
* Replace deprecated datetime.utcnow()
* Remove workaround for eventlet < 0.27.0
* Convert CRLF to LF
* Bump hacking
* Replace deprecated LegacyEngineFacade

13.0.0
------

* Imported Translations from Zanata
* SQLAlchemy 2.0: Omnibus fixes patch
* reno: Update master for unmaintained/zed
* Fix oslo.db >= 15.0.0 compatibility
* Update master for stable/2024.1
* reno: Update master for unmaintained/xena
* reno: Update master for unmaintained/wallaby
* reno: Update master for unmaintained/victoria
* reno: Update master for unmaintained/yoga

12.0.0.0rc1
-----------

* Update python classifier in setup.cfg
* Add MAAS support
* Update action json schema
* Fix object tests
* vm workload consolidation: use actual host metrics
* Handle deprecated "cpu\_util" metric
* Avoid performing retries in case of missing resources
* Improve vm\_consolidation logging
* vm workload consolidation: allow cold migrations
* Unblock the CI gate
* Update master for stable/2023.2

11.0.0
------

* Add timeout option for Grafana request
* Imported Translations from Zanata
* Fix watcher comment
* Imported Translations from Zanata
* Update master for stable/2023.1

10.0.0
------

* update saving\_energy docs
* Modify saving\_energy log info
* Fix passenv in tox.ini
* Use new get\_rpc\_client API from oslo.messaging
* Move queue declaration to project level
* Fix compatibility with oslo.db 12.1.0
* Switch to 2023.1 Python3 unit tests and generic template name
* Update master for stable/zed

9.0.0.0rc1
----------

* Imported Translations from Zanata
* remove unicode from code
* Tests: fix requirements for unit tests
* Watcher DB upgrde compatibility consideration for add\_apscheduler\_jobs
* Add Python3 zed unit tests
* Update master for stable/yoga

8.0.0
-----

* Remove ceilometerclient dependecy
* Add Python3 yoga unit tests
* Update master for stable/xena

7.0.0
-----

* BugFix:  Prevent float type variables from being passed to random
* Use Block Storage API v3 instead of API v2
* use HTTPStatus instead of direct code
* Add watcher dashboard to devstack documentation
* Changed minversion in tox to 3.18.0
* Manage constraints with testenv install\_command
* Use py3 as the default runtime for tox
* Enable tls-proxy as default in test jobs
* setup.cfg: Replace dashes with underscores
* Replace deprecated with\_lockmode with with\_for\_update
* Add Python3 xena unit tests
* Update master for stable/wallaby
* requirements: Drop os-testr

6.0.0
-----

* [goal] Deprecate the JSON formatted policy file
* Fix gate requirement checks job
* incorrect name in unit test
* Use common rpc pattern for all services
* Drop lower-constraints
* remove bandit B322 check
* Fix missing self argument in instances\_no\_attached
* Fix parameter passed to IronicNodeNotFound exception
* Imported Translations from Zanata
* Remove the unused coding style modules
* Remove usage of six
* Bump py37 to py38 in tox.ini
* Remove six
* Add Python3 wallaby unit tests
* Update master for stable/victoria
* [goal] Migrate testing to ubuntu focal

5.0.0
-----

* Use importlib to take place of im module
* Implements base method for time series metrics
* Native Zuul v3 watcher-grenade job + some cleanup
* option to rollback action\_plan when it fails
* resize action don't support revert
* Watcher API supports strategy name when creating audit template
* Revert "Don't revert Migrate action"
* remove mox3
* voting watcher-grenade
* Check if scope is None
* Use uwsgi binary from path and mark grenade non-voting
* Use unittest.mock instead of mock
* Cap jsonschema 3.2.0 as the minimal version
* Compatible with old scope format
* Use unittest.mock instead of third party mock
* Switch to newer openstackdocstheme and reno versions
* Fix requirements check
* Remove translation sections from setup.cfg
* hacking: force explicit import of python's mock
* Use unittest.mock instead of third party mock
* Fix hacking min version to 3.0.1
* Monkey patch original current\_thread \_active
* Add py38 package metadata
* Remove future imports
* Remove Babel requirement
* Imported Translations from Zanata
* Add Python3 victoria unit tests
* Update master for stable/ussuri
* Remove six[8] remove requirement&low-requirement
* Remove six[7]

4.0.0.0rc1
----------

* convert EfficacyIndicator.value to float type
* Remove six[6]
* Remove six[5]
* Remove six[4]
* Remove six[3]
* Remove six[2]
* Remove six[1]
* update description about audit argument interval
* remove wsmeext.sphinxext
* Cleanup py27 support
* Block Sphinx 3.0.0
* Update hacking for Python3
* Removed py27 in testing doc
* Add procname for uwsgi based service watcher-api
* just set necessary config options
* simplify doc directory
* Add config option enable\_webhooks\_auth
* api-ref: Add webhook API reference
* Doc: Add EVENT audit description
* Community Goal: Project PTL & Contrib Docs Update
* Add api version history
* releasenotes: Fix reference url
* Add releasenote for event-driven-optimization-based
* doc: move Concurrency doc to admin guide
* doc for event type audit
* Move install doc to user guide
* Update user guide doc
* Add webhook api
* Fix duplicated words issue like "an active instance instance"
* Add audit type: event
* Add list datamodel microversion to api-ref
* Add a new microversion for data model API
* Releasenote for decision engine threadpool
* Use enum class define microversions
* Start README.rst with a better title
* Change self.node to self.nodes in model\_root
* Documentation on concurrency for contributors
* replace host\_url with application\_url
* Migrate grenade jobs to py3
* [ussuri][goal] Drop python 2.7 support and testing
* Refactoring the codes about getting used and free resources
* Use threadpool when building compute data model
* General purpose threadpool for decision engine
* tox: Keeping going with docs
* Switch to Ussuri jobs
* Don't throw exception when missing metrics
* Remove print()
* Update master for stable/train

3.0.0.0rc1
----------

* Fix damodel list return None error When has a compute node
* Fix misspelling
* skip deleted instance when creating datamodel
* Fix unit test failed
* Watcher planner slector releasenote
* Set strategy planner
* Get planner from solution
* Build pdf docs
* update test about cinderclient v1
* correct watcher project for oslo\_config
* Add node resource consolidation planner
* Watcher Planner Selector
* Add releasenote about bp show-datamodel-api
* node resource consolidation
* Fix misspell word
* Remove redundant word 'strategy'
* Add node\_resource\_consolidation doc
* Add watcher-specs link to readme.rst
* Add get node used and free resources
* Implement watcher datamodel list in watcher-api
* Implement watcher datamodel list in watcher-decision-engine
* Add api-ref doc for data model api
* add audit parameter to do\_execute
* improve strategies tempest
* add placement min\_microversion
* set compute min\_microversion
* [train][goal] Define new 'watcher-tempest-functional-ipv6-only' job
* Remove unused disk\_capacity field
* Don't revert Migrate action
* update workload\_balance strategy
* update node resource capacity for basic\_consolidation
* update host\_maintenance strategy
* update noisy\_neighbor strategy
* update outlet\_temp\_control strategy
* add releasenote for bp improve-compute-data-model
* update vm\_workload\_consolidation strategy
* Remove resource used fields from ComputeNode
* Fix var src\_extra\_specs error
* Remove stale comment in method execute()
* Add resource capacity property
* Getting data from placement when updating datamodel
* replace disk\_capacity by disk
* set disk field to disk capacity
* Check resource class before using
* remove id field from CDM
* Update api-ref location
* Improve Compute Data Model
* Add call\_retry for ModelBuilder for error recovery
* Remove useless gconfig process in watcher/api/scheduling.py
* Optimize method list\_opts() in watcher/conf/opts.py
* Fix watcher/conf/applier.py default worker value
* Remove useless \_opts.py
* Baseclass for ModelBuilder with audit scope
* Move datasources folder into decision\_engine
* Add reource\_name for save\_energy in action input parameter field
* Add get\_compute\_node\_by\_uuid
* Resolve aggregate error in workload\_stabilization
* Remove redundant human\_id fields when creating and updating datamodel
* Replace human\_id with name in grafana doc
* Add marker option for get\_instance\_list()
* remove baremetal nodes when building CDM
* Add reource\_name for zone\_migration in action input parameter field
* Grafana proxy datasource to retrieve metrics
* Add reource\_name in action input parameter field
* Add get\_node\_by\_name
* Reduce the query time of the instances when call get\_instance\_list()
* remove baremetal nodes from hypversior list
* Remove notifier\_driver option in Watcher devstack
* Improve logging in building of nova data model
* Releasenote for grafana datasource
* improve OptGroup consistency across configuration
* Blacklist sphinx 2.1.0 (autodoc bug)
* Add Python 3 Train unit tests
* Fix invalid assert states
* Add name field for test data
* Add uWSGI support
* Add name for instance in Watcher datamodel
* Documentation configuring grafana datasource
* Configure nova notification\_format for grenade
* Fix placement\_client group help docs generation
* Improve the configuration parameters for grafana
* Configure nova notification format in non-grenade CI jobs
* improve the process of instance\_created.end
* remove tail\_log
* Update strategy doc
* Implement the configuration for Grafana datasource
* Fix missing print format
* typo ceilometer url
* Replace removed exceptions and prevent regression
* Define a new InstanceNotMapped exception
* Move datasource query\_retry into baseclass
* Fix base enable\_plugin branch for grenade run
* Remove dead code
* Map instance to its node
* update contraints url
* Backwards compatibility for node parameter
* Fix property access in test\_global\_preference\* tests
* Add Placement helper
* Cleanup ConfFixture
* Fix string formatting
* check instance state for instance.update
* add strategy tempest job
* Remove apidoc
* Optimize NovaHelper.get\_compute\_node\_by\_hostname
* Optimize hypervisor API calls
* Add missing ws separator between words
* Group instance methods together in nova\_helper
* Audit API supports new force option
* Optimize NovaClusterDataModelCollector.add\_instance\_node
* Fix test\_metric\_file\_override metric from backend
* Add force field to Audit
* Remove 2.56 version compatibility check
* Require nova\_client.api\_version >= 2.56
* Improve exceptions and logging in ds manager
* Improve DevStack documentation to support metrics
* formal datasource interface implementation
* Improve Gnocchi and Monasca datasource tests
* Allow using file to override metric map
* support-keystoneclient-option
* Fix typo in ceilometer datasource
* Handle no nova CDM in notification code
* Remove unused utilities file
* Update migration notification
* Remove bandit from lower-constraints
* Update Sphinx requirement
* Fix Stein version in watcher-status docs
* Add doc/requirements.txt to venv tox target
* Remove dead code from NovaClusterDataModelCollector
* Enhance the collector\_plugins option help text
* Use base\_strategy's add\_action\_migrate method
* Fix\_inappropriate\_name
* update api version history
* allow building docs without ceilometer client
* pass default\_config\_dirs variable for config initialization
* docs: fix link to install guide from user guide
* Remove watcher.openstack.common=WARN from \_DEFAULT\_LOG\_LEVELS
* Add force field to api-ref
* Fix API version header
* Remove unused exceptions
* Fix bandit runs with 1.6.0
* Allow for global datasources preference from config
* Use the common logging setup function in devstack runs
* Fix reraising of exceptions
* Using node replace resource\_id in method add\_action\_disable\_node()
* Put the method add\_migration() in base.py
* update wsme types
* Add tempest voting
* Resolve problems with audit scope and add tests
* Replace git.openstack.org with opendev.org
* Add hardware.cpu\_util in workload\_stabilization
* Drop use of git.openstack.org
* OpenDev Migration Patch
* separate launching audit scheduler
* Replace HOST\_IP to SERVICE\_HOST
* remove py35
* Uncap jsonschema
* Fix docs gate failed
* Adapt Watcher to Python3.7
* Move eventlet monkey patch code
* Fix lower-constraint deps handling
* Fix openstack-tox-lower-constraint TIMED\_OUT Error
* Update meeting schedule to new bi-weekly format
* Make datasource methods match names of metrics
* Replace openstack.org git:// URLs with https://
* Imported Translations from Zanata
* Update master for stable/stein

2.0.0
-----

* Move client function test to watcher-tempest-plugin
* Access to action's uuid by key
* Migrate legacy jobs to Ubuntu Bionic
* releasenote for data model scope
* Fix unittest failed
* Remove unused type check 'int' in audit.py
* Generalize exceptions & structure of strategies
* scope for datamodel
* Fix inappropriate description about the audit\_state\_machine.png
*     improve \_collect\_aggregates
* Provide two arguments to exception's message
* make ceilometer client import optional
* Fix uniform airflow strategy config parameter
* Fix outlet\_temp\_control config parameter
* remove config parameter 'datasource'
* Add the define of vm\_workload\_consolidation job
* change config parameter from 'datasource' to 'datasources'
* Move datasources metric mappings out of base.py
* function get\_sd return 0 early if len(hosts) is 0
* Update storage\_balance job
* Add storage balance job
* Update user guide
* Fix E731 error
* trivial
* [Trivial fix] Do not use self in classmethod
* Add grenade job
* Update hacking version
* Add version api ref
* update api-ref for audit start/end time
* Use template for lower-constraints
* Remove unused modules
* Add host maintenance tempest
* Fix mailing list archive URL
* Fix stop\_watcher function
* Deprecate Ceilometer Datasource
* Fix doc about nova notifications
* Remove hostname-related playbooks
* audit create request can't set scope
* Change openstack-dev to openstack-discuss channel
* Increase the unit test coverage of host\_maintenance.py
* update doc for install ubuntu
* Fix spelling error in the comments of file host\_maintenance.py
* Add audit scoper for baremetal data model
* Increase the unit test coverage of vm\_workload\_consolidation.py
* Fix audit\_template\_uuid description
* start tls-proxy (if enabled) before checking for api
* remove older api doc
* Add missing ws separator between words
* Update doc for vm\_workload\_consolidation strategy
* Increase the unit test coverage of cinder\_helper.py
* Increase the unit test coverage of nova\_helper.py
* Fix version header in the response
* Enhance Watcher Applier Engine
* Remove unsuitable brackets
* Imported Translations from Zanata
* To avoid ambiguity for flavor\_id
* Fix accessing to optional cinder pool attributes
* Add cover job
* Remove redundant docstring
* optimize get\_instances\_by\_node
* Adjust the same format as above
* Make watcherclient-tempest-functional test non-voting
* Add detailed unit test documentation for watcher
* Update min tox version to 2.0
* Fix parameter type for cinder pool
* update datamodel by nova notifications
* API Microversioning
* remove set\_host\_offline
* Watcher doesn't need paramiko
* Don't need nova notifications
* Fix oslo\_versionedobjects warnings
* Add framework for watcher-status upgrade check
* Update documentation regarding DataSource for strategies
* Use limit -1 for nova servers list
* tenant\_id should be project\_id in instance element
* add start and end time for continuous audit
* Remove uses of rpc\_backend (oslo\_config)
* Don't quote {posargs} in tox.ini
* Do not pass www\_authenticate\_uri to RequestContext
* remove nova legacy notifications
* Fix link to Watcher API
* Fix audit creation with named goal and strategy
* Provide region name while initialize clients
* Add efficacy indicators for workload\_stabilization strategy
* ignore .testrepository
* Fix wrong audit scope
* add python 3.6 unit test job
* switch documentation job to new PTI
* Follow the new PTI for building docs
* Imported Translations from Zanata
* Remove warning log in common.context
* Remove hosts if can't find hosts in host agrregate
* Fix goal method in policy
* import zuul job settings from project-config
* Remove -u root as mysql is executed with root user
* Improve logs of Workload Stabilization strategy
* Imported Translations from Zanata
* Add hostname to API Reference
* Update reno for stable/rocky

1.12.0
------

* Fix TypeError in LOG.debug
* fix unit test:test\_execute\_audit\_with\_interval\_no\_job
* improve strategy doc
* remove get\_flavor\_instance
* Fix unittest MismatchError
* only check decision engine service
* remove extra'\_' and space
* remove voluptuous
* Update watcher-db-manage help doc
* Fix strategies with additional time to initialize CDM
* Add apscheduler\_jobs table to models
* Fix AttributeError exception

1.11.0
------

* Rescheduling continuous audits from FAILED nodes
* Add HA support
* Add noisy neighbor strategy doc
* Fix service task interval
* Add noisy neighbor description
* remove LOG definitions that have not been used
* trivial: fix strategy name
* update Ubuntu version from 14.04 to 16.04
* Update host\_maintenance doc
* Check job before removing it
* update monascaclient version
* Sync CDM among Decision Engines by using notification pool
* Add actionplan list detail api ref
* Remove help message about ZeroMQ driver
* Switch to stestr
* Remove non-voting jobs from gate queue
* Remove undefined job
* Triggers the api-ref-jobs to publish wather api reference
* Fix unit test error
* Use jsonschema to validate efficacy indicators
* fix the rule name
* Correcting url in action\_plan policy

1.10.0
------

* fix tox python3 overrides
* replace windows line endings with unix line endings
* Restore requirements versions
* Switch to oslo\_messaging.ConfFixture.transport\_url
* Add API Reference for Watcher
* Amend the spelling error of a word
* add doc for host\_maintenance
* Update pypi url to new url
* Update storage CDM collector
* Replace port 35357 with 5000 for test\_clients.py
* Add Cinder Cluster Data Model Collector test case
* add strategy host\_maintenance
* Trivial: update url to new url
* Fix to reuse RabbitMQ connection
* Refactor watcher API for Action Plan Start
* Update auth\_url in install docs
* Updated tests on bug, when get list returns deleted items
* Fix the openstack endpoint create failed
* Update the default value for nova api\_verison
* Moved do\_execute method to AuditHandler class
* Fix typo in StorageCapacityBalance
* Grouped \_add\_\*\_filters methods together
* Replace of private \_create methods in tests
* Exclude Project By Audit Scope
* add strategy doc:storage capacity balance
* Update requirements

1.9.0
-----

* add unittest for execute\_audit in audit/continuous.py
* amend delete action policy
* Replace cold migration to use Nova migration API
* Add release notes link to README
* Trivial fix of saving\_energy strategy doc
* Update auth\_uri option to www\_authenticate\_uri
* Added \_get\_model\_list base method for all get\_\*\_list methods
* Trivial fix of user guide doc
* zuulv3 optimization
* Enable mutable config in Watcher
* Several fixes of strategies docs
* set one worker for watcherclient-tempest-functional job
* Remove obsolete playbooks of legacy jobs
* Updated from global requirements
* add lower-constraints job
* Replaced deprecated oslo\_messaging\_rabbit section
* ZuulV3 jobs
* Delete the unnecessary '-'
* Fix sort of \*list command output
* Remove version/date from CLI documentation
* Adding driver to mysql connection URL
* Updated from global requirements
* ignore useless WARNING log message
* Updated from global requirements
* Add the missing markups for the hyperlink titles
* Change the outdated links to the latest links in README
* basic\_cons fix
* Revert "Update OpenStack Installation Tutorial to Rocky"
* Add parameter aggregation\_method for basic\_consolidation
* Imported Translations from Zanata
* Delete the unnecessary '-'
* Update OpenStack Installation Tutorial to Rocky
* Add parameter aggregation\_method for work\_stab
* basic\_consolidation trivial fix
* Fix Uuid and virtual\_free elements load error
* Fix exception string format
* Imported Translations from Zanata
* Add the missing title of Configuration Guide
* Fix change\_nova\_service\_state action
* Updated Hacking doc
* [Trivialfix]Modify a grammatical error
* Fix old url links in doc
* Add a hacking rule for string interpolation at logging
* Complete schema of workload\_stabilization strategy
* filter exclude instances during migration
* Fix grammar errors
* workload\_stabilization trivial fix
* Updated from global requirements
* Imported Translations from Zanata
* Add support for networkx v2.0
* Updated from global requirements
* Fix some dead link in docs
* Update meeting time on odd weeks
* fix misspelling of 'return'
* Add missing release notes
* Imported Translations from Zanata
* Update reno for stable/queens

1.8.0
-----

* Zuul: Remove project name
* Fix issues with aggregate and granularity attributes
* Repalce Chinese double quotes to English double quotes
* Fix get\_compute\_node\_by\_hostname in nova\_helper
* Add zone migration strategy document
* Updated from global requirements
* Fixed AttributeError in storage\_model
* Update zone\_migration comment
* Zuul: Remove project name
* Updated from global requirements
* [Doc] Add actuator strategy doc
* Imported Translations from Zanata
* Remove redundant import alias
* Fix strategy state
* Add datasources to strategies

1.7.0
-----

* Add baremetal strategy validation
* Strategy requirements
* Add zone migration strategy
* Fix workload\_stabilization unavailable nodes and instances
* Update unreachable link
* Updated from global requirements
* Fix compute api ref link
* Adapt workload\_balance strategy to multiple datasource backend
* Adapt noisy\_neighbor strategy to multiple datasource backend
* Adapt basic\_consolidation strategy to multiple datasource backend
* check audit name length
* Audit scoper for storage CDM
* Imported Translations from Zanata
* Update link address
* Fix tempest devstack error
* Add storage capacity balance Strategy
* Updated from global requirements
* Adapt workload\_stabilization strategy to new datasource backend
* Updated from global requirements
* Update pike install supermark to queens
* Add the title of API Guide
* Fix compute scope test bug
* Add baremetal data model
* Set apscheduler logs to WARN level
* Fix configuration doc link
* update audit API description
* update action API description
* use current weighted sd as min\_sd when starting to simulate migrations
* correct audit parameter typo
* Updated from global requirements
* Fix watcher audit list command
* check actionplan state when deleting actionplan
* TrivialFix: remove redundant import alias
* check audit state when deleting audit
* reset job interval when audit was updated
* Updated from global requirements
* Fix releasenotes build
* Update getting scoped storage CDM
* Updated from global requirements
* Fix 'unable to exclude instance'
* Register default policies in code
* listen to 'compute.instance.rebuild.end' event

1.6.0
-----

* Updated from global requirements
* bug fix remove volume migration type 'cold'
* Add and identify excluded instances in compute CDM
* Server with PAUSE status can also live-migrate
* Fix migrate action with migration\_type 'cold'
* Updated from global requirements
* Add Datasource Abstraction
* Make gnocchi as default datasource
* Updated from global requirements
* Fix Bug Unable to get scoped data model
* listen to 'compute.instance.resize.confirm.end' event
* Notifications Changes Multiple Global Efficacy
* 'get\_volume\_type\_by\_backendname' returns a list
* Add app.wsgi to target of pep8
* [Doc] Fix ubuntu version in devstack installation
* Remove setting of version/release from releasenotes
* Updated from global requirements
* Updated from global requirements
* Migrate to Zuul v3
*  Fix test runner config issues with os-testr 1.0.0
* Multiple global efficacy
* Do not use “-y” for package install
* check task\_state in the live\_migrate\_instance
* Change HTTP to HTTPS
* Updated from global requirements
* Can't cancell CONTINUOUS audit
* add name for audit, update audit notifications
* Update doc and add release note about cdm-scoping
* Update the useful links for Rally job
* update API ref doc for ScoringEngine
* Fix the strategy path of outlet\_temp\_control.py
* Optimize the link address
* Imported Translations from Zanata
* Fix a typo
* Unify the oslo\_log import usage
* Optimise indentation for db client
* Correct the schema format
* add name for audit, changes for watcher api/db

1.5.0
-----

* Update the nova api\_version default value to 2.53
* Correct the instance migration link
* Optimize check\_migrated in cinder\_helper.py
* Optimize live\_migrate\_instance
* Updated from global requirements
* Add saving energy strategy description
* Add documentation about saving energy strategy
* Invoke version\_string in watcher/version.py directly
* Fix \_build\_instance\_node for building Compute CDM
* writing convention: do not use “-y” for package install
* Update OpenStack Installation Tutorial to pike
* Remove explicitly enable neutron
* Fix the telemetry-measurements hyperlink for strategies
* optimize update\_audit\_state
* Optimize the import format by pep8
* Remove the unnecessary word
* Fix TypeError in function chunkify
* Fix action plan state change when action failed
* Remove installation guide for openSUSE and SLES
* Notification Cancel Action Plan
* Fix migrate action failure
* Add exception log when migrate action failed
* Add cdm-scoping
* [Doc] Fix host option
* Use Property setters
* Update the description for controller node
* Updated from global requirements
* cleanup test-requirements
* Update the "IAAS" to "IaaS"
* Correct the link for watcher cli
* Update the documentation link for doc migration
* extend-node-status
* Updated from global requirements
* Fix Watcher DB schema creation
* Fix Action 'change\_node\_power\_state' FAILED
* Updated from global requirements
* Fix incorrect config section name of configure doc
* Fix Gate Failure
* Remove redundant right parenthesis
* Utils: fix usage of strtime
* Update the documentation link for doc migration
* iso8601.is8601.Utc No Longer Exists
* Remove the unused rootwrap config
* Remove unused efficacy indicators
* Replace DbMigrationError with DBMigrationError
* Replace default gnocchi endpoint type
* Fix gnocchiclient creation
* Fix DEFAULT\_SCHEMA to validate host\_aggreates
* Updated from global requirements
* Modify display\_name in strategy documentation
* [Trivialfix]Fix typos in watcher
* Restrict existing strategies to their default scope
* Update default Nova API version to 2.53(Pike)
* Fix to use . to source script files
* Fix to use "." to source script files
* Update the documentation link for doc migration
* Updated from global requirements
* Updated from global requirements
* Remove unnecessary dict.keys() method calls (api)
* Update the documention for doc migration
* Remove watcher\_tempest\_plugin
* Updated from global requirements
* Fix KeyError exception
* Remove pbr warnerrors
* Adjust the action state judgment logic
* Update reno for stable/pike

1.4.0
-----

* workload balance base on cpu or ram util
* [Doc] Fix db creation
* get\_config\_opts method was overwritten
* Replace map/filter lambda with comprehensions
* change ram util metric
* Fix failure to load storage plugin
* Fix exception.ComputeNodeNotFound
* Updated from global requirements
* Change exception class from monascaclient
* Fix gnocchi repository URL in local.conf.controller
* Fix ironic client input parameter
* Fix show db version in README
* Removed unnecessary setUp calls in tests
* Fix compute CDM to include disabled compute node
* Update State diagram of Action Plan
* Modification of statistic\_aggregation method
* Fix incorrect action status in notifications
* Added Actuator Strategy
* [Doc] Update software version
* Fix continuous audit fails once it fails
* Updated from global requirements
* Fix Hardcoded availability zone in nova-helper
* Saving Energy Strategy

1.3.0
-----

* Fix gate-watcher-python27-ubuntu-xenial FAILURE
* dynamic action description
* [Doc] Add cinder to architecture diagram
* Add release notes for Pike
* [Doc] Add Configure Cinder Notifications
* Update the documention for doc migration
* Remove all sphinx warnings
* Update the documention for doc migration
* Replace voluptuous with JSONSchema in BaseAction
* Update URLs in documents according to document migration
* Updated from global requirements
* Remove testenv for install-guide
* Add volume migrate action
* Fix devstack plugin
* Enable migration to rely on nova-scheduler
* Update default ironic endpoint type
* Updated from global requirements
* remove useless logging
* New cron type for audit interval
* Fix dbmanage upgrade and downgrade
* Update weekly meetings time in docs
* Add title to administrator guide
* Abort operation for live migration
* [Doc] Add gnocchi to system architecture diagram
* Ignore autogenerated sample config file
* bug fix: Can't get sample through CeilometerHelper
* Replace voluptuous with JSONSchema to validate change\_node\_power\_state
* move doc/source/webapi content to doc/source/api
* Cinder model integration
* Update Documentation link in README
* Adapt watcher documentation for new standards
* Replace default neutron endpoint type
* switch to openstackdocs theme
* Replace default glance endpoint type
* Fix test\_list\_with\_limit failed
* Replace the usage of 'manager' with 'os\_primary'
* Updated from global requirements
* avoid repeated actions in the solution
* Update .gitignore
* Pass environment variables of proxy to tox
* Enable some off-by-default checks
* Updated from global requirements
* Fix get\_action\_plan\_list filter error
* node.status for vm\_workload\_consolidation
* Noisy Neighbor Strategy
* Updated from global requirements
* fix Keyerror in test\_nova\_cdmc
* Add action for compute node power on/off
* Replace voluptuous with JSONSchema to validate migration action
* Updated from global requirements
* Replace voluptuous with JSONSchema to validate change\_nova\_service\_state
* Replace voluptuous with JSONSchema to validate resize action
* Replace voluptuous with JSONSchema to validate sleep action
* Replace voluptuous with JSONSchema to validate nop action
* Remove log translations and hacking
* Remove deprecated oslo\_messaging.get\_transport

1.2.0
-----

* Cancel Action Plan
* fix multinode tempest test failure
* Updated from global requirements
* Add rm to whitelist\_externals in tox.ini
* Remove usage of parameter enforce\_type
* Replace default cinder endpoint type
* Add action description
* Watcher official install-guide
* Trivial fix typos
* Replace oslo\_utils.timeutils.isotime
* Updated from global requirements
* Deleted audit record still get by 'audit list'cmd
* Versioned Notifications for service object
* fix clod\_migrate problem
* Change cinder api\_version to '3' in default
* Updated from global requirements
* doc error for WeightPlanner
* Remove the deprecated tempest.test.attr
* Replace assertRaisesRegexp with assertRaisesRegex
* Updated from global requirements
* [bugfix]for division use accurate division
* Fix a typo
* Updated from global requirements
* Add Watcher JobStore for background jobs
* Updated from global requirements
* Add host\_aggregates in exclude rule of audit scope
* replace nova endpoint
* Add 'rm -f .testrepository/times.dbm' command in testenv
* [Doc] fix local.conf.compute
* [bugfix]retry is reached but action still success
* use instance data replace exception.NoDataFound
* Set access\_policy for messaging's dispatcher
* Fix devstack plugin
* [Doc]  messaging -> messagingv2
* Add ironicclient

1.1.0
-----

* Updated from global requirements
* Added suspended audit state
* Add gnocchi support in uniform\_airflow strategy
* Add Apache License Content in index.rst
* Optimize the link address
* correct syntax error
* Updated from global requirements
* exception when running 'watcher actionplan start XXX'
* Optimize the link address
* Add gnocchi support in outlet\_temp\_control strategy
* fixed syntax error in json
* Replace py34 with py35
* Add gnocchi support in workload\_balance strategy
* Add gnocchi plugin support for devstack
* Updated from global requirements
* Run Watcher-API behind mod-wsgi
* oslo messaging notifications driver update
* Use tox to generate a sample configuration file
* Added tempest test for workload\_stabilization
* Add gnocchi support in VM-Workload-Consolidation strategy
* Updated from global requirements
* Fix for remove verbose option
* Use HostAddressOpt for opts that accept IP and hostnames
* Add gnocchi support in workload\_stabilization strategy
* Prevent the migration of VM with 'optimize' False in VM metadata
* Add period input parameter to vm workload consolidation and outlet temp control strategy
* Add endpoint\_type option for openstack clients
* Updated from global requirements
* Add gnocchi support in basic\_consolidation strategy
* Imported Translations from Zanata
* Remove log translations
* Add Gnocchi datasource
* exception when running 'watcher service list'
* Remove old oslo.messaging transport aliases
* stale the action plan
* Local copy of scenario test base class
* set eager=True for actionplan.list
* Use https instead of http
* Updated from global requirements
* Reduced the code complexity
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Adding instance metadata into cluster data model
* Add Apache License content in conf.py file
* [Fix gate]Update test requirement
* Remove unused PNG files  in image\_src directory
* Updated from global requirements
* Fix no endpoints of ceilometer in devstack environment setup
* Fix some typos in vm\_workload\_consolidation.py
* Optimize audit process
* Reactivate watcher dashboard plugin in devstack/local.conf.controller
* Add SUPERSEDED description
* Add Action Notification
* Switch to use test\_utils.call\_until\_true
* Adding additional details to notification logs
* Add checking audit state
* Fix the mapping between the instance and the node
* Remove support for py34
* Fix that remove 'strategy' attribute does not work
* Fix spelling error in NotificationEndpoint classes
* Fix log level error to warning
* Fix incorrect auto trigger flag
* Using items() instead of six.iteritems()
* Update reno for stable/ocata

1.0.0
-----

* Added action\_plan.execution.\* actions
* Added action\_plan.create|update|delete notifs
* Add release note for action plan notifications
* Add first alembic version for db migration
* Use RPC cast() to be asynchronous
* Updated graph model to use attr\_dict
* Fix context error for user
* Idiomatic loop for calculate\_num\_migrations
* Fix multinode tempest test failure

0.34.0
------

* add Ocata release notes
* Add period input parameter to basic strategy
* Fix invalid mock on ceilometerclient
* Documentation update
* Updated from global requirements
* New Applier Workflow Engine
* Remove obsolete Resource element
* Graph cluster model instead of mapping one
* Fix building of model with a  scoped exclusion rule
* Fix broken gates because of wrong pip command
* Fix test\_clients\_monasca failure
* Updated from global requirements
* New default planner
* Modify the field in tox.ini
* Add action plan SUPERSEDED state
* Fix dummy strategy to use input parameters
* Updated from global requirements
* Update Server Consolidation global efficacy
* Fix a typo in watcher/objects/base.py
* resolve KeyError exception
* Enable notification for vm task state update
* Should use glanceclient to get images
* Multi datasource support for Basic Consolidation
* Added Monasca Helper
* Removed unnecessary utf-8 encoding
* Updated from global requirements
* Enable coverage report in console output
* Fix TypeError if no input\_parameters added
* Update configuration document
* Add additional depencencies of CentOS 7
* Fix reference http
* remove incorrect inline comment
* Add auto\_trigger support to watcher
* Fix variable name error
* Updated from global requirements
* Updated from global requirements
* Fix bad CDMC update on reception of service.update

0.33.0
------

* Implemented clients and auth config module
* Implemented wacther decision engine config module
* Documentation for Uniform Airflow Migration Strategy Fixed issues
* Implemented applier config module
* Implemented planner config module
* Implemented db config module
* Implemented exception config module
* Implemented paths config module
* remove unused log
* Repair log parameter error
* multinode devstack update for live-migration
* Function call pass parameter error
* Documentation for Workload Balance Migration Strategy Fixed comments and added the doc primitive call
* Specific exception for stale cluster state was added
* Implemented utils config module
* Fix CI failures
* improve statistic\_aggregation
* Unnecessary exception
* update strategy table when parameters\_spec changes
* Implemented api config module
* Updated from global requirements
* Updated from global requirements
* Improve the instruction of vm\_workload\_consolidation
* Fix method name in doc/source/dev/plugin/action-plugin.rst
* Repairing unit test failures
* Fix some incorrect description in doc
* [Doc] Fix example code of goal plugin
* Use uuidutils instead of uuid.uuid4()
* Modify the variable assignment errors
* Show team and repo badges on README
* Fix 'ImportError' when docbuild
* Fix one ref that does not work
* Updated from global requirements
* Add periods input parameter
* Solve some spelling mistakes
* Remove redundan lines
* Documentation for Outlet Temperature Based Strategy Fixed outstanding comments
* Change hardware.cpu\_util in workload\_stabilization
* Fix inconsistent descriptions in docstring in action\_plan.py
* Removed nullable flag from audit\_id in ActionPlan
* Replaces uuid.uuid4 with uuidutils.generate\_uuid()
* Fixed update of WatcherObject fields on update
* Fix some typos in action.py & action\_plan.py & audit.py
* [Doc] Fix default value in workload\_stabilization
* Fix the wrong ref for 'Compute node'

0.32.0
------

* Implemented base + moved plugins & service conf
* Add audit.planner events
* Add audit.strategy events
* Implemented audit.delete notification
* Implemented audit.create notification
* Implemented audit.update notification
* Update devstack plugin to add notification param
* Added notification\_level config option
* Removed status\_topic config parameter
* Remove stale notification code
* Added notifications documentation page
* Added support for versioned notifications
* Add doc for vm\_workload\_consolidation strategy
* Fix rally gate test
* Updated from global requirements
* Add doc for workload-stabilization spec
* Fix the typo in efficacy\_indicator module
* Fix NoMetricValuesForInstance error
* Use oslo\_log instead of logging
* optimized 'find\_instance()'
* Fix workload stabilization strategy to ignore disabled hosts
* Added Tempest API tests for /scoring\_engines
* Remove unused SUBMITTED audit state
* Added action\_plan ObjectField for Action
* Added audit & strategy ObjectField for ActionPlan
* Added goal & strategy ObjectField for Audit
* Added goal+strategy ObjectField for AuditTemplate
* Added 'goal' ObjectField for Strategy object
* Refactored Watcher objects to use OVO
* Removed deadline, version, extra & host\_aggregate
* Eager loading on One-to-X foreign keys
* [Doc] Fix strategy list optional argument
* Use Enum value instead of String Value Fixing Gating Issue
* Change "Openstack" to "OpenStack"
* Avoid use xx=[] for parameter to initialize it's value
* Transform KB into MB and normalize CPU
* Updated from global requirements
* Delete python bytecode file
* Add strategy template doc
* Drop MANIFEST.in - it's not needed by pbr
* Add Audit Scope Handler
* Add service object to the watcher\_db\_schema
* Add service supervisor
* Updated from global requirements
* Added Model base class + related doc
* Add RECOMMENDED state
* Enable release notes translation
* Added composite unique name constraints
* Added missing test on GMR plugin
* Moved Watcher doc plugin outside main package
* Stop adding ServiceAvailable group option
* HasLength() rewritten to assertEqual()
* Updated from global requirements
* Fix typo in docstring
* Remove duplicate unittest
* Fix typo in hooks.py
* Docstrings should not start with a space
* Fix capital letter in doc
* Doc updates
* Watcher utils cleanup
* Fixed GMR configuration issue
* Add constraint target to tox.ini and remove 1 dep
* Updated from global requirements
* 'tox -e py27' failed
* Fix typo in docstring from "interprete" to "interpret"
* Fix a typo in watcher.po
* Deactivate dashboard plugin until fixed
* remove redundant word
* Fix a typo in basic\_consolidation.py
* Update Watcher description
* Test code tidy up
* Update reno for stable/newton
* Fixed issue on compute nodes iteration
* Refactored Tests to load scenarios from file
* Updated from global requirements
* Remove group\_by statement in metric queries

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
