Release v1.1.22 ====================================================================================================== New VMs and Remote node images are available on the download page (https://riaps.isis.vanderbilt.edu/rdownloads.html). This release includes SD card images for TI Beaglebone Black and Raspberry Pi 4. The VM also includes a user friendly setup for using Node RED GUI and MQTT communications. Information on setting up the new VM can be found at https://github.com/RIAPS/riaps-integration/tree/master/riaps-x86runtime. The RIAPS platform consists of 2 packages: riaps-pycom and riaps-timesync. This release moves riaps-pycom to architecture independent packages, one the development environment (riaps-pycom-dev) and the other for remote nodes (riaps-pycom). Architecture specific packages are available for riaps-timesync(-). IMPORTANT NOTE ON REMOTE NODE IMAGES: The remote node images are basic platform prepared image. It includes the needed third-party packages already installed and the environment configurations available for the RIAPS platform. It DOES NOT INCLUDE the RIAPS platform packages pre-installed. The remote nodes images no longer contain default security keys. Once the image is copied to an SD card, the user can connect the nodes with the development system using the instructions found at https://github.com/RIAPS/riaps-integration/blob/master/riaps-x86runtime/README.md#4-connect-the-vm-to-the-remote-nodes. When all the nodes are connected, the RIAPS Platform can be install using "riaps_fab riaps.update". Note: The remote nodes needs to have access to the network during this installation step. ==================================================================================================== 09/08/2023 Release Update ==================================================================================================== V1.1.22 Release Notes ==================================================================================================== New Features: ============= riaps-timesync: * chrony: add riaps-VirtualBox.local as server option - If the remote nodes don't have internet access, a local NTP source is needed. To keep configuration minimal, designate the VM hostname (riaps-VirtualBox.local) as an NTP server option. If internet access is lost, chronyd will default to riaps-VirtualBox.local. - This assumes RIAPS apps are only running when a VM is present. Additional configuration will be needed otherwise. riaps-pycom: * Move away from architecture specific packages, go to `riaps-pycom` for nodes and `riaps-pycom-dev` for development machines (i.e. VMs) to allow installation on any machine architectures. Only one allowed on a machine. * j(oin) command in ctrl cli riaps-integration: * Change VM creation from VMDK to VDI * Add a manifest of packages that are in the upcoming release * Remove any keys from the BBB and RPI nodes, user must use new connect_remote_nodes script * Add connect_remote_nodes script to initiate communication with remote nodes - Automatically add remote nodes indicated when using "-H" to "/etc/riaps/riaps-hosts.conf" - Set default VM configuration to have an empty list of nodes in "/etc/riaps/riaps-hosts.conf" - Add check for existence of any nodes when expecting to use the "/etc/riaps/riaps-hosts.conf" file * Add venv to release VM setup * Add zerofree to VM to allow shrinking later * Include tmux python package for log server * Add nodered install function, but did not succeed in installing nodejs/npm on VM build * Start adding BeaglePlay platform (not complete or tested) Improvements: ============= riaps-timesync: * Setup `pyproject.toml` and prepare python `riaps_ts` to be installed in the future, it is currently a test interface only riaps-pycom: * Move apparmor profile to use `@multiarch` variable to allow creating a package for all archs. * Move from `setup.py` to `pyproject.toml` for package installation with `entrypoints` for the scripts * Update riaps_fab for new package setup * When securing the ssh keys of a system setup, default to turning off the remote node’s password access (requiring private key) * Set `node` definition to an empty list for initial installation and `control` to match release VM hostname, instead of example values (examples available in comments) riaps-integration: * Documentation updates: - Update instructions to indicate that remote nodes need to access the internet to install RIAPS packages - Update documentation for users to setup a system, adding router setup information - Update VM Creation instructions - Removed Nano from supported node devices * Install package additions or adjustments - Add vim to installs - Cross compile updates for openDHT - Add call to install spdlog - Update node and VM setup scripts to match currently desire upgrades - libasio-dev, libfmt-dev, libhttp-parser-dev only setup one architecture, remove the cross compile architecture package installs - Updates to VM and node creation scripts to update ssh handling - Use distro version of PyYAML and psutils - Update secure keys script to utilize directory/file variables Fixes: ====== riaps-pycom: * Disco caching problems (causing invalid updates) * Checks on dc group parameters * Increase timeout on devicereq (to allow slow device startups) * Remove older riaps logger instructions from the logging test and reference the source file readme section. * Correct `peerTimeout` comparison * Remove `StandardOutput=syslog` from `riaps-rpyc-registry.service` riaps-integration: * Fix release package build due to pycom package change * Removing duplication in rpyc setup (using pypi version, which is the latest) Suggestions for Transferring Eclipse Workspaces to a new VM =========================================================== There are several ways to transfer your project work between VM. Perhaps the easiest is to keep your code in a code repository (such as SVN or GIT) and then create a new workspace from the retrieval of the code from the repository. Another way would be to use Eclipse to export an archive file that can be moved to a transfer site (such as Dropbox or any other file sharing tool). And then import that file into a new VM eclipse workspace. Here are some tips for doing this: 1) In the old VM, choose "File" --> "Export" from the drop-down menus and select the "General - Archive Files" option. 2) Select all the files you want to include in the archive. You can unselect compiled files or even use the "Filter Types" tool to help with this. Indicate the file name and location to place this archive ("To archive file:" box). 3) Copy the file to a transfer site (such as Dropbox) and then retrieve it on the new VM. 4) On the new VM, choose "File" --> "Import" from the drop-down menus and select the "General - Existing Projects into Workspace" option. 5) "Select the archive file" option and find the transferred file. 6) This should have the workspace back in place in the new VM.