Publish Dockerfile and samples 13/52813/6
authorCédric Ollivier <cedric.ollivier@orange.com>
Wed, 28 Feb 2018 10:51:16 +0000 (11:51 +0100)
committerCédric Ollivier <cedric.ollivier@orange.com>
Wed, 28 Feb 2018 14:23:07 +0000 (15:23 +0100)
Change-Id: Ie776fea631f04bb42d8ae80bc658318d8644d0e5
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
docker/Dockerfile [new file with mode: 0644]
upper-constraints.txt
xtesting/ci/logging.ini
xtesting/ci/testcases.yaml
xtesting/samples/HelloWorld.txt [new file with mode: 0644]
xtesting/samples/__init__.py [new file with mode: 0644]
xtesting/samples/first.py [new file with mode: 0644]
xtesting/samples/fourth.py [new file with mode: 0644]
xtesting/samples/second.py [new file with mode: 0644]
xtesting/samples/testcases.yaml [new file with mode: 0644]

diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644 (file)
index 0000000..32e3877
--- /dev/null
@@ -0,0 +1,17 @@
+FROM alpine:3.7
+
+ARG BRANCH=master
+ARG OPENSTACK_TAG=stable/pike
+
+RUN apk --no-cache add --update \
+        python libffi libssl1.0 libjpeg-turbo py-pip bash \
+        grep sed wget ca-certificates git && \
+    git clone https://gerrit.opnfv.org/gerrit/functest-xtesting /src/functest-xtesting && \
+    (cd /src/functest-xtesting && git fetch origin $BRANCH && git checkout FETCH_HEAD) && \
+    pip install --no-cache-dir --src /src \
+        -chttps://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=$OPENSTACK_TAG \
+        -chttps://git.opnfv.org/functest-xtesting/plain/upper-constraints.txt?h=$BRANCH \
+        /src/functest-xtesting && \
+    rm -r /src/functest-xtesting && \
+    bash -c "mkdir -p /home/opnfv/xtesting/results/robot"
+CMD ["run_tests", "-t", "all"]
index 4bd83c4..a884d02 100644 (file)
@@ -1,20 +1 @@
-git+https://gerrit.opnfv.org/gerrit/releng#egg=opnfv&subdirectory=modules
-git+https://gerrit.opnfv.org/gerrit/snaps#egg=snaps
-git+https://gerrit.opnfv.org/gerrit/barometer#egg=baro_tests
-git+https://gerrit.opnfv.org/gerrit/sdnvpn#egg=sdnvpn
-git+https://gerrit.opnfv.org/gerrit/sfc#egg=sfc
--e git+https://gerrit.opnfv.org/gerrit/promise#egg=promise
--e git+https://gerrit.opnfv.org/gerrit/doctor#egg=doctor-tests
-git+https://gerrit.opnfv.org/gerrit/domino#egg=domino
-git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-heattranslator&subdirectory=tosca2heat/heat-translator
-git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-toscaparser&subdirectory=tosca2heat/tosca-parser
--e git+https://gerrit.opnfv.org/gerrit/parser#egg=nfv-parser
-cloudify-rest-client===4.0
-openbaton-cli===2.2.1b7
 robotframework===3.0.2
-robotframework-httplibrary===0.4.2
-robotframework-requests===0.4.7
-robotframework-sshlibrary===2.1.3;python_version=='2.7'
-IPy===0.83
-ansible===2.3.2.0
-flasgger===0.6.6
index ab82073..b1365f1 100644 (file)
@@ -1,5 +1,5 @@
 [loggers]
-keys=root,xtesting,api,ci,cli,core,energy,opnfv_tests,utils
+keys=root,xtesting,ci,core,energy,utils
 
 [handlers]
 keys=console,wconsole,file,null
index c338f57..9c1cb50 100644 (file)
 ---
 tiers:
     -
