aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/scripts/log.sh
blob: 8bfd0d5539631dd4d5c7d3e115edf3e918dcb138 (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
#!/bin/bash -e
##############################################################################
# Copyright (c) 2017 Mirantis Inc., Enea AB 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
##############################################################################
#
# Collect /var/log from all cluster nodes via Salt Master
#

# shellcheck disable=SC1090
[ -n "${SSH_OPTS}" ] || source "$(dirname "${BASH_SOURCE[0]}")/globals.sh"

CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x
DEPLOY_LOG=$1
OPNFV_TMP_LOG="opnfv_fuel_logs"

[ -n "${DEPLOY_LOG}" ] || exit 0

# ssh to cfg01
# shellcheck disable=SC2086,2087
ssh ${SSH_OPTS} "${SSH_SALT}" bash -s << LOG_COLLECT_END
  sudo -i

  echo salt -C '*' cp.push_dir /var/log upload_path='${OPNFV_TMP_LOG}'
  salt -C '*' cp.push_dir /var/log upload_path='${OPNFV_TMP_LOG}'

  cd /var/cache/salt/master/minions && \
    find */files/${OPNFV_TMP_LOG}/ | \
      xargs tar czf \$(eval echo \~\${SUDO_USER}/${OPNFV_TMP_LOG}.tar.gz) \
        --transform 's|/files/${OPNFV_TMP_LOG}||'
LOG_COLLECT_END

# shellcheck disable=SC2086
scp ${SSH_OPTS} "${SSH_SALT}:${OPNFV_TMP_LOG}.tar.gz" "${DEPLOY_LOG}"
# shellcheck disable=SC2086,2029
ssh ${SSH_OPTS} "${SSH_SALT}" rm -f "${OPNFV_TMP_LOG}.tar.gz"
ion based on the 5-tuples (src address, dest address, src port,dest port, transport protocol) that is maintained for each flow. Concepts ======== * *Traffic Inspection*: The process of packet analysis and application identification of network traffic that passes through the :term:`VTC`. * *Traffic Forwarding*: The process of packet forwarding from an incoming network interface to a pre-defined outgoing network interface. * *Traffic Rule Application*: The process of packet tagging, based on a predefined set of rules. Packet tagging may include e.g. Type of Service (:term:`ToS`) field modification. Architecture ============ The Traffic Inspection module is the most computationally intensive component of the :term:`VNF`. It implements filtering and packet matching algorithms in order to support the enhanced traffic forwarding capability of the :term:`VNF`. The component supports a flow table (exploiting hashing algorithms for fast indexing of flows) and an inspection engine for traffic classification. The implementation used for these experiments exploits the nDPI library. The packet capturing mechanism is implemented using libpcap. When the :term:`DPI` engine identifies a new flow, the flow register is updated with the appropriate information and transmitted across the Traffic Forwarding module, which then applies any required policy updates. The Traffic Forwarding moudle is responsible for routing and packet forwarding. It accepts incoming network traffic, consults the flow table for classification information for each incoming flow and then applies pre-defined policies marking e.g. :term:`ToS`/Differentiated Services Code Point (:term:`DSCP`) multimedia traffic for Quality of Service (:term:`QoS`) enablement on the forwarded traffic. It is assumed that the traffic is forwarded using the default policy until it is identified and new policies are enforced. The expected response delay is considered to be negligible, as only a small number of packets are required to identify each flow. Graphical Overview ================== .. code-block:: console +----------------------------+ | | | Virtual Traffic Classifier | | | | Analysing/Forwarding | | ------------> | | ethA ethB | | | +----------------------------+ | ^ | | v | +----------------------------+ | | | Virtual Switch | | | +----------------------------+ Install ======= run the vTC/build.sh with root privileges Run === :: sudo ./pfbridge -a eth1 -b eth2 .. note:: Virtual Traffic Classifier is not support in OPNFV Danube release. Development Environment ======================= Ubuntu 14.04 Ubuntu 16.04