Commit Graph

416 Commits

Author SHA1 Message Date
Yumeng_Bao
2db279e019 fix Keyerror in test_nova_cdmc
fix keyerror in watcher.tests.decision_engine.cluster.test_nova_cdmc.
TestNovaClusterDataModelCollector.test_nova_cdmc_execute

Change-Id: I44810ae539d8783173dfbb9dd462101e21025802
Closes-Bug: #1698123
2017-06-15 19:08:59 +08:00
Jenkins
986ba9872f Merge "Replace voluptuous with JSONSchema to validate migration action" 2017-06-15 06:21:05 +00:00
licanwei
1188d4263d Add action for compute node power on/off
Add action for compute node power on/off

Change-Id: I7b0c0a7500f72f49af8201547640b2322c64baff
Implements: blueprint add-power-on-off
2017-06-13 15:07:33 +08:00
Yumeng_Bao
1451d9c134 Replace voluptuous with JSONSchema to validate migration action
Now in watcher,both JSONSchema and voluptuous are used to validate
JSON payloads. We want to remove voluptuous and Use
JSONSchema as our only JSON validation tool to keep consistence
and also to make it easier to expose the validation schema
through our API in future work.

In this patch, we replace voluptuous with JSONSchema to validate
the migration action in watcher applier.

Partially Implements: blueprint jsonschema-validation

Change-Id: I02bff5db9bd06567bcc33b61a316c42c805bb20e
2017-06-12 17:40:07 +08:00
Yumeng_Bao
f2751b4818 Replace voluptuous with JSONSchema to validate change_nova_service_state
Now in watcher,both JSONSchema and voluptuous are used to validate
JSON payloads. We want to remove voluptuous and Use
JSONSchema as our only JSON validation tool to keep consistence
and also to make it easier to expose the validation schema
through our API in future work.

In this patch, we replace voluptuous with JSONSchema to validate
the change_nova_service_state action in watcher applier.

Partially Implements: blueprint jsonschema-validation

Change-Id: I09a03fff96d9555024a74ba255c6951affc39de8
2017-06-10 13:51:25 +08:00
Yumeng_Bao
e2bf82607e Replace voluptuous with JSONSchema to validate resize action
Now in watcher,both JSONSchema and voluptuous are used to validate
JSON payloads. We want to remove voluptuous and Use JSONSchema
as our only JSON validation tool to keep consistence and also
to make it easier to expose the validation schema through
our API in future work.

In this patch, we replace voluptuous with JSONSchema to validate
the resize action in watcher applier.

Partially Implements: blueprint jsonschema-validation

Change-Id: I0ee4ba010a9f437658af81d5c971449aefc7f9c4
2017-06-10 13:40:29 +08:00
Yumeng_Bao
d76b5d2f7e Replace voluptuous with JSONSchema to validate sleep action
Now in watcher,both JSONSchema and voluptuous are used to validate
JSON payloads. We want to remove voluptuous and Use
JSONSchema as our only JSON validation tool to keep consistence
and also to make it easier to expose the validation schema
through our API in future work.

In this patch, we replace voluptuous with JSONSchema to validate
the sleep action in watcher applier.

Partially Implements: blueprint jsonschema-validation

Change-Id: I3032490236536a11e7045a56ad0bd40ef979407e
2017-06-10 13:22:36 +08:00
aditi
d7a44739a6 Cancel Action Plan
This patch adds feature to cancel action plan in watcher.
A General flow from watcher-api to watcher-applier is implemented.

action plan cancel can cancel any [ongoing, pending, recommended]
action plan, it will update the action states also to "cancelled".
For ongoing actions in action plan, actions needs to be aborted.
Seperate patches will be added to support abort operation
in each action.

Notification part is addressed by a seperate blueprint.
https://blueprints.launchpad.net/watcher/+spec/notifications-actionplan-cancel

