Router Clusters


RouterCluster


class cfxdb.mrealm.RouterCluster(oid: Optional[UUID] = None, label: Optional[str] = None, description: Optional[str] = None, tags: Optional[List[str]] = None, name: Optional[str] = None, status: Optional[int] = None, owner_oid: Optional[UUID] = None, changed: Optional[datetime64] = None, _unknown=None)[source]

Bases: Cluster

A router cluster is able to run (application) realms, and is hosted on a groups of router workers kept in sync and meshed via router-to-router links.

Parameters
  • oid – Object ID of this router cluster.

  • label – Optional user label of this router cluster.

  • description – Optional user description of this router cluster.

  • tags – Optional list of user tags on this router cluster.

marshal()[source]

Marshal this object to a generic host language object.

Returns

dict

static parse(data)[source]

Parse generic host language object into an object of this class.

Parameters

data (dict) – Generic host language object

Returns

instance of ManagementRealm

class cfxdb.mrealmschema.RouterClusters(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: MapUuidCbor

A router cluster is able to run (application) realms, and is hosted on a groups of router workers kept in sync and meshed via router-to-router links (routercluster_oid -> routercluster).

class cfxdb.mrealmschema.IndexRouterClusterByName(slot=None, compress=None)[source]

Bases: MapStringUuid

Index of router clusters by router cluster names (routercluster_name -> routercluster_oid).

class cfxdb.mrealm.RouterClusterNodeMembership(cluster_oid: Optional[UUID] = None, node_oid: Optional[UUID] = None, softlimit: Optional[int] = None, hardlimit: Optional[int] = None, _unknown=None)[source]

Bases: ClusterNodeMembership

Membership of a managed node (paired within a management realm) to a router cluster. A router cluster is able to run “data planes”, which are groups of router workers kept in sync, and meshed via router-to-router links. Finally, “(application) realms” can be started in data planes.

Parameters
  • cluster_oid – Object ID of router cluster the node is becoming member of.

  • node_oid – Object ID of the node becoming member of the router cluster.

  • softlimit – Limits the number of router workers started on this node. When this number of workers is reached, efforts are taken to actively reduce the resource load on this node (eg stopping other running router workers “currently being idle”). New router workers will still be started.

  • hardlimit – Maximum number of router workers started on this node. This hard limits the number of router workers started on this node.

marshal()[source]

Marshal this object to a generic host language object.

Returns

dict

static parse(data)[source]

Parse generic host language object into an object of this class.

Parameters

data (dict) – Generic host language object

Returns

instance of WebService

class cfxdb.mrealmschema.RouterClusterNodeMemberships(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: MapUuidUuidCbor

Membership of a managed node (paired within a management realm) to a router cluster ((cluster_oid, node_oid) -> cluster_node_membership).

RouterWorkerGroup


class cfxdb.mrealm.RouterWorkerGroup(oid: Optional[UUID] = None, label: Optional[str] = None, description: Optional[str] = None, tags: Optional[List[str]] = None, cluster_oid: Optional[UUID] = None, name: Optional[str] = None, scale: Optional[int] = None, status: Optional[int] = None, changed: Optional[datetime64] = None, _unknown=None)[source]

Bases: ConfigurationElement

Router worker group database configuration object.

Parameters
  • oid – Object ID of router worker group.

  • label – Optional user label of router worker group.

  • description – Optional user description of router worker group.

  • tags – Optional list of user tags on router worker group.

marshal()[source]

Marshal this object to a generic host language object.

Returns

dict

static parse(data)[source]

Parse generic host language object into an object of this class.

Parameters

data (dict) – Generic host language object

Returns

instance of ManagementRealm

class cfxdb.mrealmschema.RouterWorkerGroups(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: MapUuidCbor

Router worker group database configuration object (workergroup_oid -> workergroup).

class cfxdb.mrealmschema.IndexWorkerGroupByCluster(slot=None, compress=None)[source]

Bases: MapUuidStringUuid

Index of router worker groups by router clusters and group names ((cluster_oid, workergroup_name) -> workergroup_oid).

class cfxdb.mrealmschema.IndexWorkerGroupByPlacement(slot=None, compress=None)[source]

Bases: MapUuidUuidUuidUuid

Index of router worker groups by cluster, node and placement ((cluster_oid, node_oid, placement_oid) -> workergroup_oid).

class cfxdb.mrealm.RouterWorkerGroupClusterPlacement(oid: Optional[UUID] = None, worker_group_oid: Optional[UUID] = None, cluster_oid: Optional[UUID] = None, node_oid: Optional[UUID] = None, worker_name: Optional[str] = None, status: Optional[int] = None, changed: Optional[datetime64] = None, tcp_listening_port: Optional[int] = None, _unknown: Optional[dict] = None)[source]

Bases: object

Placement of router worker groups onto router clusters, specifically router workers and xbrmm workers running as part of router worker groups.

Parameters
  • oid – Object ID of this placement itself.

  • worker_group_oid – Object ID of the router worker group this placement applies to. Refers to cfxdb.mrealm.RouterWorkerGroup

  • cluster_oid – Object ID of the router cluster this placement applies to. Refers to cfxdb.mrealm.RouterCluster

  • node_oid – Object ID of the node (within the router cluster) this placement is assigned to. Refers to cfxdb.mrealm.Node

  • worker_name – Run-time ID (in the node) of the router worker this placement is assigned to.

  • status – Status of this placement, which essentially reflects the router worker status of this placement.

  • changed – Timestamp when the status of this placement last changed.

  • tcp_listening_port – TCP listening port the router worker this placement is assigned to is listening on for incoming proxy front-end and router-to-router connections.

marshal()[source]

Marshal this object to a generic host language object.

Returns

dict

static parse(data)[source]

Parse generic host language object into an object of this class.

Parameters

data (dict) – Generic host language object

Returns

instance of WebService

class cfxdb.mrealmschema.RouterWorkerGroupClusterPlacements(slot=None, compress=None, marshal=None, unmarshal=None)[source]

Bases: MapUuidCbor

Router worker group placements of workers (placement_oid -> placement).

class cfxdb.mrealmschema.IndexClusterPlacementByWorkerName(slot=None, compress=None)[source]

Bases: MapUuidUuidUuidStringUuid

Index of router worker group placements by worker group, cluster, node and worker name ((workergroup_oid, cluster_oid, node_oid, worker_name) -> placement_oid).