aboutsummaryrefslogtreecommitdiffstats
path: root/sfc/lib
AgeCommit message (Collapse)AuthorFilesLines
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>
2017-10-17Produce more logs if things failManuel Buil2-0/+38
Apex deployment shows a problem when creating the SFC config in ODL and it is impossible to know what might be going on Change-Id: If8d33d1c60daaf9cd9773a5cb9c7e47f64e1caa9 Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-10-06If the VM starts quickly, this check might failManuel Buil1-1/+1
Sometimes VM starts very quickly and then it takes longer for this service to come up Change-Id: Ibc4ea47eb0b4b6655e338d1b85e6ed14e61d0064 Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-09-28Modify the list of working topologiesManuel Buil1-14/+13
After testing, there are three topologies which work and three topologies which do not work because of bugs in OVS and ODL. We remove those two from the testing in 5.0.0 Change-Id: I576768978bfa763725027239081686c95408eef4 Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-09-28Bug fix: Delete unnecessary functions which are causing errorsDimitrios Markou1-10/+0
JIRA: SFC-117 Change-Id: I20e12e38a3cf2a9954893cf52187ac153b64bdfa Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2017-09-25Bug fix: Do not start testing before checkingManuel Buil1-5/+30
JIRA:SFC-113 We used to check that the ACL and RSP flows were implemented because it took a lot of time. However, the new ODL Nitrogen reduced this time a lot and thus we must check that the vxlan_tool is up and the HTTP port is up in the server before doing any test Change-Id: I70219071c7965781b17e80631bf3e2efbfcfe4cd Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-09-20Bug fix: Add iteration to check RSP config in ODLManuel Buil1-1/+8
JIRA: SFC-110 Sometimes the test is quicker than ODL and when it checks the configured RSP, that configuration has not yet been submitted in ODL, thus ODL replies with an empty list. We add an iteration to try again for a couple of times Change-Id: I21e4ac3fc3a919791daa7e41cb2953f7565c4ebb Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-09-19Create vnffg providing the neutron_portManuel Buil2-4/+47
JIRA: SFC-107 We are submitting the vnffgd with a variable for the neutron_port. Before creating the vnffg, we must provide a file with the neutron_port value Change-Id: I9994e2baa53f323df17434448d372598c0d94c72 Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-09-18Bug fix: allows searching vnfd_id based on nameManuel Buil1-2/+6
It is currently impossible to obtain the vnfd_id based on the vnfd_name when we want to create the vnffg Change-Id: Ib7752156db43d76c24f8c6c2803eb7dbc5bbe1d8 Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-09-18[Bug Fix] Delete vnffgs in a reverse orderDimitrios Markou1-1/+1
JIRA: SFC-106 In sfc_two_chain testcase we need to delete first the blue and then the red vnffg because if we do it the other way around the tacker produces a warning that the flow classifier of the vnffg red is in use and cannot delete the chain. The aforementioned warning is produced because during the execution of the two_chain testcase we reassing the classifier from the red vnffg to the blue vnffg. So if we try to delete first the red vnffg we get the warning because the classifier is assigned and in use from the blue vnffg. Change-Id: I3cb7bef4b9b9e75eef4961fe7f63cbc1755130be Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2017-09-15Update the wait_for_classification_rules functionManuel Buil1-60/+54
Two things must be done: 1 - Be compatible with the new way of doing SFC in ODL Nitrogen 2 - Be installer independent Change-Id: Ibbb3057db30a7c00e92f788bb03e770749e2b255 Signed-off-by: Manuel Buil <mbuil@suse.com>
2017-09-11Merge "Adapt functionality to the new Tacker API"Manuel Buil4-35/+224
2017-09-07Adapt functionality to the new Tacker APIDimitrios Markou4-35/+224
Change-Id: I078e9f26d3040cf04120abd425f03cb4f2e8daef Signed-off-by: Dimitrios Markou <mardim@intracom-telecom.com>
2017-09-01Remove setup_compute_node and configure_iptablesManuel Buil1-27/+0
We are going to use ODL Nitrogen which does not require the NSH hack as packets reaching the VNF will use ETH+NSH encapsulation Change-Id: I5a55fde84e8f17860783ec9de8b99242fc38b9a9 Signed-off-by: Manuel Buil <mbuil@suse.com>