Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
lava
lava
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 112
    • Issues 112
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 25
    • Merge Requests 25
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • lava
  • lavalava
  • Issues
  • #430

Closed
Open
Opened Jul 20, 2020 by Paul Sokolovsky@pfalconContributor

Issues with device configuration are completely undebuggable: layers upon layers of swallowed exceptions

Steps to reproduce:

  1. Prepare a custom device type.
  2. Forget to submit it to master (perhaps you mistyped command or it just failed randomly, e.g. network flip, and you missed that).
  3. Create a device of this custom device type.
  4. You will never know what's wrong with you device, why LAVA resets its "health" to Bad behind you back, etc.

There's absolutely no reporting in the web UI. But even if you install LAVA locally and look into logs, you will still see nothing except the same mystic resets of health to Bad. If you start to add more logging, you'll see no output, because apparently the most obvious logger to use is misconfigured. When you get around that, you'll still get a mystic output, like loaded device configuration being "None", even though it's completely visible and sane in web UI. Finally, after banging head about it for hours, you'll notice what's written in the title: LAVA swallows important exceptions on multiple layers, leaving pretty simple issues almost impossible to debug.

And all this is aggravated by the fact that you might not actually forget to submit a custom device type - you could submit it very well, but due to known and unfixed bugs in the official LAVA docker setup: lava/pkg/docker-compose#4 (closed) , you can grow thru all this.

Bottom line: swallowing exceptions isn't acceptable programming methodology, these cases should be fixed, and proper (detailed) feedback of any issues should be provided to user.

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: lava/lava#430