Cristina Pauna [Wed, 3 Jul 2019 08:53:39 +0000 (11:53 +0300)]
[docker] Fix build for mariadb
The mariadb container is failing to build on aarch64 because it's using
an image without arm support. Also standardized the location where the
validation code is cloned.
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Change-Id: I3bf262ea565e487f635b398d0f49314eceb5162e
Juha Kosonen [Tue, 2 Jul 2019 10:49:55 +0000 (13:49 +0300)]
Add Docker Bench for Security
The Docker Bench for Security [1] is a script that checks for common
best-practices around deploying Docker containers. The Robot test case
added uploads the test script on all nodes of the cluster, runs all
available CIS tests and downloads produced execution logs.
[1] https://github.com/docker/docker-bench-security/tree/master
JIRA: VAL-35
Change-Id: I107673363453f38344fd9db3c88b88ea70f1074a
Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
Ioakeim Samaras [Tue, 2 Jul 2019 13:54:59 +0000 (13:54 +0000)]
Merge "UI adaptation for supporting ONAP portal SDK"
Naga Sugguna [Tue, 2 Jul 2019 13:32:55 +0000 (13:32 +0000)]
Merge "[docker] Standardize the location of the code"
Cristina Pauna [Tue, 2 Jul 2019 13:05:00 +0000 (13:05 +0000)]
Merge "[docker] Renamed hw layer to hardware"
Cristina Pauna [Tue, 2 Jul 2019 11:27:07 +0000 (14:27 +0300)]
[docker] Standardize the location of the code
Use the same location to clone the repository inside the docker images.
/opt/akraino/validation/
Use /opt/akraino/results to store the results of the tests
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Change-Id: I6ec594d66d84539608d5c3cef8a0277b7b2b54d7
Ioakeim Samaras [Mon, 24 Jun 2019 16:08:46 +0000 (19:08 +0300)]
UI adaptation for supporting ONAP portal SDK
JIRA: VAL-29
Signed-off-by: Ioakeim Samaras <ioakeim.samaras@ericsson.com>
Change-Id: I1ff3118e09b7cc91b465fb8293a0e7765c82a581
Cristina Pauna [Mon, 1 Jul 2019 08:07:17 +0000 (11:07 +0300)]
[docker] Renamed hw layer to hardware
It was decided in the team meeting that all references to the hardware
layer should be named "hardware" instead of "hw" for consistency.
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Change-Id: I00a725d8653275627e2489fa09398587dd5a5481
Alexandru Avadanii [Sat, 29 Jun 2019 19:24:36 +0000 (21:24 +0200)]
[k8s conformance] sonobuoy: Use Akraino images
Instead of pulling upstream images, which are x86-specific, switch
to our own Akraino images with multiarch (x86_64 + AArch64) support:
- akraino/validation:sonobuoy-plugin-systemd-logs-latest
- akraino/validation:kube-conformance-v1.11
JIRA: VAL-24
Change-Id: I195e111350a95c8d198f73420a1b2ba76a8600f2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Cristina Pauna [Fri, 28 Jun 2019 11:41:09 +0000 (11:41 +0000)]
Merge "[docker] Add sonobuoy multiarch image build"
Alexandru Avadanii [Tue, 25 Jun 2019 15:46:42 +0000 (17:46 +0200)]
[docker] Add sonobuoy multiarch image build
Upstream sonobuoy lacks 2 images for AArch64 architecture, so build
our own multiarch amd64 (x86_64) + arm64 (AArch64) images for:
- sonobuoy-plugin-systemd-logs (tag version 'latest');
- kube-conformance (tag version 'v1.11');
The new images will be pushed to Dockerhub as:
- akraino/validation:sonobuoy-plugin-systemd-logs-latest
- akraino/validation:kube-conformance-v1.11
Since upstream Dockerfiles require small changes for AArch64 support,
implement a new patching mechanism via new make targets in
`docker/build.mk`:
- .submodules_init
* initializes the (newly added) git submodules in this repository
and pulls the pinned-down commit for each submodule;
- .submodules_patched
* Applies patches found in the `patches` and/or `patches/<arch>`
subdirectories for each submodule (using `git am -3`), so we can
apply AArch64-specific changes only on arm64 platforms;
- .submodules_clean
* Un-applies patches by resetting each git submodule to its
pinned-down commit;
To add support for pre-build actions like submodules init + patching,
turn `.build` make target into a double-colon target and extend it
for the two new containers accordingly.
To prevent tox verify failures, adjust ui .eslintrc and tox.ini to
remove the git submodules first (second one being a temporary
workaround until ci-management allows configuring verify jobs with
git submodule handling disabled).
JIRA: VAL-24
Change-Id: Ibfeb3551e44e82fdade2886985ca4577b7d32522
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Ioakeim Samaras [Thu, 27 Jun 2019 07:34:22 +0000 (07:34 +0000)]
Merge "fix: hp_baremetal ping"
Ioakeim Samaras [Wed, 26 Jun 2019 08:52:18 +0000 (08:52 +0000)]
Merge "[ui] Fix docker build for UI container"
Naga Sugguna [Tue, 25 Jun 2019 15:24:13 +0000 (10:24 -0500)]
fix: hp_baremetal ping
Change-Id: Ib100994e543311b1ec7b5916b6a1874ec4e0f320
Signed-off-by: Naga Sugguna <ns156u@att.com>
Juha Kosonen [Tue, 25 Jun 2019 05:22:04 +0000 (05:22 +0000)]
Merge "Fix Sonobuoy test execution completion waiting"
Naga Sugguna [Mon, 24 Jun 2019 19:47:02 +0000 (14:47 -0500)]
Remove NA test cases
Change-Id: If5217a2c17d0e3bf3428078e2f8d74e59522bbdb
Signed-off-by: Naga Sugguna <ns156u@att.com>
Juha Kosonen [Mon, 24 Jun 2019 13:32:35 +0000 (16:32 +0300)]
Fix Sonobuoy test execution completion waiting
JIRA: VAL-34
Change-Id: I2175553f7a3d42fc3b0f00e75cef9b1c10bc6bf6
Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
Naga Sugguna [Mon, 24 Jun 2019 13:05:38 +0000 (08:05 -0500)]
REC testcases
Test cases for REC
Change-Id: I6d26a6f0b0c9dfd5db745abdab8ed48b86175ff5
Signed-off-by: Naga Sugguna <ns156u@att.com>
Cristina Pauna [Fri, 21 Jun 2019 12:59:50 +0000 (15:59 +0300)]
[ui] Fix docker build for UI container
The build is failing because it expects the java code to be built
before copying the executable inside the ui container
JIRA: VAL-31
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Change-Id: I1f3d92bab9d1de8fbe93a2da0667c82aca44789f
Naga Sugguna [Thu, 13 Jun 2019 00:21:22 +0000 (00:21 +0000)]
Merge "Fix OS Dockerfile"
Miguel Montiel [Wed, 5 Jun 2019 23:55:22 +0000 (23:55 +0000)]
Add Bare metal hardware test cases for hp:
- Connectivity
- Health
- Chassis
- idrac
- Bios
- Firmware
Updated Dockerfile for hw container
Updated variable.yaml to have a consolidated list
of variables for the robot test cases
Change-Id: Ie6b6cbfb8854310665602279872409852e36182e
Signed-off-by: Miguel Montiel <mm747b@att.com>
Miguel Montiel [Fri, 31 May 2019 22:33:15 +0000 (22:33 +0000)]
Add container script for hw layer test
Dockerfile which installs
- Dependencies
- Robot framework
Change-Id: I2d465fdf771c4fc087afe7fd233064cdccfe5fce
Signed-off-by: Miguel Montiel <mm747b@att.com>
Miguel Montiel [Wed, 12 Jun 2019 20:48:05 +0000 (20:48 +0000)]
Fix OS Dockerfile
- Default command removed
- Add blueval dependencies
Change-Id: Ieb9df39bc85e3b828a4bb67738d395440363952b
Signed-off-by: Miguel Montiel <mm747b@att.com>
Miguel Montiel [Wed, 12 Jun 2019 18:45:55 +0000 (18:45 +0000)]
OS layer typo fixed
Change-Id: I2ef006f89eedaecbe8cd653345b91552b1c0f4f4
Signed-off-by: Miguel Montiel <mm747b@att.com>
Cristina Pauna [Mon, 10 Jun 2019 11:48:52 +0000 (11:48 +0000)]
Merge "[k8s] Run the tests using bluval"
Cristina Pauna [Mon, 10 Jun 2019 11:43:04 +0000 (11:43 +0000)]
Merge "UI initial implementation."
Ioakeim Samaras [Fri, 17 May 2019 12:23:59 +0000 (15:23 +0300)]
UI initial implementation.
- A user can commit and be informed about
submissions of blueprint validation requests.
- Appropriate dockerfiles have been added for the
UI and the required postgreSQL db.
- .gitignore file has been updated
- Integration with Jenkins completed
- The URL of the result is retrieved and
displayed
- Multi-threading is now supported
- Notification callback from Jenkins implemented
- Results are retrieved from Nexus
- Results are displayed
- UI and postgreSQL docker projects support the
makefile automation build and push process
- README file is included
- CHANGELOG file is included
- Coala static code analysis was performed
JIRA: VAL-14
Signed-off-by: Ioakeim Samaras <ioakeim.samaras@ericsson.com>
Change-Id: Icd2a97426bfbfc6e4eb4ec5edbda6689e2d4645f
Miguel Montiel [Fri, 7 Jun 2019 18:20:58 +0000 (18:20 +0000)]
Add os cyclic test
- Test to verify latency in os
Change-Id: I49e8d2f0aa62c9ee1f31c0b90fa70b5fa3b24444
Signed-off-by: Miguel Montiel <mm747b@att.com>
Cristina Pauna [Tue, 4 Jun 2019 10:12:23 +0000 (10:12 +0000)]
[k8s] Run the tests using bluval
- Install pip requirements needed for bluval
- Run the k8s tests using bluval instead of directly using robot,
thus allowing for more complex decisions regarding which tests to run
- Use relative paths in bluval
- Moved the input variable file in the tests folder (all things related
to tests shoudl be there)
- Standardized the location and name of the log files
JIRA: VAL-28
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Change-Id: Ifc388d0df8b237d29239b62469f3f117e26e30f0
Naga Sugguna [Wed, 5 Jun 2019 14:53:14 +0000 (09:53 -0500)]
NoneType fixed
Change-Id: I6cfbddd6590f11c392113df878ba1faa774d3bcc
Signed-off-by: Naga Sugguna <ns156u@att.com>
Juha Kosonen [Fri, 31 May 2019 06:52:06 +0000 (06:52 +0000)]
Merge "[docs] Document the changes to k8s container"
Naga Sugguna [Fri, 24 May 2019 16:17:47 +0000 (11:17 -0500)]
Pass variables to robot testcases
* robot can take variables files in .yaml and .py formats
.yaml is more readable where .py can generate dynamic parametrs.
Here providing the both options.
* blueval engine updated to pass variables file.
* Decided to use simple (yaml) option and enhances it when needed
* We can make a standard, robot testcases can have variables but
comment them before committing. Looking at that users can update
variables file.
Signed-off-by: Naga Sugguna <ns156u@att.com>
Change-Id: I1df6efff22e86a7feaca5c2e641b7c130bb79138
Naga Sugguna [Thu, 30 May 2019 14:56:19 +0000 (14:56 +0000)]
Merge "Organize file structure for tests"
Cristina Pauna [Wed, 29 May 2019 13:43:15 +0000 (16:43 +0300)]
[docs] Document the changes to k8s container
Document how to use the k8s contaier after the changes
introduced by patch 674
JIRA: VAL-18
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Change-Id: I9d99fd6f217b40b496b259629ebf5ad1ebcc6560
Alexandru Avadanii [Thu, 30 May 2019 12:57:13 +0000 (15:57 +0300)]
[docker] Fix wrong dependency in build target
Previously, we relied on the '$<' Makefile automatic variable to
determine the directory where a certain build target should run.
Although this worked for a single container (as '$<' expands to
the *first* dependency of the make target), it causes issues when
multiple subdirectories are present, since all but the first
target will have '$<' pointing to the same first subdirectory.
Instead, switch to using '$@' which always expands to the current
make target and perform some simple string manipulation to extract
the proper target directory where the build should occur.
JIRA: VAL-27
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Change-Id: Id8448c6feffb04dc14c8cd1c3d362f1d2934fd24
Cristina Pauna [Wed, 29 May 2019 12:13:52 +0000 (15:13 +0300)]
Organize file structure for tests
Reorganized the tests following these rules
- all tests have been put under *tests* folder
- all tests are organised under folders named
by their correspondent layer
bluval.py was modified to reflect the changes
TODO: each layer under *tests* folder should have a correspondent
layer in the *docker* folder
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Change-Id: Ifdd46ee22b6d009eb17475c5e2efd8bd9f37c3ad
Miguel Montiel [Mon, 20 May 2019 22:12:52 +0000 (22:12 +0000)]
Add container script for os layer test
JIRA: VAL-16
Added Dockerfile that installs
- Install dependencies
- Robot framework
- Added path to run ltp test
- Updated reference path to validation
Change-Id: I72b003d1a59d40ef70ad9be04f0495ad35e56977
Signed-off-by: Miguel Montiel <mm747b@att.com>
Naga Sugguna [Fri, 24 May 2019 17:15:56 +0000 (17:15 +0000)]
Merge "bluval engine refactoring"
Naga Sugguna [Wed, 17 Apr 2019 12:56:05 +0000 (07:56 -0500)]
bluval engine refactoring
actual .robot testcases used instead of helloworld
bluval-dummy.yaml is added for dummy blue print to test easily
All the rebot results redirected to one directory results
click is used to take parameters from CLI
optional --layer/l is taken as parameter
Deriving yaml location from blue print name
Sections named as layers and layer names expanded hw -> hardware
.py code refactored, mode functions added.
Change-Id: Id916a79301d32ed64afc398fb486ba71b81a1dea
Signed-off-by: Naga Sugguna <ns156u@att.com>
Cristina Pauna [Fri, 10 May 2019 10:40:53 +0000 (13:40 +0300)]
[Conformance] Add tests to container
- Add the validation repo to the k8s container
- Add the command to run the test as default in the container
- Adapt the conformance test to use the tools inside the container:
- SSH library is removed as all the tools are inside the container
- The test for sonobuoy and golang are no longer necessary
- Test setup is added to check that the k8s conf file is mounted
in the container and k8s cluster is reachable
- Modified the test to wait for sonobuoy to finish and check
for failures
- Added teardown to cleanup sonobuoy containers after test is ran
- Use absolute paths for files
- Log all the result files in one folder that can be mounted as
volume in the container for persistence
- Save the sonobouy archive in the log folder
To test the changes:
- copy /etc/kubernetes/admin.conf from k8s cluster to the jumpserver
- run the container while mounting the admin.conf file and the
results folder
JIRA: VAL-18
Change-Id: I8afd2e79775436538e5f3a5d54040a64e05d4c59
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Alexandru Avadanii [Mon, 20 May 2019 14:11:09 +0000 (16:11 +0200)]
verify: Pin requests to 2.21.0
requests release 2.22.0 added a python requires that excludes all
versions of Python < 3.5. The LFCI's default 3 version is 3.4 so
causes build failure.
Change-Id: I8797c37bbe1b0fa54be348f09b60b98065e23ab7
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Juha Kosonen [Thu, 16 May 2019 08:52:01 +0000 (11:52 +0300)]
Add tests for Ceph OSD running as systemd service
- Ceph services are available when Ceph OSD is failing
- Ceph OSD recovers back to operational
JIRA: VAL-22
Change-Id: Id7b7324df5437cfeecc103dacb165b281e26cb0e
Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
Juha Kosonen [Mon, 13 May 2019 12:24:22 +0000 (15:24 +0300)]
Add tests for Ceph running as systemd service
- monitor/manager failure on one node
- monitor/manager failure on two nodes
JIRA: VAL-19
Change-Id: Ic4fcb8188fc34e9d8e99b53a129724dfc731a54a
Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
Alexandru Avadanii [Mon, 13 May 2019 15:35:20 +0000 (17:35 +0200)]
[tox] verify: Pin pygments to 2.3.x
Pygments release 2.4.0 which added a python requires that excludes all
versions of Python < 3.5. The LFCI's default 3 version is 3.4 so causes
build failure.
Change-Id: I0e03d3622cf8764b5d0a6778efaea76b53d08fa2
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Cristina Pauna [Fri, 3 May 2019 06:55:22 +0000 (09:55 +0300)]
tox: Disable pip cache for coala venv
JIRA: VAL-10
The Jenkins verify jobs report success even when there are failures,
because it doens't find the coala bears to run.
Ported https://gerrit.akraino.org/r/#/c/607/ to fix the issue
Also fixed the tox issues introduced by 537 as they are casuing the
verify job to fail:
- conformance/sonobuoy.yaml is whitelisted as per Miguel's request
Change-Id: I497121b8bbd08cf43e7d7b25470f9814ca1d9227
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Juha Kosonen [Fri, 3 May 2019 12:12:54 +0000 (15:12 +0300)]
Pass proxy environment variables to tox
Tox will not pass proxy environment variables by default to the test
environment. Passing the variables enables running tox in a setup
requiring proxy settings.
JIRA: VAL-15
Change-Id: Id37dd1ac7289af42b8291f679a1f18af91e947e0
Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
Cristina Pauna [Fri, 3 May 2019 10:48:17 +0000 (10:48 +0000)]
Merge "Add verify for signed patch"
Cristina Pauna [Thu, 2 May 2019 13:48:48 +0000 (16:48 +0300)]
Update the docker registry
JIRA: VAL-11
The docker registry has been created by LF at akraino/validation,
thereore I updated the scripts to reflect this.
Also added a make target to push the images to the repo.
Change-Id: Ie608a8738b2b29d138e92a46e0b8899372736f3f
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Cristina Pauna [Thu, 25 Apr 2019 13:03:40 +0000 (16:03 +0300)]
Add verify for signed patch
JIRA: VAL-12
Add a script to verify that each patch has a "Signed-off-by" line
Run the script with tox, so that the check is made for each patch
submitted in gerrit
Change-Id: I078d032fc1ebf79b710fd93689de47f298e0adce
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Cristina Pauna [Wed, 24 Apr 2019 07:55:33 +0000 (07:55 +0000)]
Merge "Add code verification tools"
Cristina Pauna [Thu, 18 Apr 2019 12:14:30 +0000 (15:14 +0300)]
Add code verification tools
JIRA: VAL-10
Tools used to verify code style and correctness.
Usage command: tox coala
This patch needs to be merged before https://gerrit.akraino.org/r/#/c/568/
Change-Id: I9d4d05b13f037f814832eff279c0e410e6a34b08
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Naga Sugguna [Thu, 18 Apr 2019 20:22:33 +0000 (20:22 +0000)]
Merge "Set of TCs to test K8s layer via Robot"
Juha Kosonen [Wed, 17 Apr 2019 13:57:42 +0000 (13:57 +0000)]
Merge "Fix KeyError in show_stopper checking"
Miguel Montiel [Tue, 2 Apr 2019 21:46:52 +0000 (21:46 +0000)]
Set of TCs to test K8s layer via Robot
Change-Id: I33986759b7904978ac74c033d7ba02f38441d1c3
Cristina Pauna [Thu, 11 Apr 2019 13:54:40 +0000 (16:54 +0300)]
Add container scripts for k8s conformance test
JIRA: VAL-9
Added the Dockerfile that installs
- kubectl, e2e.test, ginkgo
- sonobuoy
- robot framework
Makefile that can be used to build the container and push it, including
manifest list for both x86_64 and aarch64. Check the README file for
usage.
Until we have the official build in place, test images are available at
cristinapauna/akraino_validation:k8s-latest
Manual testing performed on the images:
- e2e.test command was verified using:
e2e.test -ginkgo.focus "\[Conformance\]" -ginkgo.noColor -ginkgo.skip \
'Alpha|Disruptive|Feature|Flaky' -kubeconfig /root/.kube/config -provider local
- sonobuoy was tested with the command:
sonobuoy run --wait
- robot framework was tested using https://github.com/robotframework/RobotDemo
robot --name Robot --loglevel DEBUG keyword_driven.robot data_driven.robot \
gherkin.robot
Change-Id: I9d661895cb85f030993f2205b7ca4115f46ec21b
Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Signed-off-by: Alexandru Avadanii <alexandru.avadanii@enea.com>
Juha Kosonen [Thu, 11 Apr 2019 09:11:14 +0000 (12:11 +0300)]
Fix KeyError in show_stopper checking
Testcase yaml does not necessarily contain field 'show_stopper'.
Change-Id: I88034f2aa4500d02302f31862aa610fbe70a0f27
Signed-off-by: Juha Kosonen <juha.kosonen@nokia.com>
Naga Sugguna [Sat, 23 Mar 2019 06:53:38 +0000 (01:53 -0500)]
yaml parser for bluval
Creating YAML parser for loading, validating and executing
testcases mentioned in yaml file.
Change-Id: Id183e2e08e6cbc5f030db1e5ff6b7ca7ef6662d6
Signed-off-by: Naga Sugguna <ns156u@att.com>
Eric Ball [Tue, 26 Feb 2019 20:22:17 +0000 (20:22 +0000)]
Initial empty repository