aboutsummaryrefslogtreecommitdiffstats
path: root/functest/core/cloudify.py
AgeCommit message (Collapse)AuthorFilesLines
2022-11-08Stop using docker install scriptCédric Ollivier1-4/+3
As this script fails vs xenial, let's update ubuntu and install the official package. Change-Id: Iba4124429bcd80280f6c5d128758ca72f00bb8f7 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2021-11-15Update linters and fix all new issuesCédric Ollivier1-10/+8
It mostly add encoding in open calls and leverage f-strings. Change-Id: Ifead18fc724a452c1067dcf91dc577032edc9c59 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2021-08-18Update to Alpine 3.14Cédric Ollivier1-2/+2
It also fixes lots of new pylint warnings. Change-Id: I3376aee5649596c53bc2941ad4d8e0674a2967fe Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2020-11-26Allow running cloudify without tenant network resources.Cédric Ollivier1-1/+2
It fits the Airship deployment where there is neither tenant networks nor floating ips. It skips all VNF test cases as they ask for tenant resources. Change-Id: Ib5f2074314ff940595ce1387912055fa916a1f79 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2020-08-17Boot a VM to run jujuCédric Ollivier1-6/+6
It allows running juju_epc vs arm32 and arm64. It stops offering juju in functest-vnf and rather installs it in a VM. It also adds a couple of missing output decode() Change-Id: I2218742b2824c8328823051bde32422e56784e90 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-07-27Switch to Python 3.7 and Alpine 3.10Cédric Ollivier1-4/+3
It also allows building docs as doc8 is broken due to latest OpenStack's upper-constraints. pylint is updated to 2.3.1 (lastest py3.7 version) It disables perm as umask is currently false on lf-virtual1. Change-Id: If09d4796d48b7d0591e7926621d3bbf5ca1b6c24 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-04-24Refactor modules to avoid duplicated codeCédric Ollivier1-0/+43
It also increases number of lines to warm about duplicated codes. Change-Id: I3914da8a90cbfe8fd024e9944c3adc8a617330d3 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-02-23Stop downloading Cloudify containerCédric Ollivier1-1/+10
It selects the Docker image archive as proposed by Cloudify. Change-Id: I88b5333625a8d2cab140291552c1c8ca5bac3a36 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-02-12Increase timeout to reach vnf APICédric Ollivier1-1/+1
It increases the timeout in cloudify-based and clearwater-based testcases to allow running them in parallel (functest-virtual) [1]. [1] https://build.opnfv.org/ci/job/functest-latest-gate/54/ Change-Id: Ic637cb46a1380a683cb1e2b633cb97ac3be6affa Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-02-11Update and enable Cloudify-based testcasesCédric Ollivier1-4/+16
It switches from the Cloudify virtual machine to the community container which allows deploying vyos_vrouter and cloudify_ims. Last stable Cloudify OpenStack plugin (2.4.17) is now deployed. It also updates the Cloudify python package to latest release. It adds a delay before deleting the blueprint which may be improved in a second change (it allows enabling the testcase in the stable release). Change-Id: Ie48a2c9d2badab0d7ba0b9e7845f453fad335ef7 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-02-02Update Cloudify imagesCédric Ollivier1-1/+1
The former image can't be downloaded and then breaks all gates. It will be completed by changes in vnf if needed. Change-Id: Ie364aa2315257157a5e09eb4ba121926a60e7b26 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-01-07Check if key exists instead of leveraging on update_if_existsCédric Ollivier1-5/+12
It seems falsy (see line 72) 2019-01-07 11:50:32,550 - functest.core.cloudify - DEBUG - try 9: Cloudify Manager isn't up and running Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/functest/core/cloudify.py", line 72, in execute "foo", "bar", update_if_exists=True) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/secrets.py", line 86, in create response = self.api.put('/secrets/{0}'.format(key), data=data) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 263, in put timeout=timeout) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 224, in do_request verify=self.get_request_verify(), timeout=timeout) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 158, in _do_request self._raise_client_error(response, request_url) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 119, in _raise_client_error response=response) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 131, in _prepare_and_raise_exception status_code, error_code=error_code, response=response) CloudifyClientError: 409: <Secret id=`foo` tenant=`default_tenant`> already exists on <Tenant name=`default_tenant`> Change-Id: I6f4e2719ad2e55e997ebbd158dce4c6a204b2c36 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-01-07Print traceback as debug during cloudify triesCédric Ollivier1-2/+4
The traceback is printed as debug to avoid priting the first unsuccessful tries in console. It will ease debugging issues as for [1] [1] https://gerrit.opnfv.org/gerrit/#/c/66253/ Change-Id: I89992ea4452b24788cc06dec4c384a263b704efb Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2019-01-07Prevent from CloudifyClientError (key already exists)Cédric Ollivier1-1/+2
It has rarely occured in Orange Openlab [1]. Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/functest/core/cloudify.py", line 70, in execute self.cfy_client.secrets.create("foo", "bar") File "/usr/lib/python2.7/site-packages/cloudify_rest_client/secrets.py", line 86, in create response = self.api.put('/secrets/{0}'.format(key), data=data) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 263, in put timeout=timeout) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 224, in do_request verify=self.get_request_verify(), timeout=timeout) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 158, in _do_request self._raise_client_error(response, request_url) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 119, in _raise_client_error response=response) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 131, in _prepare_and_raise_exception status_code, error_code=error_code, response=response) CloudifyClientError: 409: <Secret id=`foo` tenant=`default_tenant`> already exists on <Tenant name=`default_tenant`> Change-Id: Ic61d0c729f13caa552a0b0a00dad35e50d130e01 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-12-06Remove duplicated code in vnfsCédric Ollivier1-0/+65
It mainly leverages on functest_utils instead of duplicating. Change-Id: I97dc9215a835d3e7f1527b565132f667f09f2b7e Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-08-03Increase Cloudify create_server_timeoutCédric Ollivier1-1/+1
The timeout has been reached when running multiple vnfs in parallel. Only few additional seconds seemed required here. Change-Id: I0d6e38e827c581edb617bb0cc13249645468a2aa Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-07-24Reduce cloudify manager disk sizeValentin Boucher1-1/+1
40 Gb is enough Change-Id: Iae6a72fcf91fda67bbd036f478e344478d48264f Signed-off-by: Valentin Boucher <valentin.boucher@kontron.com>
2018-07-22Add secrets operations in cloudify.pyCédric Ollivier1-2/+5
It tries to prevent race conditions when running cloudify_ims. Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/functest/core/singlevm.py", line 411, in run if not self.execute(): File "/usr/lib/python2.7/site-packages/functest/opnfv_tests/vnf/ims/cloudify_ims.py", line 120, in execute self.cfy_client.secrets.create(k, val) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/secrets.py", line 86, in create response = self.api.put('/secrets/{0}'.format(key), data=data) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 263, in put timeout=timeout) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 233, in do_request 'SSL, but the client does'.format(e) ConnectionError: ('Connection aborted.', BadStatusLine("''",)) Change-Id: Id2603bbda462b50d3140b6f45894c8810d542e4c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-07-20Minor change about subnet poolCédric Ollivier1-1/+1
It reverts the subnet pool to 192.168.120.0/24. It avoids conflicts with default CPE private subnets. It also increases cloudify spawning timeout. Change-Id: I70183cede0690c2cbc74f9c30a38892d829db2c9 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-07-18Increase timeout when creating serversCédric Ollivier1-0/+1
It takes times to prepare disk on compute nodes (spawning). The default value is enough for all cirros VMs but it has to be increased for all cloudify VMs (4.1G). Change-Id: I3f1fc0142a73c586e9219a2718bfc467cc48e275 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-07-18Force a GET operations on cloudify APICédric Ollivier1-0/+2
Cloudify is considered as running by the client but sometimes it failed when listing secrets right after. It adds that check in cloudify.py. Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/functest/core/singlevm.py", line 391, in run if not self.execute(): File "/usr/lib/python2.7/site-packages/functest/opnfv_tests/vnf/ims/cloudify_ims.py", line 119, in execute secrets_list = self.cfy_client.secrets.list() File "/usr/lib/python2.7/site-packages/cloudify_rest_client/secrets.py", line 113, in list response = self.api.get('/secrets', params=params) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 252, in get timeout=timeout) File "/usr/lib/python2.7/site-packages/cloudify_rest_client/client.py", line 233, in do_request 'SSL, but the client does'.format(e) ConnectionError: ('Connection aborted.', BadStatusLine("''",)) Change-Id: Ie1b25ff529cfbf9f7476821499da369a46126e81 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-07-10Publish cloudify scenarioCédric Ollivier1-0/+77
It eases deploying any vnf via Cloudify. It also stops duplicating code between vims and vrouter. Co-Authored-By: Valentin Boucher <valentin.boucher@kontron.com> Change-Id: I5fe06d91804f4781f6b1301da12862bac793ffbb Signed-off-by: Cédric Ollivier <ollivier.cedric@gmail.com>