Feature-request: ui for creating one-off rockons from arbitrary docker images

This stems from my troubles with creating new rock-ons via JSON files: Rock-ons Web UI can fail to load due to a failed task - #2 by phillxnet

It would be nice to be able to try out and configure docker images in the web UI without having to SSH in and edit JSON files. Right now, creating a new rock-on seems to take a lot of effort (it never seems to work on the first try for me), and while it makes sense to have the .json file for a rock-on that everyone will use, it seems like wasted effort for a one-off thing.

Instead, if there was a “New Rock-on” page that just let you specify the docker image, arbitrary ports, storage, env properties, etc. and then wen’t and created the Rock-on and let you easily stop/start/edit it. That would be very handy.

Bonus points if it had a way to export as JSON for everyone else to use once you do get it working properly.

@nfriedly Re your idea:

Definitely. That would be great. But it would not be a trivial addition. And as per your just reported adventure re the Rock-on system we have some robustness issues that need addressing prior to a whole ‘create custom rock-on’ UI addition (with it’s consequent backend work).

But hey, someone might fancy taking that one one. I say create a GitHub issue in rockstor-core outlining this feature request and where you see the UI Entry point being and you never know, it might get a taker. I don’t think I’ll be able to take a shot at it for quite some time as there is just more pressing stuff to do but yes it would definitely make for a nice feature. I just think we need to ‘firm up’ our rock-on code robustness first, especially given such a system would be throwing all sorts at it. So I think for the time being at least we are stuck with the json file upload arrangement.

We do have current code that uploads and downloads the config backup files so it might be a ‘sub task’ to start with creating a UI that simply uploaded proposed rock-on json files to the local repo (/opt/rockstor/rockons-metastore) and could in turn download them there after, assuming they had received modifications in place; maybe for example from the ‘to follow’ Web-UI custom Rock-on maker. That might be a start, but again this is not that trivial even in itself. But entirely dooable of course, for the right person with enough time.

Thanks for the feedback, and if you do create a feature request GitHub issue then make sure to link it back to this forum thread for context, as we may get more discussion on this feature here than their.

Done, new issue is at https://github.com/rockstor/rockstor-core/issues/1972

I also copied your response since it may make a little more sense to have the feature discussion there.

it never seems to work on the first try for me

I just wanted to know if you had more details on that one. I’m currently trying a few things with the Rock-on system so I’m interested in what are the points with which other users encounter difficulty.
I also encountered a very odd quirk with another user’s Rockon and was thus curious to see what other errors tend to occur.

@Flox Initially, it wouldn’t install for me. I couldn’t figure out why, and this is all I got in the logs:

ERROR [storageadmin.views.rockon:82] Rockon (Node.js app from git) is in pending state but there is no pending or failed task for it.

I renamed it, which I think is what lead to worse errors, because it was still trying to install a rock-on that no longer existed. That whole fiasco is at Rock-ons Web UI can fail to load due to a failed task

Being able to see the console output from the rock-on might be helpful, but I can’t tell if it even got that far. I still have no idea what the actual problem was, but when I tried again a couple of days later, it worked.