From: Naga Sugguna Date: Tue, 3 Sep 2019 15:44:16 +0000 (+0000) Subject: Merge "[UI] Support UI partial control" X-Git-Tag: 2.0.0~45 X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=validation.git;a=commitdiff_plain;h=770d403ce7ae30a6c5404887c0e0fcb0ca5c6f48;hp=2eba847ebb6acb2686be08eb1cdafc1b12071e7d Merge "[UI] Support UI partial control" --- diff --git a/bluval/bluval-rec.yaml b/bluval/bluval-rec.yaml index bde9b47..3c9a81b 100644 --- a/bluval/bluval-rec.yaml +++ b/bluval/bluval-rec.yaml @@ -20,6 +20,7 @@ blueprint: layers: - hardware - os + - docker - k8s # Any hardware some basic tests hardware: &hardware_dummy @@ -30,6 +31,10 @@ blueprint: - name: cyclictest what: cyclictest + docker: &docker_base + - + name: docker_bench + what: docker_bench k8s: &k8s - name: conformance diff --git a/docker/docker/Dockerfile b/docker/docker/Dockerfile new file mode 100644 index 0000000..82c7040 --- /dev/null +++ b/docker/docker/Dockerfile @@ -0,0 +1,50 @@ +############################################################################## +# Copyright (c) 2019 AT&T, ENEA AB, Nokia and others # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you maynot use this file except in compliance with the License. # +# # +# You may obtain a copy of the License at # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, 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. # +############################################################################## + +# ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds +FROM python:3.6-alpine3.9 as build + +# Install dependencies +COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt +RUN apk --no-cache add --update \ + gcc \ + git \ + libc-dev \ + libffi \ + libffi-dev \ + make \ + openssl-dev + +# Build binaries +WORKDIR /wheels +RUN pip3 install wheel +RUN pip3 wheel -r /wheels/requirements/pip-requirements.txt +RUN git clone https://gerrit.akraino.org/r/validation /opt/akraino/validation +RUN git clone https://github.com/docker/docker-bench-security.git /opt/akraino/docker-bench-security + +# Copy binaries in the final container and install requirements +FROM python:3.6-alpine3.9 +COPY --from=build /wheels /wheels +COPY --from=build /opt/akraino/validation /opt/akraino/validation +COPY --from=build /opt/akraino/docker-bench-security /opt/akraino/docker-bench-security + +RUN pip3 install -r /wheels/requirements/pip-requirements.txt \ + -f /wheels && \ + rm -rf /wheels && \ + rm -rf /root/.cache/pip/* + +# Install blueval dependencies +RUN pip install -r /opt/akraino/validation/bluval/requirements.txt diff --git a/docker/docker/Makefile b/docker/docker/Makefile new file mode 100644 index 0000000..a5b4099 --- /dev/null +++ b/docker/docker/Makefile @@ -0,0 +1,23 @@ +############################################################################## +# Copyright (c) 2019 AT&T, ENEA AB, Nokia and others # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you maynot use this file except in compliance with the License. # +# # +# You may obtain a copy of the License at # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, 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. # +############################################################################## + +.PHONY: all +all: .push_image .push_manifest + +.PHONY: build +build: .build + +include ../build.mk diff --git a/docker/docker/pip-requirements.txt b/docker/docker/pip-requirements.txt new file mode 100644 index 0000000..af1d9bf --- /dev/null +++ b/docker/docker/pip-requirements.txt @@ -0,0 +1,2 @@ +robotframework +robotframework-sshlibrary diff --git a/tests/security/docker/docker_bench.resource b/tests/docker/docker_bench/docker_bench.resource similarity index 90% rename from tests/security/docker/docker_bench.resource rename to tests/docker/docker_bench/docker_bench.resource index f4b9336..674087f 100644 --- a/tests/security/docker/docker_bench.resource +++ b/tests/docker/docker_bench/docker_bench.resource @@ -26,7 +26,7 @@ Library String *** Variables *** ${REPORTDIR} ${LOG_PATH}${/}${SUITE_NAME.replace(' ','_')} -${SRCDIR} ./docker-bench-security +${SRCDIR} /opt/akraino/docker-bench-security ${DESTDIR} /tmp/docker-bench-security ${NODEDIR} /tmp/docker-bench-security-run ${SSH_OPTS} -o StrictHostKeyChecking=no @@ -37,11 +37,6 @@ Open Connection And Log In Open Connection ${HOST} Login With Public Key ${USERNAME} ${SSH_KEYFILE} -Download Docker Bench Software - Remove Docker Bench Software - Run Process git clone - ... https://github.com/docker/docker-bench-security.git ${SRCDIR} - Upload Test Software To Nodes Put Directory ${SRCDIR} ${DESTDIR} recursive=True Get Node Addresses @@ -66,9 +61,6 @@ Copy Test Software To All Nodes \ Execute Command ssh ${SSH_OPTS} ${node} "mkdir -p ${NODEDIR}" \ Execute Command scp ${SSH_OPTS} -rp ${DESTDIR}/. ${node}:${NODEDIR} -Remove Docker Bench Software - Remove Directory ${SRCDIR} recursive=True - Remove Test Software From Nodes :FOR ${node} IN @{nodes} \ Execute Command ssh ${SSH_OPTS} ${node} "rm -rf ${NODEDIR}" diff --git a/tests/security/docker/docker_bench.robot b/tests/docker/docker_bench/docker_bench.robot similarity index 87% rename from tests/security/docker/docker_bench.robot rename to tests/docker/docker_bench/docker_bench.robot index 591c6cc..e0a915c 100644 --- a/tests/security/docker/docker_bench.robot +++ b/tests/docker/docker_bench/docker_bench.robot @@ -22,10 +22,8 @@ Documentation Runs the Docker Bench for Security script which checks for ... containers in production. Library BuiltIn Resource docker_bench.resource -Suite Setup Run Keywords Open Connection And Log In -... Download Docker Bench Software -Suite Teardown Run Keywords Remove Docker Bench Software -... Close All Connections +Suite Setup Open Connection And Log In +Suite Teardown Close All Connections Test Setup Upload Test Software To Nodes Test Teardown Remove Test Software From Nodes diff --git a/tests/os/ltp/ltp.robot b/tests/os/ltp/ltp.robot new file mode 100644 index 0000000..8418bc8 --- /dev/null +++ b/tests/os/ltp/ltp.robot @@ -0,0 +1,58 @@ +############################################################################## +# Copyright (c) 2019 AT&T Intellectual Property. # +# Copyright (c) 2019 Nokia. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you maynot use this file except in compliance with the License. # +# # +# You may obtain a copy of the License at # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, 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. # +############################################################################## + +*** Settings *** +Documentation Validation, robustness and stability of Linux +Library SSHLibrary +Library OperatingSystem +Library BuiltIn +Library Process +Resource variables.resource +Suite Setup Open Connection And Log In +Suite Teardown Close All Connections + +*** Variables *** +${LOG} ${LOG_PATH}${/}${SUITE_NAME.replace(' ','_')}.log + + +*** Test Cases *** +#Run whole ltp test suite +# [Documentation] Wait ~5hrs to complete 2536 tests +# ${result}= Run Process ./runltp shell=yes cwd=/opt/ltp stdout=${LOG} +# Append To File ${LOG} ${result}${\n} +# Sleep 2s +# Should Contain ${result.stdout} failed 0 + +#Run ltp syscalls test suite +# [Documentation] Wait ~45m for syscalls to complete +# ${result}= Run Process ./runltp -f syscalls shell=yes cwd=/opt/ltp stdout=${LOG} +# Append To File ${LOG} ${result}${\n} +# Sleep 2s +# Should Contain ${result.stdout} failed 0 + +Run ltp syscalls madvise + [Documentation] Wait ~1m for madvise01-10 to complete + ${result}= Run Process ./runltp -f syscalls -s madvise shell=yes cwd=/opt/ltp stdout=${LOG} + Append To File ${LOG} ${result}${\n} + Sleep 2s + Should Contain ${result.stdout} failed 0 + +*** Keywords *** +Open Connection And Log In + Open Connection ${HOST} + Login ${ROOTUSER} ${ROOTPSWD} + diff --git a/tests/os/ltp/variables.resource b/tests/os/ltp/variables.resource new file mode 100644 index 0000000..6f46166 --- /dev/null +++ b/tests/os/ltp/variables.resource @@ -0,0 +1,23 @@ +############################################################################## +# Copyright (c) 2019 AT&T Intellectual Property. # +# Copyright (c) 2019 Nokia. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you maynot use this file except in compliance with the License. # +# # +# You may obtain a copy of the License at # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, 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. # +############################################################################## + +*** Variables *** +# Manual test: robot ltp.robot + +${HOST} aknode109 # cluster's master node address +${ROOTUSER} root # Required root user to log in to the host +${ROOTPSWD} root_passwd # Required root password to log in to the host