aboutsummaryrefslogtreecommitdiffstats
path: root/tools/coding-checks.sh
blob: 615f2c3de3cc837ff0cf741eae4ae8aab3ef4956 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/sh
# source: https://github.com/openstack/neutron/blob/master/tools/coding-checks.sh

set -eu

usage () {
    echo "Usage: $0 [OPTION]..."
    echo "Run Yardstick's coding check(s)"
    echo ""
    echo "  -Y, --pylint [<basecommit>] Run pylint check on the entire neutron module or just files changed in basecommit (e.g. HEAD~1)"
    echo "  -h, --help                  Print this usage message"
    echo
    exit 0
}

process_options () {
    i=1
    while [ $i -le $# ]; do
        eval opt=\$$i
        case $opt in
            -h|--help) usage;;
            -Y|--pylint) pylint=1;;
            *) scriptargs="$scriptargs $opt"
        esac
        i=$((i+1))
    done
}

run_pylint () {
    local target="${scriptargs:-all}"
    local output_format=""

    if [ "$target" = "all" ]; then
        files="ansible api tests yardstick"
    else
        case "$target" in
            *HEAD*|*HEAD~[0-9]*) files=$(git diff --diff-filter=AM --name-only $target -- "*.py");;
            *) echo "$target is an unrecognized basecommit"; exit 1;;
        esac
    fi
    # make Jenkins output parseable because Jenkins doesn't handle color
    # enventually we should use the Jenkins Pylint plugin or other tools
    if [ -n "${BRANCH:-}" ] ; then
        output_format="--output-format=parseable"
    fi
    echo "Running pylint..."
    echo "You can speed this up by running it on 'HEAD~[0-9]' (e.g. HEAD~0, this change only)..."
    if [ -n "${files}" ]; then
        pylint --rcfile=.pylintrc ${output_format} ${files}
    else
        echo "No python changes in this commit, pylint check not required."
        exit 0
    fi
}

scriptargs=
pylint=1

process_options $@

if [ $pylint -eq 1 ]; then
    run_pylint
    exit 0
fi
} management_router: type: OS::Neutron::Router properties: name: management_router external_gateway_info: network: { get_param: external_net_name } management_router_interface: type: OS::Neutron::RouterInterface properties: router: { get_resource: management_router } subnet: { get_resource: subnet } floating_ip: type: OS::Neutron::FloatingIP properties: floating_network: { get_param: external_net_name } floating_ip_association: type: OS::Nova::FloatingIPAssociation properties: floating_ip: { get_resource: floating_ip } server_id: {get_resource: dpdk_vm} keypair: type: OS::Nova::KeyPair properties: name: yardstick-key public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD0RkXfW6pksd1cZmXuvXZF/Mlqqq3ahIGcGoULOC97XMpu0vdxMpcUwdjwGqMwEXTVyfHidu0l99bLqOCpSUKCmbWx3ONJ+1kqFx4HwsKEWLiyDYqsuMrDeZT1eFjC5avCoTcrIw2wq5NaBb00lDGagNZOeopaL5YIa4+PizEY23+cir24D67NU21Fg3JE92AIeGlNa4j66L3a+lL0hZq74Dilmp42wm4GsbplRO6KJfyaraowHb1X+TmhCjBgHk6M/OJ9yPAroZyJNcwjMAuuxhAYWRuT3SdbnoUR0RG2VhfDh0qNid7vOqLbhKPeaLLFmzkN+9w3WdCp6LbSYt87 yardstick@yardstick.opnfv.org wait_handle: type: OS::Heat::WaitConditionHandle wait_condition: type: OS::Heat::WaitCondition properties: handle: { get_resource: wait_handle } count: 1 timeout: { get_param: timeout } dpdk_vm: type: OS::Nova::Server depends_on: [subnet, keypair, flavor] properties: name: { get_param: "OS::stack_name" } image: { get_param: image } flavor: { get_resource: flavor } key_name: {get_resource: keypair} networks: - network: { get_resource: network } config_drive: True user_data_format : RAW user_data: str_replace: template: | #!/bin/sh cat <<'CEOF' > /tmp/dpdk_post_build.sh export RTE_SDK=/dpdk export RTE_TARGET=x86_64-native-linuxapp-gcc cd /dpdk make install T=x86_64-native-linuxapp-gcc DESTDIR=destdir modprobe uio insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/rte_kni.ko cd /pktgen-dpdk make RTE_SDK=/dpdk echo "PCKTGEN BUILT" rm -rf /var/lib/cloud/instances echo "rm succesfull" ls /dpdk/x86_64-native-linuxapp-gcc/kmod/ $NOTIFY --data-binary '{"status": "SUCCESS"}' CEOF chmod +x /tmp/dpdk_post_build.sh echo "chmod" nohup /tmp/dpdk_post_build.sh & params: $NOTIFY: { get_attr: ['wait_handle', 'curl_cli'] } outputs: vm_uuid: description: uuid of the VM value: { get_attr: [ dpdk_vm, show,id ] }