コード例 #1
0
ファイル: XendNetwork.py プロジェクト: Hearen/OnceServer
    def destroy(self):
        # check no VIFs or PIFs attached
        if len(self.get_VIFs()) > 0:
            raise NetworkError("Cannot destroy network with VIFs attached",
                               self.get_name_label())

        if len(self.get_PIFs()) > 0:
            raise NetworkError("Cannot destroy network with PIFs attached",
                               self.get_name_label())        
        
        XendBase.destroy(self)
        Ovsctl.bridge_del(self.get_name_label())
        XendNode.instance().save_networks()
コード例 #2
0
ファイル: XendNetwork.py プロジェクト: Hearen/OnceServer
    def recreate(self, record, uuid):
        """
        Called on xend start / restart, or machine
        restart, when read from saved config.
        Needs to check network exists, create it otherwise
        """

        # Create instance (do this first, to check record)
        network = XendNetwork(record, uuid)

        # Create network if it doesn't already exist
        if not bridge_exists(network.name_label):
            if network.managed:
                Ovsctl.bridge_create(network.name_label)
            else:
                log.info("Not recreating missing unmanaged network %s" % network.name_label)

        return uuid
コード例 #3
0
ファイル: XendNetwork.py プロジェクト: Hearen/OnceServer
    def create(self, record):
        """
        Called from API, to create a new network
        """
        # Create new uuids
        uuid = genuuid.gen_regularUuid()

        # Create instance (do this first, to check record)
        network = XendNetwork(record, uuid)

        # Check network doesn't already exist
        name_label = network.name_label
        if bridge_exists(name_label):
            del network
            raise UniqueNameError(name_label, "network")

        # Create the bridge
        Ovsctl.bridge_create(network.name_label)

        XendNode.instance().save_networks()

        return uuid
コード例 #4
0
ファイル: XendNetwork.py プロジェクト: Hearen/OnceServer
def bridge_exists(name):
    return name in Ovsctl.get_state().keys()