CCI-MOC / hil

Hardware Isolation Layer, formerly Hardware as a Service
Apache License 2.0
24 stars 54 forks source link

Need a HIL show command #1005

Open SahilTikale opened 6 years ago

SahilTikale commented 6 years ago

Partially Related to #949 #996, #995

I feel we need a hil show command which will dump out the configuration of hil in a human readable as well as a programatically consumable form (json or yaml) For admin it will show all information from project point of view. For each project, what nodes are allocated, what networks are allocated and what users have access to it. Possibly which networks are shared from other projects ( with project names)

For non-admin users it will limit the output to only those projects that the user has access to. It is useful for tenants that wish to programmatically harvest information from HIL and use it for further decision making.

Case 1: QUADS: I currently need it for integrating QUADS with HIL where QUADS can harvest information of nodes allocated to its project in HIL. Also I will need information about networks allocated into the project.

Case 2: Auditing as a Service: There is another project that is being developed as a part of cloud computing course. It has the requirement that when a user calls this service to seek confirmation about the network isolation as reported by HIL, it should get information limited to the users access level in HIL.

Currently there is no way to determine which user has access to which project (#949, #995) This is can be similar or different than #996 depending how we choose to implement it.

Similar to #996 The output can generate a single JSON or yaml output with all the info about resources allocated into the project which can be consumed by other programs.

Different than #996 We can just output project show <project_name> for all projects that user has access. Admin user will see the output for all projects.

For specific info, the user can make specific calls as needed.

zenhack commented 6 years ago

If we can solve the specific issue of a user listing their own projects (and maybe some of the other show/list calls that are under discussion?), I think we can just have these tools loop over things; It doesn't seem necessary to have a "get everything" call, and as much as possible I'd like to leave stuff out of the server. Remember, minimalism is a core design goal.