def create_bridge(self, req): cmd = jsonobject.loads(req[http.REQUEST_BODY]) rsp = CreateBridgeResponse() self._ifup_device_if_down(cmd.physicalInterfaceName) if linux.is_vif_on_bridge(cmd.bridgeName, cmd.physicalInterfaceName): logger.debug( '%s is a bridge device. Interface %s is attached to bridge. No need to create bridge or attach device interface' % (cmd.bridgeName, cmd.physicalInterfaceName)) self._configure_bridge() linux.set_device_uuid_alias(cmd.physicalInterfaceName, cmd.l2NetworkUuid) return jsonobject.dumps(rsp) try: linux.create_bridge(cmd.bridgeName, cmd.physicalInterfaceName) linux.set_device_uuid_alias(cmd.physicalInterfaceName, cmd.l2NetworkUuid) self._configure_bridge() logger.debug('successfully realize bridge[%s] from device[%s]' % (cmd.bridgeName, cmd.physicalInterfaceName)) except Exception as e: logger.warning(traceback.format_exc()) rsp.error = 'unable to create bridge[%s] from device[%s], because %s' % ( cmd.bridgeName, cmd.physicalInterfaceName, str(e)) rsp.success = False return jsonobject.dumps(rsp)
def create_bridge(self, req): cmd = jsonobject.loads(req[http.REQUEST_BODY]) rsp = CreateBridgeResponse() if linux.is_vif_on_bridge(cmd.bridgeName, cmd.physicalInterfaceName): logger.debug('%s is a bridge device. Interface %s is attached to bridge. No need to create bridge or attach device interface' % (cmd.physicalInterfaceName, cmd.bridgeName)) return jsonobject.dumps(rsp) try: linux.create_bridge(cmd.bridgeName, cmd.physicalInterfaceName) logger.debug('successfully realize bridge[%s] from device[%s]' % (cmd.bridgeName, cmd.physicalInterfaceName)) except Exception as e: logger.warning(traceback.format_exc()) rsp.error = 'unable to create bridge[%s] from device[%s], because %s' % (cmd.bridgeName, cmd.physicalInterfaceName, str(e)) rsp.success = False return jsonobject.dumps(rsp)
def _setup_docker_bridge(self): #enable bridge. use default l2network setting. br_dev = 'br_%s' % self.br_dev if not linux.is_bridge(br_dev): linux.create_bridge(br_dev, br_dev) #set docker args rhel_docker_config = '/etc/sysconfig/docker' ubuntu_docker_config = '/etc/default/docker' if os.path.exists(rhel_docker_config): open(rhel_docker_config, 'w').write('other_args="-b=%s"' % br_dev) shell.ShellCmd('service docker restart')() if os.path.exists(ubuntu_docker_config): open(ubuntu_docker_config, 'w').write('other_args="-b=%s"' % \ br_dev) shell.ShellCmd('service docker restart')()
def testName(self): linux.create_bridge('testbr0', 'eth0')