### Summary

Same issue reported here: https://github.com/ansible/ansible/issues/67266

Which was closed because it was "just a warning", but it is a bug because the warning occurs even when auto_silent is used. Just need to add an "if is_silent" check to this warning.

Ansible version: 2.9.11

### Issue Type

Bug Report

### Component Name

interpreter_discovery

### Ansible Version

```console
$ ansible --version
ansible 2.9.11
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3.6/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.6.8 (default, Dec  5 2019, 15:45:45) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
```


### Configuration

```console
$ ansible-config dump --only-changed
```


### OS / Environment

RHEL 8.2, ESXi 6.7 and 7.0 

### Steps to Reproduce

Run setup against an ESXi host with auto_silent interpreter; see warning.

### Expected Results

No warning about interpreter failure when silent mode is active.

### Actual Results

```console
Warning about no python interpreter when silent mode is active.
```


### Code of Conduct

I agree to follow the Ansible Code of Conduct
def __init__(self, message, interpreter_name, discovery_mode):
        super(InterpreterDiscoveryRequiredError, self).__init__(message)
        self.interpreter_name = interpreter_name
        self.discovery_mode = discovery_mode
    def __str__(self):
        return self.message
    def __repr__(self):
        
        return self.message
def discover_interpreter(action, interpreter_name, discovery_mode, task_vars):
    
    
    
    
    
    
    
    if interpreter_name != 'python':
        raise ValueError('Interpreter discovery not supported for {0}'.format(interpreter_name))
    host = task_vars.get('inventory_hostname', 'unknown')