These docs are for v0.8.3. Click to read the latest docs for v0.9.3.

Installing via FiFo AIO Dataset

In order to make it trivially easy to install FiFo, the core FiFo team has come up with an alternate install method. This install method is performed by simply installing the FiFO dataset onto your hypervisor/s via imgadm, then using the dataset to create your FiFo zone/s.

FiFo's stores all its data, services and settings in a delegated ZFS volume mounted as "/data" which exists independently outside the FiFo Zone/s.

This has many advantages:

  • FiFo dataset version and packages can be easily updated.
  • Faster setup with far less complexity involved.
  • Flexibility in choosing which FiFo services to run - based purely on Dataset selection. As shown by the below example of imgadm output:
[root@smartosn2 ~]# imgadm avail | grep fifo
504ff128-d990-4fed-8349-dc8a4ba611ad  fifo-aio                0.8.3       smartos  zone-dataset  2016-09-14
44dda4cf-5cd4-4955-8bf0-d05cb4e4f25e  fifo-howl               0.8.3       smartos  zone-dataset  2016-09-14
345f998c-b455-4513-b03d-1bf5109a89b7  fifo-snarl              0.8.3       smartos  zone-dataset  2016-09-14
fe5f21cf-3561-4a92-b0be-9c7e2ebad3a1  fifo-sniffle            0.8.3       smartos  zone-dataset  2016-09-14

Installation Requirements

πŸ“˜

Platform Image Requirements

The oldest Platform Image that is supported is 20160204T080230Z
The newest Platform Image that is supported is 20161208T003707Z

🚧

CPU Requirements

Sniffle, Snarl and Howl require a CPU with AVX support introduced in processors in 2011.

1: AIO Dataset Import

From the GZ (Global Zone) we first ensure that we are using the FiFo https imgadm source. Next we import the FiFo AIO dataset. Once imported we then confirm that it is installed:

imgadm sources -a https://datasets.project-fifo.net
imgadm import 504ff128-d990-4fed-8349-dc8a4ba611ad
imgadm list | grep 504ff128-d990-4fed-8349-dc8a4ba611ad

If installed successfully you should see:

504ff128-d990-4fed-8349-dc8a4ba611ad  fifo-aio        0.8.3    smartos  zone-dataset  2016-09-14

2: Zone Creation

{
 "autoboot": true,
 "brand": "joyent",
 "image_uuid": "504ff128-d990-4fed-8349-dc8a4ba611ad",
 "delegate_dataset": true,
 "indestructible_delegated": true,
 "max_physical_memory": 3072,
 "cpu_cap": 100,
 "alias": "fifo",
 "quota": "40",
 "resolvers": [
  "8.8.8.8",
  "8.8.4.4"
 ],
 "nics": [
  {
   "interface": "net0",
   "nic_tag": "admin",
   "ip": "10.1.1.240",
   "gateway": "10.1.1.1",
   "netmask": "255.255.255.0"
  }
 ]
}

Next we create our FiFo JSON payload file.

cd /opt
vi setupfifo.json
vmadm create -f setupfifo.json

🚧

Please wait at least 45 seconds before logging into the newly created zone as it takes some for all the services to startup.

3: Enable FiFo Packages

We now zlogin to our newly created FiFo Zone. First we do need to configure the delegate dataset to be mounted to /data we can do this from within the zone with the following command:

zlogin <fifo-vm-uuid>
zfs set mountpoint=/data zones/$(sysinfo | json UUID)/data
fifo-config
svcadm enable epmd
svcadm enable snarl
svcadm enable howl
svcadm enable sniffle

The last step is to create an admin user and organisation, this can be done with one simple command. Note: It can take a minute or so for the system to initialize.

snarl-admin init default MyOrg Users admin admin

4: LeoFS initialization & Chunter Setup

πŸ‘

LeoFS no longer needed!

LeoFS is not required for a minimal setup, this steps can be skipped if at the end if the fifo setup instead of calling sniffle-admin init-leo the s3 host is set to no_s3 by executing sniffle-admin config set storage.s3.host no_s3.

Please be aware that when not using leo backups won't be functioning, and setting up the correct imgadm sources are your responsibility.

This configuration is purely meant for test setups and while provided is currently consider to be not be supported.

🚧

LeoFS Storage should be working before proceeding

A working and fully functional two Zone LeoFS setup MUST be up and running before you proceed with the below step.

If you have not previously setup your LeoFS Storage Zones, you should pause now at this point and proceed with the LeoFS Install Guide before continuing with the last step below. The guide can be found here:

LeoFS Install Guide

Once LeoFS is configured and up and running, the init-leofs command can be used from sniffle-admin to set up the required, users, buckets and endpoints. You can use the xip.io service or your own domain name, if you setup your DNS with wildcard:

sniffle-admin init-leofs 10.1.1.21.xip.io

That's it. You can now log out of your FiFo Zone and back into the Global Zone and continue with installing the Chunter service.

Go to chunter install