Giter Site home page Giter Site logo

driver-eu / test-bed-admin Goto Github PK

View Code? Open in Web Editor NEW
1.0 5.0 0.0 67.64 MB

A test-bed administration management tool for managing the Kafka-based test-bed.

License: MIT License

JavaScript 13.35% HTML 0.10% Vue 17.53% Java 68.64% Batchfile 0.01% Shell 0.02% Stylus 0.34%
kafka-manager kafka topic trial schema heartbeat startup admin-hmi test-bed gateways

test-bed-admin's Issues

Websocket connection fails on driver-testbed.eu

The admin-tool does not work when it is hosted on the driver-testbed.eu website. When opening the admin tool in a browser, it tries to make a websocket connection to ws://localhost:8090.

image

Download messages for replay

Although the Kafka topics UI can be used to download messages, it is often not working properly. However, it would be great if we could filter the messages in the AAR and download them for replay in the Replay service.

Message too long

Similar to issue number 13 but in the message field.

2018-04-26 10:01:03.253  WARN 6928 --- [      Thread-15] o.h.engine.jdbc.spi.SqlExceptionHelper   : SQL Error: 0, SQLState: 22001
2018-04-26 10:01:03.254 ERROR 6928 --- [      Thread-15] o.h.engine.jdbc.spi.SqlExceptionHelper   : ERROR: value too long for type character varying(2048)
2018-04-26 10:01:03.256  INFO 6928 --- [      Thread-15] o.h.e.j.b.internal.AbstractBatchImpl     : HHH000010: On release of batch it still contained JDBC statements
2018-04-26 10:01:03.264 ERROR 6928 --- [      Thread-15] e.d.a.s.controller.LogRESTController     : Error processing the Log message received!

create organisation handling popup

for managing organisation we need a popup in which we can manage:

  • list the organisation
  • edit an organisation
  • create a new organisation
  • remove an organisation

an organisation has following member
mandatory

  • orgName
  • userName
  • userPwd
  • certPwd
    optional:
  • email
  • phone
  • city
  • postcode
  • street
    -nr
  • description

Remove button

  • For solution, topic, gateway:
    • Add remove button left of status icon
    • Endpoints:

HTTP DELETE:
/AdminService/removeSolution/{id}
/AdminService/removeTopic/{id}
/AdminService/removeGateway/{id}

Docker version

Please discuss with Pieter what is the best docker base image for the test-bed for all Java related services (also gateways), so we can limit the number of base images someone has to download when running the test-bed.

I don't want to have multiple Java base images. Probably an alpine Java version is most suitable...

Make frontend resource paths relative

For work on the test-bed compositions to make the services of the test-bed available on more user friendly URLs it will be possible to access the test-bed admin tool from a relative path, for example:

http://tb1.driver-testbed.eu/admin-tool/

However, currently the admin tool Frontend requests it resources using absolute pathing, for example requesting resources at:

'http://tb1.driver-testbed.eu/static/css/app.52e49e37aef43ba6d3600598ba1a1e3a.css'

This should be:

'http://tb1.driver-testbed.eu/admin-tool/static/css/app.52e49e37aef43ba6d3600598ba1a1e3a.css'

A fix should be as easy as removing a prefix '/' for the resource links.

Filter using multi-select

Currently, when filtering messages, only one option can be selected, e.g. only show messages from the TMT. Preferably, it should be possible to make the dropdown filter a multi-select, so you can select messages from a number of sources, e.g. TMT and OST.

State comparison

When a trial (test-bed) is working fine, e.g. during a dry run, it would be nice if we could record the state (topics, services running etc) somehow, so we can later compare it to the actual state during the trial, and especially see the differences.

Show port number on console

When starting the admin tool, show the chosen port number on the console. We are using many ports, and it is difficult to remember what runs where.

Access to services via admin tool

Can the admin tool investigate the docker environment and add links to TMT, AAR, etc. E.g. when you open (expand) a solution, display a link so we can easily navigate from the admin tool to solutions/tools.

Filter support in log view

Provide filtering in the column, e.g. a multi-select to select which kinds of log sources, error or info etc you want to see.

Add links to the applications (solutions, simulators, services)

It would be nice if, e.g. in the adapter's configuration message, it would contain a link to the actual service, so we could visit it from the admin's interface (open in new tab).

It would also require an update of the configuration message and adapter configuration (in order to share the link).

Add configuration dropdown

Add a configuration dropdown in the menu bar.
The available configuration can be retrieved by a HTTP GET: /AdminService/getAllConfigurations
Use the name propertie in the dropdown as entry

To select the current active configuration you need to call: /AdminService/getActTestbedConfig
In this object the configName propertie is the name of the current active configuration.
Select this entry in the dropdown

change websocket library

We need to use socket.io library for WebSocket sommunication to the backend to run the backend behind a apache revers proxy

Testbed configuration overview

Add a button in the menu bar to display the testbed overview picture (SVG).
The picture can be retrieved by HTTP GET: /AdminService/createOverviewPicture

Display the picture in a separate tab and make is downloadable.

CRUD editing

New solutions and topics etc can be created, but not updated or removed.
Also, allow the user to create a new configuration via the GUI.

Add TestbedMode dropdown

Add a dropdown to the menubar and display the current testbed mode.
The available testbed modes can be retrieved by HTTP GET: /AdminService/getAllTestbedModes

To select the current active mode you need to call: /AdminService/getActTestbedConfig
In this object the testbedMode propertie is the name of the current mode.
Select this entry in the dropdown

Remove restriction for client id max length 25 chars

As the title says. Can we remove or increase the char limit for client id's? This is currently too error prone, because if a user of an adapter chooses an id over 25 chars the entire test-bed-admin will not work.

Create & download certificate

  • For solution
    • Add create certificate & download certificate buttons
    • Endpoints:
      • GET /AdminService/createSolutionCertificate? clientID=<solution.clientID>&organisationName=<solution.orgName>&password=<solution.certPwd>&email=<solution.email>: returnValue is certificate file name
      • GET /AdminService/downloadCertificate/{fileName}: .p12 file

Auto-discover services not working?

I can run the admin tool just fine, but it does not seem to pick up all services that are running? Do you automatically discover services, or are they predefined.

Edit button

  • For solution, topic, gateway:
    • Add edit button left of status icon
    • Same form as for "New"
    • Endpoints

HTTP PUT
/AdminService/updateSolution
/AdminService/updateTopic
/AdminService/updateGateway

Extend solution form

Extend solution form by:

  • orgName: GET /AdminService/getAllOrganisations returns list of possible organisations for drop down
  • username
  • userPwd
  • certPwd
  • email

SSL reverse proxy support

With a web browser, if we try to access the web UI behind the Traefik reverse proxy on the testbed, we have a blank page because the webapp is not designed to work behind a reverse proxy. However, a reverse proxy is required for communication security, i.e. SSL/TLS protection. You can test it with an Apache or NGINX (with SSL enabled) instead of Traefik to reproduce the issue outside the testbed.

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.