This patch adds below functionality:
- New policy action ``vdu_autoheal`` for recovering failed VDUs
as reported by the respective monitoring driver configured in
the monitoring policy of the VNFD template.
- Add unit/functional tests.
- Added oslo_versioned library to implement HealVnfRequest object.
Note: The implementation of vdu_autoheal policy action will support
HealVnfRequest interface as mentioned in the ETSI standard [1]
[1]: https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.05.01_60/gs_NFV-SOL003v020501p.pdf
Implements: blueprint vdu-auto-healing
Change-Id: If62acbdac41c92842de0ae3b7dedcda9fd1f86e6
This commit adds the functionality of tacker-status CLI for performing
upgrade checks as part of the Stein cycle upgrade-checkers goal.
It only includes a sample check which must be replaced by real checks in
future.
Change-Id: I7bb127fa10dd168ab24dd8c42013576f84eadfbb
Story: 2003657
Task: 26158
This spec proposes implementing containerized VNF. We choose
to use Kubernetes resources (ConfigMap, Deployment, Horizontal
Pod Autoscaler, Service, etc) to define a containerized VNF.
1. Add "configurable_properties" type in VDU node.
2. Support translate TOSCA to Kubernetes templates.
3. Add kubernetes infra driver to support CRUD containerized
VNF.
Implements: blueprint containerised-vnfs
Change-Id: I706f1f325ca8c2b33debd7e6a13e81535245a5ad
Develop a Zabbix plugin in Tacker VNF manager to monitor application level
parameters that can't be supported by current Tacker monitoring driver
Change-Id: I25e871b8e8ddfb49a1f3f22e78c1ea8ba9835d74
Implements: blueprint zabbix-plugin
This patch add kubernetes_driver in vim nfvo and kubernetes_utils to support
CRUD Kubernetes cluster VIM (register, deregister, delete and update).
Partially Implements: blueprint kubernetes-as-vim
Change-Id: Ib1bf4d78ca4796c4e0297bca6fc7e9f004078242
1. scaling and monitoring policy nodes got failed
From tosca-parser 0.8.0, tosca nodes required to be validated.
Unfortunately, the scaling and monitoring policies are not fully
leveraged tosca-parser. This patch will fix this issue.
2. Multiple alarm actions support
Closes-bug: #1682098
Change-Id: I29cb35edfe2447628fa93c64583e5cb4f7bee2f8
1. Add new option 'use_barbican' in config file [vim_keys] section,
default value is False for Pike.
2. Use fernet to encrypt vim password, and save the fernet key into
barbican as a secret.
3. Add new fields 'key_type', 'secret_uuid' into VimAuth.auth_cred
json string. secret_uuid is masked in vim-show or vim-list response.
4. Set the vim's default 'shared' value to False,
vim can only be used by who created it.
5. Add a devref to show how to test.
6. Add a release note.
Implements: blueprint encryption-with-barbican
Partial-bug: #1667652
Change-Id: I5c779041df5a08a361b9aaefac7d241369732551
This patch sets up the rpc queue named KILL_ACTION.<vim_id>
in mistral action class. When vim is deleted, the tacker server
will send(cast) kill message to the mistral task, which will exit.
To test it:
1. python setup.py develop
2. mistral-db-manage --config-file /etc/mistral/mistral.conf
populate
3. restart mistral related service and tacker service
4. tacker vim-register to register a vim
5. mistral workflow-list to check if the monitor workflow is
started
6. tacker vim-delete to check if the workflow and task is deleted
DocImpact
Implements: blueprint refactor-vim-monitor
Change-Id: I078917af65e57305c06b4605835c9d0d3dc1cf68
This patch enables the message rpc framework which tacker conductor
will use. After started via tacker_conductor script, it will listen
on tacker_conductor, tacker_conductor.<host> and one fanout queues.
These three queues are intialized in oslo service module. And topic
queue tacker_conductor will be used by mistral actions.
How to test it:
document will be written after the whole vim monitor is ready.
To test this patch, after 'python setup.py develop', run
'tacker-conductor --config-file /etc/tacker/tacker.conf', and then
use 'rabbitmqctl list_queues' which will list three queues starting
with 'tacker_conductor'.
DocImpact
Implements: blueprint refactor-vim-monitor
Change-Id: Ide80674099d384aed1a98b22928e9fc6bcfa3ff9
Currently, backend actions are tightly coupled with monitor module.
This is like a barrier when we have a various actions in the future.
Also, it will be good for separating monitoring-related features out
from tacker-server. This patch also proposes a policy action framework so
that VNF operators can easily add their own actions.
Change-Id: I6ad163f7435c3b778810f96c506c77298be0c53d
Closes-bug: #1582446
The gating on python 3.4 is restricted to <= Mitaka. This is due to
the change from Ubuntu Trusty to Xenial, where only python3.5 is
available. There is no need to continue to keep these settings.
Change-Id: Ib94f0f269173072b5a4c77d46b43852e78092487
Add definition of alarm monitor in VNFD TOSCA template definition,
support it in VNFM plugin. It can integrate with scaling feature.
An WSGI filter is used to receive ceilometer action URL call and
translate the call into inner action, such as scalling.
The configuration group alarm_auth in tacker.conf is used as the
credentials for ceilometer action URL call. they must have 'admin'
role to query all related stuff for the action.
Implements blueprint: #alarm-based-monitoring-driver
Co-Authored-By: dharmendra kushwaha <dharmendra.kushwaha@nectechnologies.in>
Co-Authored-By: gong yong sheng <gong.yongsheng@99cloud.net>
Change-Id: I7f1dbae361a5dfb97a86e8532bfd09813ce535e2
Currently, infra driver name is derived from VNFD API attribute
infra_driver during VNFD template onboarding. This limits the catalog
to be used for a specific VIM type. VNFD template should be generic
enough to be deployed on any VIM and should not contain infra driver
specific information.
This patch is a follow on for infra driver deprecation [1]
infra_driver value in VNFD request is silently ignored. The infra driver
derivation is now handled during VNF deployment workflow based on user
provied vim_id and corresponding vim_type.
[1] https://review.openstack.org/#/c/363455/
Partial-bug: #1618724
Partially Implements: blueprint infra-driver-refactor
Change-Id: I44cfd18ab75e32872776952560d1f716e99301d5
Previous patch https://review.openstack.org/#/c/349776/
has renamed the DB part.
tacker/vm/plugin.py and tacker/db/vm/vm_db.py are not renamed
in this patch due to the git problem. (It is always be done by
'delete/add' instead of 'rename').
They will be renamed in later patch with unit tests.
Change-Id: I334e0e79c8bdba4a10d97ab691b1e6b242a0f1c5
Partial-bug: #1589018
This commit enables the event model/db, common services plugin
and extenstions for audit support of Tacker resources.
Implements: blueprint: audit-support
Change-Id: I8fe824d335917c07d4b51dd63effae5f33bf0c32
Co-Authored-By: Kanagaraj Manickam <mkr1481@gmail.com>
Sample tacker.conf is no longer included in the source
tree, instead the installer is expected to generate it.
Hence reference to etc/tacker/tacker.conf in setup.cfg
needs to be removed.
Closes-Bug: #1609739
Change-Id: I5abd6c95e93ed02740a061e1d9347774a3ce8c73
Since there are so many components in openstack,
by describing the URL info in the configuration file,
it is more convenient to find the developer documentation
than from the unified portal
Change-Id: I6ac79b9c573d5d551c789c8fa3ad7ff5d14cbf2c
It also make required keystone config changes as part
of devstack plugin, which helps the functional test cases
to successfully complete and it makes inline with existing
tacker conf.
Closes-bug: #1592247
Change-Id: I545ceb2c9e61c22dbd8a0e1ee39a6e4fa24f8e88
Added support for multisite OpenStack VIM feature through a new
'nfvo' extension. This also enables remote VNF life cycle manage-
ment through the VIM Id parameter.
Implements: blueprint multi-site-vim
Depends-On: I3c08945f24343288c2c5614ab4b472d68a1e1d47
Change-Id: I7dd19a0c1ce948474bb3069073b3608ce265beb4
mgmt_driver, monitor_driver and infra_driver are configuration
items. Some of them are multistropt, some are listopt.
This patch uses the listopt for all of them.
In addition, rename drivers dir into infra_drivers.
Change-Id: I5bbc7b6a52d97dae8bbca7dd2e804b7c50c8f7a4
Closes-bug: 1524255
Initially the service name was 'servicevm' and 'advsvc' in install file.
Now it's been renamed to 'tacker' and 'nfv-role'. Change in install file
(tacker/devstack/lib/tacker) was necessary to show the updated names
in horizon/dashboard for tacker service.
Change-Id: I740f3bfe04525d616c8f7df2847cee8a8d2b1cab
Depends-on: I919d77276af72586a20f50239166325adbf9fb11
Depends-on: I097ccbfb7ae192410400b06bd8796e81e62ee65e
Closes-Bug: #1524224
OpenStack projects are no longer being tested under Python 2.6, so
remove the trove classifier implying that this project supports 2.6.
Change-Id: Ia12715fcfee4dfd1f87a28e21ed18af3499a4eb3
* Changes the monitor function to use a loadable driver
* Changes the monitoring thread to use a re-entrant lock
(RLock()) to prevent it from blocking itself during
recovery actions
Change-Id: Icf40ffd3123f3b804de16c88164d84077fbf28e2
Implements: blueprint health-monitoring
Closes-Bug: 1497474
Introduce new Tacker REST API endpoints 'vnfd' and 'vnf' based on NFV
MANO in 'vnfm' extension. Existing 'device' and'device_template'
endpoints will be retained for backward compatibility.
Change-Id: I9dffd4bee25b1f49aea7478f2bd779cf0f6dfb49
Implements: blueprint tacker-api-mano