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
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
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
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
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
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
Change-Id: Ib58255e5b860f95b6c95c1373ee2c2e70722cd81
Co-Authored-By: Yan Xing an <yanxingan@cmss.chinamobile.com>
Implements: blueprint shared-barbican-secret
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
In the devstack, tacker server can't restart
when host reboot.
Therefore, this patch enable the tacker server to
the systemctl and restart it, using run_process in
devstack.
Change-Id: I2c40abc4cc5cae48e7e26a114b66f158b68e9464
Related-Bug: #1770542
Beginning with the Queens release, the keystone install guide
recommends running all interfaces on the same port. This patch
updates the install guide to reflect that change.
Change-Id: Ie8f0236fdaa1caab666f7b1dd15f29f74774435c
When launch devstack, the function for creating images such as
OpenWRT, cirros is not called. This patch will fix that bug.
Change-Id: I5f1df95b537750d03eb486e11f43cc526cbbdcf6
Closes-Bug: #1768386
devstack is using apache as a ssl proxy for wsgi api service.
Current tacker does not support it. We remove it for the time being
This patch also skip scale unit tests which failed due to
heat translator change. The unit test will be enabled at
another patch.
Change-Id: If767d05a0241888663f0ff21282cebfd256efb49
Closes-bug: 1755664
Currently, when deploying tacker using devstack, the
static files of tacker-horizon are not loaded. This
patch fix that.
Change-Id: I63674788c1f1c68f8a624a7768945a1a2aa999c2
Closes-bug: #1752335
While deploying a vnf with autoscaling, heat translator failed with
premission denied error. This issue occured because [1] opening file
in root dir (i.e. '/'), due to which it giving permission denied.
Fixing it by setting current working dir as '/temp'
[1]: https://github.com/openstack/heat-translator/blob/master/translator/hot/tosca_translator.py#L69
Change-Id: Ib2b0fd6c4c32a523b9fb25f47eae19225b84439f
Closes-bug: #1749394
This patch adds the customized OpenWRT image that enables DHCP making
the VNF can be ping. Therefore, the continuously respawning of VNF
can be fixed.
This patch also rewrites the instruction of deploying VNF
based on OpenWRT.
Change-Id: Ieb4d98fe374676bad101a6c2965354a9b19ea0a2
Closes-Bug: #1557008
Closes-Bug: #1749243
Closes-Bug: #1709557
TEMPEST_SERVICES global variable is not supported
by devstack since long back.
- I380dd20e5ed716a0bdf92aa02c3730359b8136e4
- I9c24705e494689f09a885eb0a640efd50db33fcf
Service availability of tempest known services will be
set by devstack with local check.
- I02be777bf93143d946ccbb8e9eff637bfd1928d4
Tacker does not have tempest plugin so it does
not need to have service register in tempest.
This commit removes the commented TEMPEST_SERVICES
setting to avoid any confusion.
Change-Id: I7ea859ce373e5118ebf38bc1adcb6b6fec97f785
Related-Bug: #1743688
Heat now move to policy in code. That means no default policy file
exists. We should touch policy file before insert rules into it.
Also change to use policy.yaml, since it's more preferred.
Co-Authored-By: Rico Lin <rico.lin@easystack.cn>
Closes-Bug: #1740357
Change-Id: I15aa04437965f0ad70f35fd26905c3d1c14df279
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