Tacker CI jobs have been failing due to multiple issues:
1. DevStack builds failed with Neutron logger errors and setuptools
incompatibility when Global_Venv=False.
2. python-tackerclient was always installed from PyPI instead of Git
due to missing installation function in Tacker's DevStack plugin.
3. Stricter relationship validation in tosca-parser v2.13.0 caused
template validation errors.
This patch updates sample test data for Tosca-parser validation,
enables Git installation for python-tackerclient, and adjusts job
configurations (Neutron driver and Global_Venv) to resolve Neutron
and setuptools related errors.
Closes-Bug: https://bugs.launchpad.net/tacker/+bug/2118586
Closes-Bug: https://bugs.launchpad.net/tacker/+bug/2119435
Closes-Bug: https://bugs.launchpad.net/tacker/+bug/2119433
Change-Id: If9bb32267c3006bfda53053a5a2b4d59e62e1c2b
Signed-off-by: Shivam Shukla <shivam.shukla3@india.nec.com>
This patch changes to be able to build the k8s cluster on local
environment with devstack-plugin-container by setting
KUBERNETES_VIM=True in local.conf.
This patch also includes the following fixes:
* Remove settings related to kuryr-kubernetes.
* Added processing to configure required settings in
devstack-plugin-container.
* Modify related documents.
* Dropping octavia.
Change-Id: I6a898c3d82bd82b6b687d1941565e0efa963cdbb
This patch obsoletes Legacy APIs excluding VIM feature.
And this patch mainly contains the following changes:
* Drop the implementation/db of NS and VNFFG functions.
* Remove the implementation that was used only by Legacy VNFM features.
* Remove the following components used only by Legacy features.
* ceilometer
* fenix
* blazar
* Drop the functional test jobs for Legacy features.
* Delete the unnecessary files that were used in Legacy tests.
Implements: blueprint deprecate-legacy-apis
Change-Id: I76ba79f42cf7c3f04c48a87de4ae893f2d53e467
A recent devstack change [1] has switched off the creation of an admin
endpoint for keystone, which we need. Create it again until we update
Tacker to stop using it.
And devstack patch [2] has stopped creating userrc_early and If we do
not use OS_CLOUD, we must override the --os-cloud option of the
openstack command.
So, this patch fixes to set default OS_CLOUD setting overridden.
And for UUID formatting checks in db/types.py, fix to use first
element for List, since value may be passed as a List.
[1] https://review.opendev.org/c/openstack/devstack/+/735472
[2] https://review.opendev.org/c/openstack/devstack/+/780417
Change-Id: I39be7c48aca4be9a4e0bcec6dc6fa45b11c623b3
This update is to revert a change for tosca-parser and heat-translator
installation [1]. It works fine for devstack for Tacker, but doesn't
for some CI tests in kolla. It fails for a "package cannot be found"
error.
The reason of [1] is introduced is because we need to make a change and
it can be used from Tacker quickly. We cannot wait pip packages updated.
However, the latest versions are released recently in which all updates
required from Tacker are included. So, it's OK to revert [1] for a
while.
If this reverting does not affect to kolla CI after merged, we should
cancel the change and make install from git repo again.
[1] commit 500d2eb7 "Change tosca-parser and heat-translator install"
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: Ie2d994b053e909ab10a99307793c795628482e2b
This patch fixes the broken devstack plugin script and slightly changes
the way the var IS_ZUUL_FT is used. When the var is unset, a bash unary
operator expected error should've been emitted because of this part:
${IS_ZUUL_FT+yes}. Unset vs set was a bit confusing so this patch not
only fixes the part but forces the var into always being set and changes
it to "True" vs "False".
Change-Id: I25b418f7776d0d9a00fcf7846a406aba62d40190
The number of required plugins has increased to the extent that
controller on Zuul FT infrastructure almost runs out of memory [1].
This potentially induces various problems such as FT failure noises
or POST_FAILURE at the ansible task 'export-devstack-journal'.
To request expanded images such as ubuntu-focal-expanded (16GB) or
ubuntu-focal-32GB would be an option, but it turns out that would
lead us to another problematic situation. [2]
This patch, instead, addresses the issue by subdividing the memory
load. As a first step, introduce a new subnode 'tacker-controller',
on which both tacker-server and tacker-conductor are located.
Note:
* when we re-locate some other components to this new subnode, it might
better to rename it.
* `devstack_local_conf: {}` in .zuul.yaml is to cancel out the global
job.vars devstack_local_conf.post-config.$NEUTRON_DHCP_CONF, which
is not present on 'tacker-controller' in the first place.
* TACKER_MODE is set to 'standalone'. 'all-in-one' supposes core
services like nova, neutron, keystone, etc. api servers are located
on the same host as tacker-server.
* in devstack/lib/tacker:create_tacker_accounts, SERVICE_HOST should
have been TACKER_HOST. this minor fix is included.
* in roles/setup-default-vim/tasks/main.yaml, the same where conditions
were scattered but all tasks in it just needed to run on 'controller'
only. so let us wrap them all in a block.
* renamed devstack/plugin.sh:tacker_register_default_vim for clarity.
* policy file modification for Heat is now done by an ansible task.
it frees us from the co-location requirements for Tacker and Heat.
* drop devstack/lib/tacker:is_tacker_enabled as it's no longer needed.
[1]: we investigated how severe the memory load on 'controller' was
on Zuul FT infrastructure:
* The highest memory-consuming processes in desc order:
808.70MB (9.87%) 828112 /usr/sbin/mysqld
179.81MB (2.19%) 184124 ... /usr/local/bin/tacker-server ...
152.57MB (1.86%) 156232 ... /usr/local/bin/tacker-conductor .
146.67MB (1.79%) 150188 ... /usr/local/bin/neutron-server ...
132.96MB (1.62%) 136148 ... /usr/local/bin/neutron-server ...
129.08MB (1.58%) 132180 ... /usr/local/bin/heat-engine ...
127.48MB (1.56%) 130544 ... /usr/local/bin/heat-engine ...
122.16MB (1.49%) 125092 nova-apiuWSGI worker 1
121.00MB (1.48%) 123900 neutron-openvswitch-agent ...
119.50MB (1.46%) 122368 cinder-apiuWSGI worker 1
---(snip)---
* `free -m` output
total used free shared buff/cache available
Mem: 7955 7427 196 16 331 219
Swap: 1022 1019 3
[2]: http://eavesdrop.openstack.org/irclogs/%23openstack-infra/
%23openstack-infra.2020-11-25.log.html
Change-Id: I030ffd5fd11b7ca9abca56e85e449ed4c4d709bd
With devstack, tosca-parser and heat-translator of stable version are
installed via pip as listed in `requirements.txt`. However, we usually
use devsatck for deploying development env, and it's recommended to get
the latest division sometimes. On the other hand, there are not so many
cases using stable ones actually.
This update includes several tricks as following, but most of them are
no need if the two packages have its own devstack script. So, we should
remove the tricks after that as described in TODOs added in the update.
NOTE: As described below, we should update upper-constraints.txt as
following example and upload it to tacker's repo everytime [1] is
updated for the change.
$ bash devstack/lib/download_upper_consts
* Install packages from cloned git repos in `/opt/stack/` as similar
to other packages.
* Comment out entries of the two packages in `requirements.txt` and
`lower-constraints.txt` because no need to install them from here,
but activate it if you install stable packages.
* To pass tox jobs, add files below.
* upper-constraints.txt: The two packages are removed from official
constraints file [1] to skip checking version of stable. This file
is refreshed everytime running `stack.sh` to catch up the official.
* requirements-extra.txt: Install the packages from git repo. Without
separating it from `requirements.txt`, `tox -e lower-constraints`
is failed.
* Update params in `tox.ini` to activate the modifications above.
[1] https://releases.openstack.org/constraints/upper/master
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: I776137215ea06c8ac54612d13a663349c2e7db7d
Add fenix plugin for host maintenance.
This feature creates plugin for fenix, create_vnf_maintenance() in VNFM and
VNFMaintenanceAlarmMonitor to create alarm for Fenix. And the feature modifies
alarm_receiver and CRUD in VNFM.
After this feature, all VNF has ALL_MAINTENANCE resource to interacts
with Fenix plugin and [VDU_NAME]_MAINTENANCE if VDU has maintenance property.
[VDU_NAME]_MAINTENANCE will use to perform VNF software modification.
Currently, the plugin can perform CRUD constraints for maintenance,
scale in/out and migration for MIGRATE and LIVE_MIGRATE. The feature has
functions for OWN_ACTION with modified healing, but it not works based on
default vnf workflow in Fenix. And The feature doesn't support server_group
and related with HA like switch over because of unsupported in Tacker.
So these features will be enhance after adding required.
Co-Authored-By: Hyunsik Yang <yangun@dcn.ssu.ac.kr>
Implements: blueprint vnf-rolling-upgrade
Change-Id: I34b82fd40830dd74d0f5ef24a60b3ff465cd4819
This patch describes the way to install Kubernetes VIM via Devstack and
register Kubernetes VIM in Tacker.
Tacker reuses the efforts from Kuryr-Kubernetes project to create
Kubernetes cluster. This patch also sets up native Neutron-based networking
between Kubernetes and OpenStack VIMs to connect VM based and container based
VNFs together, that bring hybrid deployment SFC in the future.
Partially Implements: blueprint kubernetes-as-vim
Change-Id: Idf04f012c6daf93a33ad89a5a7c737f3668eb405
Mistral vim monitor task connects to conductor via conductor's AMQP
topic, calls the update_vim RPC method.
The RPC method will update vim and event DB entries and then return
passed in status.
This patch refactors the common_services_db and nfvo_db in order
not to import too many classes in the conductor process.
One more thing is on devstack, where tacker-conductor service is
introduced.
DocImpact
Implements: blueprint refactor-vim-monitor
Change-Id: Ic2b3c381cca796edc00f3c77cc790cb4c4955db7
(1) change openstack_image_create fail Warning to ERROR
(2) merge create cirros and create openwrt to one function
(3) no use shell cmd let
Change-Id: I195990841d3b2a271d338f6c940a1dc383508a74
Closes-Bug: #1669736
Introduce a TACKER_MODE variable. If this is set to 'all', the
tacker devstack plugin will install other components just like
previous way. If it is set to 'standalone', the tacker devstack
plugin will disable all other services and enable the mysql,
keystone, tacker and horizon services.
Change-Id: I5d7613566ed45aa273848bfe85d76c7a7fe97ba1
Closes-bug: 1633327
Closes-bug: 1620163
python-tackerclient is now available in global
requirements [1]. Moving to use pip dependency
to pull in tackerclient instead of directly
referring to the release tarball.
[1] https://review.openstack.org/334641
Change-Id: I2bc758a56f2371671db60eb626ae87194506c0a4
Heat's recent policy changes reduced the scope of context_is_admin
to be super user privileged which affects Tacker for auto flavor
creation.
Handle devstack script changes to modify OS::Nova::Flavor rule to
'admin' role only in heat's policy.json. Modify manual installation
guide to incorporate these additional steps.
Co-Authored-By: Bharath Thiruveedula <bharath_ves@hotmail.com>
Change-Id: I7aceb21cbfaa6c45efa5c815a9bf7a0a26babc77
Closes-Bug: #1595311
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
Adding this function will automatically download
the openwrt image and upload it to glance when the tacker plugin
is enabled in the local.conf file.
Change-Id: Ib56baff820104bf5a26d882f2ff8e12a18a44d7f
Closes-Bug: #1517672