Orleans: Provide a Powershell SnapIn

Created on 14 Feb 2015  路  10Comments  路  Source: dotnet/orleans

There should be a PowerShell SnapIn with a set of CmdLet's for managing Orleans Silos. The SnapIn should provide the possibility to add and remove applications to the silo while the application is still running.

Examples:

  • Start-Orleans
  • Add-OrleansApplication
  • Remove-OrleansApplication
  • Stop-Orleans
  • etc.

References:

enhancement help wanted

All 10 comments

PorwerShell cmdlets would be great no doubt. OrleansManager was meant to provide some similar functionality. Should the cmdlets be wrappers on top of OrleansManager.exe or re-implement its functionality? OrleansManager communicates via ManagementGrain leveraging Orleans messaging.

However, the add/remove application functionality isn't supported in the silo code yet.

Reimplementing the functionality would duplicate functionality and therefore increase the amount of code to manage too much.

However, a simple wrapper would not be too nice either. I would rather put the common functionality into a separate OrleansManagement.dll.

Is there any benefit in introducing OrleansManagement.dll vs. exposing the same refactored common functionality from the OrleansManager.exe assembly directly?

it's more about the Separation of Concerns (SoC) principle than for technical reasons. Technically we could put everything in the same file or one UI library on top of the other.

I believe it is preferable from the design perspective, to separate the (console) user interface(s) from the business logic into separate libraries. This way it is possible to introduce a change in one UI without effecting tho other UI.

Makes sense. Are you interested in crafting a PR for this?

Interested yes, but already busy with an side project for an NGO, which currently has priority for me...

@galvesribeiro added a PS plugin in https://github.com/dotnet/orleans/pull/1990.

Just to let everyone here know. The PS plugin on main isn't published to Powershell galery yet. It is tested (I used a lot in production since I created it) but it still requires you to clone the repo, build and import it.

When @jdom get back I'll align with him the build and sign process so we can publish there. There is also some instructions on how to use it here. Feel free to ping me on gitter open an issue in case you have any problems.

:smile:

Was this page helpful?
0 / 5 - 0 ratings

Related issues

luciobemquerer picture luciobemquerer  路  4Comments

pherbel picture pherbel  路  4Comments

DixonDs picture DixonDs  路  4Comments

Liversage picture Liversage  路  4Comments

bwanner picture bwanner  路  5Comments