**Apache Airflow version**:
2.0.1

**Kubernetes version**:
Server Version: version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.9-eks-d1db3c", GitCommit:"d1db3c46e55f95d6a7d3e5578689371318f95ff9", GitTreeState:"clean", BuildDate:"2020-10-20T22:18:07Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

**What happened**:
Clearing a failed subdag task with Downstream+Recursive does not automatically set the state of the parent dag to 'running' so that the downstream parent tasks can execute.

The work around is to manually set the state of the parent dag to running after clearing the subdag task

**What you expected to happen**:
With airflow version 1.10.4 the parent dag was automatically set to 'running' for this same scenario

**How to reproduce it**:
- Clear a failed subdag task selecting option for Downstream+Recursive
- See that all down stream tasks in the subdag as well as the parent dag have been cleared
- See that the parent dag is left in 'failed' state. 

airflow/models/dag.py
if task_end_dates and next_run_date:
            min_task_end_date = min(task_end_dates)
            if next_run_date > min_task_end_date:
                return None
        return next_run_date
    def get_run_dates(self, start_date, end_date=None):
        """
        Returns a list of dates between the interval received as parameter using this
        dag's schedule interval. Returned dates can be used for execution dates.
        :param start_date: the start date of the interval
        :type start_date: datetime
        :param end_date: the end date of the interval, defaults to timezone.utcnow()
        :type end_date: datetime
        :return: a list of dates within the interval following the dag's schedule
        :rtype: list
        """
        run_dates = []
        using_start_date = start_date
        using_end_date = end_date
        
        using_start_date = using_start_date or min([t.start_date for t in self.tasks])
        using_end_date = using_end_date or timezone.utcnow()
        
        
        next_run_date = self.normalize_schedule(using_start_date) if not self.is_subdag else using_start_date
        while next_run_date and next_run_date <= using_end_date:
            run_dates.append(next_run_date)
            next_run_date = self.following_schedule(next_run_date)
        return run_dates
    def normalize_schedule(self, dttm):