Giter Site home page Giter Site logo

erebus's Issues

Update test harness process manager

  • Process manager currently imports and uses full_pv_test from the protocol verifier package. This requires abstracting away.
  • Check if protocol verifier is within the config file, if so run the tests.

Add bash script to pull and run protocol verifier

The end to end tests have the functionality to pull the latest stable release of protocol verifier, update necessary files, and run the test harness and protocol verifier with docker compose.

A bash script that automates this process for the user so they can quickly get up and running with the test harness and protocol verifier would be useful.

Outcomes:

Bash script written that pulls and runs latest stable release of protocol verifier

Improve Erebus README

The README that sits within the root directory requires uplifting and restructuring to improve its readability for new users to familiarise themselves and get started quickly with Erebus.

Outcomes:

  • README updated and peer reviewed
  • Test harness downloaded, built and used by third party using the information in the README

Update default_config.config to use Kafka config properties

Currently, the default config file uses HTTP as the default message bus protocol. For ease of use and testing with the protocol verifier, this should be switched to Kafka.

Outcomes:

  • default_config.config file to be updated with Kafka config properties

Update PV kafka metrics ingest to use new JSON schema

The PV has been tagged at version 1.3.1-midtage3 Release testing CI after domain removal · xtuml/munin . This now uses another json structure for the collection of metrics from the benchmarking probe:

{"timestamp":"2024-05-23T14:23:06.980Z","payload":{"eventId":"7ff2da81-a94f-49b5-b9ef-c0febf16c981","tag":"aeordering_event_processed"}}

Outcomes:

Test Harness supports the above schema when ingesting metrics

Test Harness able to test 1.3.1-midstage3

Update end to end tests in CI pipeline with protocol verifier

Currently, there are no working end to end tests that test the test harness working with the protocol verifier.

Outcomes:

  • Github actions to run and end to end test created on 1.3.1-mistage3
  • Confirms run of functional test
  • Confirms run of perfromance test

Update test harness reporting folder

  • log_analyser is specific to the protocol verifier and can be moved into the pv package.
  • report_results has protocol verifier specific code which can be abstracted away into the protocol verifier package

Update grok schema in line with new logging structure

Structure of logs have changed, eg from

2023-10-04T17:50:59.289109Z 1 svdc_job_success : JobId = b87dc318-b714-43ce-9ca0-0aac712f03e2 : JobName = test_uml_1

to

2024-05-31T13:20:17.698Z - {"jobId":"f67bd9b6-581a-4ca4-9fcd-d6eb4a6bd5f3","jobName":"simple_XOR_job","message":"happy success","tag":"svdc_job_success"}

Outcomes:

  • log_analyser.py updated with new grok patterns
  • Test files updated with new logging structure

Update READMEV2

Observations have been made on the new README that would make Erebus more accessible and usable, especially to those on Windows systems.

Outcomes:

  • Update README/supporting code to ensure that the test harness can be built and run locally, on Mac/Linux/Windows
  • Changes to the README are verified by a third party by building and running the test harness using the updated README.

Cache steps in Dockerfile

Dockerfile is currently written with this one RUN command

RUN chmod +x /test_harness_app/scripts/install_repositories.sh && \
    /test_harness_app/scripts/install_repositories.sh && \
    pip install -r requirements.txt

This can be split, so that the pip packages are cached first, as these are unlikely to change.

Outcomes:

  • Faster time to rebuild as pip packages won't have to be redownloaded if they remain the same

Add JSON parser

Add a JSON parser to the jenkins pipeline so that it will return a failure when invalid JSON is supplied using the 'additional info' box without having to run until the test harness returns a failure

Migrate protocol verifier tests

  • Protocol verifier tests currently sit within tests/test_harness. These should be moved into the protocol verifier package under its own tests folder.

Update test harness config folder

  • test_harness/config/config.py has a class HarnessConfig that has methods specific to the protocol verifier. This logic will need to be moved to the protocol verifier folder.
  • default_config.config has protocol verifier specific configuration. This should be moved into a separate pv specific header

Remove PVResultsDataframe class

This class is a subclass of PVPerformanceResults, however does not actually change any methods/attributes, therefore can be completely removed.

Outcomes:

  • Class removed
  • References to class updated to reference PVPerformanceResults instead

Docker compose not working on Windows

When running docker compose up --build on Windows, the following error is encountered "/test_harness_app/scripts/install_repositories.sh not found".

A temporary fix has been found that fixes this issue, adding the following to the Dockerfile

RUN apt-get update && \
    apt-get install -y dos2unix && \
    rm -rf /var/lib/apt/lists/*

and

RUN dos2unix /test_harness_app/scripts/install_repositories.sh

It is worth having separate Dockerfiles and Docker Compose files for both Windows and Mac/Linux

Outcomes:

  • Dockerfile and docker-compose file created for Windows
  • Functionality tested on Windows machine

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.