title: Expand Ansible role with tasks without modifying the role itself
body: <p>I have lots of Ansible roles which got copied from project to project so I've decided to store the roles in a separate Git repositories and assemble the playbook using Git submodules.</p>
  
  <p>The desired playbook structure is:</p>
  
  <pre><code>- Playbook repo
    - playbook.yml
    - roles/role1 (submodule)
    - roles/role2 (submodule)
    - roles/role3 (playbook-specific role)
  </code></pre>
  
  <p>The problem is that sometimes it's not worth to commit the extra functions into the role repository (long code review process, the functionality is too specific, etc.) so I need a way to expand the role steps without modifying the role itself like:</p>
  
  <pre><code>---
  
  - name: Deploy the product and the very-specific-configuration
    roles:
      - role1
      - role2
        tasks:
          - name: extra_specific_task1
            command: '&lt;some_command&gt;'
            become: True
          - name: extra_specific_task2
            package:
              name: '&lt;pkgname&gt;'
              state: present
            become: True
      - role3
  </code></pre>
  
  <p>So the question is: How to add such kind of function?</p>