Migration¶
Before doing any migration you might want to check the Configuration and Deployment sections.
17.11 -> 18.02¶
With this release:
- message definitions are read from bag files instead of being expected on the system
- marv allows mixing message types per topic.
As part of this the topics section has been renamed to connections_section
and the bagmeta
node has changed a bit. Please update your configuration along the lines of:
diff --git a/docs/config/marv.conf b/docs/config/marv.conf
index 0e44b19..31dfe57 100644
--- a/docs/config/marv.conf
+++ b/docs/config/marv.conf
@@ -24,7 +24,7 @@ nodes =
marv_robotics.detail:summary_keyval
marv_robotics.detail:bagmeta_table
# detail sections
- marv_robotics.detail:topics_section
+ marv_robotics.detail:connections_section
marv_robotics.detail:images_section
marv_robotics.detail:video_section
marv_robotics.detail:gnss_section
@@ -43,8 +43,8 @@ filters =
start_time | Start time | lt le eq ne ge gt | datetime | (get "bagmeta.start_time")
end_time | End time | lt le eq ne ge gt | datetime | (get "bagmeta.end_time")
duration | Duration | lt le eq ne ge gt | timedelta | (get "bagmeta.duration")
- topics | Topics | any all | subset | (get "bagmeta.topics[:].name")
- msg_types | Message types | any all | subset | (get "bagmeta.msg_types[:].name")
+ topics | Topics | any all | subset | (get "bagmeta.topics")
+ msg_types | Message types | any all | subset | (get "bagmeta.msg_types")
listing_columns =
# id | Heading | formatter | value function
@@ -69,7 +69,7 @@ detail_summary_widgets =
bagmeta_table
detail_sections =
- topics_section
+ connections_section
images_section
video_section
gnss_section
And then rerun the bagmeta node and the new connections section.
marv run --node bagmeta --node connections_section --force --collection=*
Now, nodes can be run, that were previously missing message type definitions. gnss_plots
for example works differently, if it cannot find navsat orientations. To rerun it and all nodes depending on it:
marv run --node gnss_plots --force --force-dependant --collection=*
16.10 -> 17.11¶
In the old site:
Make sure you have a backup of your old site!
Dump database of old marv:
curl -LO https://gist.githubusercontent.com/chaoflow/02a1be706cf4948a9f4d7f1fd66d6c73/raw/de4feab88bcfa756abfb6c7f5a8ccaef7f25b36d/marv-16.10-dump.py python2 marv-16.10-dump.py > /tmp/dump.json
For and in the new instance:
Follow Installation and Tutorial: Setup basic site to setup a basic site.
Replace
marv.conf
with the default Configuration and adjust as needed (e.g. scanroot).Initialize site with new configuration:
marv init
If your scanroot has moved, adjust paths as needed:
sed -i -e 's,/old/scanroot/,/path/to/new/scanroot/,g' /tmp/dump.json
Restore database in new marv:
marv restore /tmp/dump.json
Set password for each user:
marv user pw <username>
Run nodes:
marv query -0 --collection=bags |xargs -0 -L25 -P4 marv run --keep-going
Run again sequentially to see if there are nodes producing errors:
marv run --collection=bags