![]() |
Camphor Networks Platform API
|
Public Member Functions | |
def | __init__ (self, CamphorProjectSchema schema, CamphorNetworkManager networkManager) |
None | createDataCenter (self, str name='dc', DeviceOS switchOS=DeviceOS.SONiC, DeviceOS serverOS=DeviceOS.ALPINE, switchVersion=None, bool synchronize=True, int pods=1, int racks=2, int leafs=2, int servers=2, int spines=2, int superSpines=0, int borderLeafs=0, int cores=0, int vpns=0, int evpns=0, int hosts=0, int addresses=0, bool generateDefaultConf=True, UnderlayConnectivity underlay=UnderlayConnectivity.ebgp, OverlayConnectivity overlay=OverlayConnectivity.evpn) |
Create a CLOS design based Data Center Network Topology. More... | |
DeploymentConfigurationAttributesDefinition | getDeploymentCommonAttributes (self) |
None | setDeploymentCommonAttributes (self, DeploymentConfigurationAttributesDefinition attributes) |
DeploymentAttributesDefinition | createDeployment (self, str name, Optional[DeploymentConfigurationAttributesDefinition] attributes=None, Pods pods=None, Racks racks=None, ItemLeafs leafs=None, Spines spines=None, Servers servers=None, Cores cores=None, SuperSpines superSpines=None, BorderLeafs borderLeafs=None, RouteReflectors routeReflectors=None, BGPTesters bgpTesters=None) |
List[DeploymentAttributesDefinition] | getDeployment (self) |
int | findDeploymentPosition (self, str name) |
DeploymentAttributesDefinition | findDeployment (self, str name) |
None | deleteDeployment (self, str name) |
Public Attributes | |
schema | |
networkManager | |
Definition at line 18 of file camphor_deployment_manager.py.
def __init__ | ( | self, | |
CamphorProjectSchema | schema, | ||
CamphorNetworkManager | networkManager | ||
) |
Definition at line 19 of file camphor_deployment_manager.py.
None createDataCenter | ( | self, | |
str | name = 'dc' , |
||
DeviceOS | switchOS = DeviceOS.SONiC , |
||
DeviceOS | serverOS = DeviceOS.ALPINE , |
||
switchVersion = None , |
|||
bool | synchronize = True , |
||
int | pods = 1 , |
||
int | racks = 2 , |
||
int | leafs = 2 , |
||
int | servers = 2 , |
||
int | spines = 2 , |
||
int | superSpines = 0 , |
||
int | borderLeafs = 0 , |
||
int | cores = 0 , |
||
int | vpns = 0 , |
||
int | evpns = 0 , |
||
int | hosts = 0 , |
||
int | addresses = 0 , |
||
bool | generateDefaultConf = True , |
||
UnderlayConnectivity | underlay = UnderlayConnectivity.ebgp , |
||
OverlayConnectivity | overlay = OverlayConnectivity.evpn |
||
) |
Create a CLOS design based Data Center Network Topology.
Data Centers are one of the most commonly deployed and managed network. Typically, CLOS based network topology is used in forming modern data centers. Using this API to readily instantiate one such!
[in] | name | str Name of the datacenter |
[in] | switchOS | DeviceOS(DeviceOS.SONiC) Type of the Switches' Network Operating System (NOS) |
[in] | serverOS | DeviceOS(DeviceOS.ALPINE) Type of the Servers'' Operating System (OS) |
[in] | pods | Number of pods |
[in] | racks | Number of racks |
[in] | leafs | Number of leafs |
[in] | servers | Number of servers |
[in] | spines | Number of spines |
[in] | superSpines | Number of superSpines |
[in] | borderLeafs | Number of borderLeafs |
[in] | cores | Number of cores |
[in] | vpns | Number of vpns |
[in] | evpns | Number of evpns |
[in] | hosts | Number of hosts |
[in] | addresses | Number of addresses |
#
# Copyright (C) Camphor Networks, Inc - All Rights Reserved
# Unauthorized copying of this file via any medium is strictly prohibited
# Proprietary and confidential
# Written by Ananth Suryanarayana <ananth@camphornetworks.com>, June 2021
# https://camphornetworks.com/camphor-networks-platform-terms-of-use-and-privacy-policy/
# mailto:info@camphornetworks.com?subject=copyright
#
# yaml-language-server: $schema=/var/lib/camphor/camphor_project_schema.json
#
# Run this command from any camphor cluster node to load this topology!
# export CAMPHOR_PASSWORD='<CamphorPassword>'
# python3 /var/lib/camphor/camphor_api/camphor_manage_device.pyc --oper=load-deployment <yaml-file>
#
---
deployments:
attributes:
deviceAttributes:
os: SONiC
leafAttributes:
leafs: 2
podAttributes:
pods: 1
rackAttributes:
racks: 2
serverAttributes:
deviceAttributes:
os: ALPINE
servers: 2
spineAttributes:
spines: 2
item:
- attributes:
deploymentAttributes:
type: datacenter
name: dc
Definition at line 50 of file camphor_deployment_manager.py.
References CamphorDeploymentManager.createDeployment(), CamphorDeploymentManager.networkManager, CamphorManager.networkManager, and CamphorDeploymentManager.setDeploymentCommonAttributes().
DeploymentConfigurationAttributesDefinition getDeploymentCommonAttributes | ( | self | ) |
Definition at line 80 of file camphor_deployment_manager.py.
References CamphorApplicationManager.schema, CamphorBgpTesterManager.schema, CamphorClusterManager.schema, CamphorDeploymentManager.schema, CamphorDeviceManager.schema, CamphorManager.schema, CamphorMetricManager.schema, CamphorMonitorManager.schema, CamphorNetworkManager.schema, CamphorProjectManager.schema, and CamphorTableManager.schema.
None setDeploymentCommonAttributes | ( | self, | |
DeploymentConfigurationAttributesDefinition | attributes | ||
) |
Definition at line 83 of file camphor_deployment_manager.py.
References CamphorApplicationManager.schema, CamphorBgpTesterManager.schema, CamphorClusterManager.schema, CamphorDeploymentManager.schema, CamphorDeviceManager.schema, CamphorManager.schema, CamphorMetricManager.schema, CamphorMonitorManager.schema, CamphorNetworkManager.schema, CamphorProjectManager.schema, and CamphorTableManager.schema.
Referenced by CamphorDeploymentManager.createDataCenter().
DeploymentAttributesDefinition createDeployment | ( | self, | |
str | name, | ||
Optional[DeploymentConfigurationAttributesDefinition] | attributes = None , |
||
Pods | pods = None , |
||
Racks | racks = None , |
||
ItemLeafs | leafs = None , |
||
Spines | spines = None , |
||
Servers | servers = None , |
||
Cores | cores = None , |
||
SuperSpines | superSpines = None , |
||
BorderLeafs | borderLeafs = None , |
||
RouteReflectors | routeReflectors = None , |
||
BGPTesters | bgpTesters = None |
||
) |
Definition at line 86 of file camphor_deployment_manager.py.
References CamphorApplicationManager.schema, CamphorBgpTesterManager.schema, CamphorClusterManager.schema, CamphorDeploymentManager.schema, CamphorDeviceManager.schema, CamphorManager.schema, CamphorMetricManager.schema, CamphorMonitorManager.schema, CamphorNetworkManager.schema, CamphorProjectManager.schema, and CamphorTableManager.schema.
Referenced by CamphorDeploymentManager.createDataCenter().
List[DeploymentAttributesDefinition] getDeployment | ( | self | ) |
Definition at line 98 of file camphor_deployment_manager.py.
References CamphorApplicationManager.schema, CamphorBgpTesterManager.schema, CamphorClusterManager.schema, CamphorDeploymentManager.schema, CamphorDeviceManager.schema, CamphorManager.schema, CamphorMetricManager.schema, CamphorMonitorManager.schema, CamphorNetworkManager.schema, CamphorProjectManager.schema, and CamphorTableManager.schema.
Referenced by CamphorDeploymentManager.deleteDeployment(), CamphorDeploymentManager.findDeployment(), and CamphorDeploymentManager.findDeploymentPosition().
int findDeploymentPosition | ( | self, | |
str | name | ||
) |
Definition at line 101 of file camphor_deployment_manager.py.
References CamphorDeploymentManager.getDeployment().
Referenced by CamphorDeploymentManager.deleteDeployment(), and CamphorDeploymentManager.findDeployment().
DeploymentAttributesDefinition findDeployment | ( | self, | |
str | name | ||
) |
Definition at line 108 of file camphor_deployment_manager.py.
References CamphorDeploymentManager.findDeploymentPosition(), and CamphorDeploymentManager.getDeployment().
None deleteDeployment | ( | self, | |
str | name | ||
) |
Definition at line 112 of file camphor_deployment_manager.py.
References CamphorDeploymentManager.findDeploymentPosition(), and CamphorDeploymentManager.getDeployment().
schema |
Definition at line 20 of file camphor_deployment_manager.py.
Referenced by CamphorApplicationManager.createApplication(), CamphorBgpTesterManager.createBgpTester(), CamphorClusterManager.createCluster(), CamphorDeploymentManager.createDeployment(), CamphorDeviceManager.createDevice(), CamphorMetricManager.createMetric(), CamphorMonitorManager.createMonitor(), CamphorNetworkManager.createNetwork(), CamphorProjectManager.createProject(), CamphorTableManager.createTable(), CamphorApplicationManager.getApplication(), CamphorApplicationManager.getApplicationCommonAttributes(), CamphorBgpTesterManager.getBgpTester(), CamphorBgpTesterManager.getBgpTesterCommonAttributes(), CamphorClusterManager.getCluster(), CamphorClusterManager.getClusterCommonAttributes(), CamphorDeploymentManager.getDeployment(), CamphorDeploymentManager.getDeploymentCommonAttributes(), CamphorDeviceManager.getDevice(), CamphorDeviceManager.getDeviceCommonAttributes(), CamphorMetricManager.getMetric(), CamphorMetricManager.getMetricCommonAttributes(), CamphorMonitorManager.getMonitor(), CamphorMonitorManager.getMonitorCommonAttributes(), CamphorNetworkManager.getNetwork(), CamphorNetworkManager.getNetworkCommonAttributes(), CamphorProjectManager.getProject(), CamphorProjectManager.getProjectCommonAttributes(), CamphorTableManager.getTable(), CamphorTableManager.getTableCommonAttributes(), CamphorApplicationManager.setApplicationCommonAttributes(), CamphorBgpTesterManager.setBgpTesterCommonAttributes(), CamphorClusterManager.setClusterCommonAttributes(), CamphorDeploymentManager.setDeploymentCommonAttributes(), CamphorDeviceManager.setDeviceCommonAttributes(), CamphorMetricManager.setMetricCommonAttributes(), CamphorMonitorManager.setMonitorCommonAttributes(), CamphorNetworkManager.setNetworkCommonAttributes(), CamphorProjectManager.setProjectCommonAttributes(), CamphorTableManager.setTableCommonAttributes(), and CamphorManager.toYaml().
networkManager |
Definition at line 21 of file camphor_deployment_manager.py.
Referenced by CamphorManager.createBasicTopology(), CamphorDeploymentManager.createDataCenter(), CamphorManager.getNetworkManager(), and CamphorManager.verifyCamphorEntities().