'Delete a QoS policy rule.
:param context: neutron api request context
:type context: neutron.context.Context
:param rule_cls: the rule object class
:type rule_cls: a class from the rule_object (qos.objects.rule) module
:param rule_id: the id of the QosPolicy Rule to delete
:type rule_id: str uuid
:param policy_id: the id of the rule\'s policy
:type policy_id: str uuid
:returns: None'

def delete_policy_rule(self, context, rule_cls, rule_id, policy_id):

    with db_api.autonested_transaction(context.session):
        policy = self._get_policy_obj(context, policy_id)
        rule = policy.get_rule_by_id(rule_id)
        rule.delete()
        policy.obj_load_attr('rules')
        self.driver_manager.call(qos_consts.UPDATE_POLICY_PRECOMMIT, context, policy)
    self.driver_manager.call(qos_consts.UPDATE_POLICY, context, policy)
