Btrfs replace? (and possibility of custom dashboard widgets)

Are there any issues running a btrfs replace on Rockstor (will it mess with the content in the UI?)
I’m asking as my previous query about cloning a share and migrating rockons did not yield any answers.

My new plan is to use btrfs replace to change existing disks for new ones.
I understand that I could instead add the new disks, rebalance, remove the old and rebalance again, but from my reading this is a significantly slower than the newer method of btrfs replace

Also, as a request, it would be nice to have an interface, and monitoring of btrfs replacement.

Also, I’ve been having a look around at the code for the dashboard widgets and I was wondering if it’s possible to create custom ones without altering rockstor’s own code? (IE: have the js render function call an ajax endpoint or connect to a websocker on another server to fill the data)
If so, can these changes be made by dropping the appropriate files into /opt/rockstor/static/storageadmin/js/, or is some form of compilation required from the src directory?

@Haioken Hello again.

It might but should self correct in time, I would setup a mini mock-up of your existing ‘real’ system in a VM and familiarise you self first with any Rockstor UI anomalies that may arise during this process. Sorry but can’t do this myself on current code as I’m currently occupied on getting my next 2 pull requests into shape. Bit of a shame we aren’t just a little further along as then we would have the following issue, previously highlighted by @maxhq, sorted already:

Which in turn pertains to your:

Agreed. Oh well bit by bit. Be sure to check out the referenced forum threads in that issue. Should have some pointers from other forum members.


But why not alter the code; others may be interested in your additions, assuming they pass code review. Maybe your question is to the current or future ‘plugin’ capability of the dash code.

This question is best addressed by @Flyer who recently re-wrote the majority of our dashboard code.

Probably better to keep different questions in their own threads as then it’s easier to follow any conversations that may arise, and to find relevant ones later on. Don’t worry about starting too many threads as I believe we have a few left over, at least for the time being :smile:.


I’ll have a go, but I’ve never worked with the frameworks and services you’re using (Namely Django and Gunicorn) though I am proficient in JS/jQuery, and passable in python.

Do you have any advise for a newbie in those frameworks, because I would love to get involved!

Unfortunately, until this migration is done, I have no spare room for virtualization.
With that said, screw it, we’re doing it live (All of this data currently exists on two OMV NAS boxes, so I can always rebuild from scratch on failure)

[ root@rockout (pass 688s) ~ ]# btrfs replace status /mnt2/tempraid
11.8% done, 0 write errs, 0 incorr. read errs

I’ll let you know how I get on once I’ve replaced 2 disks and restarted - and what the UI shows.

1 Like