Open gemagomez opened 7 years ago
Whilst on it, we should also get rid of the current pdu/serial bits and pieces and move them into the new machine properties as well.
Also add machine type and capabilities.
For machine type, we should have something like: "ThunderX1", "ThunderX2", "Moonshot Node", "Centriq", etc. Those are per-lab, and can be sensitive information, so we shouldn't hard-code it in. This would help us in two ways:
For capabilities, we should have something like: "InfiniBand", "SVE", "ARMv8.2", etc. This would be primarily for automatic reservation, but would help when we had a custom search filtering results.
Allow arbitrary properties (e.g. for asset management, such as "rack", "num cpus", "memory", "switch", "switch port", etc) on machines.
This should be implemented using a JSONB column in the machines table. However, it should not be entirely free-form, and admins should be able to specify a schema (or at least a list of properties) that are allowed (and possibly also which ones are required).
This needs a more fleshed-out proposal before starting.