validation.git
4 years ago[docker] Add sonobuoy multiarch image build 62/1062/3
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>
4 years agoMerge "[ui] Fix docker build for UI container"
Ioakeim Samaras [Wed, 26 Jun 2019 08:52:18 +0000 (08:52 +0000)]
Merge "[ui] Fix docker build for UI container"

4 years agoMerge "Fix Sonobuoy test execution completion waiting"
Juha Kosonen [Tue, 25 Jun 2019 05:22:04 +0000 (05:22 +0000)]
Merge "Fix Sonobuoy test execution completion waiting"

4 years agoRemove NA test cases 46/1046/2
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>
4 years agoFix Sonobuoy test execution completion waiting 42/1042/1
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>
4 years agoREC testcases 45/1045/1
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>
4 years ago[ui] Fix docker build for UI container 32/1032/1
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

4 years agoMerge "Fix OS Dockerfile"
Naga Sugguna [Thu, 13 Jun 2019 00:21:22 +0000 (00:21 +0000)]
Merge "Fix OS Dockerfile"

4 years agoAdd Bare metal hardware test cases for hp: 50/950/6
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>
4 years agoAdd container script for hw layer test 29/929/4
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>
4 years agoFix OS Dockerfile 88/988/1
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>
4 years agoOS layer typo fixed 87/987/2
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>
4 years agoMerge "[k8s] Run the tests using bluval"
Cristina Pauna [Mon, 10 Jun 2019 11:48:52 +0000 (11:48 +0000)]
Merge "[k8s] Run the tests using bluval"

4 years agoMerge "UI initial implementation."
Cristina Pauna [Mon, 10 Jun 2019 11:43:04 +0000 (11:43 +0000)]
Merge "UI initial implementation."

4 years agoUI initial implementation. 35/735/17
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

4 years agoAdd os cyclic test 65/965/1
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>
4 years ago[k8s] Run the tests using bluval 42/942/8
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

4 years agoNoneType fixed 48/948/2
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>
4 years agoMerge "[docs] Document the changes to k8s container"
Juha Kosonen [Fri, 31 May 2019 06:52:06 +0000 (06:52 +0000)]
Merge "[docs] Document the changes to k8s container"

4 years agoPass variables to robot testcases 38/838/6
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

4 years agoMerge "Organize file structure for tests"
Naga Sugguna [Thu, 30 May 2019 14:56:19 +0000 (14:56 +0000)]
Merge "Organize file structure for tests"

4 years ago[docs] Document the changes to k8s container 89/889/2
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

4 years ago[docker] Fix wrong dependency in build target 00/900/2
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

4 years agoOrganize file structure for tests 87/887/2
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

4 years agoAdd container script for os layer test 62/762/7
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>
4 years agoMerge "bluval engine refactoring"
Naga Sugguna [Fri, 24 May 2019 17:15:56 +0000 (17:15 +0000)]
Merge "bluval engine refactoring"

4 years agobluval engine refactoring 63/563/17
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>
4 years ago[Conformance] Add tests to container 74/674/13
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>
4 years agoverify: Pin requests to 2.21.0 57/757/1
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>
4 years agoAdd tests for Ceph OSD running as systemd service 16/716/2
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>
4 years agoAdd tests for Ceph running as systemd service 79/679/3
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>
4 years ago[tox] verify: Pin pygments to 2.3.x 80/680/3
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>
4 years agotox: Disable pip cache for coala venv 09/609/3
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>
4 years agoPass proxy environment variables to tox 13/613/1
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>
4 years agoMerge "Add verify for signed patch"
Cristina Pauna [Fri, 3 May 2019 10:48:17 +0000 (10:48 +0000)]
Merge "Add verify for signed patch"

4 years agoUpdate the docker registry 06/606/5
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>
4 years agoAdd verify for signed patch 82/582/3
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>
4 years agoMerge "Add code verification tools"
Cristina Pauna [Wed, 24 Apr 2019 07:55:33 +0000 (07:55 +0000)]
Merge "Add code verification tools"

4 years agoAdd code verification tools 66/566/4
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>
5 years agoMerge "Set of TCs to test K8s layer via Robot"
Naga Sugguna [Thu, 18 Apr 2019 20:22:33 +0000 (20:22 +0000)]
Merge "Set of TCs to test K8s layer via Robot"

5 years agoMerge "Fix KeyError in show_stopper checking"
Juha Kosonen [Wed, 17 Apr 2019 13:57:42 +0000 (13:57 +0000)]
Merge "Fix KeyError in show_stopper checking"

5 years agoSet of TCs to test K8s layer via Robot 37/537/8
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

5 years agoAdd container scripts for k8s conformance test 50/550/6
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>
5 years agoFix KeyError in show_stopper checking 49/549/1
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>
5 years agoyaml parser for bluval 18/518/11
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>
5 years agoInitial empty repository
Eric Ball [Tue, 26 Feb 2019 20:22:17 +0000 (20:22 +0000)]
Initial empty repository