From: Juha Kosonen Date: Fri, 31 May 2019 06:52:06 +0000 (+0000) Subject: Merge "[docs] Document the changes to k8s container" X-Git-Tag: 2.0.0~81 X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=81fa8e8789ab70cd5058260d299510e5d88dea42;hp=5f161107acf9ccdfb0630fa8415789e52e5a8639;p=validation.git Merge "[docs] Document the changes to k8s container" --- diff --git a/.coafile b/.coafile index 37ab105..6896103 100644 --- a/.coafile +++ b/.coafile @@ -33,7 +33,7 @@ bears = YAMLLintBear files = **.yaml, **.yml use_spaces = true max_line_length = 120 -ignore = conformance/sonobuoy.yaml +ignore = tests/k8s/conformance/sonobuoy.yaml [all.Python] bears = PyLintBear diff --git a/bluval/bluval.py b/bluval/bluval.py index 4a01a92..8ed6bdf 100644 --- a/bluval/bluval.py +++ b/bluval/bluval.py @@ -28,19 +28,21 @@ def run_testcase(testcase): """ show_stopper = testcase.get('show_stopper', False) what = testcase.get('what') - results = "results/"+what - command = '{} {} {} {}'.format("robot", "-d", results, what) + variables = "variables.yaml" + results = "results/"+testcase.get('layer')+"/"+what + test_path = "tests/"+testcase.get('layer')+"/"+what + args = ["robot", "-V", variables, "-d", results, test_path] print('Executing testcase {}'.format(testcase['name'])) print(' show_stopper {}'.format(show_stopper)) - print('Invoking {}'.format(command)) + print('Invoking {}'.format(args)) try: - status = subprocess.call(command, shell=True) + status = subprocess.call(args, shell=False) if status != 0 and show_stopper: print('Show stopper testcase failed') return status except OSError: - print('Error while executing {}'.format(command)) + print('Error while executing {}'.format(args)) return -1 return status @@ -50,6 +52,7 @@ def validate_layer(blueprint, layer): """ print('## Layer {}'.format(layer)) for testcase in blueprint[layer]: + testcase['layer'] = layer run_testcase(testcase) diff --git a/docker/Makefile b/docker/Makefile index 426d22d..707dbc8 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -33,11 +33,11 @@ $(SUBDIRS_NAME): $(MAKE) -C $@ .PHONY: $(SUBDIRS_BUILD) -$(SUBDIRS_BUILD): $(SUBDIRS) - $(MAKE) -C $< build +$(SUBDIRS_BUILD): + $(MAKE) -C $(@:-build=) build .PHONY: $(SUBDIRS_PUSH) -$(SUBDIRS_PUSH): $(SUBDIRS) - $(MAKE) -C $< .push_image +$(SUBDIRS_PUSH): + $(MAKE) -C $(@:-push=) .push_image include build.mk diff --git a/docker/os/Dockerfile b/docker/os/Dockerfile new file mode 100644 index 0000000..41a0f07 --- /dev/null +++ b/docker/os/Dockerfile @@ -0,0 +1,51 @@ +############################################################################## +# 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 + +# Copy binaries in the final contaier and install robot framework +FROM python:3.6-alpine3.9 +COPY --from=build /wheels /wheels +COPY --from=build /opt/akraino/validation /opt/akraino/validation + +RUN pip3 install -r /wheels/requirements/pip-requirements.txt \ + -f /wheels && \ + rm -rf /wheels && \ + rm -rf /root/.cache/pip/* + +# Set the default command for running the tests +CMD /usr/local/bin/robot --exitonfailure --loglevel DEBUG \ + --outputdir /opt/akraino/validation/results/os \ + /opt/akraino/validation/os/ltp.robot + diff --git a/docker/os/Makefile b/docker/os/Makefile new file mode 100644 index 0000000..a5b4099 --- /dev/null +++ b/docker/os/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/os/pip-requirements.txt b/docker/os/pip-requirements.txt new file mode 100644 index 0000000..6139a45 --- /dev/null +++ b/docker/os/pip-requirements.txt @@ -0,0 +1,4 @@ +robotframework +robotframework-httplibrary +robotframework-requests +robotframework-sshlibrary diff --git a/bios_version/bios_version_dell.robot b/tests/hardware/bios_version/bios_version_dell.robot similarity index 95% rename from bios_version/bios_version_dell.robot rename to tests/hardware/bios_version/bios_version_dell.robot index efa9dd9..cf64398 100644 --- a/bios_version/bios_version_dell.robot +++ b/tests/hardware/bios_version/bios_version_dell.robot @@ -24,10 +24,11 @@ Suite Setup Open Connection And Log In Suite Teardown Close All Connections *** Variables *** -${HOST} localhost -${USERNAME} localadmin +#${HOST} localhost +#${USERNAME} localadmin +#${SYSINFO} PowerEdge R740xd +#${BIOS_REVISION} 1.3 ${LOG} /opt/akraino/validation/bios_version/print_bios.txt -${SYSINFO} PowerEdge R740xd *** Test Cases *** Get HW Details @@ -42,7 +43,7 @@ Verify BIOS Revision Start Command dmidecode | more | grep 'BIOS Revision' sudo=True ${stdout}= Read Command Output Append To File ${LOG} ${stdout}${\n} - Should Contain ${stdout} BIOS Revision: 1.3 + Should Contain ${stdout} BIOS Revision: ${BIOS_REVISION} Check NUMA and CPU [Documentation] NUMAs and CPU components diff --git a/conformance/conformance.robot b/tests/k8s/conformance/conformance.robot similarity index 100% rename from conformance/conformance.robot rename to tests/k8s/conformance/conformance.robot diff --git a/conformance/sonobuoy.yaml b/tests/k8s/conformance/sonobuoy.yaml similarity index 100% rename from conformance/sonobuoy.yaml rename to tests/k8s/conformance/sonobuoy.yaml diff --git a/ha/ha_calico_dns_proxy.robot b/tests/k8s/ha/ha_calico_dns_proxy.robot similarity index 100% rename from ha/ha_calico_dns_proxy.robot rename to tests/k8s/ha/ha_calico_dns_proxy.robot diff --git a/ha/ha_etcd_api_ctl_sch.robot b/tests/k8s/ha/ha_etcd_api_ctl_sch.robot similarity index 100% rename from ha/ha_etcd_api_ctl_sch.robot rename to tests/k8s/ha/ha_etcd_api_ctl_sch.robot diff --git a/ha/ha_services.robot b/tests/k8s/ha/ha_services.robot similarity index 100% rename from ha/ha_services.robot rename to tests/k8s/ha/ha_services.robot diff --git a/ha/ha_worker.robot b/tests/k8s/ha/ha_worker.robot similarity index 100% rename from ha/ha_worker.robot rename to tests/k8s/ha/ha_worker.robot diff --git a/helloworld/helloworld.robot b/tests/networking/helloworld/helloworld.robot similarity index 100% rename from helloworld/helloworld.robot rename to tests/networking/helloworld/helloworld.robot diff --git a/ceph/ceph_service.resource b/tests/openstack/ceph_service/ceph_service.resource similarity index 100% rename from ceph/ceph_service.resource rename to tests/openstack/ceph_service/ceph_service.resource diff --git a/ceph/ceph_service.robot b/tests/openstack/ceph_service/ceph_service.robot similarity index 100% rename from ceph/ceph_service.robot rename to tests/openstack/ceph_service/ceph_service.robot diff --git a/ceph/variables.resource b/tests/openstack/ceph_service/variables.resource similarity index 100% rename from ceph/variables.resource rename to tests/openstack/ceph_service/variables.resource diff --git a/variables.yaml b/variables.yaml new file mode 100644 index 0000000..016f31b --- /dev/null +++ b/variables.yaml @@ -0,0 +1,29 @@ +############################################################################## +# Copyright (c) 2019 AT&T Intellectual Property. # +# Copyright (c) 2019 Nokia. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); you may # +# not 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. # +############################################################################## + +# This file provides variable requeired robot testcases +# This file can be passed to robot testcases as follows +# $ robot -v varables.yaml +# +# All keys are converted UPPERCASE before sumitting to robot. YAML notation is +# smallcase and Robot variables notation is UPPERCASE so industry is follwoing +# this. + +host: aknode109 +username: localadmin +sysinfo: PowerEdge R740xd +bios_revision: 1.3