aboutsummaryrefslogtreecommitdiffstats
path: root/docs/com/pres/euphrates_functest_evolution/euphrates.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/com/pres/euphrates_functest_evolution/euphrates.md')
-rw-r--r--docs/com/pres/euphrates_functest_evolution/euphrates.md281
1 files changed, 0 insertions, 281 deletions
diff --git a/docs/com/pres/euphrates_functest_evolution/euphrates.md b/docs/com/pres/euphrates_functest_evolution/euphrates.md
deleted file mode 100644
index 49aab16c..00000000
--- a/docs/com/pres/euphrates_functest_evolution/euphrates.md
+++ /dev/null
@@ -1,281 +0,0 @@
-# Functest
-### Feedback on Euphrates evolutions
-
-2017/10/09
-
-
-### Main Framework evolutions
- * Functest Framework refactoring
- * Docker slicing with Alpine
- * Building Functest dockers
- * Requirement management...1st time...in OPNFV
- * Functest API
-
-
-## Functest Framework refactoring
-
-### The framework
- * Initiated in Danube
- * Finalized in euphrates
- * Goal: ease the integration of feature/vnf tests
-
-### See complete presentation on the framework
-http://testresults.opnfv.org/functest/framework/
-
-
-## Docker slicing
-
-
-#### Short story of Functest Docker
-
-
-### Many rivers to cross
-| Version | Comment |
-|-------------|-----------------------------------------------------|
-| Arno | No docker, all tests initiated from the jumphost |
-| Brahmaputra | Introduction of Docker |
-| Colorado | Growth of Historical Docker |
-| Danube | Growth of Historical Docker |
-| Euphrates | Introduction of Alpine |
-
-
-### Focus on the Historical Docker
- * Based on ubuntu 14.04
-
-| Version | Compressed Size |
-|--------------|-----------------|
-| Brahmaputra | 354 MB |
-| Colorado.1.0 | 627 MB |
-| Danube.1.0 | 713 MB |
-| cvp.0.2.0 | 710 MB |
-
-* src: https://hub.docker.com/r/opnfv/functest/tags/
-
-
-### Introduction to Alpine
-* Alpine Linux is a GNU/Linux distribution based on musl and Busybox
-* Hardened kernel, compiles all user space binaries as position-independent executables with stack-smashing protection.
-* Docker Alpine leverage Alpine Linux: https://docs.docker.com/samples/library/alpine/
-
-
-### Our goals
-* Lighten docker / save bandwidth / save CI resources
-* Slice testing
-* Simplify Requirement management
-* Isolate "exotic" test cases
-
-
-### From 1 to many dockers
-| Docker | Size | Role |
-|-------------|-------|-------------------------------------------------|
-| core | 122MB | baseline (tools, env) |
-| healthcheck | 122MB | OS connectivity, API, DHCP testing |
-| smoke | 131MB | vpings, Tempest/Refstack, Rally, odl, Snaps |
-| features | 214MB | doctor, domino, sdnvpn, sfc, promise, barometer |
-
-
-### From 1 to many dockers
-| Docker | Size | Role |
-|-------------|-------|-------------------------------------------------|
-| components | 122MB | Full Tempest, Full Rally |
-| vnf | 155MB | vIMS, vRouter |
-| parser | 127MB | parser (feature needs pike clients) |
-
-
-### Easy way to run
-src: https://wiki.opnfv.org/display/functest/Run+Alpine+Functest+containers
- * env: OPNFV env variables
- * openstack.creds: OpenStack rc file
-
-```
-sudo docker run --env-file env \
- -v $(pwd)/openstack.creds:/home/opnfv/functest/conf/openstack.creds \
- -v $(pwd)/images:/home/opnfv/functest/images \
- opnfv/functest-smoke:euphrates
-```
-
-
-#### Env
-```
-cat env
-INSTALLER_TYPE=Compass
-INSTALLER_IP=XXX
-EXTERNAL_NETWORK=ext-net
-DEPLOY_SCENARIO=os-nosdn-nofeature-ha
-```
-
-
-#### openstack.creds
-```
-cat openstack.creds
-export OS_AUTH_URL=XXX
-export OS_USER_DOMAIN_NAME=XXX
-export OS_PROJECT_DOMAIN_NAME=XXX
-export OS_USERNAME=XXX
-export OS_PROJECT_NAME=XXX
-export OS_PASSWORD=XXX
-export OS_IDENTITY_API_VERSION=3
-```
-
-
-#### Retrieve all the images
-```
-mkdir -p images && wget -q -O- https://git.opnfv.org/functest/plain/functest/ci/download_images.sh | bash -s -- images && ls -1 images/*
-images/CentOS-7-aarch64-GenericCloud.qcow2
-images/CentOS-7-aarch64-GenericCloud.qcow2.xz
-images/CentOS-7-x86_64-GenericCloud.qcow2
-images/cirros-0.3.5-x86_64-disk.img
-images/cirros-0.3.5-x86_64-lxc.tar.gz
-images/cirros-d161201-aarch64-disk.img
-images/cirros-d161201-aarch64-initramfs
-images/cirros-d161201-aarch64-kernel
-images/cloudify-manager-premium-4.0.1.qcow2
-images/img
-images/trusty-server-cloudimg-amd64-disk1.img
-images/ubuntu-14.04-server-cloudimg-amd64-disk1.img
-images/ubuntu-14.04-server-cloudimg-arm64-uefi1.img
-images/ubuntu-16.04-server-cloudimg-amd64-disk1.img
-images/vyos-1.1.7.img
-```
-* could be improved (retrieve only needed images Tier/config)
-
-
-#### Results
-```
-+----------------------+--------- + ------+----------+--------+
-| TEST CASE | PROJECT | TIER | DURATION | RESULT |
-+----------------------+--------- + ------+----------+--------+
-| vping_ssh | functest | smoke | 01:19 | PASS |
-| vping_userdata | functest | smoke | 01:56 | PASS |
-| tempest_smoke_serial | functest | smoke | 26:30 | PASS |
-| rally_sanity | functest | smoke | 19:42 | PASS |
-| refstack_defcore | functest | smoke | 22:00 | PASS |
-| snaps_smoke | functest | smoke | 41:14 | PASS |
-| odl | functest | smoke | 00:16 | PASS |
-| odl_netvirt | functest | smoke | 00:00 | SKIP |
-| fds | functest | smoke | 00:00 | SKIP |
-+----------------------+--------- + ------+----------+--------+
-
-```
-
-
-#### Easy way to customize
- * Change list of testcase -v your_config.yaml:/usr/lib/python2.7/site-packages/functest/ci/testcases.yaml
- * Change logger param -v your_logger.ini:/usr/lib/python2.7/site-packages/functest/ci/logging.ini
-
-
-#### Docker slicing technical presentation
-http://testresults.opnfv.org/functest/dockerslicing/
-
-
-
-## Building Functest dockers
-
-
-#### Until Danube
- * the unique Functest docker was "produced" from Releng
-
-
-#### For Euphrates, build was done on Docker hub
- * Releng adaptations not ready in time
- * more capabilities using Docker Hub
- * Use of private ollivier then official opnfv Docker Hub
- * Euphrates 5.1: come back to releng with at least same level of features than Docker Hub/Travis CI
-
-
-
-## Requirement management
-Until now, requirements were managed as follow:
-
-
-# ?
-
-
-### Requirement management
- * Nothing was done
- * Danube, Colorado, .. dockers may run but no garantee on mid/long term because
- * No control of upstream or internal project dependencies
- * the dependencies of the last feature project overwrite the previous ones
-
-
-### Requirement management
- * Nothing done in any OPNFV project
- * No dependency list, no reco (e.g. support Python 3)
- * Only high level wiki declarative intentions for OpenStack (e.g. Euphrates => Ocata)
- * Nothing equivalent to OpenStack https://releases.openstack.org/ocata/
-
-
-### Functest evolutions
- * creation of requirements.txt, upper-constraints.text
- https://git.opnfv.org/functest/tree/requirements.txt
- https://git.opnfv.org/functest/tree/upper-constraints.txt
- ```
- pbr>=1.8 # Apache-2.0
- PyYAML>=3.10.0 # MIT
- GitPython>=1.0.1 # BSD License (3 clause)
- keystoneauth1>=2.18.0 # Apache-2.0
- python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0
- python-glanceclient>=2.5.0 # Apache-2.0
- python-heatclient>=1.6.1 # Apache-2.0
- ...
- ```
- * sync with ocata done manually by Cédric
-
-
-### Functest evolutions
- * Code of the feature projects under project responsibility
- * code moved to their own repo
- * no more mix between Functest and Feature project code
- * All python OPNFV projects imported properly as python modules
- * all dependencies a priori under control...
-
-
-
-## Functest Rest API
-
-
-### Introduction
-* A Rest API has been introduced in Euphrates (Linda)
-* Goal: allow third party to invoke Functest resources
- * pseudo micro services approach
- * avoid overlap (e.g. deployement of vIMS from other project to run perfo tests)
-src: https://wiki.opnfv.org/display/functest/Functest+REST+API
-
-
-### Functest rest API
-| resource | Methods | Description |
-|-------------|----------|-------------------------------------------------|
-| environment | GET,POST | show, prepare environment |
-| openstack | GET,POST | show, check, clean, update credentials |
-| testcases | GET,POST | list, show, run |
-| tiers | GET,POST | list, show |
-| tasks | GET | Get the result of the task id |
-
-
-### Examples
-```
-curl -X POST --header "Content-Type: application/json" \
- --data '{"action":"run_test_case", "args": {"opts": {}, "testcase": "vping_ssh"}}' \
- http://127.0.0.1:5000/api/v1/functest/testcases/action
-{
- "task_id": "1a9f3c5d-ce0b-4354-862e-dd08b26fc484",
- "testcase":"vping_ssh"
-}
-```
-
-
-
-## Conclusions
- * Framework heavily refactored for Euphrates
- * Better code quality and rules (coverage, pylint, pep8, ..)
- * Much more "trustable", light and evolutive
-
-
-## Next steps
- * Still lots of work for Fraser
- * Adaptation to use it for XCI gating (xTesting)
- * Generic dockerfile Functest customized docker on demand
- * split framework and testcases in order to be able to reuse Functest for k8 or even beyond OPNFV
- * integrate k8 tests
- * better management of the images
- * ...