Add team priorites for Pike
Here is list of priorities we planned for Pike. Change-Id: I69294790a1951b23bc4c4a292cb50530d1a8fffb
This commit is contained in:
@@ -6,24 +6,241 @@ Pike Project Priorities
|
||||
|
||||
List of priorities the Watcher drivers team is prioritizing in Pike.
|
||||
|
||||
+--------------------------------------+----------------------+
|
||||
| Priority | Owner |
|
||||
+======================================+======================+
|
||||
+--------------------------------------+----------------------+
|
||||
+-----------------------------------------+-------------------------+
|
||||
| Priority | Owner |
|
||||
+=========================================+=========================+
|
||||
| `Cinder Model Intergration`_ | `Hidekazu Nakamura`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Audit tag in VM Metadata`_ | `Prashanth Hari`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Support Gnocchi in Watcher`_ | `Santhosh Fernandes`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Noisy Neighbor Strategy`_ | `Prudhvi Rao Shedimbi`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Workload characterization grammar`_ | `Chris Spencer`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Stale the Action Plan`_ | `Li Canwei`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Workload Characterization and QoS`_ | `Susanne Balle`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Action versioned notifications`_ | `Alexander Chadin`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Cancel Action Plan`_ | `aditi sharma`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Dynamic Action Description`_ | `Charlotte Han`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Power On and Power Off in Watcher`_ | `Li Canwei`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Suspended audit state`_ | `Hidekazu Nakamura`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `JSONschema validation`_ | `YumengBao`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Service versioned notifications`_ | `Vladimir Ostroverkhov`_|
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Notifications for action plan cancel`_ | `aditi sharma`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Use cron syntax for CONTINUOUS audits`_| `Alexander Chadin`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
| `Event-driven optimization based`_ | `Alexander Chadin`_ |
|
||||
+-----------------------------------------+-------------------------+
|
||||
|
||||
.. _Vincent Francoise: https://launchpad.net/~vincent-francoise
|
||||
.. _Edwin Zhai: https://launchpad.net/~edwin-zhai
|
||||
.. _Hidekazu Nakamura: https://launchpad.net/~nakamura-h
|
||||
.. _Prashanth Hari: https://launchpad.net/~hvprash
|
||||
.. _Santhosh Fernandes : https://launchpad.net/~santhosh-fernandes
|
||||
.. _Prudhvi Rao Shedimbi: https://launchpad.net/~prudhvi-rao-shedimbi
|
||||
.. _Chris Spencer: https://launchpad.net/~christopher-m-spencer
|
||||
.. _Susanne Balle: https://launchpad.net/~susanne-balle
|
||||
.. _Charlotte Han: https://launchpad.net/~hanrong
|
||||
.. _Alexander Chadin: https://launchpad.net/~joker946
|
||||
.. _Kevin Mullery: https://launchpad.net/~kmullery
|
||||
.. _Digambar Patil: https://launchpad.net/~digambarpatil15
|
||||
.. _Kevin Mullery: https://launchpad.net/~kmullery
|
||||
.. _Joe Cropper: https://launchpad.net/~jwcroppe
|
||||
.. _aditi sharma: https://launchpad.net/~adi-sky17
|
||||
.. _Li Canwei: https://launchpad.net/~li-canwei2
|
||||
.. _YumengBao: https://launchpad.net/~yumeng-bao
|
||||
.. _Vladimir Ostroverkhov: https://launchpad.net/~ostroverkhov-6
|
||||
|
||||
|
||||
Cinder Model Intergration
|
||||
-------------------------
|
||||
|
||||
Extend Watcher `Cluster Data Model`_ with Cinder-related data.
|
||||
There should be able following features:
|
||||
To integrate storage info at the model build stage
|
||||
|
||||
To consume all the needed Cinder Notifications in order to maintain
|
||||
the consistency of the storage-related part of the model
|
||||
|
||||
To easily query/retrieve the storage information from within a strategy
|
||||
via a clear set of methods
|
||||
|
||||
Audit tag in VM Metadata
|
||||
------------------------
|
||||
|
||||
When Watcher runs `Audit`_ to achieve a `Goal`_, there should be some way for
|
||||
the application/VM owners to know that their VMs are under audit and is
|
||||
flagged for `Action Plan`_ execution. These information could be stored in VM
|
||||
metadata with a timestamp after which action plan will be executed.
|
||||
|
||||
Support Gnocchi in Watcher
|
||||
--------------------------
|
||||
Today, Watcher uses Telemetry and Monasca to collect metrics from the
|
||||
`Cluster`_. There is need to support `Gnocchi`_ as well since Ceilometer v2 API
|
||||
is deprecated.
|
||||
|
||||
Noisy Neighbor Strategy
|
||||
-----------------------
|
||||
|
||||
L3 cache is critical and limit system level resource shared by all apps or
|
||||
VMs on one node. If one VM occupies most of L3 cache, other VMs on the node
|
||||
likely starve without enough L3 cache thus poor performance.
|
||||
|
||||
This BP adds a new `Strategy`_ to detect then migrate such cache greedy VM
|
||||
based on some new cache/memory metrics.
|
||||
|
||||
Workload characterization grammar
|
||||
---------------------------------
|
||||
|
||||
As we run several workloads in cloud, we should be able to characterize such
|
||||
workloads as input to watcher for ensuring Application QoS, placements and
|
||||
consolidation.
|
||||
|
||||
An example of workload characterization is a weighted combination of CPU,
|
||||
Memory or any other resource attributes like High IOPs, Network latency etc.
|
||||
|
||||
Scope of this blueprint is to come up with a grammar structure for defining
|
||||
workload character.
|
||||
|
||||
Stale the Action Plan
|
||||
---------------------
|
||||
|
||||
When an audit is created and launched successfully, it generates a new Action
|
||||
Plan with status RECOMMENDED. If the Cluster Data Model has changed by and by,
|
||||
the action plan is still keep the RECOMMENDED state. There is not an expiry
|
||||
date or event that can invalidate the action plan by far.
|
||||
|
||||
Workload Characterization and QoS
|
||||
---------------------------------
|
||||
|
||||
Based on the defined workload characteristics we should be able to apply
|
||||
Quality of Services to applications. An example would be leveraging
|
||||
technologies like Intel RDT.
|
||||
|
||||
This opens up several application optimization possibilities
|
||||
(use cases like NFV etc.) and also ensures efficient use of cloud resources.
|
||||
Scope of this blueprint is to build a QoS strategy using Intel RDT and workload
|
||||
grammar.
|
||||
|
||||
Action versioned notifications
|
||||
------------------------------
|
||||
|
||||
As of now, there is no way for any service (Watcher included) to know when an
|
||||
action has been created, modified or deleted. This prevents any form of
|
||||
event-based reaction which may be useful for 3rd party services or plugins.
|
||||
|
||||
This blueprint should define the list of Action notifications to be implemented
|
||||
as well as their respective payload structures.
|
||||
|
||||
Cancel Action Plan
|
||||
------------------
|
||||
|
||||
As of now Adminstrator can update the action plan state to **CANCELLED** but
|
||||
there is no action taken by Watcher to cancel the action plan. It only updates
|
||||
the action plan state to **CANCELLED**.
|
||||
|
||||
It should be possible to **CANCEL** execution of the action plan by Watcher.
|
||||
|
||||
Dynamic Action Description
|
||||
--------------------------
|
||||
|
||||
By introducing a new way, for developer, to implement a strategy with new
|
||||
customized actions (blueprint watcher-add-actions-via-conf),
|
||||
we have no more the possibility to have the literal description of an planned
|
||||
`Action`_ before to execute it (in the `Watcher Applier`_). This literal
|
||||
description is important when the cloud admin want to see details information
|
||||
about a recommended action plan.
|
||||
|
||||
Power On and Power Off in Watcher
|
||||
---------------------------------
|
||||
|
||||
Watcher need one strategy which can reduce the power consumption.
|
||||
|
||||
A traffic system could be running on many virtual machines. The traffic is busy
|
||||
during day time, so the traffic system would increase virtual machines' number
|
||||
to satisfy its workload. But during the night, the traffic's workload decreases
|
||||
obviously, so this traffic system would delete redundant virtual machines.
|
||||
This feature we call "elastic scaling" in telecom.
|
||||
|
||||
The telecom operators have their own hardware equipment and sometimes the size
|
||||
of hardware is large. So telecom operators want to use cloud center manager
|
||||
software to reduce the energy consumption of hardware automatically based on
|
||||
"elastic scaling".
|
||||
|
||||
Suspended audit state
|
||||
---------------------
|
||||
|
||||
As of now Watcher have to delete audit and recreate audit if administrator
|
||||
want to stop creating action plan of audit with continuous mode.
|
||||
|
||||
This blueprint adds suspended audit state for stopping creation of action plan
|
||||
related to audit with continuous mode.
|
||||
|
||||
JSONschema validation
|
||||
---------------------
|
||||
|
||||
As of now in Watcher both jsonschema and voluptuous are used to validate
|
||||
JSON payloads. However, the problem with voluptuous is that its structure is
|
||||
not standardized compare to jsonschema which means that we cannot easily
|
||||
expose the validation schema through our API.
|
||||
|
||||
Service versioned notifications
|
||||
-------------------------------
|
||||
|
||||
As of now, there is no way for any service (Watcher included) to know when an
|
||||
action has been created, modified or deleted. This prevents any form of
|
||||
event-based reaction which may be useful for 3rd party services or plugins.
|
||||
|
||||
This blueprint should define the list of Service notifications to be
|
||||
implemented as well as their respective payload structures.
|
||||
|
||||
Notifications for action plan cancel
|
||||
------------------------------------
|
||||
|
||||
Notifications needs to be added to action and actionplan for new operation
|
||||
actionplan cancel.
|
||||
|
||||
Use cron syntax for CONTINUOUS audits
|
||||
-------------------------------------
|
||||
|
||||
As of now we use a period in seconds to schedule continuous audits.
|
||||
This works well but does not really give the flexibility that an operator
|
||||
might actually want. Therefore, we should also provide a way to express out
|
||||
scheduling needs via the cron syntax which shall give operators a fine grained
|
||||
control.
|
||||
|
||||
This change implies the refactoring of the API so backward compatibility should
|
||||
be guaranteed.
|
||||
On the Watcher dashboard side, we should also provide an easy-to-use form to
|
||||
fill in this cron field.
|
||||
|
||||
We should also keep the cron syntax and the creation timestamp in the DB
|
||||
|
||||
Event-driven optimization based
|
||||
-------------------------------
|
||||
|
||||
We propose an event-driven optimization-based audit control.
|
||||
We wants to select among a list of events which may trigger the audit :
|
||||
|
||||
- React to a predicted situation.
|
||||
|
||||
- React to a critical situations and changes in system (e.g: threshold )
|
||||
|
||||
- A new compute node has been added to the cluster
|
||||
|
||||
- A compute node has been removed from the cluster
|
||||
|
||||
- A new virtual machine has been created
|
||||
|
||||
.. _Cluster: http://docs.openstack.org/developer/watcher/glossary.html#cluster-definition
|
||||
.. _Cluster Data Model: https://docs.openstack.org/developer/watcher/glossary.html#cluster-data-model-cdm
|
||||
.. _Gnocchi: https://wiki.openstack.org/wiki/Gnocchi
|
||||
.. _Host Aggregates: http://docs.openstack.org/developer/nova/aggregates.html
|
||||
.. _Availability Zones: http://docs.openstack.org/developer/nova/aggregates.html#availability-zones-azs
|
||||
.. _oslo.versionnedobjects: http://docs.openstack.org/developer/oslo.versionedobjects/
|
||||
@@ -32,5 +249,5 @@ List of priorities the Watcher drivers team is prioritizing in Pike.
|
||||
.. _Action: http://docs.openstack.org/developer/watcher/glossary.html#action-definition
|
||||
.. _Strategy: http://docs.openstack.org/developer/watcher/glossary.html#strategy-definition
|
||||
.. _Nova Notifications: http://docs.openstack.org/developer/nova/notifications.html
|
||||
.. _Cluster Data Model: http://docs.openstack.org/developer/watcher/glossary.html#cluster-data-model
|
||||
.. _Goal: http://docs.openstack.org/developer/watcher/glossary.html#goal
|
||||
.. _Watcher Applier: https://docs.openstack.org/developer/watcher/glossary.html#watcher-applier
|
||||
|
||||
Reference in New Issue
Block a user