From bd6b34bd9ed2d7feaa6fd74051b14a9d8ecf446a Mon Sep 17 00:00:00 2001 From: "Yang (Gabriel) Yu" Date: Fri, 7 Sep 2018 15:00:15 +0800 Subject: docs for k8s capcaity test JIRA: BOTTLENECK-245 Change-Id: Id7a0a9bfdebea8a9655e744ce9edf3963e61a024 Signed-off-by: Yang (Gabriel) Yu --- .../userguide/kubestone/deployment_capacity.rst | 59 +++++++ docs/testing/user/userguide/overview.rst | 46 +++--- docs/testing/user/userguide/test_cases.rst | 1 + .../user/userguide/test_scheduler_user_guide.rst | 180 +++++++++++++++++++++ .../userguide/testing_scheduler_user_guide.rst | 180 --------------------- 5 files changed, 265 insertions(+), 201 deletions(-) create mode 100644 docs/testing/user/userguide/kubestone/deployment_capacity.rst create mode 100644 docs/testing/user/userguide/test_scheduler_user_guide.rst delete mode 100644 docs/testing/user/userguide/testing_scheduler_user_guide.rst diff --git a/docs/testing/user/userguide/kubestone/deployment_capacity.rst b/docs/testing/user/userguide/kubestone/deployment_capacity.rst new file mode 100644 index 00000000..06cdd886 --- /dev/null +++ b/docs/testing/user/userguide/kubestone/deployment_capacity.rst @@ -0,0 +1,59 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + .. http://creativecommons.org/licenses/by/4.0 + .. (c) Huawei Technologies Co.,Ltd and others. + +*************************************************** +Kubenetes Stress Test of Deployment Capacity +*************************************************** + +Test Case +========= + ++-----------------------------------------------------------------------------+ +|Bottlenecks Kubestone Deployment Capacity Test | +| | ++--------------+--------------------------------------------------------------+ +|test case name| kubestone_deployment_capacity | +| | | ++--------------+--------------------------------------------------------------+ +|description | Stress test regarding capacity of deployment | ++--------------+--------------------------------------------------------------+ +|configuration | config file: | +| | testsuite/kubestone/testcases/deployment.yaml | +| | | +| | | ++--------------+--------------------------------------------------------------+ +|test result | Capcity, Life-Cycle Duration, Available Deployments | +| | | ++--------------+--------------------------------------------------------------+ + +Configuration +============ +:: + + apiVersion: apps/v1 + kind: Deployment + namespace: bottlenecks-kubestone + test_type: Horizontal-Scaling + scaling_steps: 10, 50, 100, 200 + template: None + metadata: + name: nginx-deployment + labels: + app: nginx + spec: + replicas: 3 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx:1.7.9 + ports: + - containerPort: 80 + diff --git a/docs/testing/user/userguide/overview.rst b/docs/testing/user/userguide/overview.rst index 725a4b9d..a03229f0 100644 --- a/docs/testing/user/userguide/overview.rst +++ b/docs/testing/user/userguide/overview.rst @@ -57,30 +57,34 @@ Integration Description +-------------+----------------------+----------------------+ | Fraser | Any | POSCA | +-------------+----------------------+----------------------+ +| Gambia | Any | POSCA, kubestone | ++-------------+----------------------+----------------------+ Test suite & Test case Description ================================== -+--------+----+-------------------------------------------+ -|POSCA | 1 | posca_factor_ping | -| +----+-------------------------------------------+ -| | 2 | posca_factor_system_bandwidth | -| +----+-------------------------------------------+ -| | 3 | posca_facotor_soak_througputs | -| +----+-------------------------------------------+ -| | 4 | posca_feature_vnf_scale_up | -| +----+-------------------------------------------+ -| | 5 | posca_feature_vnf_scale_out | -| +----+-------------------------------------------+ -| | 6 | posca_factor_storperf | -| +----+-------------------------------------------+ -| | 7 | posca_factor_multistack_storage_parallel | -| +----+-------------------------------------------+ -| | 8 | posca_factor_multistack_storage | -| +----+-------------------------------------------+ -| | 9 | posca_feature_moon_resources | -| +----+-------------------------------------------+ -| | 10 | posca_feature_moon_tenants | -+--------+----+-------------------------------------------+ ++----------+----+-------------------------------------------+ +|POSCA | 1 | posca_factor_ping | +| +----+-------------------------------------------+ +| | 2 | posca_factor_system_bandwidth | +| +----+-------------------------------------------+ +| | 3 | posca_facotor_soak_througputs | +| +----+-------------------------------------------+ +| | 4 | posca_feature_vnf_scale_up | +| +----+-------------------------------------------+ +| | 5 | posca_feature_vnf_scale_out | +| +----+-------------------------------------------+ +| | 6 | posca_factor_storperf | +| +----+-------------------------------------------+ +| | 7 | posca_factor_multistack_storage_parallel | +| +----+-------------------------------------------+ +| | 8 | posca_factor_multistack_storage | +| +----+-------------------------------------------+ +| | 9 | posca_feature_moon_resources | +| +----+-------------------------------------------+ +| | 10 | posca_feature_moon_tenants | ++----------+----+-------------------------------------------+ +|Kubestone | 1 | deployment_capacity | ++----------+----+-------------------------------------------+ As for the abandoned test suite in the previous Bottlenecks releases, please refer to http://docs.opnfv.org/en/stable-danube/submodules/bottlenecks/docs/testing/user/userguide/deprecated.html. diff --git a/docs/testing/user/userguide/test_cases.rst b/docs/testing/user/userguide/test_cases.rst index b6b1d17f..20003414 100644 --- a/docs/testing/user/userguide/test_cases.rst +++ b/docs/testing/user/userguide/test_cases.rst @@ -18,3 +18,4 @@ Bottlenecks - Test Cases ./posca/posca_feature_moon_resources.rst ./posca/posca_feature_moon_tenants.rst ./posca/posca_feature_vnf_scale_out.rst + ./kubestone/deployment_capacity.rst diff --git a/docs/testing/user/userguide/test_scheduler_user_guide.rst b/docs/testing/user/userguide/test_scheduler_user_guide.rst new file mode 100644 index 00000000..9820810e --- /dev/null +++ b/docs/testing/user/userguide/test_scheduler_user_guide.rst @@ -0,0 +1,180 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. (c) Huawei Technologies Co.,Ltd and others. + +**************************** +Test-scheduler User Guide +**************************** + + +Test-scheduler Introduction +============================== + +Test scheduler aims to schedule the testing process on NFV(Network +Function Virtualizaion) platform or MSA(Microservice Architecture) +application.By creating a testcase, you can implements a testing +process integrates and schedules the other testing frameworks and tools. +You can also create a testsuite which contains several testcases, and run +all the testcases at a time. + + +Preinstall Packages +=================== + +* Docker: https://docs.docker.com/engine/installation/ + * For Ubuntu, please refer to https://docs.docker.com/engine/installation/linux/ubuntu/ + +* Docker-Compose: https://docs.docker.com/compose/ + +.. code-block:: bash + + if [ -d usr/local/bin/docker-compose ]; then + rm -rf usr/local/bin/docker-compose + fi + curl -L https://github.com/docker/compose/releases/download/1.11.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose + chmod +x /usr/local/bin/docker-compose + + +Run Test-scheduler +===================== + +There are a few steps to do. + + +Download Bottlenecks Software +----------------------------- + +.. code-block:: bash + + mkdir -p /some/dir + git clone https://gerrit.opnfv.org/gerrit/bottlenecks + cd bottlenecks/test-scheduler + + +Build And Run Docker Containers +------------------------------- + +.. code-block:: bash + + cd docker + sh build.sh + sh run.sh + + +build.sh is used to build the images, and run.sh is use to +run the containers based on the images. +If you are not the root user, you need to use 'sudo', like: + +.. code-block:: bash + + cd docker + sudo sh build.sh + sudo sh run.sh + + +Otherwise there will be a problem of "Permission Denied". +The second command takes approximately 1h to finish( +so need some patience :) ), and the latter one just takes a few minutes. + +You can use command the check whether all the containers are in running. + +.. code-block:: bash + + docker ps + +if the output contains 6 containers as below, then the project +runs successfully: + +* t-scheduler-server +* t-scheduler-ui +* conductor_conductor-server_1 +* conductor_conductor-ui_1 +* conductor_dynomite_1 +* conductor_elasticsearch_1 + +Sometimes, the command execution fails, and you need to read the sections: +*(Optional)Commands Explanation* , +*(Optional) Build And Run Containers Seperately* to solve it. + + +Start To Use Via Web +-------------------- +You can visit the web pages via the url: http://your-host-ip:5311/. + +You can do these operations: + +* test suite CRUD +* test case CRUD +* execute a single test case +* execute several chosen test cases +* execute a single test suite +* test service CRUD +* context setting + +Cleaning Up Environment +----------------------- + +.. code-block:: bash + + cd docker + sh clean.sh + + +(Optional)Commands Explanation +------------------------------ + +The directory(**docker**) contains the shell scripts which are used +to build this project(**test-scheduler**) as a dockerized application. +Built by these scripts, the dockerized application will contain +6 containers(1 + 1 + 4). They can be divided as three components: + +* 1 server container: server component of **test-scheduler**. +* 1 webUI container: ui component of **test-scheduler**. +* a group of 4 containers of Conductor. + +Correspondingly, there are three subdirectories in the current +directory(**docker**): + +* server: contains scirpts of running server container. +* ui: contains scirpts of running ui container. +* plugin: contains scirpts of running Conductor containers. + +The three subdirectories contains scripts respectively.The scripts +(in one subdirectory) are used to build image and start container +for the single component. + +Essentially, the **build.sh** and **run.sh** (in the directory(**docker**)) +call the subdirectory scripts to build all three components. + + +(Optional) Build And Run Containers Seperately +---------------------------------------------- + +If you run the containers successfully, you can skip this section. +As said in *Build And Run Docker Containers*, build step will need about 1h to +finish.But it sometime will failed due to the network, and the rebuild will +take a great time cost.So we can build and run the containers seperately +according to the three subdirectories(**server**, **ui**, **plugin**).The +steps are similar to *Build And Run Docker Containers*. + +*IMPORTANT: There are relationships in these components(some need to be +created before other).So you can only build the components below in the +order:* **plugin** -> **server** -> **ui** . + +* enter the subdirectory(**$dir** stands for **server**, **ui**, **plugin**). + +.. code-block:: bash + + cd $dir + +* build the docker images. + +.. code-block:: bash + + sh build.sh + +* run the docker containers. + +.. code-block:: bash + + sh run.sh diff --git a/docs/testing/user/userguide/testing_scheduler_user_guide.rst b/docs/testing/user/userguide/testing_scheduler_user_guide.rst deleted file mode 100644 index 9820810e..00000000 --- a/docs/testing/user/userguide/testing_scheduler_user_guide.rst +++ /dev/null @@ -1,180 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 -.. (c) Huawei Technologies Co.,Ltd and others. - -**************************** -Test-scheduler User Guide -**************************** - - -Test-scheduler Introduction -============================== - -Test scheduler aims to schedule the testing process on NFV(Network -Function Virtualizaion) platform or MSA(Microservice Architecture) -application.By creating a testcase, you can implements a testing -process integrates and schedules the other testing frameworks and tools. -You can also create a testsuite which contains several testcases, and run -all the testcases at a time. - - -Preinstall Packages -=================== - -* Docker: https://docs.docker.com/engine/installation/ - * For Ubuntu, please refer to https://docs.docker.com/engine/installation/linux/ubuntu/ - -* Docker-Compose: https://docs.docker.com/compose/ - -.. code-block:: bash - - if [ -d usr/local/bin/docker-compose ]; then - rm -rf usr/local/bin/docker-compose - fi - curl -L https://github.com/docker/compose/releases/download/1.11.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose - chmod +x /usr/local/bin/docker-compose - - -Run Test-scheduler -===================== - -There are a few steps to do. - - -Download Bottlenecks Software ------------------------------ - -.. code-block:: bash - - mkdir -p /some/dir - git clone https://gerrit.opnfv.org/gerrit/bottlenecks - cd bottlenecks/test-scheduler - - -Build And Run Docker Containers -------------------------------- - -.. code-block:: bash - - cd docker - sh build.sh - sh run.sh - - -build.sh is used to build the images, and run.sh is use to -run the containers based on the images. -If you are not the root user, you need to use 'sudo', like: - -.. code-block:: bash - - cd docker - sudo sh build.sh - sudo sh run.sh - - -Otherwise there will be a problem of "Permission Denied". -The second command takes approximately 1h to finish( -so need some patience :) ), and the latter one just takes a few minutes. - -You can use command the check whether all the containers are in running. - -.. code-block:: bash - - docker ps - -if the output contains 6 containers as below, then the project -runs successfully: - -* t-scheduler-server -* t-scheduler-ui -* conductor_conductor-server_1 -* conductor_conductor-ui_1 -* conductor_dynomite_1 -* conductor_elasticsearch_1 - -Sometimes, the command execution fails, and you need to read the sections: -*(Optional)Commands Explanation* , -*(Optional) Build And Run Containers Seperately* to solve it. - - -Start To Use Via Web --------------------- -You can visit the web pages via the url: http://your-host-ip:5311/. - -You can do these operations: - -* test suite CRUD -* test case CRUD -* execute a single test case -* execute several chosen test cases -* execute a single test suite -* test service CRUD -* context setting - -Cleaning Up Environment ------------------------ - -.. code-block:: bash - - cd docker - sh clean.sh - - -(Optional)Commands Explanation ------------------------------- - -The directory(**docker**) contains the shell scripts which are used -to build this project(**test-scheduler**) as a dockerized application. -Built by these scripts, the dockerized application will contain -6 containers(1 + 1 + 4). They can be divided as three components: - -* 1 server container: server component of **test-scheduler**. -* 1 webUI container: ui component of **test-scheduler**. -* a group of 4 containers of Conductor. - -Correspondingly, there are three subdirectories in the current -directory(**docker**): - -* server: contains scirpts of running server container. -* ui: contains scirpts of running ui container. -* plugin: contains scirpts of running Conductor containers. - -The three subdirectories contains scripts respectively.The scripts -(in one subdirectory) are used to build image and start container -for the single component. - -Essentially, the **build.sh** and **run.sh** (in the directory(**docker**)) -call the subdirectory scripts to build all three components. - - -(Optional) Build And Run Containers Seperately ----------------------------------------------- - -If you run the containers successfully, you can skip this section. -As said in *Build And Run Docker Containers*, build step will need about 1h to -finish.But it sometime will failed due to the network, and the rebuild will -take a great time cost.So we can build and run the containers seperately -according to the three subdirectories(**server**, **ui**, **plugin**).The -steps are similar to *Build And Run Docker Containers*. - -*IMPORTANT: There are relationships in these components(some need to be -created before other).So you can only build the components below in the -order:* **plugin** -> **server** -> **ui** . - -* enter the subdirectory(**$dir** stands for **server**, **ui**, **plugin**). - -.. code-block:: bash - - cd $dir - -* build the docker images. - -.. code-block:: bash - - sh build.sh - -* run the docker containers. - -.. code-block:: bash - - sh run.sh -- cgit 1.2.3-korg