Nov 12, 2019 - hcp and vlink tools completion scripts



As mentioned in our last post, we created some new completion scripts for our command line helper tools hcp and vlink! If you don’t know what those tools are, check out this link and our manual with examples of himage, hcp and vlink usage.

As with himage completion script, these scripts also enable autocompletion of running experiment nodes in the context of the tool. For example, the script will autocomplete the path inside the node when copying files with hcp, and vlink will offer you a list of existing arguments and links of running experiments.

Sep 16, 2019 - himage tool completion script


himage tool completion script


One of the newest updates in IMUNES was the addition of himage bash completion script. For some of you who don’t know what himage is, it is an IMUNES tool used for connecting to running nodes, used primarily for scripting IMUNES experiments, but also often used as a helper tool to run commands on nodes in live experiments. You can read more about himage here and here.

This script enables the user to ‘tab-complete’ flags and arguments of the himage script. It pretty much behaves as a regular shell autocomplete by:

  • showing available flags if you type himage -<TAB>,
  • autocompleting running node names matching the beginning of the name if you type himage [0-or-more-characters]<TAB> (show multiple choices in case there are nodes with the same name in different experiments), or
  • autocompleting commands which run from the jail if you type himage node [0-or-more-characters]<TAB>.

It definitely improves the usage experience of the himage script and speeds up writing shell commands for IMUNES or debugging your topologies.

The himage-bash-completion.bash script is not automatically installed, you have to manually run it:

# . $imunes_installation_location/scripts/himage-bash-completion.bash # usually /usr/local/lib/imunes/scripts

or put this command in your .bashrc or whatever shell .rc file you use to load every time you start the shell.

Next step: hcp and vlink completion scripts.

Aug 27, 2019 - IMUNES news and updates


IMUNES news and updates


The summer is (almost) over and we are back at work. As already announced in our previous blog post, this post will be about IMUNES news and updates since a long time ago. There have been more then 200 commits and about 30 issues closed since December 2015.

Many of those commits were code cleaning/improvements, performance/stability updates and bug fixes, so here is an overview of everything important:

  • IMUNES is updated to work on FreeBSD-11 (every version) and FreeBSD-12.0 (FreeBSD-12.0-STABLE-20190418-r346338 or newer). Unfortunately, there is a bug in 12.0 which is addressed in issue #89)
  • there is a new node on both Linux and FreeBSD: External interface
  • we created an IMUNES startup service for FreeBSD, so you can now start IMUNES topologies automatically at boot time
  • we updated existing ones and added some new examples to imunes-examples and imunes-security repositories:
  • IMUNES Docker template image for the Linux version got updated. There are now multiple IMUNES template Linux distributions/versions available to download from Docker hub:
    • debian-8 (imunes/template:latest),
    • debian-9 (imunes/template:debian-9),
    • debian-9-min (imunes/template:debian-9-min),
    • ubuntu-18.04 (imunes/template:ubuntu-18.04),
    • ubuntu-18.04-min (imunes/template:ubuntu-18.04-min)
  • we updated our tools used for scripting IMUNES:
    • there is a new version of the vlink script, now working on both Linux and FreeBSD
    • the himage script also got updated and now works even better (including the himage-bash-completion script).
  • our website has some new downloads:
  • and more…

What are our next moves? Some plans for the future include:

  • wireless node - already in repository, but needs more testing and better implementation
  • there are currently two active branches in our main repository (docker_another and linux-rstp):
    • docker_another branch allows IMUNES on Linux to run custom Docker images instead of the default IMUNES template. This branch is a bit stale, but there is a plan to revive it soon.
    • linux-rstp branch enables RSTP switch node in Linux version of IMUNES using Open vSwitch. This is a new feature but it still needs testing before we merge it to master
  • link widgets - show information about links on mouse hover
  • there are still some imunes-security examples that do not work as intended on FreeBSD, so there is still work to be done. Also, Linux porting of some of those examples should be possible.
  • update Wiki with all the existing examples. Also, think of some new content (FAQ, Tips&Tricks, etc.)

We also added a new Wiki page for Mentions and publications so check it out and send us links if you notice anything about IMUNES on the web so we can expand the list.

Our next posts will go into detail about some of the things from above, so stay tuned!