-        name: healthcheck
-        order: 0
-        ci_loop: '(daily)|(weekly)'
-        description: >-
-            First tier to be executed to verify the basic
-            operations in the VIM.
-        testcases:
-            -
-                case_name: connection_check
-                project_name: xtesting
-                criteria: 100
-                blocking: true
-                description: >-
-                    This test case verifies the retrieval of OpenStack clients:
-                    Keystone, Glance, Neutron and Nova and may perform some
-                    simple queries. When the config value of
-                    snaps.use_keystone is True, xtesting must have access to
-                    the cloud's private network.
-                dependencies:
-                    installer: '^((?!netvirt).)*$'
-                    scenario: ''
-                run:
-                    module:
-                        'xtesting.opnfv_tests.openstack.snaps.connection_check'
-                    class: 'ConnectionCheck'
-
-            -
-                case_name: api_check
-                project_name: xtesting
-                criteria: 100
-                blocking: true
-                description: >-
-                    This test case verifies the retrieval of OpenStack clients:
-                    Keystone, Glance, Neutron and Nova and may perform some
-                    simple queries. When the config value of
-                    snaps.use_keystone is True, xtesting must have access to
-                    the cloud's private network.
-                dependencies:
-                    installer: '^((?!netvirt).)*$'
-                    scenario: '^((?!lxd).)*$'
-                run:
-                    module: 'xtesting.opnfv_tests.openstack.snaps.api_check'
-                    class: 'ApiCheck'
-
-            -
-                case_name: snaps_health_check
-                project_name: xtesting
-                criteria: 100
-                blocking: true
-                description: >-
-                    This test case creates executes the SimpleHealthCheck
-                    Python test class which creates an, image, flavor, network,
-                    and Cirros VM instance and observes the console output to
-                    validate the single port obtains the correct IP address.
-                dependencies:
-                    installer: ''
-                    scenario: '^((?!lxd).)*$'
-                run:
-                    module: 'xtesting.opnfv_tests.openstack.snaps.health_check'
-                    class: 'HealthCheck'
-
-    -
-        name: smoke
+        name: samples
         order: 1
-        ci_loop: '(daily)|(weekly)'
-        description: >-
-            Set of basic Functional tests to validate the OPNFV scenarios.
+        ci_loop: 'daily'
+        description: ''
         testcases:
             -
-                case_name: vping_ssh
+                case_name: first
                 project_name: xtesting
                 criteria: 100
                 blocking: true
-                description: >-
-                    This test case verifies: 1) SSH to an instance using
-                    floating IPs over the public network. 2) Connectivity
-                    between 2 instances over a private network.
+                clean_flag: false
+                description: ''
                 dependencies:
                     installer: ''
-                    scenario: '^((?!odl_l3|odl-bgpvpn|gluon).)*$'
+                    scenario: ''
                 run:
-                    module: 'xtesting.opnfv_tests.openstack.vping.vping_ssh'
-                    class: 'VPingSSH'
+                    module: 'xtesting.samples.first'
+                    class: 'Test'
 
             -
-                case_name: vping_userdata
+                case_name: second
                 project_name: xtesting
                 criteria: 100
                 blocking: true
-                description: >-
-                    This test case verifies:  1) Boot a VM with given userdata.
-                    2) Connectivity between 2 instances over a private network.
+                clean_flag: false
+                description: ''
                 dependencies:
                     installer: ''
-                    scenario: '^((?!lxd).)*$'
-                run:
-                    module:
-                        'xtesting.opnfv_tests.openstack.vping.vping_userdata'
-                    class: 'VPingUserdata'
-
-            -
-                case_name: tempest_smoke_serial
-                project_name: xtesting
-                criteria: 100
-                blocking: false
-                description: >-
-                    This test case runs the smoke subset of the OpenStack
-                    Tempest suite. The list of test cases is generated by
-                    Tempest automatically and depends on the parameters of
-                    the OpenStack deplopyment.
-                dependencies:
-                    installer: '^((?!netvirt).)*$'
                     scenario: ''
                 run:
-                    module: 'xtesting.opnfv_tests.openstack.tempest.tempest'
-                    class: 'TempestSmokeSerial'
+                    module: 'xtesting.samples.second'
+                    class: 'Test'
 
             -
-                case_name: rally_sanity
+                case_name: third
                 project_name: xtesting
                 criteria: 100
-                blocking: false
-                description: >-
-                    This test case runs a sub group of tests of the OpenStack
-                    Rally suite in smoke mode.
+                blocking: true
+                clean_flag: false
+                description: ''
                 dependencies:
                     installer: ''
                     scenario: ''
                 run:
-                    module: 'xtesting.opnfv_tests.openstack.rally.rally'
-                    class: 'RallySanity'
+                    module: 'xtesting.core.feature'
+                    class: 'BashFeature'
+                    args:
+                        cmd: 'echo -n Hello World; exit 0'
 
             -
