diff options
author | Jose Lausuch <jalausuch@suse.com> | 2017-10-10 12:20:35 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-10-10 12:20:35 +0000 |
commit | 9bae267d1f7bde0b433632de7166a1ff06ef4603 (patch) | |
tree | fe5f3ea80170deedfa8d7252ad926aea85795a20 /docs/com/pres/framework/framework.md | |
parent | a6e9a6fa2da17f84de91d2d47cb8ccb7e66a8836 (diff) | |
parent | ee2eb17dbe52418f6bdc6201f78b9f1e8858fdcc (diff) |
Merge "Complete framework documentation part for VNF"
Diffstat (limited to 'docs/com/pres/framework/framework.md')
-rw-r--r-- | docs/com/pres/framework/framework.md | 97 |
1 files changed, 92 insertions, 5 deletions
diff --git a/docs/com/pres/framework/framework.md b/docs/com/pres/framework/framework.md index dfd7a215..7979bede 100644 --- a/docs/com/pres/framework/framework.md +++ b/docs/com/pres/framework/framework.md @@ -306,15 +306,102 @@ run: -## Euphrates +## class VNF +bases: TestCase + +base model for VNF onboarding testing + + +### methods + +| Method | Purpose | +|-----------------------|---------------------------------------------------| +| prepare() | prepare VNF env (user, tenant, security group,..) | +| run(**kwargs) | run VNF test case | +| deploy_orchestrator() | deploy cloudify, ONAP, OpenBaton,... (optional) | +| deploy_vnf() | deploy the VNF | +| test_vnf() | run tests on the VNF | + + +### run(**kwargs) + +- deploys an orchestrator if needed (e.g. heat, OpenBaton, Cloudify, ONAP, Juju) +- deploys the VNF +- performs tests on the VNF + + +### prepare() + +- creates a user +- creates a Tenant/Project +- allocates admin role to the user on this tenant + + +### deploy_orchestrator() + +- deploys an orchestrator (optional) +- if this function is overridden then raise orchestratorDeploymentException if error during orchestrator deployment + + +### deploy_vnf() + +- **MUST be implemented** by vnf test cases. The details section MAY be updated in the vnf test cases. +- The deployment can be executed via a specific orchestrator or using build-in orchestrators such as heat, openbaton, cloudify, juju, ONAP, ... +- returns: + True if the VNF is properly deployed + False if the VNF is not deployed +- raises VnfDeploymentException if error during VNF deployment + + +### test_vnf() + +- **MUST be implemented** by vnf test cases. The details section MAY be updated in the vnf test cases. +- Once a VNF is deployed, it is assumed that specific test suite can be run to validate the VNF. +- returns: + True if VNF tests are PASS + False if test suite is FAIL +- raises VnfTestException if error during VNF tests + + +## Your fifth test case -### Next actions -- __to finish VNF abstraction (coverage + pylint)__ -- to publish doc API +### fifth.py -Please see [Functest Euphrates page](https://wiki.opnfv.org/display/functest/Functest+Euphrates+page) for more details +```python +#!/usr/bin/env python + +from functest.core import vnf + +class Vnf(vnf.VnfOnBoarding): + + def deploy_vnf(self): + print "Deploy your VNF here" + print "Feed orchestrator with VNF descriptor" + return 0 + + def test_vnf(self): + print "Test your VNF here" + return 0 +``` + + +### functest/ci/testcases.yaml + +```yaml +case_name: fifth +project_name: functest +criteria: 100 +blocking: true +description: '' +dependencies: + installer: '' + scenario: '' +run: + module: 'fifth' + class: 'Vnf' +``` |