Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Deployer tooling #1531

Open
julianschuler opened this issue Dec 4, 2024 · 4 comments
Open

RFC: Deployer tooling #1531

julianschuler opened this issue Dec 4, 2024 · 4 comments
Assignees

Comments

@julianschuler
Copy link
Member

Please add all your deployer tooling improvement ideas to this issue thread.

See #1479 for the initial issue.

@julianschuler julianschuler moved this to In Progress in Development Dec 4, 2024
@julianschuler julianschuler pinned this issue Dec 4, 2024
@oleflb
Copy link
Contributor

oleflb commented Dec 10, 2024

The way I see this, the problem can be divided into different stages:

  • Pregame

    • A better way to communicate branches (idea: telegram bot)
    • A better way to communicate jersey number assignments (idea: telegram bot as well)
  • During Game

    • Keep Track of robot substitutions
    • Keep track of code and parameter changes
  • Post game

    • Common game branch naming scheme
    • Upload all replay data to a fixed location
    • Ideally the replay data should be self-describing, i.e. some reference to the code (currently we have the folder names for that)
    • probably out of scope for deployer tooling
      • automatic hulk_imagine application to all uploaded replay data for Long-term data preservation
      • some sort of web-based browser for replay data, allowing to quickly replay specific players from different matches

@schmidma
Copy link
Member

Agreeing to ole, adding some additional ideas (also beyond the deployer role):

  • Pregame
    • communicating the status (not continuously asking "what is the current state, are you deploying, etc")
    • tooling in this phase can also be designing a process or communication strategies
  • During Game
    • central logging, all HULKs can add ideas, or observations to the log; probably requires a special agreed on format (e.g. timestamp, robot, kind of observation, etc...)
    • using the team communication monitor logs? (the only advantage: may be showing opponent robots)
  • Post Game
    • status of postgame progress
    • idea on code reference: shipping a source distribution with an upload

@oleflb oleflb moved this from In Progress to Open in Development Dec 18, 2024
@oleflb
Copy link
Contributor

oleflb commented Jan 8, 2025

Before Game

Branch Communication

@schmidma has to work without internet (maybe problematic with telegram bot)
@schluis conflicts happen during merging, we cannot just ignore them?
@schmidma we need consistent formatting for config files (makes conflicts much rarer)
@schmidma overlays for parameter files (similar to locations)
@pejotejo to overcome internet issues, bring own hardware to the event where we can host stuff

JerseyNumber Assignment

@MaikRe new jersey numbers makes things harder, have to coordinate with new jersey number scheme
@schmidma hardware solution for jersey numbers (NFC tags maybe?)
@oleflb is sceptic about hardware solutions, just solving the issue that deployer does not have to check everything thrice is enough
@schmidma display on charging box

During Game

@schmidma source distribution on nao
@schmidma commits are error prone
@schmidma log file for deployer commands
@schmidma aliveness shows diff (player number changes)
@oleflb write framework start time into replay file

Postgame

@oleflb event data pipeline
@Vivituhh doesnt want to download replay files on her laptop
@pejotejo central server at event
@schmidma this can be done in the router server
@oleflb is a fan of remote replay hosting
@larskna replay still doesnt work on ARM

@julianschuler CI is slow maybe add visualization
@schmidma archive teamcomm logs (script which listens)

  • @oleflb maybe hardware solution (small pi with some buttons and display)
  • @schmidma job for logführer (has to upload archived logs)
    @schmidma dashboard has to be simple (look at small size league dashboard)

Prios:

  1. deployer.toml
  2. source distribution (tarred)
  3. config files to other format (probably toml, other formats possible, have to support serde)

@schmidma
Copy link
Member

Just realized, that toml does not have a representation of null... this might be a problem 🙈

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Open
Development

No branches or pull requests

3 participants