Getting Started with ROCK 2.0

In an effort to get this into hands of people that will break it and or make it useful, I’m sharing this ISO and some notes about how to use it. Note this is a work in progress, and I will build upon these notes to make what will ultimately be the release notes.

Last caveat, there’s nothing secret here. Everything on the ISO is available in a repo, including the build scripts. I’m not going to go into how to build this, but a curious little rhino could likely figure it out without too much trouble poking around the source tree.

TL;DR;

Download the ISO indicated in Using the ISO, complete the installation and reboot. Upon login, run /opt/rocknsm/rock/bin/deploy_rock.sh to accept all the defaults.

Read on for more details and configuration options.

Ch-cha-cha-changes

Turn and face the change…​

Installation

Using the ISO

Download the ISO from the Releases page

Install in VM Environment

This section is based on using VMware Fusion on a Mac, but these steps provide a general template. I’ve tested the ISO booting mostly in a VMware VM, which uses BIOS. I’ve also burned it to a USB thumbdrive (I used the 16 GB USB3 from MicroCenter) and installed it in BIOS mode on my home test sensor.

  • Prep Install Media

    • dd command via terminal

diskutil list
diskutil unmountDisk /dev/disk#
sudo dd bs=8M if=path/to/rockiso of=/dev/disk#
Note
etcher.io is a solid gui-based burning utility
  • New VM Setup

    • in the top left corner click add > new…​ then custom machine

    • select the Linux > RedHat Enterprise 64 template

    • create new virtual disk

    • name your VM, save

Lets customize some settings, change based on hardware available.

  • Processors & Memory

    • Processors - 4 cores

    • Memory - 8192MB (8GB)

  • Hard Disk

    • increase the disk to 20GB

    • customize settings

    • save as name

  • Network Adapter

    • By default the vm is created with one interface - this will be for management.

    • lets add a second (listening) interface:

      • add device (top right), net adapter, add, “private to my mac”

  • Boot device

    • click CD/DVD (IDE)

    • check the "Connect CD/DVD Drive" box

    • expand advanced options and browse to the latest ROCK iso

  • Install

Once the above changes are made, we’re ready to install:

  • click the "Start Up" button while holding the esc key

  • hit tab for full config options

    • add the following values, separated by spaces:

      • biosdevname=0

      • net.ifnames=0 This will ensure you get interface names like eth0. If you have physical hardware, I highly recommend that you do not use this function.

      • vga=773

  • ENTER, and ROCK install script will install

  • create *admin* user acct

  • REBOOT when install process is complete

Tip
The root account is locked by default and the user account you created has sudo access.

You’re now ready for Configuration

Install from the repo

You can also clone the ROCK repository. The instructions for the ISO above use a snapshot of the master branch. You can clone this repo and simply run the /opt/rocknsm/rock/bin/generate_defaults.sh script with sudo. This will generate the file /etc/rocknsm/config.yml.

You’re now ready for Configuration

Updating

Note
VMware Fusion will allow local ssh, while Virtualbox will require port forwarding

Log in with the admin credentials used during the install process, and lets get this box current:

sudo yum update -y && reboot
sudo yum install -y epel-release
sudo yum install -y git ansible
git clone https://github.com/rocknsm/rock.git
cd rock
sudo ./bin/generate_defaults.sh

Configuration

If you wish to run an offline install (the ISO sets you up for this already) edit /etc/rocknsm/config.yml and change the following setting as shown:

rock_online_install: False

If this value is set to True, Ansible will configure your system for the yum repositories listed and pull packages and git repos directly from the URLs given. You could easily point this to local mirrors, if needed.

If this value is set to False, Ansible will look for the cached files in /srv/rocknsm. There is another script called offline-snapthot.sh that will create the necessary repository and file structure. Run this from a system that is Internet connected and copy it to your sensors for offline deployment.

While you’re in there, you can change the auto-detected defaults, such as which interfaces to use, hostname, fqdn, resources to use, etc. You can also disable features altogether at the bottom by simply changing the feature value to False as shown below. Don’t do this unless you know what you’re doing.

with_nginx: False (1)
  1. This disables nginx from installing or being configured. Note that it will not remove it if it is already present.

Once you’ve completed flipping the bits as you see fit, simply run /opt/rocknsm/rock/bin/deploy_rock.sh. If everything is well, this should install all the components and give you a success banner.

Known Issues

There’s some listed on GitHub.

  1. Best practice custom partitioning?

  2. Insufficient documentation

  3. Still doing integration work with FSF

  4. Still working on some additional health checks

  5. What have you found???

results matching ""

    No results matching ""