diskmanager

package
v0.0.0-...-2f78cd6 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2024 License: AGPL-3.0 Imports: 23 Imported by: 0

Documentation

Overview

Package diskmanager defines a worker that periodically lists block devices on the machine it runs on. This worker will be run on all Juju-managed machines (one per machine agent).

Index

Constants

This section is empty.

Variables

View Source
var NewWorker = func(l ListBlockDevicesFunc, b BlockDeviceSetter) worker.Worker {
	var old []storage.BlockDevice
	f := func(stop <-chan struct{}) error {
		return doWork(l, b, &old)
	}
	return jworker.NewPeriodicWorker(f, listBlockDevicesPeriod, jworker.NewTimer)
}

NewWorker returns a worker that lists block devices attached to the machine, and records them in state.

Functions

func Manifold

func Manifold(config ManifoldConfig) dependency.Manifold

Manifold returns a dependency manifold that runs a diskmanager worker, using the resource names defined in the supplied config.

Types

type BlockDeviceSetter

type BlockDeviceSetter interface {
	SetMachineBlockDevices([]storage.BlockDevice) error
}

BlockDeviceSetter is an interface that is supplied to NewWorker for setting block devices for the local host.

type ListBlockDevicesFunc

type ListBlockDevicesFunc func() ([]storage.BlockDevice, error)

ListBlockDevicesFunc is the type of a function that is supplied to NewWorker for listing block devices available on the local host.

var DefaultListBlockDevices ListBlockDevicesFunc

DefaultListBlockDevices is the default function for listing block devices for the operating system of the local host.

type ManifoldConfig

type ManifoldConfig engine.AgentAPIManifoldConfig

ManifoldConfig defines the names of the manifolds on which a Manifold will depend.

Jump to

Keyboard shortcuts

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