Change-Id: I895a5eaca5239d5657702c8d1875b9ece21682dc
Partially-Implements: blueprint cancel-action-plan
2017-06-07 05:36:18 +00:00
Jenkins
01e865edbf Merge "Replace default cinder endpoint type" 2017-06-05 08:37:45 +00:00
Jenkins
b4b3856f14 Merge "Add action description" 2017-06-02 08:31:21 +00:00
Feng Shengqin
f47fd9ac5e Remove usage of parameter enforce_type
Oslo.config deprecated parameter enforce_type and change
its default value to True. Remove the usage of it to avoid
DeprecationWarning: "Using the 'enforce_type' argument is
deprecated in version '4.0' and will be removed in version
'5.0': The argument enforce_type has changed its default
value to True and then will be removed completely."

Change-Id: I59621664773ee5ad264e6da9b15231f30dbb9c40
Closes-Bug: #1694616
2017-06-01 10:13:20 +08:00
Hidekazu Nakamura
7b766680b0 Replace default cinder endpoint type
The default cinder endpoint type is publicURL in cinderclient.
This patch replaces default cinder endpoint type from
internalURL to publicURL.

Change-Id: Ie6951086e4656bd83195dab151dbaaf948113a7c
Related-Bug: #1686298
2017-06-01 01:20:00 +00:00
licanwei
75a025d2d2 Add action description
Add action get_description in class BaseAction.
This information will be sent to the API side via notification.

Partially Implements: blueprint dynamic-action-description

Change-Id: I9ce1b18ad8c5eb7db62ec926d1859d0f508074b0
2017-05-31 18:03:19 +08:00
Vu Cong Tuan
35074edaf7 Trivial fix typos
Change-Id: I4c7d3a0d815a616d1ba2c0d26135db5f2aea0c2f
2017-05-30 15:55:33 +07:00
Vladimir Ostroverkhov
d2a8454043 Versioned Notifications for service object
Implements: blueprint service-versioned-notifications-api

Change-Id: I9d601edb265ee230104f6c63a5f044869aeb3a02
2017-05-25 12:52:01 +03:00
Luong Anh Tuan
21994297cf Replace assertRaisesRegexp with assertRaisesRegex
This replaces the deprecated (in python 3.2) unittest.TestCase
method assertRaisesRegexp() with assertRaisesRegex().

Change-Id: I38c3055288034aba51c11bb1bccd3655f760cecc
Closes-Bug: #1436957
2017-05-19 18:06:00 +07:00
Jenkins
1366f79b63 Merge "Add Watcher JobStore for background jobs" 2017-05-03 14:50:35 +00:00
Alexander Chadin
f40fcdc573 Add Watcher JobStore for background jobs
This patch set adds WatcherJobStore class that allows to link
jobs and services.

Partially-Implements: blueprint background-jobs-ha
Change-Id: I575887ca6dae60b3b7709e6d2e2b256e09a3d824
2017-05-03 12:07:01 +03:00
Jenkins
f842c5f601 Merge "Add host_aggregates in exclude rule of audit scope" 2017-04-27 11:01:22 +00:00
Pradeep Kumar Singh
0a899a2dc2 Add host_aggregates in exclude rule of audit scope
Currently if user wants to skip some host_aggregates from audit,
it is not possible. This patch adds host_aggregates into the exclude
rule of audit scope. This patch also implements audit-tag-vm-metadata
using scopes.

TODOs:
1. Add tests
2. Remove old implementation of audit-tag-vm-metadata

Change-Id: Ie86378cb02145a660bbf446eedb29dc311fa29d7
Implements: BP audit-tag-vm-metadata
2017-04-27 08:37:16 +00:00
licanwei
f637a368d7 Add ironicclient
This patch set adds ironicclient.