-                case_name: refstack_defcore
+                case_name: fourth
                 project_name: xtesting
                 criteria: 100
-                blocking: false
-                description: >-
-                    This test case runs a sub group of tests of the OpenStack
-                    Defcore testcases by using refstack client.
+                blocking: true
+                clean_flag: false
+                description: ''
                 dependencies:
                     installer: ''
                     scenario: ''
                 run:
-                    module:
-                        'xtesting.opnfv_tests.openstack.refstack_client.refstack_client'
-                    class: 'RefstackClient'
-
-            -
-                case_name: odl
-                project_name: xtesting
-                criteria: 100
-                blocking: false
-                description: >-
-                    Test Suite for the OpenDaylight SDN Controller. It
-                    integrates some test suites from upstream using
-                    Robot as the test framework.
-                dependencies:
-                    installer: ''
-                    scenario: 'odl'
-                run:
-                    module: 'xtesting.opnfv_tests.sdn.odl.odl'
-                    class: 'ODLTests'
+                    module: 'xtesting.core.unit'
+                    class: 'Suite'
                     args:
-                        suites:
-                            - /src/odl_test/csit/suites/integration/basic
-                            - /src/odl_test/csit/suites/openstack/neutron
-
-            -
-                case_name: odl_netvirt
-                project_name: xtesting
-                criteria: 100
-                blocking: false
-                description: >-
-                    Test Suite for the OpenDaylight SDN Controller when
-                    the NetVirt features are installed. It integrates
-                    some test suites from upstream using Robot as the
-                    test framework.
-                dependencies:
-                    installer: 'apex'
-                    scenario: 'os-odl_l3-nofeature'
-                run:
-                    module: 'xtesting.opnfv_tests.sdn.odl.odl'
-                    class: 'ODLTests'
-                    args:
-                        suites:
-                            - /src/odl_test/csit/suites/integration/basic
-                            - /src/odl_test/csit/suites/openstack/neutron
-                            - /src/odl_test/csit/suites/openstack/connectivity
+                        name: 'xtesting.samples.fourth'
 
             -
-                case_name: snaps_smoke
+                case_name: fifth
                 project_name: xtesting
                 criteria: 100
                 blocking: false
-                description: >-
-                    This test case contains tests that setup and destroy
-                    environments with VMs with and without Floating IPs
-                    with a newly created user and project. Set the config
-                    value snaps.use_floating_ips (True|False) to toggle
-                    this functionality. When the config value of
-                    snaps.use_keystone is True, xtesting must have access to
-                    the cloud's private network.
-
-                dependencies:
-                    installer: '^((?!netvirt).)*$'
-                    scenario: '^((?!lxd).)*$'
-                run:
-                    module: 'xtesting.opnfv_tests.openstack.snaps.smoke'
-                    class: 'SnapsSmoke'
-
-    -
-        name: features
-        order: 2
-        ci_loop: '(daily)|(weekly)'
-        description: >-
-            Test suites from feature projects
-            integrated in xtesting
-        testcases:
-            -
-                case_name: doctor-notification
-                project_name: doctor
-                criteria: 100
-                blocking: false
-                description: >-
-                    Test suite from Doctor project.
-                dependencies:
-                    installer: 'apex'
-                    scenario: '^((?!fdio).)*$'
-                run:
-                    module: 'xtesting.core.feature'
-                    class: 'BashFeature'
-                    args:
-                        cmd: 'doctor-test'
-
-            -
-                case_name: bgpvpn
-                project_name: sdnvpn
-                criteria: 100
-                blocking: false
-                description: >-
-                    Test suite from SDNVPN project.
-                dependencies:
-                    installer: '(fuel)|(apex)|(netvirt)'
-                    scenario: 'bgpvpn'
-                run:
-                    module: 'sdnvpn.test.xtesting.run_sdnvpn_tests'
-                    class: 'SdnvpnFunctest'
-
-            -
-                case_name: xtesting-odl-sfc
-                project_name: sfc
-                criteria: 100
-                blocking: false
-                description: >-
-                    Test suite for odl-sfc to test two chains with one SF and
-                    one chain with two SFs
+                description: ''
                 dependencies:
                     installer: ''
