focaccia

command module
v0.0.0-...-ae2e5d1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2014 License: Apache-2.0 Imports: 11 Imported by: 0

README

rebootlockd

rebootlockd is a reboot manager for the CoreOS update engine which uses etcd to ensure that only a subset of a cluster of machines is rebooting at any given time.

Usage

Listing the Holders
$ rebootlockctl status
Available: 0
Max: 1

MACHINE ID
69d27b356a94476da859461d3a3bc6fd
Unlock Holders

In some cases a machine may go away permanently or semi-permanently while holding a reboot lock. A system administrator can clear this lock using the unlock command.

$ rebootlockctl unlock 69d27b356a94476da859461d3a3bc6fd
Maximum Sempahore

By default the reboot lock only allows a single holder. However, a user may want more than a single machine to be upgrading at a time. This can be done by increasing the semaphore count.

$ rebootlockctl set-max 4
Old: 1
New: 4

Keyspace

Semaphore

Key: coreos.com/updateengine/rebootlock/semaphore

The semaphore is a json document that describes a simple semaphore that clients swap to take the lock. When it is first created it will be initialized like so:

{
	"semaphore": 1,
	"max": 1,
	"holders": []
}

To take the lock a client the document will be swaped with this:

{
	"semaphore": 0,
	"max": 1,
	"holders": [
		"69d27b356a94476da859461d3a3bc6fd"
	]
}
Holders Directory

Key: coreos.com/updateengine/rebootlock/holders/<machineID>

When a rebootlock client takes the lock it should write information about itself to the holders directory. This should be a JSON document with the following information:

{
	"machineID": "69d27b356a94476da859461d3a3bc6fd",
	"startTime": 1397496396
}

This information is used to show an admin who is holding the semaphore and to resolve problems. The holder must delete themselves with a swap operation before incrementing the semaphore. This lets an administrator safely clear a reboot lock for a client that experienced a power outage or other failure before being able to release the lock.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL