def generateConfig(self, session, pod): configWriter = ConfigWriter(self._conf, pod, self._dao) modifiedObjects = [] for device in pod.devices: if device.role == 'leaf' and (self.isZtpStaged or device.family == 'unknown'): # leaf configs will get created when they are plugged in after 2Stage ztp continue config = self._createBaseConfig(device) config += self._createInterfaces(session, device) config += self._createRoutingOptionsStatic(session, device) config += self._createRoutingOptionsBgp(session, device) config += self._createProtocolBgp(session, device) config += self._createProtocolLldp(device) config += self._createPolicyOption(session, device) config += self._createSnmpTrapAndEvent(session, device) config += self._createVlan(device) device.config = DeviceConfig(device.id, config) modifiedObjects.append(device) logger.debug('Generated config for device name: %s, id: %s, storing in DB' % (device.name, device.id)) configWriter.write(device) if self.isZtpStaged: pod.leafSettings = self._createLeafGenericConfigsFor2Stage(session, pod) modifiedObjects.append(pod) logger.debug('Generated %d leaf generic configs for pod: %s, storing in DB' % (len(pod.leafSettings), pod.name)) configWriter.writeGenericLeaf(pod) self._dao.updateObjects(session, modifiedObjects)
def generateConfig(self, pod): configWriter = ConfigWriter(self.conf, pod, self.dao) for device in pod.devices: config = self.createBaseConfig(device) config += self.createInterfaces(device) config += self.createRoutingOption(device) config += self.createProtocols(device) config += self.createPolicyOption(device) config += self.createVlan(device) configWriter.write(device, config)
def createLeafConfigFor2Stage(self, device): configWriter = ConfigWriter(self._conf, device.pod, self._dao) with self._dao.getReadWriteSession() as session: config = self._createBaseConfig(device) config += self._createInterfaces(session, device) config += self._createRoutingOptionsStatic(session, device) config += self._createRoutingOptionsBgp(session, device) config += self._createProtocolBgp(session, device) config += self._createProtocolLldp(device) config += self._createPolicyOption(session, device) config += self._createSnmpTrapAndEventForLeafFor2ndStage(session, device) config += self._createVlan(device) device.config = DeviceConfig(device.id, config) self._dao.updateObjects(session, [device]) logger.debug('Generated config for device name: %s, id: %s, storing in DB' % (device.name, device.id)) configWriter.write(device) return config