mr-provisioner / mr-provisioner

Bare metal provisioning tool
Apache License 2.0
42 stars 16 forks source link

Machine properties (aka better asset management) #5

Open gemagomez opened 7 years ago

gemagomez commented 7 years ago

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.

gemagomez commented 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.

rengolin commented 6 years ago

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:

  1. We could sort/filter by machine type
  2. Automatic reservation could pick the right kind of hardware

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.