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
b67e58ba-b4f1-4a99-98d4-0df132a57343  fifo-aio                        0.9.3       smartos  zone-dataset  2017-11-13
2f61c0bd-bfa1-4149-80e0-5eba4ea74066  fifo-howl                       0.9.3       smartos  zone-dataset  2017-11-13
53bb0a19-9fa7-47c5-ae11-b4fa4d9135b9  fifo-snarl                      0.9.3       smartos  zone-dataset  2017-11-13
a4d513e8-d0bf-4e2e-83fa-5096a653bda0  fifo-sniffle                    0.9.3       smartos  zone-dataset  2017-11-13

Installation Requirements

Please see the Requirements section for details!

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
imgadm import b67e58ba-b4f1-4a99-98d4-0df132a57343
imgadm list | grep b67e58ba-b4f1-4a99-98d4-0df132a57343

If installed successfully you should see:

b67e58ba-b4f1-4a99-98d4-0df132a57343  fifo-aio                        0.9.3       smartos  zone-dataset  2017-11-13

2: Zone Creation

 "autoboot": true,
 "brand": "joyent",
 "image_uuid": "b67e58ba-b4f1-4a99-98d4-0df132a57343",
 "delegate_dataset": true,
 "indestructible_delegated": true,
 "max_physical_memory": 3072,
 "cpu_cap": 100,
 "alias": "fifo",
 "quota": "40",
 "resolvers": [
 "nics": [
   "interface": "net0",
   "nic_tag": "admin",
   "ip": "",
   "gateway": "",
   "netmask": ""

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 create default config files for all file services and then start fifo services:

zlogin <fifo-vm-uuid>
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 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 Installing LeoFS before continuing with the last step below.

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 service or your own domain name, if you setup your DNS with wildcard:

sniffle-admin init-leofs

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