-                    scenario: 'odl.*sfc'
-                run:
-                    module: 'xtesting.core.feature'
-                    class: 'BashFeature'
-                    args:
-                        cmd: 'run_sfc_tests.py'
-
-            -
-                case_name: barometercollectd
-                project_name: barometer
-                criteria: 100
-                blocking: false
-                description: >-
-                    Test suite for the Barometer project. Separate tests verify
-                    the proper configuration and basic functionality of all the
-                    collectd plugins as described in the Project Release Plan
-                dependencies:
-                    installer: 'apex'
-                    scenario: 'bar'
-                run:
-                    module: 'baro_tests.barometer'
-                    class: 'BarometerCollectd'
-
-            -
-                case_name: fds
-                project_name: fastdatastacks
-                criteria: 100
-                blocking: false
-                description: >-
-                    Test Suite for the OpenDaylight SDN Controller when GBP
-                    features are installed. It integrates some test suites from
-                    upstream using Robot as the test framework.
-                dependencies:
-                    installer: 'apex'
-                    scenario: 'odl.*-fdio'
+                    scenario: ''
                 run:
-                    module: 'xtesting.opnfv_tests.sdn.odl.odl'
-                    class: 'ODLTests'
+                    module: 'xtesting.core.robotframework'
+                    class: 'RobotFramework'
                     args:
                         suites:
