Project

General

Profile

Actions

action #46802

closed

Replace D-Bus with plain HTTP

Added by kraih almost 6 years ago. Updated over 5 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
Start date:
2019-01-29
Due date:
% Done:

0%

Estimated time:

Description

In preparation of replacing dbus with redis we first need to find the right way to add
redis.

  • Choose the right Redis module to use (most likely Mojo::Redis)
  • Package the module so our containers can use it
  • Add a message passing module that provides a similar abstraction layer to how we use dbus currently
  • Provide a simple way to start a redis server for tests (just like Postgres)

Related issues 2 (0 open2 closed)

Related to openQA Project - coordination #46778: [epic] Replace dbus with HTTPResolvedkraih2019-01-28

Actions
Blocks openQA Project - coordination #47117: [epic] Fix worker->websocket->scheduler->webui connectionResolvedokurz2019-02-04

Actions
Actions #1

Updated by kraih almost 6 years ago

Actions #2

Updated by kraih almost 6 years ago

Actions #3

Updated by kraih almost 6 years ago

Actions #4

Updated by kraih almost 6 years ago

Actions #5

Updated by kraih almost 6 years ago

Actions #6

Updated by coolo almost 6 years ago

Actions #7

Updated by kraih over 5 years ago

After it turned out that the resource allocator could just be removed without adding a replacement, i started to wonder if that might be the case for all our current uses of dbus. While it's not quite as straight forward for the websocket server and scheduler, there might be better options than using redis. I'm currently exploring the use of postgres pub/sub and/or plain HTTP as a replacement for dbus rpc. This might take a little time to figure out due to my limited understanding of the big picture, but the much simpler overall architecture should be worth it.

Actions #8

Updated by kraih over 5 years ago

  • Status changed from New to In Progress
Actions #9

Updated by kraih over 5 years ago

Also worth mentioning that my original proposal to use redis was based on the assumption that dbus was used for message passing in openQA. But that turned out to be false, in all instances it is used exclusively for blocking RPC.

Actions #10

Updated by kraih over 5 years ago

The websocket server has been refactored into a well structured Mojolicious application now. So everything is prepared for using HTTP as a new RPC mechanism, which will be the next step. https://github.com/os-autoinst/openQA/pull/2037

Actions #11

Updated by mkittler over 5 years ago

  • Subject changed from Add basic redis support to Replace D-Bus with plain HTTP
Actions #12

Updated by kraih over 5 years ago

I've opened a PR https://github.com/os-autoinst/openQA/pull/2043 for replacing D-Bus with HTTP in the websocket server. Now it just needs to be tested on the staging machines.

Actions #13

Updated by kraih over 5 years ago

Opened another (and hopefully final) PR for removing the final traces of D-Bus in openQA. https://github.com/os-autoinst/openQA/pull/2090

Actions #14

Updated by okurz over 5 years ago

  • Category set to Feature requests

merged, also the update of the architecture diagram.

Actions #15

Updated by okurz over 5 years ago

deployed on o3 since yesterday without any visible problems. I wonder about one thing: Do we still have AMQP messages output? Not sure if this is related but the only thing I could think of right now that can still go wrong ;)

Actions #16

Updated by coolo over 5 years ago

how is amqp relate to dbus and/or the scheduler?

Actions #17

Updated by okurz over 5 years ago

hopefully not at all :) Just thought maybe some "events" would be hijacked which are not there even more. But if you say it's not the case I am sure we are good.

Actions #18

Updated by kraih over 5 years ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF