summaryrefslogtreecommitdiffstats
path: root/docker/add_images.sh
blob: 93afbd252d4c34d048ee0cdac8f0121a32aa9f37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/env bash
#
# This script downloads the images that are used for testing
# and places them in the functest docker image
set -e

FUNCTEST_IMAGES_DIR=${FUNCTEST_IMAGES_DIR:-/home/opnfv/functest/images}

CIRROS_REPO_URL=https://download.cirros-cloud.net
CIRROS_AARCH64_TAG=161201
CIRROS_X86_64_TAG=0.3.5

wget ${CIRROS_REPO_URL}/${CIRROS_X86_64_TAG}/cirros-${CIRROS_X86_64_TAG}-x86_64-disk.img -P ${FUNCTEST_IMAGES_DIR}
wget ${CIRROS_REPO_URL}/${CIRROS_X86_64_TAG}/cirros-${CIRROS_X86_64_TAG}-x86_64-lxc.tar.gz -P ${FUNCTEST_IMAGES_DIR}
wget http://artifacts.opnfv.org/onosfw/images/firewall_block_image.img -P ${FUNCTEST_IMAGES_DIR}

# Add the 3-part image for aarch64, since functest can be run from an x86 machine to test an aarch64 POD
wget ${CIRROS_REPO_URL}/daily/20${CIRROS_AARCH64_TAG}/cirros-d${CIRROS_AARCH64_TAG}-aarch64-disk.img -P ${FUNCTEST_IMAGES_DIR}
wget ${CIRROS_REPO_URL}/daily/20${CIRROS_AARCH64_TAG}/cirros-d${CIRROS_AARCH64_TAG}-aarch64-initramfs -P ${FUNCTEST_IMAGES_DIR}
wget ${CIRROS_REPO_URL}/daily/20${CIRROS_AARCH64_TAG}/cirros-d${CIRROS_AARCH64_TAG}-aarch64-kernel -P ${FUNCTEST_IMAGES_DIR}
0'>420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532
tiers:
    -
        name: healthcheck
        order: 0
        ci_loop: '(daily)|(weekly)'
        description : >-
            First tier to be executed to verify the basic
            operations in the VIM.
        testcases:
            -
                name: connection_check
                criteria: 'status == "PASS"'
                blocking: true
                clean_flag: false
                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, functest must have access to
                    the cloud's private network.

                dependencies:
                    installer: '^((?!netvirt).)*$'
                    scenario: ''
                run:
                    module: 'functest.opnfv_tests.openstack.snaps.connection_check'
                    class: 'ConnectionCheck'

            -
                name: api_check
                criteria: 'status == "PASS"'
                blocking: true
                clean_flag: false
                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, functest must have access to
                    the cloud's private network.

                dependencies:
                    installer: '^((?!netvirt).)*$'
                    scenario: ''
                run:
                    module: 'functest.opnfv_tests.openstack.snaps.api_check'
                    class: 'ApiCheck'
            -
                name: snaps_health_check
                criteria: 'status == "PASS"'
                blocking: true
                clean_flag: false
                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: 'functest.opnfv_tests.openstack.snaps.health_check'
                    class: 'HealthCheck'
    -
        name: smoke
        order: 1
        ci_loop: '(daily)|(weekly)'
        description : >-
            Set of basic Functional tests to validate the OPNFV scenarios.
        testcases:
            -
                name: vping_ssh
                criteria: 'status == "PASS"'
                blocking: true
                clean_flag: 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.
                dependencies:
                    installer: ''
                    scenario: '^((?!odl_l3|odl-bgpvpn|gluon).)*$'
                run:
                    module: 'functest.opnfv_tests.openstack.vping.vping_ssh'
                    class: 'VPingSSH'

            -
                name: vping_userdata
                criteria: 'status == "PASS"'
                blocking: true
                clean_flag: true
                description: >-
                    This test case verifies:  1) Boot a VM with given userdata.
                    2) Connectivity between 2 instances over a private network.
                dependencies:
                    installer: ''
                    scenario: '^((?!lxd).)*$'
                run:
                    module: 'functest.opnfv_tests.openstack.vping.vping_userdata'
                    class: 'VPingUserdata'

            -
                name: tempest_smoke_serial
                criteria: 'success_rate == 100%'
                blocking: false
                clean_flag: true
                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: 'functest.opnfv_tests.openstack.tempest.tempest'
                    class: 'TempestSmokeSerial'

            -
                name: rally_sanity
                criteria: 'success_rate == 100%'
                blocking: false
                clean_flag: false
                description: >-
                    This test case runs a sub group of tests of the OpenStack
                    Rally suite in smoke mode.
                dependencies:
                    installer: ''
                    scenario: ''
                run:
                    module: 'functest.opnfv_tests.openstack.rally.rally'
                    class: 'RallySanity'

            -
                name: refstack_defcore
                criteria: 'success_rate == 100%'
                blocking: false
                clean_flag: true
                description: >-
                    This test case runs a sub group of tests of the OpenStack
                    Defcore testcases by using refstack client.
                dependencies:
                    installer: ''
                    scenario: ''
                run:
                    module: 'functest.opnfv_tests.openstack.refstack_client.refstack_client'
                    class: 'RefstackClient'

            -
                name: odl
                criteria: 'success_rate == 100%'
                blocking: true
                clean_flag: 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: 'functest.opnfv_tests.sdn.odl.odl'
                    class: 'ODLTests'
                    args:
                        suites:
                            -  /home/opnfv/repos/odl_test/csit/suites/integration/basic
                            -  /home/opnfv/repos/odl_test/csit/suites/openstack/neutron

            -
                name: odl_netvirt
                criteria: 'success_rate == 100%'
                blocking: false
                clean_flag: 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: 'functest.opnfv_tests.sdn.odl.odl'
                    class: 'ODLTests'
                    args:
                        suites:
                            -  /home/opnfv/repos/odl_test/csit/suites/integration/basic
                            -  /home/opnfv/repos/odl_test/csit/suites/openstack/neutron
                            -  /home/opnfv/repos/odl_test/csit/suites/openstack/connectivity

            -
                name: fds
                criteria: 'success_rate == 100%'
                blocking: false
                clean_flag: 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_l2-fdio'
                run:
                    module: 'functest.opnfv_tests.sdn.odl.odl'
                    class: 'ODLTests'
                    args:
                        suites:
                            -  /home/opnfv/repos/fds/testing/robot

            -
                name: onos
                criteria: 'status == "PASS"'
                blocking: true
                clean_flag: true
                description: >-
                    Test Suite for the ONOS SDN Controller. It integrates
                    some test suites from upstream using TestON as the test
                    framework.
                dependencies:
                    installer: ''
                    scenario: 'onos'
                run:
                    module: 'functest.opnfv_tests.sdn.onos.onos'
                    class: 'Onos'

            -
                name: snaps_smoke
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: 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, functest must have access to
                    the cloud's private network.

                dependencies:
                    installer: '^((?!netvirt).)*$'
                    scenario: '^((?!lxd).)*$'
                run:
                    module: 'functest.opnfv_tests.openstack.snaps.smoke'
                    class: 'SnapsSmoke'

    -
        name: features
        order: 2
        ci_loop: '(daily)|(weekly)'
        description : >-
            Test suites from feature projects
            integrated in functest
        testcases:
            -
                name: promise
                criteria: 'success_rate == 100%'
                blocking: false
                clean_flag: true
                description: >-
                    Test suite from Promise project.
                dependencies:
                    installer: '(fuel)|(joid)'
                    scenario: ''
                run:
                     module: 'functest.opnfv_tests.features.promise'
                     class: 'Promise'

            -
                name: doctor
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: true
                description: >-
                    Test suite from Doctor project.
                dependencies:
                    installer: '(apex)|(fuel)'
                    scenario: '^((?!fdio).)*$'
                run:
                    module: 'functest.opnfv_tests.features.doctor'
                    class: 'Doctor'

            -
                name: bgpvpn
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: true
                description: >-
                    Test suite from SDNVPN project.
                dependencies:
                    installer: '(fuel)|(apex)|(netvirt)'
                    scenario: 'bgpvpn'
                run:
                    module: 'functest.opnfv_tests.features.sdnvpn'
                    class: 'SdnVpnTests'

            -
                name: security_scan
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: true
                description: >-
                    Simple Security Scan
                dependencies:
                    installer: 'apex'
                    scenario: '^((?!fdio).)*$'
                run:
                    module: 'functest.opnfv_tests.features.security_scan'
                    class: 'SecurityScan'

            -
                name: multisite
                criteria: 'success_rate == 100%'
                blocking: false
                clean_flag: false
                description: >-
                    Test suite from kingbird
                dependencies:
                    installer: '(fuel)|(compass)'
                    scenario: 'multisite'
                run:
                    module: 'functest.opnfv_tests.openstack.tempest.tempest'
                    class: 'TempestMultisite'
            -
                name: odl-sfc
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: true
                description: >-
                    Test suite for odl-sfc to test two chains and two SFs
                dependencies:
                    installer: '(apex)|(fuel)'
                    scenario: 'odl_l2-sfc'
                run:
                    module: 'functest.opnfv_tests.features.odl_sfc'
                    class: 'OpenDaylightSFC'
            -
                name: onos_sfc
                criteria: 'status == "PASS"'
                blocking: true
                clean_flag: true
                description: >-
                    Test Suite for onos-sfc to test sfc function.
                dependencies:
                    installer: ''
                    scenario: 'onos-sfc'
                run:
                    module: 'functest.opnfv_tests.sdn.onos.onos'
                    class: 'OnosSfc'
            -
                name: parser
                criteria: 'ret == 0'
                blocking: false
                clean_flag: true
                description: >-
                    Test suite from Parser project.
                dependencies:
                    installer: 'fuel'
                    scenario: '^((?!bgpvpn|noha).)*$'
                run:
                    module: 'functest.opnfv_tests.vnf.rnc.parser'
                    class: 'Parser'
            -
                name: domino
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: true
                description: >-
                    Test suite from Domino project.
                dependencies:
                    installer: ''
                    scenario: ''
                run:
                    module: 'functest.opnfv_tests.features.domino'
                    class: 'Domino'
            -
                name: netready
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: true
                description: >-
                    Test suite from Netready project.
                dependencies:
                    installer: 'apex'
                    scenario: 'gluon'
                run:
                     module: 'functest.opnfv_tests.features.netready'
                     class: 'GluonVping'
            -
                name: barometer
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: true
                description: >-
                    Test suite for the Barometer project. Separate tests verify the
                    proper configuration and functionality of the following
                    collectd plugins Ceilometer, Hugepages, Memory RAS (mcelog),
                    and OVS Events
                dependencies:
                    installer: 'fuel'
                    scenario: 'kvm_ovs_dpdk_bar'
                run:
                     module: 'functest.opnfv_tests.features.barometer'
                     class: 'BarometerCollectd'
    -
        name: components
        order: 3
        ci_loop: 'weekly'
        description : >-
            Extensive testing of OpenStack API.
        testcases:
            -
                name: tempest_full_parallel
                criteria: 'success_rate >= 80%'
                blocking: false
                clean_flag: true
                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: 'functest.opnfv_tests.openstack.tempest.tempest'
                    class: 'TempestFullParallel'
            -
                name: tempest_custom
                criteria: 'success_rate == 100%'
                blocking: false
                clean_flag: true
                description: >-
                    The test case allows running a customized list of tempest
                    test cases defined in a file under
                    <dir_functest_repo>/functest/opnfv_tests/openstack/
                      /tempest/custom_tests/test_list.txt
                    The file is empty and can be customized with the desired tests.
                dependencies:
                    installer: 'unknown'
                    scenario: 'unknown'
                run:
                    module: 'functest.opnfv_tests.openstack.tempest.tempest'
                    class: 'TempestCustom'
            -
                name: rally_full
                criteria: 'success_rate >= 90%'
                blocking: false
                clean_flag: 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: 'functest.opnfv_tests.openstack.rally.rally'
                    class: 'RallyFull'

    -
        name: vnf
        order: 4
        ci_loop: 'weekly'
        description : >-
            Collection of VNF test cases.
        testcases:
            -
                name: cloudify_ims
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: true
                description: >-
                    This test case deploys an OpenSource vIMS solution from Clearwater
                    using the Cloudify orchestrator. It also runs some signaling traffic.
                dependencies:
                    installer: ''
                    scenario: '(ocl)|(nosdn)|^(os-odl)((?!bgpvpn).)*$'
                run:
                    module: 'functest.opnfv_tests.vnf.ims.cloudify_ims'
                    class: 'CloudifyIms'
