control

module
v0.0.0-...-ebe7275 Latest Latest
Warning

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

Go to latest
Published: Dec 23, 2024 License: BSD-2-Clause-Patent

README

DAOS Control Plane

DAOS operates over two, closely integrated planes, Control and Data. The Data plane handles the heavy lifting transport operations while the Control plane orchestrates process and storage management, facilitating the operation of the Data plane.

The DAOS Control Plane is written in Go and runs as the DAOS Server (daos_server) process. It is tasked with network and storage hardware provisioning and allocation in addition to instantiation and management of the DAOS Data Plane (Engine) processes that run on the same host.

Code Organization

The control directory contains a "cmd" subdirectory for server, agent, ddb, and dmg applications. These applications import the control API (src/control/lib/control) or server packages along with peripheral shared packages common, drpc, fault, logging, and security where necessary to provide the given features.

Specific library packages can be found in lib/ which provide access to native storage libraries through language bindings, e.g. lib/spdk or specific formatting capabilities e.g., lib/hostlist or lib/txtfmt.

The events package provides the golang component of the RAS framework for receipt of events over dRPC from the DAOS Engine and forwarding of management service actionable events to the MS leader.

The pbin package provides a framework for forwarding of requests to be executed by the privileged binary daos_server_helper on behalf of daos_server.

The provider package contains interface shims to the external environment, initially just to the Linux operating system.

The system package encapsulates the concept of the DAOS system, and its associated membership.

Developer Documentation

Please refer to package-specific README's.

User Documentation

Directories

Path Synopsis
Package build provides an importable repository of variables set at build time.
Package build provides an importable repository of variables set at build time.
cmd
ddb
dmg
dmg/pretty
Package pretty provides pretty-printers for complex response types.
Package pretty provides pretty-printers for complex response types.
code
Package code is a central repository for all control plane fault codes.
Package code is a central repository for all control plane fault codes.
lib
atm
Package atm provides a collection of thread-safe types.
Package atm provides a collection of thread-safe types.
control
Package control provides an API surface for the DAOS Control Plane.
Package control provides an API surface for the DAOS Control Plane.
dlopen
Package dlopen provides some convenience functions to dlopen a library and get its symbols.
Package dlopen provides some convenience functions to dlopen a library and get its symbols.
hardware/defaults/network
Package network provides constructors for cross-package composable hardware providers related to networking.
Package network provides constructors for cross-package composable hardware providers related to networking.
hardware/defaults/topology
Package topology provides constructors for cross-package composable hardware providers related to topology discovery and interrogation.
Package topology provides constructors for cross-package composable hardware providers related to topology discovery and interrogation.
ipmctl
Package ipmctl provides Go bindings for libipmctl Native Management API
Package ipmctl provides Go bindings for libipmctl Native Management API
spdk
Package spdk provides Go bindings for SPDK
Package spdk provides Go bindings for SPDK
ui
provider

Jump to

Keyboard shortcuts

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