be seen from location [FunctestDockerTags_]. For example, when running
on the first official release of the OPNFV Colorado system platform,
tag "colorado.1.0" is needed. Pulling other tags might cause some
-problems while running the tests. If you need to specifically pull the
-latest Functest docker image, then omit the tag argument::
+problems while running the tests.
+Docker images pulled without a tag specifier bear the implicitly
+assigned label "latest". If you need to specifically pull the latest
+Functest docker image, then omit the tag argument::
docker pull opnfv/functest
opnfv/functest brahmaputra.3.0 94b78faa94f7 4 weeks ago 874.9 MB
hello-world latest 94df4f0ce8a4 7 weeks ago 967 B
-Docker images pulled without a tag specifier bear the implicitly
-assigned label "latest", as seen above.
-
The Functest docker container environment can -in principle- be also
used with non-OPNFV official installers (e.g. 'devstack'), with the
**disclaimer** that support for such environments is outside of the
under the path: '/home/opnfv/functest/conf/openstack.creds'.
WARNING: If you are using the Joid installer, you must pass the
- credentials using the **-v** option. See the section
- `Accessing the Openstack credentials`_ above.
+ credentials using the **-v** option:
+ -v /var/lib/jenkins/admin-openrc:/home/opnfv/functest/conf/openstack.creds.
+ See the section `Accessing the Openstack credentials`_ above.
#. Passing deployment scenario
When running Functest against any of the supported OPNFV scenarios,
-e "DEPLOY_SCENARIO=os-<controller>-<nfv_feature>-<ha_mode>"
where:
os = OpenStack (No other VIM choices currently available)
- controller is one of ( nosdn | odl_l2 | odl_l3 | onos )
+ controller is one of ( nosdn | odl_l2 | odl_l3 | onos | ocl)
nfv_feature is one or more of ( ovs | kvm | sfc | bgpvpn | nofeature )
If several features are pertinent then use the underscore
character '_' to separate each feature (e.g. ovs_kvm)
**NOTE:** Not all possible combinations of "DEPLOY_SCENARIO" are
supported. The name passed in to the Functest Docker container
must match the scenario used when the actual OPNFV platform was
- deployed.
+ deployed. See release note to see the list of supported scenarios.
Putting all above together, when using installer 'fuel' and an invented
INSTALLER_IP of '10.20.0.2', the recommended command to create the
-v ~/overcloudrc:/home/opnfv/functest/conf/openstack.creds \
opnfv/functest /bin/bash
+Compass installer local development env usage Tips
+--------------------------------------------------
+In the compass-functest local test case check and development environment,
+in order to get openstack service inside the functest container, some
+parameters should be configured during container creation, which are
+hard to guess for freshman. This section will provide the guideline, the
+parameters values are defaults here, which should be adjusted according
+to the settings, the complete steps are given here so as not to appear
+too abruptly.
+
+1, Pull Functest docker image from public dockerhub::
+
+ docker pull opnfv/functest:<Tag>
+
+<Tag> here can be "brahmaputra.1.0", "colorado.1.0", etc.
+Tag omitted means the latest docker image::
+
+ docker pull opnfv/functest
+
+2, Functest Docker container creation
+
+To make a file used for the environment, such as 'functest-docker-env'::
+
+ OS_AUTH_URL=http://172.16.1.222:35357/v2.0
+ OS_USERNAME=admin
+ OS_PASSWORD=console
+ OS_TENANT_NAME=admin
+ OS_VOLUME_API_VERSION=2
+ OS_PROJECT_NAME=admin
+ INSTALLER_TYPE=compass
+ INSTALLER_IP=192.168.200.2
+ EXTERNAL_NETWORK=ext-net
+
+Note: please adjust the content according to the environment, such as
+'TENANT_ID' maybe used for some special cases.
+
+Then to create the Functest docker::
+
+ docker run --privileged=true --rm -t \
+ --env-file functest-docker-env \
+ --name <Functest_Container_Name> \
+ opnfv/functest:<Tag> /bin/bash
+
+3, To attach Functest container
+
+Before trying to attach the Functest container, the status can be checked by::
+
+ docker ps -a
+
+to attach the 'Up' status Functest container and start bash mode::
+
+ docker exec -it <Functest_Container_Name> bash
+
+4, Functest environemnt preparation and check
+
+To see the Section below `Preparing the Functest environment`_.
+
Functest docker container directory structure
---------------------------------------------
Inside the Functest docker container, the following directory structure
| |-- __init__.py
| |-- check_os.sh
| |-- config_functest.yaml
+ | |-- generate_report.py
| |-- exec_test.sh
| |-- prepare_env.py
| |-- run_tests.py
| |-- results
| `--userguide
|-- testcases
+ | |-- __init__.py
| |-- Controllers
| |-- OpenStack
- | |-- __init__.py
| |-- features
| |-- security_scan
- | `-- vIMS
+ | `-- vnf
`-- utils
|-- __init__.py
|-- functest_logger.py
For example, try to use the **nc** command from inside the functest
docker container::
- nc -v google.com 80
- Connection to google.com 80 port [tcp/http] succeeded!
+ nc -v opnfv.org 80
+ Connection to opnfv.org 80 port [tcp/http] succeeded!
- nc -v google.com 443
- Connection to google.com 443 port [tcp/https] succeeded!
+ nc -v opnfv.org 443
+ Connection to opnfv.org 443 port [tcp/https] succeeded!
Note: In a Jumphost node based on the CentOS family OS, the **nc**
commands might not work. You can use the **curl** command instead.
- curl http://www.google.com:80
+ curl http://www.opnfv.org:80
<HTML><HEAD><meta http-equiv="content-type"
.
.
</BODY></HTML>
- curl https://www.google.com:443
+ curl https://www.opnfv.org:443
<HTML><HEAD><meta http-equiv="content-type"
.
.