#          -
#               name: aaa
#               criteria: 'ret == 0'
#               blocking: false
#               clean_flag: true
#               description: >-
#                   Test suite from Parser project.
#               dependencies:
#                   installer: ''
#                   scenario: ''
#               run:
#                   module: 'functest.opnfv_tests.vnf.aaa.aaa'
#                   class: 'AaaVnf'
            -
                name: orchestra_ims
                criteria: 'ret == 0'
                blocking: false
                clean_flag: true
                description: >-
                    VNF deployment with OpenBaton (Orchestra)
                dependencies:
                    installer: ''
                    scenario: ''
                run:
                    module: 'functest.opnfv_tests.vnf.ims.orchestra_ims'
                    class: 'ImsVnf'

            -
                name: opera_ims
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: true
                description: >-
                    VNF deployment with OPEN-O
                dependencies:
                    installer: 'unknown'
                    scenario: 'unknown'
                run:
                    module: 'functest.opnfv_tests.vnf.ims.opera_ims'
                    class: 'OperaIms'

            -
                name: vyos_vrouter
                criteria: 'status == "PASS"'
                blocking: false
                clean_flag: true
                description: >-
                    This test case is vRouter testing.
                dependencies:
                    installer: 'fuel'
                    scenario: 'nosdn-nofeature'
                run:
                    module: 'functest.opnfv_tests.vnf.router.vyos_vrouter'
                    class: 'VrouterVnf'