This patch is a part of Legacy APIs deprecation.
A Mistral workflow is created when NS is created, however, Tacker
doesn't have actual action scripts. Therefore, even though a Mistral
workflow is created, it never runs successfully due to the absence of
specified scripts.
This patch removes the dependency on Mistral for the legacy NS
create/delete APIs and also remove Mistral from Tacker entirely, as
there's no longer any place to use Mistral.
Implements: blueprint deprecate-legacy-apis
Change-Id: Iee5d109e4fdb9546730164aea94985b1c535bbc6
The PromQL statement data for PrometheusPlugin is able to
customize with external data file. The operators can use the
original PromQL statement with this file.
Implements: blueprint support-auto-lcm
Change-Id: Ie84eef8098feabaf4a82a33610248dcae5e205c0
Cinder updates to check the format of images for security issue [1].
The format of cirros image is qcow2 but upload as raw at devstack init
process of Tacker.
This patch fixes to upload images to glance as the appropriate format.
[1] https://bugs.launchpad.net/cinder/+bug/1996188
Closes-Bug: #2008064
Change-Id: Ib7a36af99bc77f3bd1c95411760ff8cbd2456a3e
This patch updates the k8s version to 1.25.6 and helm version to 3.10.3.
Implements: blueprint update-k8s-helm-prometheus
Change-Id: I1ce138b5579d66e000c4f1978db4e3916f706e7c
This patch updates the k8s version to 1.25.2 and helm version to 3.10.1.
The following changes have been made in kubernetes 1.24, so this patch
supports them.
- Dockershim Removed from kubelet
-> Changed from Dockershim to CRIO
- Service account tokens are no longer auto-generated
for every ServiceAccount
-> Changed secrets to be created manually
Also fixes the following API versions that have already been removed
in kubernetes 1.25.
- autoscaling/v2beta1
- extensions/v1beta1
Implements: blueprint update-k8s-helm-prometheus
Change-Id: Ic9c2f66251c5d11a652184be5908d91e0ee3fb7d
This update is to revert a previous temporary fix for a problem of
tackerclient installation via pip while running function tests.
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: I0d1e18c5a40449a9a5bd2eefb58f97c596a1cbab
The [alarm_auth] url parameter has never been implemented. This change
removes the parameter from devstack installation because it's just
ineffective.
Change-Id: I6948f3533dbce3d3c5170259767c5771feb97110
This update is to add Fenix plugin in the example of `local.conf` for
Kubernetes.
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: I2a7c9c57e2f651057f1a3f170f34555d8ece02f5
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
To install heat-translator and tosca-parser from git repos, dedicated
scripts for the tasks were added in [1]. Then it was replaced with
smarter way using `git_clone_by_name` in [2]. So, we don't need to have
changes by [1] anymore.
[1] https://review.opendev.org/c/openstack/tacker/+/765296
[2] https://review.opendev.org/c/openstack/tacker/+/787322
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: I0a842843443bf5b2dd267b57b3e3dcc66a5198cf
We've been using old cirros-0.4.0 for long time, and don't need to fix
the version of cirros to 0.4.0. This patch is update to the latest
0.5.2.
Most of the changes in this patch is replacing `image`, `hash` and
`version` in TOSCA definition files. The rest of them are:
* Replace images. First one is only an actual image, and rest of them
are empty text files which is a trick for reducing total size in
tacker repo. So, text files are not replaced, but renamed simply.
* tacker/tests/etc/samples/etsi/nfv/common/Files/images/cirros-0.5.2-x86_64-disk.img
* samples/vnf_packages/Files/images/cirros-0.5.2-x86_64-disk.img
* tacker/tests/etc/samples/etsi/nfv/test_csar_utils_data/sample_vnfpkg_no_meta_single_vnfd/Files/images/cirros-0.5.2-x86_64-disk.img
* tacker/tests/etc/samples/sample_vnf_package_csar_in_meta_and_manifest/Files/images/cirros-0.5.2-x86_64-disk.img
* Update functional tests verifying images. A refactor of defining
package size is included.
* Update devstack script, and helper scripts under `contrib` dir.
* Update API references and documents describing usage of the image.
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Implements: blueprint update-cirros-052
Change-Id: I081b791dc986ab10f4845784b3e19dbb626e3cac
For the default network backend driver is changed to OVN[1], update
params for neutron and also kuryr-kubernetes in examples of `local.conf`
to deploy OVN.
[1] https://review.opendev.org/c/openstack/devstack/+/791436
Signed-off-by: Yasufumi Ogawa <yasufum.o@gmail.com>
Change-Id: I04460c525ff5d5751908e12911e4c7797ef09353
This patch cleary enables a `neutron plugin` for the functional test
of `tacker-functional-devstack-multinode-sol-kubernetes` in zuul.
[1] is fixed in the Octavia on the assumption that using a `octavia
create_network_interface_device` function[2] of the Neutron.
According to [1], if using the Octavia, it seems that the
`neutron plugin` needs to be clearly define.
Also currentry the functional test of
`tacker-functional-devstack-multinode-sol-kubernetes` is not became
`-1` status on zuul when zuul's result even is `RETRY_LIMIT` because
job's voting is `non-vorting`. So this patch changes from
`non-voting` to `voting` in zuul's job results.
[1] 651f095a81
[2] https://github.com/openstack/neutron/blob/master/devstack/lib/octavia#L7-L28
Closes-Bug: 1919396
Change-Id: I999a2c7c06528c7470cec2161bdd361a67a8da6f
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 adds new test with separated NFVO such as Grant API.
The test requires additinal config of Tacker, and we cannot use
Tacker with such config for other tests. So we add new FT set for
separated NFVO environment.
Change-Id: I9fb5ef027b9010becc088ca0b66138bcf52512c2
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
There are some placeholder files for running functional test in zuul.
The contents of the files, such as `auth_url` of the following files,
are updated while running devstack `stack.sh`.
* tacker/tests/etc/samples/local-vim.yaml
* tools/test-setup-default-vim.sh
These Git management files including the above, should not be
modified. Therefore, I will be fix as follow.
The need files to be change for Zuul are deploy by Ansible,
so the deploy process is run with Ansible instead of the
`devstack/lib/tacker` script.
Allow `tools/test-setup-default-vim.sh` script to be executed
by itself, so the git management files aren't updated by running
devstack `stack.sh`.
Also, as other improvements, replace the file path included in
Ansible role to definition value.
Change-Id: Iad88c7adfe56e926ee0324d94787577ba066989b
Closes-Bug: #1879303
In CentOS, the path of "ExecStart" in tacker.service file is
different from "/usr/local/bin/tacker-server", so it is unable
to start Tacker successfully.
In order to avoid this issue, fixed the code so that it is
available for multiple distributions.
Change-Id: I2e559523f6bcf57bffd693a4631f72ac339ac4eb
Closes-Bug: #1874384
In VNFLCM, we are planingg to execute instantiation VNF task in the tacker
conductor service. During this instantiation task, Heat-translator would
create the required hot resource yaml files in the /tmp directory so it's
important to set the workingDirectory property in
/etc/systemd/system/tacker-conductor.service as it's done in the
/etc/systemd/system/tacker.service for tacker server service.
Blueprint: support-etsi-nfv-specs
Change-Id: I10a1e55f2f9fc640fa9f405ad4ee78a0ac2e640f
From last couple of months, the functional devstack job was broken.
Fixed the devstack job so that functional tests are run on multi-node setup.
Change-Id: I16906c2fb4ff71f0b4ddc42010182a0203c75231
In function tacker_horizon_install, it is failed if your runtime
referred as `python` is python2. It is because the function runs
installer script without using $PYTHON which is defined in devstack
for referring appropriate runtime.
Change-Id: Ie2901d81e3b2a9a6d6054bfc3227a0afcf1eb3b9
Cirros and OpenWRT images are downloaded and registered to Glance during
Tacker devstack installation. But it is better to avoid these external
dependencies so that we can complete the installation even if image
download links are broken.
Change-Id: I8bd9ef27267ae2097d9cdce5d655c77d9e4a3aad
This patch will add devstack support to create two directories one for
storing extracted csar file and another for glance store file required
for vnf_package.
Partial-Implements: blueprint tosca-csar-mgmt-driver
Change-Id: Iad5e93f3d706d22a84f538bba6010c03cbddc486
Fix settings to install kuryr in local.conf.
Refer to tacker/devstack/local.conf.kuberntes for this setting.
Change-Id: Iea0c40d180cc40e706eb90e2395d93cc719b3abd
This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.
This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.
This update should result in no functional change.
For more information see the thread at
http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html
Change-Id: Ie54c75f09563edf23f34842978e0fd26acc017ba
Currently Tacker usage a misxture of v2 v3 api, which is suboptimal
from both a performance and code-elegance perspective. In this patch
we refactor v2 apis from code.
Change-Id: I981887f3f5af6356aba45a6d128d3e4b23b10286
Implements: blueprint keystone-v3
Currently, keystone_authtoken.auth_url is working at
`http://127.0.0.1/identity`, not `http://127.0.0.1:5000` as shown in
sample vim_config.yaml. So this patch aims to update the outdated
auth_url in vim_config.yaml file
Change-Id: I9e66ab5cd365c7bc70c80974fa891fc2e6ddd96f
Change-Id: Ib58255e5b860f95b6c95c1373ee2c2e70722cd81
Co-Authored-By: Yan Xing an <yanxingan@cmss.chinamobile.com>
Implements: blueprint shared-barbican-secret
Add devstack multinode job.
This job installs nova in a single cell as "late anti-affinity
[1] doesn't work in multi-cells environment.
[1] : https://docs.openstack.org/nova/latest/user/cellsv2-layout.html#operations-requiring-upcalls
Co-Author: tpatil <tushar.vitthal.patil@gmail.com>
Co-Author: yong sheng gong <gong.yongsheng@99cloud.net>
Change-Id: I56a9cf4bb553c8026eec73212a3742d5eab17420
Due this patch there are some issue with logging:
1: No Tacker logs generating on gate.
2: No logs in journalctl
3: unable to set log location with config file.
So here reverting this patch.
Closes-Bug: #1782718
This reverts commit 7f60e64bd3.
Change-Id: I8dd56d049459037a0f5ea5fd11aaa4449fc55f0f