MAAS Region Controller

  • MAAS Maintainers
Channel Revision Published Runs on
latest/edge 101 19 Dec 2024
Ubuntu 22.04
3.5/edge 74 14 Nov 2024
Ubuntu 22.04
3.4/edge 32 29 Aug 2024
Ubuntu 22.04
juju deploy maas-region --channel edge
Show information

Platform:

Ubuntu
22.04

charms.maas_region.v0.maas

MAAS operator library.

Allows MAAS Agents to enroll with Region controllers


class MaasInterfaceError

Description

Common ancestor for MAAS interface related exceptions. None

class MaasDatabag

Description

Base class from MAAS databags. None

Methods

MaasDatabag. load( cls , data )

Description

Load from dictionary. None

MaasDatabag. dump( self , databag )

Description

Write the contents of this model to Juju databag. None

class MaasRequirerUnitData

Description

The schema for the Requirer side of this relation. None

class MaasProviderAppData

Description

The schema for the Provider side of this relation. None

Methods

MaasProviderAppData. get_secret( self , model )

Retrieve MAAS secret.

Returns

str

the secret

class MaasConfigReceivedEvent

Description

Event emitted when the Region has shared the secret. None

Methods

MaasConfigReceivedEvent. __init__( self , handle: Handle , config )

MaasConfigReceivedEvent. snapshot( self )

Serialize the event to disk.

Description

Not meant to be called by charm code.

MaasConfigReceivedEvent. restore( self , snapshot )

Deserialize the event from disk.

Description

Not meant to be called by charm code.

class MaasAgentRemovedEvent

Event emitted when the relation with the "maas-region" provider has been severed.

Description

Or when the relation data has been wiped.

class MaasRegionRequirerEvents

Description

MAAS events. None

class MaasRegionRequirer

Description

Requires-side of the MAAS relation. None

Methods

MaasRegionRequirer. __init__( self , charm , key , endpoint: str )

MaasRegionRequirer. get_enroll_data( self )

Description

Get enrollment data from databag. None

MaasRegionRequirer. is_published( self )

Description

Verify that the local side has done all they need to do. None

MaasRegionRequirer. publish_unit_url( self , url: str )

Description

Publish unit url in the databag. None

class MaasRegionProvider

Description

Provides-side of the MAAS relation. None

Methods

MaasRegionProvider. __init__( self , charm , key , endpoint: str )

MaasRegionProvider. publish_enroll_token( self , maas_api: str , regions , maas_secret: str )

Publish enrollment data.

Arguments

maas_api (str)

MAAS API URL

regions (list[str])

List of MAAS regions

maas_secret (str)

Enrollment token

MaasRegionProvider. gather_rack_units( self )

Get a map of Rack units.

Returns

dict[str, ops.model.Unit]

map of units