- 10.88.88.100: fifo1
- 10.88.88.101: fifo2
- 10.88.88.102: fifo3
zfs set mountpoint=/data zones/$(zonename)/data
cd /data
curl -O https://project-fifo.net/fifo.gpg
gpg --keyring /opt/local/etc/gnupg/pkgsrc.gpg --fingerprint
echo "http://release.project-fifo.net/pkg/rel" >> /opt/local/etc/pkgin/repositories.conf
pkgin -fy up
pkgin install fifo-snarl fifo-sniffle fifo-howl fifo-cerberus
svcadm enable epmd
svcadm enable snarl
svcadm enable sniffle
svcadm enable howl
snarl-admin init default MyOrg Users admin admin
$ sniffle-admin cluster join sniffle@10.88.88.100
Success: staged join request for 'sniffle@10.88.88.101' to 'sniffle@10.88.88.100'
$ howl-admin cluster join howl@10.88.88.100
Success: staged join request for 'howl@10.88.88.101' to 'howl@10.88.88.100'
$ snarl-admin cluster join snarl@10.88.88.100
Success: staged join request for 'snarl@10.88.88.101' to 'snarl@10.88.88.100'
[root@684c7a3e-fe54-63a6-ccb9-a43bd40aa6e7 /data]# howl-admin ring-status
================================== Claimant ===================================
Claimant: 'howl@10.88.88.100'
Status: up
Ring Ready: true
============================== Ownership Handoff ==============================
No pending changes.
============================== Unreachable Nodes ==============================
All nodes are up and reachable
[root@684c7a3e-fe54-63a6-ccb9-a43bd40aa6e7 /data]# snarl-admin ring-status
================================== Claimant ===================================
Claimant: 'snarl@10.88.88.100'
Status: up
Ring Ready: true
============================== Ownership Handoff ==============================
No pending changes.
============================== Unreachable Nodes ==============================
All nodes are up and reachable
[root@684c7a3e-fe54-63a6-ccb9-a43bd40aa6e7 /data]# sniffle-admin ring-status
================================== Claimant ===================================
Claimant: 'sniffle@10.88.88.100'
Status: up
Ring Ready: true
============================== Ownership Handoff ==============================
No pending changes.
============================== Unreachable Nodes ==============================
All nodes are up and reachable
Permission denied random appears after login as admin
app.js:29 GET http://10.88.88.100/api/2/vms?full-list=true&full-list-fields=alias,uuid,co…et,package,metadata,dataset,hypervisor,owner,vm_type,created_by,created_at 403 (Forbidden)I @ app.js:29Q @ app.js:29R @ app.js:29S @ app.js:29R0 @ api.cljs:45c2 @ api.cljs:20C$.undefined.b2.Ob @ vms.cljs:113yT @ core.cljs:30(anonymous function) @ core.cljs:344mountComponent @ app.js:25mountComponent @ app.js:27mountChildren @ app.js:27_createContentMarkup @ app.js:25mountComponent @ app.js:25mountComponent @ app.js:27mountComponent @ app.js:25mountComponent @ app.js:27mountChildren @ app.js:27_createContentMarkup @ app.js:25mountComponent @ app.js:25mountComponent @ app.js:27mountComponent @ app.js:25mountComponent @ app.js:27mountChildren @ app.js:27_createContentMarkup @ app.js:25mountComponent @ app.js:25mountComponent @ app.js:27mountComponent @ app.js:25mountComponent @ app.js:27mountChildren @ app.js:27_createContentMarkup @ app.js:25mountComponent @ app.js:25mountComponent @ app.js:27mountComponent @ app.js:25mountComponent @ app.js:27mountComponent @ app.js:25mountComponent @ app.js:27h @ app.js:27perform @ app.js:28m @ app.js:27perform @ app.js:28batchedUpdates @ app.js:25i @ app.js:27_renderNewRootComponent @ app.js:27render @ app.js:27TJ @ dom.cljs:50Pb @ core.cljs:1153HV @ core.cljs:1212Aga @ core.cljs:189(anonymous function) @ main.cljs:4(anonymous function) @ scopes.cljs:20
app.js:29 GET http://10.88.88.100/api/2/orgs?full-list=true&full-list-fields=name,uuid 403 (Forbidden)I @ app.js:29Q @ app.js:29R @ app.js:29S @ app.js:29R0 @ api.cljs:45m2 @ api.cljs:16C$.undefined.b2.Ob @ vms.cljs:113yT @ core.cljs:30(anonymous function) @ core.cljs:344mountComponent @ app.js:25mountComponent @ app.js:27mountChildren @ app.js:27_createContentMarkup @ app.js:25mountComponent @ app.js:25mountComponent @ app.js:27mountComponent @ app.js:25mountComponent @ app.js:27mountChildren @ app.js:27_createContentMarkup @ app.js:25mountComponent @ app.js:25mountComponent @ app.js:27mountComponent @ app.js:25mountComponent @ app.js:27mountChildren @ app.js:27_createContentMarkup @ app.js:25mountComponent @ app.js:25mountComponent @ app.js:27mountComponent @ app.js:25mountComponent @ app.js:27mountChildren @ app.js:27_createContentMarkup @ app.js:25mountComponent @ app.js:25mountComponent @ app.js:27mountComponent @ app.js:25mountComponent @ app.js:27mountComponent @ app.js:25mountComponent @ app.js:27h @ app.js:27perform @ app.js:28m @ app.js:27perform @ app.js:28batchedUpdates @ app.js:25i @ app.js:27_renderNewRootComponent @ app.js:27render @ app.js:27TJ @ dom.cljs:50Pb @ core.cljs:1153HV @ core.cljs:1212Aga @ core.cljs:189(anonymous function) @ main.cljs:4(anonymous function) @ scopes.cljs:20
xhrio.js:561 GET http://10.88.88.100/api/2/cloud 403 (Forbidden)k.send @ xhrio.js:561vS @ core.cljs:95(anonymous function) @ core.cljs:136(anonymous function) @ client.cljs:118b @ client.cljs:274b @ client.cljs:216b @ client.cljs:97(anonymous function) @ client.cljs:277(anonymous function) @ client.cljs:151(anonymous function) @ client.cljs:278(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:125b @ client.cljs:62(anonymous function) @ client.cljs:208b @ client.cljs:234(anonymous function) @ client.cljs:234(anonymous function) @ client.cljs:287c @ client.cljs:106(anonymous function) @ client.cljs:111NS.l @ client.cljs:308NS @ client.cljs:305E0 @ http.cljs:24F0 @ http.cljs:29(anonymous function) @ timers.cljs:12b @ timers.cljs:12d @ timers.cljs:12SR @ ioc_helpers.cljs:37(anonymous function) @ timers.cljs:12FR @ dispatch.cljs:19b.port1.onmessage @ nexttick.js:170
core.cljs:147 "[warning]" "[howl] unknown event: " {:error "permission denied"}
xhrio.js:561 GET http://10.88.88.100/api/2/cloud 403 (Forbidden)k.send @ xhrio.js:561vS @ core.cljs:95(anonymous function) @ core.cljs:136(anonymous function) @ client.cljs:118b @ client.cljs:274b @ client.cljs:216b @ client.cljs:97(anonymous function) @ client.cljs:277(anonymous function) @ client.cljs:151(anonymous function) @ client.cljs:278(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:125b @ client.cljs:62(anonymous function) @ client.cljs:208b @ client.cljs:234(anonymous function) @ client.cljs:234(anonymous function) @ client.cljs:287c @ client.cljs:106(anonymous function) @ client.cljs:111NS.l @ client.cljs:308NS @ client.cljs:305E0 @ http.cljs:24F0 @ http.cljs:29(anonymous function) @ timers.cljs:12b @ timers.cljs:12d @ timers.cljs:12SR @ ioc_helpers.cljs:37(anonymous function) @ timers.cljs:12FR @ dispatch.cljs:19b.port1.onmessage @ nexttick.js:170
xhrio.js:561 GET http://10.88.88.100/api/2/cloud 403 (Forbidden)k.send @ xhrio.js:561vS @ core.cljs:95(anonymous function) @ core.cljs:136(anonymous function) @ client.cljs:118b @ client.cljs:274b @ client.cljs:216b @ client.cljs:97(anonymous function) @ client.cljs:277(anonymous function) @ client.cljs:151(anonymous function) @ client.cljs:278(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:125b @ client.cljs:62(anonymous function) @ client.cljs:208b @ client.cljs:234(anonymous function) @ client.cljs:234(anonymous function) @ client.cljs:287c @ client.cljs:106(anonymous function) @ client.cljs:111NS.l @ client.cljs:308NS @ client.cljs:305E0 @ http.cljs:24F0 @ http.cljs:29(anonymous function) @ timers.cljs:12b @ timers.cljs:12d @ timers.cljs:12SR @ ioc_helpers.cljs:37(anonymous function) @ timers.cljs:12FR @ dispatch.cljs:19b.port1.onmessage @ nexttick.js:170
xhrio.js:561 GET http://10.88.88.100/api/2/cloud 403 (Forbidden)k.send @ xhrio.js:561vS @ core.cljs:95(anonymous function) @ core.cljs:136(anonymous function) @ client.cljs:118b @ client.cljs:274b @ client.cljs:216b @ client.cljs:97(anonymous function) @ client.cljs:277(anonymous function) @ client.cljs:151(anonymous function) @ client.cljs:278(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:125b @ client.cljs:62(anonymous function) @ client.cljs:208b @ client.cljs:234(anonymous function) @ client.cljs:234(anonymous function) @ client.cljs:287c @ client.cljs:106(anonymous function) @ client.cljs:111NS.l @ client.cljs:308NS @ client.cljs:305E0 @ http.cljs:24F0 @ http.cljs:29(anonymous function) @ timers.cljs:12b @ timers.cljs:12d @ timers.cljs:12SR @ ioc_helpers.cljs:37(anonymous function) @ timers.cljs:12FR @ dispatch.cljs:19b.port1.onmessage @ nexttick.js:170
xhrio.js:561 GET http://10.88.88.100/api/2/cloud 403 (Forbidden)k.send @ xhrio.js:561vS @ core.cljs:95(anonymous function) @ core.cljs:136(anonymous function) @ client.cljs:118b @ client.cljs:274b @ client.cljs:216b @ client.cljs:97(anonymous function) @ client.cljs:277(anonymous function) @ client.cljs:151(anonymous function) @ client.cljs:278(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:125b @ client.cljs:62(anonymous function) @ client.cljs:208b @ client.cljs:234(anonymous function) @ client.cljs:234(anonymous function) @ client.cljs:287c @ client.cljs:106(anonymous function) @ client.cljs:111NS.l @ client.cljs:308NS @ client.cljs:305E0 @ http.cljs:24F0 @ http.cljs:29(anonymous function) @ timers.cljs:12b @ timers.cljs:12d @ timers.cljs:12SR @ ioc_helpers.cljs:37(anonymous function) @ timers.cljs:12FR @ dispatch.cljs:19b.port1.onmessage @ nexttick.js:170
xhrio.js:561 GET http://10.88.88.100/api/2/cloud 403 (Forbidden)k.send @ xhrio.js:561vS @ core.cljs:95(anonymous function) @ core.cljs:136(anonymous function) @ client.cljs:118b @ client.cljs:274b @ client.cljs:216b @ client.cljs:97(anonymous function) @ client.cljs:277(anonymous function) @ client.cljs:151(anonymous function) @ client.cljs:278(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:125b @ client.cljs:62(anonymous function) @ client.cljs:208b @ client.cljs:234(anonymous function) @ client.cljs:234(anonymous function) @ client.cljs:287c @ client.cljs:106(anonymous function) @ client.cljs:111NS.l @ client.cljs:308NS @ client.cljs:305E0 @ http.cljs:24F0 @ http.cljs:29(anonymous function) @ timers.cljs:12b @ timers.cljs:12d @ timers.cljs:12SR @ ioc_helpers.cljs:37(anonymous function) @ timers.cljs:12FR @ dispatch.cljs:19b.port1.onmessage @ nexttick.js:170
xhrio.js:561 GET http://10.88.88.100/api/2/cloud 403 (Forbidden)k.send @ xhrio.js:561vS @ core.cljs:95(anonymous function) @ core.cljs:136(anonymous function) @ client.cljs:118b @ client.cljs:274b @ client.cljs:216b @ client.cljs:97(anonymous function) @ client.cljs:277(anonymous function) @ client.cljs:151(anonymous function) @ client.cljs:278(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:125b @ client.cljs:62(anonymous function) @ client.cljs:208b @ client.cljs:234(anonymous function) @ client.cljs:234(anonymous function) @ client.cljs:287c @ client.cljs:106(anonymous function) @ client.cljs:111NS.l @ client.cljs:308NS @ client.cljs:305E0 @ http.cljs:24F0 @ http.cljs:29(anonymous function) @ timers.cljs:12b @ timers.cljs:12d @ timers.cljs:12SR @ ioc_helpers.cljs:37(anonymous function) @ timers.cljs:12FR @ dispatch.cljs:19b.port1.onmessage @ nexttick.js:170
xhrio.js:561 GET http://10.88.88.100/api/2/cloud 403 (Forbidden)k.send @ xhrio.js:561vS @ core.cljs:95(anonymous function) @ core.cljs:136(anonymous function) @ client.cljs:118b @ client.cljs:274b @ client.cljs:216b @ client.cljs:97(anonymous function) @ client.cljs:277(anonymous function) @ client.cljs:151(anonymous function) @ client.cljs:278(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:282(anonymous function) @ client.cljs:125b @ client.cljs:62(anonymous function) @ client.cljs:208b @ client.cljs:234(anonymous function) @ client.cljs:234(anonymous function) @ client.cljs:287c @ client.cljs:106(anonymous function) @ client.cljs:111NS.l @ client.cljs:308NS @ client.cljs:305E0 @ http.cljs:24F0 @ http.cljs:29(anonymous function) @ timers.cljs:12b @ timers.cljs:12d @ timers.cljs:12SR @ ioc_helpers.cljs:37(anonymous function) @ timers.cljs:12FR @ dispatch.cljs:19b.port1.onmessage @ nexttick.js:170
xhrio.js:561 GET http://10.88.88.100/api/2/cloud 403 (Forbidden)
I also did the
cluster plan
andcluster commit
for all commands!