Update git submodules
authorRoss Brattain <ross.b.brattain@intel.com>
Thu, 22 Jun 2017 15:10:21 +0000 (15:10 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Thu, 22 Jun 2017 15:10:21 +0000 (15:10 +0000)
* Update docs/submodules/yardstick from branch 'master'
  - Merge "Acquire NSB specific data from Heat."
  - Acquire NSB specific data from Heat.

    First we add mac_address, subnet_cidr to Heat template outputs
    Then we convert those into a form for NSB and add vld_id.

    NSB also requires PCI Bus ID, kernel driver
    and dpdk_port_num.  We get this by ssh-ing
    into instance and dumping sysfs

    We also need to fix allow for ssh key auth,
    and implement relative path file loading
    so NSB can find all its YAML files

    JIRA: YARDSTICK-580

    Change history:

    don't hide heat create tracebacks we need tracebacks for debug

    vnf_generic: add task_path to scenario so we can load relative paths

        for vnf_generic we want to be able to load yaml relative to the
        task path

        For example:
          traffic_profile: ../../traffic_profiles/fixed.yaml
          topology: ping_tg_topology.yaml  # TODO: look in relative path where the tc.yaml is found

        These need to be relative to samples/vnf_samples/nsut/ping/tc_ping_heat_context.yaml

        Add a scenario["task_path"] entry

    heat: log actual exception

    vnf_generic: replace list with set and iterate over values()

        some general refactors to remove redundact lookups and
        type conversions

    heat: provide mac_address, device_id and network_id from outputs

        We may need more information to dynamically
        determine test topology.

        Towards this end return more info in the heat template.
        We can return mac_address, device_id and network_id.

        Once we have this info we can add it to the context_cfg
        as an interfaces dict.

    add sample vnf ping multi-network test
        this test requires 3 network, one for mgmt
        and the other two for NSB traffic tests
        We have to make sure we don't use DPDK
        on mgmt interface because DPDK unbinds
        the driver

    heat: convert networks to OrderedDict

        so we can lookups networks as well as
        iterate over them in consisitent order

    heat: and vld_id to networks for vnf_generic

        vnf_generic uses vld_id  Virtual Link Descriptor ID
        to identify interfaces

        Add the key to the networks dict
        and store in Networks object

    implement relative path file loading in vnf_generic

        in multiple places we need to load a file
        relative to the task path, so add
        open_relative_file_path

        and modify load_vnf_model to include the scenario_cfg
        parameter so we have access to task_path

    DRAFT: heat timeout support

        Heat stack in CI job failed due to some Nova issue.

        But then apparently yardstick kept running and took 180mins to timeout

        https://build.opnfv.org/ci/view/bottlenecks/job/bottlenecks-compass-posca_stress_ping-baremetal-daily-master/16/console

        We can add a Heat create timeout and fail faster if there is an error.

        The question is how long should we wait for a Heat stack to deploy.  We
        can set a default and allow override in the heat context config, if
        users make complicated stacks

    heat: get netmask and gateway from heat outputs

        we have do some tricky business with finding
        the subnet cidr and converting it into netmask

    vnf_generic: get vpci, driver and dpdk_port_num

        use a big old find command to dump all the sysfs
        netdev info nicely.  This was re-used from autotest FCoE tests.

        r"""find /sys/devices/pci* -type d -name net -exec sh -c '{ grep -sH ^ \
        +$1/ifindex $1/address $1/operstate $1/device/vendor $1/device/device \
        +$1/device/subsystem_vendor $1/device/subsystem_device ; \
        +printf "%s/driver:" $1 ; basename $(readlink -s $1/device/driver); } \
        +' sh  \{\}/* \;

        This finds all PCI devices that are network devices, then
        dumps all the relevant info using /bin/sh.

        Then we parse this into a 'netdevs' dict inside the node_dict
        and also convert into VNF fields we need.

    vnf_generic: set node name for kpis

        node is a dict, so we have to use node_name

    vnfdgen:  we CANNOT use TaskTemplate.render

        because it does not allow for missing variables, we need to allow
        password for key_filename to be undefined

    remove default ssh password hack, once rendering is fixed

    add new example tc_external_ping_heat_context

    Change-Id: If1fe0c1a2ab0a5be17e40790a66f28f706fa44d6
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
docs/submodules/yardstick

index 6b3ee75..e80c351 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 6b3ee75dc0b5fc0e66c914d0b72b4396411526fd
+Subproject commit e80c35164e7dfee4fe4a3652b71b8775c1c0857a