Skip to content

Add new `bgd rmq-server` subcommand and required scaffolding

Santiago Gil requested to merge santigl/rabbitmq/rmq-server-subcommand into master

Before raising this MR, consider whether the following are required, and complete if so:

  • [ ] Unit tests
  • [ ] Metrics
  • [ ] Documentation update(s)

If not required, please explain in brief why not.

Description

This adds new files and definitions needed for the implementation of a new Server powered by Rabbit MQ, placing its entry point in bgd rmq-server.

Changes proposed in this merge request:

  • Add bgd rmq-server subcommand
  • Define a new global config schema: config-rmq.yaml and a parser for it in rmq_parser.py
  • Define a new !rabbitmq-connection YAML tag (with pika as a reference)
  • Add a sample config for the new format

Validation

YAML parsing works as expected, bgd rmq-server $CONFIG outputs something like:

Validating !rabbitmq-connection...
Would start server listening on: <buildgrid._app.settings.parser.Channel object at 0x7f892c8b6908>, connected to RabbitMQ server <buildgrid._app.settings.rmq_parser.RabbitMqConnection object at 0x7f892c84d828>.

Issues addressed

Closes #374 (closed)

Edited by Santiago Gil

Merge request reports