Change-Id: I122a26465d339ee6e36c0f234d3fd6c57cee2afa
Partially-Implements: blueprint build-baremetal-data-model-in-watcher
2017-04-17 06:48:05 +00:00
Jenkins
2e8fb5a821 Merge "exception when running 'watcher actionplan start XXX'" 2017-04-13 11:59:45 +00:00
Jenkins
13a99b4c09 Merge "Prevent the migration of VM with 'optimize' False in VM metadata" 2017-04-12 12:00:05 +00:00
Jenkins
a8994bc227 Merge "Added suspended audit state" 2017-04-12 05:24:01 +00:00
Hidekazu Nakamura
c6845c0136 Added suspended audit state
New audit state SUSPENDED is added in this patch set. If audit
state with continuous mode is changed from ONGOING to SUSPENDED,
audit's job is removed and the audit is not executed.
If audit state changed from SUSPENDED to ONGOING in reverse,
audit is executed again periodically.

Change-Id: I32257f56a40c0352a7c24f3fb80ad95ec28dc614
Implements: blueprint suspended-audit-state
2017-04-11 20:50:24 +09:00
Jenkins
02c8e7d89c Merge "Add gnocchi support in uniform_airflow strategy" 2017-04-11 10:52:30 +00:00
Santhosh Fernandes
b02cf3bea5 Add gnocchi support in uniform_airflow strategy
This patch adds gnocchi support in uniform_airflow strategy
and adds unit tests corresponding to that change.

Change-Id: I347d0129da94a2fc88229d09297765795c5eeb1a
Partiallly-Implements: bp gnocchi-watcher
2017-04-10 19:14:37 +05:30
Jenkins
4690e402ce Merge "Add gnocchi support in workload_balance strategy" 2017-04-10 08:20:21 +00:00
Jenkins
a06c462050 Merge "Add gnocchi support in VM-Workload-Consolidation strategy" 2017-04-07 13:37:59 +00:00
Jenkins
74e9349c1f Merge "Add gnocchi support in outlet_temp_control strategy" 2017-04-07 12:49:33 +00:00
Jenkins
7c048c761e Merge "Add gnocchi support in workload_stabilization strategy" 2017-04-07 10:12:48 +00:00
licanwei
527423a5fa exception when running 'watcher actionplan start XXX'
In DefaultApplier.execute(), Action.list should set eager=True.
Otherwise it will trigger an exception when the notification is sent.

This also causes the FAILURE of
gate-watcher-dsvm-multinode-ubuntu-xenial-nv.

Change-Id: I27db9691727671abb582d4f22283ebda5bd51b07
Closes-Bug: #1676308
2017-04-07 16:19:21 +08:00
Santhosh Fernandes
6de94cca2d Add gnocchi support in outlet_temp_control strategy
This patch adds gnocchi support in outlet_temp_control strategy
and adds unit tests corresponding to that change.
Partiallly-Implements: bp gnocchi-watcher

Change-Id: I2c2e9a86c470f3402adc3dbb7eb9995c643d5b37
2017-04-05 19:26:54 +05:30
Santhosh Fernandes
e549e43e9e Add gnocchi support in workload_balance strategy
This patch adds gnocchi support in workload_balance strategy
and adds unit tests corresponding to that change.

Change-Id: I9bc56c7b91b5c3fd0cfe97d75c3bace50ab22532
Partiallly-Implements: bp gnocchi-watcher
2017-04-03 15:52:42 +05:30
Santhosh Fernandes
4642a92e78 Add gnocchi support in VM-Workload-Consolidation strategy
This patch adds gnocchi support in VM-Workload-Consolidation strategy
and adds unit tests corresponding to that change.

Change-Id: I4aab158a6b7c92cb9fe8979bb8bd6338c4686b11
Partiallly-Implements: bp gnocchi-watcher
2017-03-29 19:33:55 +05:30
Santhosh Fernandes
d53abb7af5 Fix for remove verbose option
This commit[1] has removed verbose option due to which our ut's are failing.
This patch is fixing this issue.

[1] https://review.openstack.org/#/c/444217/

