Skip to content

Instantly share code, notes, and snippets.

@drscream
Last active July 19, 2016 10:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save drscream/9ce3d9ad2084ca7ac8d70ebf1bc5af7d to your computer and use it in GitHub Desktop.
Save drscream/9ce3d9ad2084ca7ac8d70ebf1bc5af7d to your computer and use it in GitHub Desktop.

Overview

  • 10.88.88.100: fifo1
  • 10.88.88.101: fifo2
  • 10.88.88.102: fifo3

Installed all FiFO packages on all nodes fifo1, fifo2, 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

Enabled all services on all nodes

svcadm enable epmd
svcadm enable snarl
svcadm enable sniffle
svcadm enable howl

Only fifo1, created the user

snarl-admin init default MyOrg Users admin admin

fifo2 and fifo3 joined the ring

$ 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'

Checked status on fifo1

[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

Result in the WebUI:

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)
@drscream
Copy link
Author

I also did the cluster plan and cluster commit for all commands!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment