aboutsummaryrefslogtreecommitdiffstats
path: root/sfc/lib
AgeCommit message (Collapse)AuthorFilesLines
2019-01-21Simplify deletion test and fix unittestManuel Buil1-2/+1
Removing the port groups when deleting the first chain simplifies things because we don't need port_groups to be a variable of the SfcCommonTestCase class There were also some missing unittest Change-Id: I6ae780bdc72116907a9e6037571c29f28a6ba334 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-11-26Migrate SNAPS to Openstack-SDKNikos Mimigiannis2-148/+211
JIRA: SFC-137 This patch replaces SNAPS library with openstack_SDK library for TCs with mano component: no-mano Change-Id: I99b9a5f54a273f61ecff05a11616440d5e85e55b Signed-off-by: Nikos Mimigiannis <nmimi@intracom-telecom.com>
2018-11-06Avoid race conditionsManuel Buil1-0/+17
Sometimes the port pair group gets created before port pair was committed in openstack. Before creating the port pair group, we check that the port pair is already listed by openstack Change-Id: Icfd23521859fc5d4e6bb6745be80f79bf9e31a0c Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-10-26Merge "Adapt regex to new flows"Brady Johnson1-5/+6
2018-10-26Add a bit more data to the logging messageManuel Buil1-2/+2
In case of failures, it is hard to understand for what vnf the port pair was being created when things went wrong Change-Id: I1cfa2553318d910535d45910b2a46d75b2f7926a Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-10-26Adapt regex to new flowsManuel Buil1-5/+6
ODL Fluorine changes the nsh syntax, so we should adapt it Change-Id: I63537f9b880f14b40be2658d3a7ed2e315e86b11 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-09-11Use block=True to avoid race conditionsManuel Buil1-1/+1
If we do things asynchronously, the instance might not be ready and the information we get is not complete (e.g. port missing). Using block=True fixes the problem Change-Id: I9f90f52656553b8da8697477250ed631be884196 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-09-03Remove port security from vnfs when no-manoManuel Buil1-9/+16
If the ports have security enabled, the traffic is dropped due to the anti-spoofing Change-Id: I6fbc63a3d959d9d55dfd1d64e12e1d0e7ec48bcb Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-08-31Decouple tacker from testsManuel Buil4-31/+162
Support n-sfc too and abstract a bit the MANO layer so that other MANO components can be inserted into the test Change-Id: I3fb59fbf40b4207bf1721092cd8ff0559e1d9d90 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-08-29Flake8 fixesManuel Buil1-1/+1
When running flake8 I am getting several errors. This patch fixes them Change-Id: I4d32b4b214ca61e98da6fc28a4de44201c4c1cdc Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-08-08Fix UnboundLocalError in 'odl_utils.py'#L420Venkata Harshavardhan Reddy Allu1-0/+1
When an exception is raised from find_compute in #L411, the compute variable is not created and it raises an error < UnboundLocalError: local variable 'compute' referenced before assignment > at #L420. Change-Id: I48cff435dc3a03b30b7a8d24aa605611e30938de Signed-off-by: Venkata Harshavardhan Reddy Allu <venkataharshavardhan_ven@srmuniv.edu.in>
2018-08-05formatting the log message in odl_utils.py #413Venkata Harshavardhan Reddy Allu1-1/+1
Change-Id: I32f826fbb2c0a339264b8b316666ddf7f241570c Signed-off-by: Venkata Harshavardhan Reddy Allu <venkataharshavardhan_ven@srmuniv.edu.in>
2018-07-19Added parentheses in 'openstack_utils.py' line#476Venkata Harshavardhan Reddy Allu1-1/+1
Parentheses were added around the arguments in line#476 for proper formatting the Exception message in line#475 Change-Id: I3b2233aea10ff5afd23da00a837b976456274a51 Signed-off-by: Venkata Harshavardhan Reddy Allu <venkataharshavardhan_ven@srmuniv.edu.in>
2018-06-12Remove the pike specific filesManuel Buil1-16/+1
We are already preparing for Gambia release and that means Openstack Queens for the traditional release track. Therefore, we can remove the specific configs for Openstack Pike Change-Id: Ib49a53e73ae1020aaead8a897dff8733147d87ac Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-06-07Provide support for VNFsManuel Buil1-0/+13
Currently it is not possible to define different images for client/server and VNFs. This functionality is important to have in order to test different VNFs Change-Id: Ibc3b3f1102d52529701748d37f795cdf05269410 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-06-04Provide support for local imagesManuel Buil1-2/+13
There might be cases where we want to test local images and the image location in config.yml is locally Change-Id: I29f115de5c80db187ecc2b260c386b377fafd6d2 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-06-01Fix the logging to be compatible with functestPanagiotis Karalis7-23/+23
In order to collect logs from SFC test scenarios running through functest framework (mainly for troubleshooting purposes), the logging mechanism has been updated accordingly. JIRA: SFC-125 Change-Id: Ide7c32519afa6ece299d0ac1dcb168609a2e3945 Signed-off-by: Panagiotis Karalis <pkaralis@intracom-telecom.com>
2018-05-21Merge "Revert "Add iteritems() when parsing dict in Python 2.x""Manuel Buil1-1/+1
2018-05-21Increase loggingManuel Buil1-0/+1
Apex deployments are currently failing and it could be because it uses the wrong config file. We are currently not logging what file it is fetched and that's what this patch tries to fix Change-Id: I441beee9d3ad5d918ed4b8dc0164456b39e53b56 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-05-21Improve logging and unify how to read from yamlManuel Buil1-4/+6
vnffgd and vnfd are being parsed in different ways, we should parse them in the same way. We could do it directly with safe_load, however, the returned object is not easy to read. If we use read() instead, the resturned object is easy to read/log. Therefore, this patch combines both options Change-Id: I3416933801569a6f57962cd9906726229923136d Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-05-21Revert "Add iteritems() when parsing dict in Python 2.x"Manuel Buil1-1/+1
This reverts commit e29fe40e0c98d6c3b619de7f99f0a8fb9e4a9d7b. acl_types_names is not a dictionary but a list of tuples: (Pdb) pp acl_types_names [(u'ietf-access-control-list:ipv4-acl', u'04a5ce7c-6aac-4f26-b3f9-a19749d814f3'), (u'ietf-access-control-list:ipv4-acl', u'75737a58-c894-46d9-9319-8d2b4785b0f3'), (u'ietf-access-control-list:ipv4-acl', u'bb422318-c3a3-4356-a67c-f44e8874edf6')] (Pdb) type(acl_types_names) <type 'list'> (Pdb) type(acl_types_names[0]) <type 'tuple'> Therefore, this patch introduces an error Change-Id: I7f7e69fb1855c7915b2c17d80a5b7ea76aaa8694 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-05-09Add iteritems() when parsing dict in Python 2.xDimitrios Markou1-1/+1
The SFC code still runs with Python 2.x version and that means that when a dictionary is getting parsed it should use the iteritems() function. Change-Id: I44f1c9cb916e7b76b277e376c8f524a99aa01f26 Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2018-05-09Add more logs to the codeManuel Buil1-1/+11
It is hard to understand what is going on in the SFC executions Change-Id: I5c9688e68b03c59d6d39290faee8683513a60440 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-05-03Bug fix: Use opnfv.logger objectManuel Buil7-29/+19
JIRA: SFC-125 If we don't use the opnfv.logger from functest, logs are not printed when exeucting tests through the functest framework Change-Id: I6d58ff3977fd94221720eea978e0efde07a576a2 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-04-18Track the indirectly created security groupsManuel Buil2-1/+18
networking-odl creates a security group when creating a router. This security group is not tracked by SNAPs and thus it never gets removed when running the clean up. We need this workaround until the following bug is fixed: https://bugs.launchpad.net/networking-odl/+bug/1763705 Change-Id: I15b939609e815f24ef0c1dcc0aeb9f4471f351f0 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-04-09Use different config files depending on versionManuel Buil1-1/+15
We can read the openstack version from the env variables and then use a different config. The reason we use this is because openstack API changed from Pike to Queens and Pike is the official version for OPNFV Fraser release Change-Id: I8a94e71224d2ba0aa75a6438f3d7b03929acbbef Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-04-04Update symmetric chain test caseJaime Caamaño Ruiz3-38/+98
Update the symmetric chain test case aligning it with updates available from ODL Oxygen: - ODL networking-sfc implementation now supports symmetric paths. It is no longer needed to configure the ACL or chain directly through the ODL rest api. It can now be fully relied on tacker for this. - ODL networking-sfc implementation now supports different ingress and egress ports for port pairs. The test case exercises this by setting up a VNF with two distinct ports. Note that this requires an updated VNF image that supports two nics and bundles a vxlan_tool capable of using them. Change-Id: Ie711abb93109943dcbf699ece7b2b570500a3711 Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
2018-04-04Support sfp redirect action on acl flow checkJaime Caamaño Ruiz1-59/+139
Starting Oxygen, ODL networking-sfc translator supports symmetric paths and maps flow classifiers to ACLs with SFP redirect action instead of RSP redirect action. A SFP may have two RSPs associated if the path is symmetric, one otherwise. One of the two RSPs will be flagged as the reverse path and the other is the forward path. Traffic from the logical-source-port will be classified to the forward path, while traffic from the logical-destination-port will be classified to the reverse path. This patch updates the ACL flow check logic to account for the above. Change-Id: I2d8b9e6c2a1033d469668db29b9c18f525e89370 Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
2018-04-03Fix flake8 problemsManuel Buil1-1/+1
There was a bug in releng and pylint was not ran, some issues got merged in master because of that Change-Id: Icf3fa882f4f2b0593fa0b85edce46e49dcc303c9 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-03-22Fix tacker resource collection requestJaime Caamaño Ruiz1-6/+6
Looks like using tacker_client.get to request a resource collection causes connection drops and subsequent requests to fail, probably because of incomplete pagination handling. Use tacker_client.list instead. Change-Id: I79ba39759b61f57774e65b5e49686edb6bf05c13 Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
2018-03-11Remove SNAPs deprecated methodManuel Buil1-4/+3
SNAPs is not supporting get_vm_info() anymore, we should remove it from our lib https://gerrit.opnfv.org/gerrit/#/c/53263/4 Change-Id: Idad1bb60b86c45256bb0a95b6c554e83e6bfae35 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-03-08Merge "Update SNAPs usage of library"Dimitrios Markou1-2/+7
2018-03-05Merge "Import xtesting module"Manuel Buil1-1/+0
2018-03-05Import xtesting moduleLinda Wang1-1/+0
Change-Id: Id524fbf1677844b5172f52c857cf8bed8d075ff3 Signed-off-by: Linda Wang <wangwulin@huawei.com>
2018-03-05Update SNAPs usage of libraryManuel Buil1-2/+7
JIRA:SFC-120 Snaps updated two methods which now require more parameters: https://github.com/opnfv/snaps/blob/master/snaps/openstack/utils/heat_utils.py#L260 https://github.com/opnfv/snaps/blob/master/snaps/openstack/create_instance.py#L781 Change-Id: I164c51298afd7b80ee88312f3a09abe7f09282a0 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-03-02Remove glance_utils as we don't use it anymoreManuel Buil1-2/+1
Change-Id: I44d0dd4fdabd38f09e6113c28668f11a40c6ba86 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-02-28Bug fix: Problem with SNAPs integrationManuel Buil1-4/+10
SNAPs changed the API: https://github.com/opnfv/snaps/commit/c711acf8ae3e4ad6f746500747857bcc9fd6f7be#diff-0b922a3e087121238d5a8b08ef5b894aR480 Now we require to pass keystone client to get the neutron port Change-Id: I93fa4b127255c1a078aa3644773b7c8b886cea6d Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-02-26Stop relying on internal Functest utilsCédric Ollivier2-4/+20
It switches from functest_utils.get_functest_config() to config.CONF(). download_url is now hosted in sfc as it's unused by Functest. ft_utils.get_parameter_from_yaml() will be considered as part of Functest framework (then it must be well covered and documented). Change-Id: I3014d90dba53422020ae85a2815c5bf8c0dcf34c Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-02-22Switch from CONST to CONFCédric Ollivier2-5/+5
CONST is not the right Functest object to get config data. It also updates the way to get constants as proposed by Functest [1]. [1] https://gerrit.opnfv.org/gerrit/#/c/52389/ Depends-On: Ie23c0ef90efc839d60f0f3a9754c58746b1f3a00 Change-Id: I6cfa832466dcefd737314633d807512e46267a69 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-02-21Switch to os.environ for getting OpenStack env varsCédric Ollivier1-4/+4
CONST shouldn't be selected to get env vars. Now it may raise KeyErrors if env is not well configured. Change-Id: I5e3f525640809778c5349fdc1c3796227894d0cd Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-02-21Take into account last Functest config updatesCédric Ollivier1-2/+2
It follows the next changes (Functest) which renamed the related config entry [1]. [1] https://gerrit.opnfv.org/gerrit/#/c/51283/5/functest/ci/config_functest.yaml Change-Id: Ieae5baff13bb70aa35b01c2358ab4865cdb9dfb0 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-02-16Switch from CONST to env.get()Cédric Ollivier1-13/+16
env.get() ensures that default values are reused if unset. It also avoids desynchronization between os.environ and CONST. It follows the change "Get properly env vars or their default values" [1] applied in Functest. It also fixes minor issues on shebangs and takes several pylint rules into account in this module: - http://pylint-messages.wikidot.com/messages:w0702 - https://www.python.org/dev/peps/pep-0282/ [1] https://gerrit.opnfv.org/gerrit/#/c/52221/ Change-Id: Ia7ad168b2cbbade8ea3890fb95dc01bcdfc50468 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
2018-02-06Define the timethis function in the sfc repoManuel Buil1-2/+17
Functest removed the function from their repo, so we need to define it in ours: Change-Id: Ica122e57612c38751d8ff810f3ba61b749e867eb Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-01-31Test the deletion of chainManuel Buil1-8/+77
This is the flow of the test: 1 - Create a vnffg in tacker (i.e. chain + classifier) 2 - Remove the vnffg 3 - Check that the RSPs are removed from operation DB in ODL and the classifier rules are not present in the flows 4 - Create a new vnffg 5 - Test the new chain: 5.1 - Check HTTP traffic works 5.2 - Block HTTP traffic in VNF and check that it does not work anymore Change-Id: Ia077e58c5cbce4258a2f8a36f6b961eb923ff9c5 Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-01-31Use the new vnf image for FraserManuel Buil1-1/+1
Change-Id: I11c37ed6898c03b2a54a0e3b11422c654023333f Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-01-31Adapt change in functestManuel Buil1-1/+1
The variable TEST_DB_URL must be read as a env. variable since this patch": https://gerrit.opnfv.org/gerrit/#/c/49757/ Change-Id: I8f77acbbb2fe949f5fbe8a3f983c49224d893bcc Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-01-29Fix problem to fetch the compute name of client VMManuel Buil2-7/+11
When migrating to SNAPs a bug was introduced and could be seen in logs as: Error when waiting for classification rules: 'module' object has no attribute 'get_compute_client' The cause is that get_compute_client is not a global function anymore but a method inside a class. Besides, due to SNAPs, we need to fetch the compute name in another way Change-Id: I32007c83894281ba9514a121b7939b5bfe52f4bc Signed-off-by: Manuel Buil <mbuil@suse.com>
2018-01-26Fix cleanup functionManuel Buil1-0/+1
A floating ip remains when executing the clean up function. That floating ip belongs to the Tacker VNF and thus we should add that creator to the list Change-Id: Ic15574bf93f30a26f81a4944d742307dda4bfe6d Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-12-21Migrate to SNAPs openstack libraryManuel Buil4-234/+236
Functest is deprecating its openstack library which we were using extensively We need then to move to an alternative and the best appears to be SNAPs Change-Id: Icaa0b9f1ec580545b9d0faa88be2080a310deaf7 Signed-off-by: Manuel Buil<mbuil@suse.com>
2017-12-12Clean up our utils.pyManuel Buil4-751/+757
Utils.py was getting messy. This patch divides it into three different files: * test_utils.py * odl_utils.py * openstack_utils.py The tacker library is integrated into openstack_utils.py Change-Id: I310949d1cee49b6aa1c9b3396bf6d6ca458cbaac Signed-off-by: Manuel Buil <mbuil@suse.com>