-                            - /src/fds/testing/robot
-
-    -
-        name: components
-        order: 3
-        ci_loop: 'weekly'
-        description: >-
-            Extensive testing of OpenStack API.
-        testcases:
-            -
-                case_name: tempest_full_parallel
-                project_name: xtesting
-                criteria: 80
-                blocking: false
-                description: >-
-                    The list of test cases is generated by
-                    Tempest automatically and depends on the parameters of
-                    the OpenStack deplopyment.
-                dependencies:
-                    installer: '^((?!netvirt).)*$'
-                    scenario: ''
-                run:
-                    module: 'xtesting.opnfv_tests.openstack.tempest.tempest'
-                    class: 'TempestFullParallel'
-
-            -
-                case_name: rally_full
-                project_name: xtesting
-                criteria: 100
-                blocking: false
-                description: >-
-                    This test case runs the full suite of scenarios of the
-                    OpenStack Rally suite using several threads and iterations.
-                dependencies:
-                    installer: '^((?!netvirt).)*$'
-                    scenario: ''
-                run:
-                    module: 'xtesting.opnfv_tests.openstack.rally.rally'
-                    class: 'RallyFull'
-
-    -
-        name: vnf
-        order: 4
-        ci_loop: '(daily)|(weekly)'
-        description: >-
-            Collection of VNF test cases.
-        testcases:
-            -
-                case_name: cloudify_ims
-                project_name: xtesting
-                criteria: 80
-                blocking: false
-                description: >-
-                    This test case deploys an OpenSource vIMS solution from
-                    Clearwater using the Cloudify orchestrator. It also runs
-                    some signaling traffic.
-                dependencies:
-                    installer: ''
-                    scenario: 'os-nosdn-nofeature-.*ha'
-                run:
-                    module: 'xtesting.opnfv_tests.vnf.ims.cloudify_ims'
-                    class: 'CloudifyIms'
-
-            -
-                case_name: vyos_vrouter
-                project_name: xtesting
-                criteria: 100
-                blocking: false
-                description: >-
-                    This test case is vRouter testing.
-                dependencies:
-                    installer: ''
-                    scenario: 'os-nosdn-nofeature-.*ha'
-                run:
-                    module: 'xtesting.opnfv_tests.vnf.router.cloudify_vrouter'
-                    class: 'CloudifyVrouter'
-
-            -
-                case_name: orchestra_openims
-                project_name: orchestra
-                enabled: false
-                criteria: 100
-                blocking: false
-                description: >-
-                    OpenIMS VNF deployment with Open Baton (Orchestra)
-                dependencies:
-                    installer: ''
-                    scenario: 'os-nosdn-nofeature-.*ha'
-                run:
-                    module: 'xtesting.opnfv_tests.vnf.ims.orchestra_openims'
-                    class: 'OpenImsVnf'
-
-            -
-                case_name: orchestra_clearwaterims
-                project_name: orchestra
-                enabled: false
-                criteria: 100
-                blocking: false
-                description: >-
-                    ClearwaterIMS VNF deployment with Open Baton (Orchestra)
-                dependencies:
-                    installer: ''
-                    scenario: 'os-nosdn-nofeature-.*ha'
-                run:
-                    module:
-                        'xtesting.opnfv_tests.vnf.ims.orchestra_clearwaterims'
-                    class: 'ClearwaterImsVnf'
-
-            -
-                case_name: juju_epc
-                project_name: xtesting
-                criteria: 100
-                blocking: false
-                description: >-
-                    vEPC validation with Juju as VNF manager and ABoT as test
-                    executor.
-                dependencies:
-                    installer: ''
-                    scenario: 'os-nosdn-nofeature-.*ha'
-                run:
-                    module: 'xtesting.opnfv_tests.vnf.epc.juju_epc'
-                    class: 'JujuEpc'
+                            - /usr/lib/python2.7/site-packages/xtesting/samples/HelloWorld.txt
+                        variable:
+                            - 'var01:foo'
+                            - 'var02:bar'
diff --git a/xtesting/samples/HelloWorld.txt b/xtesting/samples/HelloWorld.txt
new file mode 100644 (file)
index 0000000..721c452
--- /dev/null
@@ -0,0 +1,3 @@
+*** Test Cases ***
+HelloWorld
+   Log    ${var01} ${var02}
diff --git a/xtesting/samples/__init__.py b/xtesting/samples/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/xtesting/samples/first.py b/xtesting/samples/first.py
new file mode 100644 (file)
index 0000000..60de3dc
--- /dev/null
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2016 Orange and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+
+# pylint: disable=missing-docstring
+
+import time
+
+from xtesting.core import testcase
+
+
+class Test(testcase.TestCase):
+
+    def run(self, **kwargs):
+        self.start_time = time.time()
+        print "Hello World"
+        self.result = 100
+        self.stop_time = time.time()
+        return testcase.TestCase.EX_OK
diff --git a/xtesting/samples/fourth.py b/xtesting/samples/fourth.py
new file mode 100644 (file)
index 0000000..be104fd
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2016 Orange and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+
+# pylint: disable=missing-docstring
+
+import unittest
+
+
+class TestStringMethods(unittest.TestCase):
+
+    def test_upper(self):
+        self.assertEqual('Hello World'.upper(),
+                         'HELLO WORLD')
diff --git a/xtesting/samples/second.py b/xtesting/samples/second.py
new file mode 100644 (file)
index 0000000..36e1dd3
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/env python
+
+# Copyright (c) 2016 Orange and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+
+# pylint: disable=missing-docstring
+
+from xtesting.core import feature
+
+
+class Test(feature.Feature):
+
+    def execute(self, **kwargs):
+        print "Hello World"
+        return 0
diff --git a/xtesting/samples/testcases.yaml b/xtesting/samples/testcases.yaml
new file mode 100644 (file)
index 0000000..86b0d27
--- /dev/null
@@ -0,0 +1,66 @@
+tiers:
+    -
+        name: samples
+        order: 1
+        ci_loop: 'daily'
+        description : ''
+        testcases:
+            -
+                case_name: first
+                project_name: xtesting
+                criteria: 100
+                blocking: true
+                clean_flag: false
+                description: ''
+                dependencies:
+                    installer: ''
+                    scenario: ''
+                run:
+                    module: 'first'
+                    class: 'Test'
+
+            -
+                case_name: second
+                project_name: xtesting
+                criteria: 100
+                blocking: true
+                clean_flag: false
+                description: ''
+                dependencies:
+                    installer: ''
+                    scenario: ''
+                run:
+                    module: 'second'
+                    class: 'Test'
+
+            -
+                case_name: third
+                project_name: xtesting
+                criteria: 100
+                blocking: true
+                clean_flag: false
+                description: ''
+                dependencies:
+                    installer: ''
+                    scenario: ''
+                run:
+                    module: 'xtesting.core.feature'
+                    class: 'BashFeature'
+                    args:
+                        cmd: 'echo -n Hello World; exit 0'
+
+            -
+                case_name: fourth
+                project_name: xtesting
+                criteria: 100
+                blocking: true
+                clean_flag: false
+                description: ''
+                dependencies:
+                    installer: ''
+                    scenario: ''
+                run:
+                    module: 'xtesting.core.unit'
+                    class: 'Suite'
+                    args:
+                        name: 'fourth'