|
As of October 27th, please open all new issues in the Red Hat Customer Portal . |
|
I think that making install/uninstall/list/upgrade be operations which exclusively relate to managing the mop repository would maintain things simple. It was kinda outlined in:
http://fusesource.com/issues/browse/MOP-7 BTW the reason I introduced the "download" command was to differentiate the execution commands (jar/run/exec/war/spring/guice etc) from the install commands (install/upgrade/list/whatever else - the rpm/yum-ish stuff) - where download purely just fetches remote stuff into the local repo without doing any kind of execution or unpacking. e.g. you might want to download the jars/wars for stuff; so that in offline mode you can then execute stuff (without doing a binary install).
If we were just building a kinda rpm/yum tool, things would be simple; we could just be like rpm/yum. Though I see mop as being a variety of things to different people
The first two need to start in online mode unless the user turns it off. The sysadmin tool's install/update commands should definitely be in online mode by default. But a sysadmin person would mostly just be installing stuff right? e.g. installing packages & services - setting up daemons and not actually arbitrarily running jar/war/run/spring/guice stuff from the command line? So the only real difference the sysadmin role for mop is that the execution stuff tends to be in offline mode for sysadmins - if they use those commands at all?. I wonder if sysadmins would ever use the execution stuff? Wouldn't they prefer an alternative to run/exec/war/jar/spring/guice et al - where they create a daemon/service/script to run things (which are in offline mode - only using local stuff). Maybe we just need something like this...
For example; a sysadmin would install binary packages like the activemq broker; but if they wanted to run a load testing producer/consumer which is just a (say) executable jar or spring main - they may want to create an offline install of the executable. Not sure what to call it, lets maybe say something like "mop package someDir name <command>") e.g. mop package fooDir123 runFoo jar myGroup:myArtifact:123
Then in the directory fooDir123 there would be a lib dir with all the jars required; then a script runFoo (with a .bat for windows) which sets the classpath and runs the jar? |
|||||||||||||||||||||||||||||||||||||
I don't think sysadmin need this at all.
I also don't like the download command. I'd rather call that install command.
and rename your install command to perhaps unpack | generate | create .
So for me the ideal most natural workflow for a sysadmin would be:
from a clean install of mop.. sys admin would let it know it's going to be in production mode.
this would download and install all the transitive requirements of those projects including project assemblies. Note that install runs in online mode.
To create an activemq instance.. you would run:
And this would run in offline mode by default due to the production mode setting. If the assembly must have be previously installed.