Change-Id: I784a7f855f42de462e8fc8f829f5526e1483dab4
2017-03-29 11:17:43 +05:30
Jenkins
4a3c15185c Merge "stale the action plan" 2017-03-27 22:46:30 +00:00
Jenkins
2c6ab9a926 Merge "Add period input parameter to vm workload consolidation and outlet temp control strategy." 2017-03-27 22:46:07 +00:00
Santhosh Fernandes
0750b93827 Add gnocchi support in workload_stabilization strategy
This patch adds gnocchi support in workload_stabilization strategy
and adds unit tests corresponding to that change.

Change-Id: I96bd758962bbf67d60e19a99a19451fb80e447b2
Partiallly-Implements: bp gnocchi-watcher
2017-03-27 23:56:41 +05:30
Pradeep Kumar Singh
a2cb02a861 Prevent the migration of VM with 'optimize' False in VM metadata
This patch adds the functionality to filter out VMs which have
metadata field 'optimize' set to False. This patch implements the
functionality for basic_consolidation strategy.

Change-Id: Iaf7b63e09534e4a67406e7f092242558b78c0bde
Partially-Implements: BP audit-tag-vm-metadata
2017-03-27 10:17:37 +00:00
Santhosh Fernandes
377889859d Add period input parameter to vm workload consolidation and
outlet temp control strategy.

Closes-Bug: #1614021
Change-Id: Iec975e4a4a39168a65ae89ca75a5ca9445c14f9d
2017-03-27 15:06:36 +05:30
Margarita Shakhova
cde60d2ead Add endpoint_type option for openstack clients.
Interface type internalURL' is used as a default value.

Change-Id: Ia1acbfbfd2a1eecd85e5aa1d2e19665d411c4c58
Closes-Bug: #1671405
2017-03-24 21:12:11 +00:00
Santhosh Fernandes
18aa50c58e Add gnocchi support in basic_consolidation strategy
This patch adds gnocchi support in basic_consolidation strategy
and adds unit tests corresponding to that change.

Change-Id: Ia1ee55fca8eadffbd244c0247577805b6856369d
Partiallly-Implements: bp gnocchi-watcher
2017-03-24 09:09:42 +00:00
Jenkins
2c2120526c Merge "Add Gnocchi datasource" 2017-03-24 09:00:33 +00:00
Alexander Chadin
0b213a8734 Add Gnocchi datasource
This patch set adds Gnocchi datasource support

Implements: blueprint gnocchi-watcher

Change-Id: I41653149435fd355548071de855586004371c4fc
2017-03-23 13:54:03 +03:00
licanwei
38a3cbc84a exception when running 'watcher service list'
We have two controllers as HA in our OpenStack environment.
There are watcher-applier and watcher-decision-engine in each
controller. So there are two same name in the services table.
In this case, the objects.Service.get_by_name(context, name)
will trigger exception of MultipleResultsFound.
We should use objects.Service.get(context, id) replace of
objects.Service.get_by_name(context, name).

Change-Id: Ic3ce784590d6c2a648cb3b28299744deed281332
Closes-Bug: #1674196
2017-03-22 12:12:31 +08:00
licanwei
38e4b48d70 stale the action plan
Check the creation time of the actionplan,
and set the state to SUPERSEDED if it has expired.

Change-Id: I900e8dc5011dec4cffd58913b9c5083a6131d70d
Implements: blueprint stale-action-plan
2017-03-18 13:46:34 +08:00
Jenkins
ba98c88303 Merge "Add Action Notification" 2017-03-08 09:58:46 +00:00
Jenkins
d45ab13619 Merge "Adding instance metadata into cluster data model" 2017-03-04 01:54:03 +00:00
Prudhvi Rao Shedimbi
e2d2fc6227 Adding instance metadata into cluster data model
This patch adds instance metadata in the cluster data model. This
is needed for Noisy Neighbor strategy.

Change-Id: Ia92a9f97ba1457ba844cc37a4d443ca4354069e3
2017-03-03 14:52:42 +00:00