Change-Id: Iae2ee6d576347262d9f3f9a9e9b9cc65dbc5bf5e
Signed-off-by: Matej Klotton <mklotton@cisco.com>
rm -f *.deb
if [ "${#}" -ne "0" ]; then
rm -f *.deb
if [ "${#}" -ne "0" ]; then
- echo "let's use the parameters"
arr=(${@})
echo ${arr[0]}
else
arr=(${@})
echo ${arr[0]}
else
- wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp/1.0.0-185~gca0f3b3_amd64/vpp-1.0.0-185~gca0f3b3_amd64.deb" || exit
- wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp-dbg/1.0.0-185~gca0f3b3_amd64/vpp-dbg-1.0.0-185~gca0f3b3_amd64.deb" || exit
- wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp-dev/1.0.0-185~gca0f3b3_amd64/vpp-dev-1.0.0-185~gca0f3b3_amd64.deb" || exit
- wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp-dpdk-dev/1.0.0-185~gca0f3b3_amd64/vpp-dpdk-dev-1.0.0-185~gca0f3b3_amd64.deb" || exit
- wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp-dpdk-dkms/1.0.0-185~gca0f3b3_amd64/vpp-dpdk-dkms-1.0.0-185~gca0f3b3_amd64.deb" || exit
- wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp-lib/1.0.0-185~gca0f3b3_amd64/vpp-lib-1.0.0-185~gca0f3b3_amd64.deb" || exit
+ wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp/1.0.0-229~gb1df169_amd64/vpp-1.0.0-229~gb1df169_amd64.deb" || exit
+ wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp-dbg/1.0.0-229~gb1df169_amd64/vpp-dbg-1.0.0-229~gb1df169_amd64.deb" || exit
+ wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp-dev/1.0.0-229~gb1df169_amd64/vpp-dev-1.0.0-229~gb1df169_amd64.deb" || exit
+ wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp-dpdk-dev/1.0.0-229~gb1df169_amd64/vpp-dpdk-dev-1.0.0-229~gb1df169_amd64.deb" || exit
+ wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp-dpdk-dkms/1.0.0-229~gb1df169_amd64/vpp-dpdk-dkms-1.0.0-229~gb1df169_amd64.deb" || exit
+ wget -q "https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp/vpp-lib/1.0.0-229~gb1df169_amd64/vpp-lib-1.0.0-229~gb1df169_amd64.deb" || exit
# limitations under the License.
echo
# limitations under the License.
echo
-sudo -S service vpp restart
+echo See /etc/vpp/startup.conf
+cat /etc/vpp/startup.conf
+sudo -S service vpp restart
+
+echo
+echo List /proc/meminfo
+echo
+cat /proc/meminfo
echo
echo See free memory
echo
free -m
echo
echo See free memory
echo
free -m
+echo
+echo See vpp process
+echo
+ps aux | grep vpp
+
echo UUID
sudo dmidecode | grep UUID
echo Add dpdk-input trace
sudo vpp_api_test <<< "exec trace add dpdk-input 100"
echo UUID
sudo dmidecode | grep UUID
echo Add dpdk-input trace
sudo vpp_api_test <<< "exec trace add dpdk-input 100"
+RESULT=$?
+if [ $RESULT -ne 0 ]; then
+ echo
+ echo See /var/log/syslog
+ sudo tail -n 200 /var/log/syslog
+ exit $RESULT
+fi
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from robot.api import logger
from topology import NodeType
from ssh import SSH
from constants import Constants
from robot.api import logger
from topology import NodeType
from ssh import SSH
from constants import Constants
- def __init__(self):
- pass
def start_vpp_service_on_all_duts(self, nodes):
"""Start up the VPP service on all nodes."""
def start_vpp_service_on_all_duts(self, nodes):
"""Start up the VPP service on all nodes."""
ssh.exec_command('sudo -Sn bash {0}/{1}/dut_setup.sh'.format(
Constants.REMOTE_FW_DIR, Constants.RESOURCES_LIB_SH))
logger.trace(stdout)
ssh.exec_command('sudo -Sn bash {0}/{1}/dut_setup.sh'.format(
Constants.REMOTE_FW_DIR, Constants.RESOURCES_LIB_SH))
logger.trace(stdout)
if 0 != int(ret_code):
logger.debug('DUT {0} setup script failed: "{1}"'.
format(node['host'], stdout + stderr))
if 0 != int(ret_code):
logger.debug('DUT {0} setup script failed: "{1}"'.
format(node['host'], stdout + stderr))
from robot.api import logger
from interruptingcow import timeout
from robot.utils.asserts import assert_equal, assert_not_equal
from robot.api import logger
from interruptingcow import timeout
from robot.utils.asserts import assert_equal, assert_not_equal
+from socket import timeout as socket_timeout
__all__ = ["exec_cmd", "exec_cmd_no_error"]
__all__ = ["exec_cmd", "exec_cmd_no_error"]
Returns (return_code, stdout, stderr).
"""
logger.trace('exec_command on {0}: {1}'
Returns (return_code, stdout, stderr).
"""
logger.trace('exec_command on {0}: {1}'
- .format(self._ssh.get_transport().getpeername(), cmd))
+ .format(self._ssh.get_transport().getpeername(), cmd))
start = time()
chan = self._ssh.get_transport().open_session()
if timeout is not None:
start = time()
chan = self._ssh.get_transport().open_session()
if timeout is not None:
- buf = chan.recv(self.__MAX_RECV_BUF)
- stdout += buf
- if not buf:
+ try:
+ buf = chan.recv(self.__MAX_RECV_BUF)
+ stdout += buf
+ if not buf:
+ break
+ except socket_timeout:
+ logger.trace('Channels stdout timeout occurred')
break
stderr = ""
while True:
break
stderr = ""
while True:
- buf = chan.recv_stderr(self.__MAX_RECV_BUF)
- stderr += buf
- if not buf:
+ try:
+ buf = chan.recv_stderr(self.__MAX_RECV_BUF)
+ stderr += buf
+ if not buf:
+ break
+ except socket_timeout:
+ logger.trace('Channels stderr timeout occurred')
break
return_code = chan.recv_exit_status()
logger.trace('chan_recv/_stderr took {} seconds'.format(time()-end))
break
return_code = chan.recv_exit_status()
logger.trace('chan_recv/_stderr took {} seconds'.format(time()-end))
- return (return_code, stdout, stderr)
+ logger.trace('return RC {}'.format(return_code))
+ logger.trace('return STDOUT {}'.format(stdout))
+ logger.trace('return STDERR {}'.format(stderr))
+ return return_code, stdout, stderr
def exec_command_sudo(self, cmd, cmd_input=None, timeout=10):
"""Execute SSH command with sudo on a new channel on the connected Node.
def exec_command_sudo(self, cmd, cmd_input=None, timeout=10):
"""Execute SSH command with sudo on a new channel on the connected Node.
| Library | resources/libraries/python/SetupFramework.py
| Library | resources.libraries.python.topology.Topology
| Suite Setup | Run Keywords | Setup Framework | ${nodes}
| Library | resources/libraries/python/SetupFramework.py
| Library | resources.libraries.python.topology.Topology
| Suite Setup | Run Keywords | Setup Framework | ${nodes}
-| ... | AND | Start VPP Service On All DUTs | ${nodes}
+| ... | AND | Setup All DUTs | ${nodes}
| ... | AND | Update All Interface Data On All Nodes | ${nodes}
| ... | AND | Update All Interface Data On All Nodes | ${nodes}
| Resource | resources/libraries/robot/default.robot
| Resource | resources/libraries/robot/vxlan.robot
| Resource | resources/libraries/robot/l2_traffic.robot
| Resource | resources/libraries/robot/default.robot
| Resource | resources/libraries/robot/vxlan.robot
| Resource | resources/libraries/robot/l2_traffic.robot
-| Force Tags | 3_NODE_SINGLE_LINK_TOPO | EXPECTED_FAILING | VM_ENV | HW_ENV
+| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | HW_ENV
| Suite Setup | Run Keywords | Setup all DUTs before test
| ... | AND | Setup all TGs before traffic script
| ... | AND | Setup VXLAN tunnel on nodes | ${nodes['TG']}
| Suite Setup | Run Keywords | Setup all DUTs before test
| ... | AND | Setup all TGs before traffic script
| ... | AND | Setup VXLAN tunnel on nodes | ${nodes['TG']}