def remove_rule(self, chain, rule, wrap=True, top=False):
        """Remove a rule from a chain.

        Note: The rule must be exactly identical to the one that was added.
        You cannot switch arguments around like you can with the iptables
        CLI tool.

        """
        try:
            self.rules.remove(IptablesRule(chain, rule, wrap, top))
            if not wrap:
                self.remove_rules.append(IptablesRule(chain, rule, wrap, top))
            self.dirty = True
        except __HOLE__:
            LOG.warning(_LW('Tried to remove rule that was not there:'
                            ' %(chain)r %(rule)r %(wrap)r %(top)r'),
                        {'chain': chain, 'rule': rule,
                         'top': top, 'wrap': wrap})
dataset/ETHPy150Open openstack/nova/nova/network/linux_net.py/IptablesTable.remove_rule