Greetings Ansible Community,

For the 2.10 release of Ansible, we plan to restructure the ansible/ansible 
repository. The majority of modules and plugins will migrate to collection 
repositories <https://github.com/ansible-collections> to better enable the 
community to build, test, and release modules separately from Ansible releases. 
This will remove the Core maintainers as a bottleneck to community module and 
plugin development.


Timeline (subject to change):
    - 2020-03-02: we will freeze the devel branch using protected branches, and 
we will create the temp-2.10-devel branch from devel. This date marks the end 
of merging non-base plugin/module PRs into ansible/ansible.
    - 2020-03-09: we will perform the initial migration against 
temp-2.10-devel, and we will do our initial testing of the components.
    - 2020-03-23: we intend to unfreeze devel and merge temp-2.10-devel back 
into devel. From that point on, devel for ansible/ansible will be for the 
ansible-base project only.


Migration details:
    - All components of the Ansible project 
<https://github.com/ansible/ansible/> are being evaluated, and tagged for 
future upstream homes.
    - The mapping of content between the current ansible/ansible directory 
structure and each collection is being maintained via scenario files 
<https://github.com/ansible-community/collection_migration/tree/master/scenarios/nwo>.
 The scenario files define what each collection will contain after the 
migration takes place.
    -  Everything under _core in the ansible.yml 
<https://github.com/ansible-community/collection_migration/blob/master/scenarios/nwo/ansible.yml>
 migration scenario file will become Ansible 2.10 (ansible-base).
    - Once the migration is run, which will be on or around March 9, 2020, all 
content will be copied to a temporary location (Ansible Migration GitHub 
Organization <https://github.com/ansible-collection-migration/>) where it can 
then be moved to the final location of the content owner’s choosing. All 
content migrated will then be deleted from the ansible/ansible GitHub 
repository <https://github.com/ansible/ansible/>.
    - By the end of March, the current ansible/ansible GitHub repository will 
only contain the contents of ansible-base (see definition below), only 
foundational Ansible components. All content will have been migrated.


What will be in Ansible 2.10?
Ansible 2.10 will contain a minimal amount of Core supported modules and 
plugins, allowing for additional plugins and modules to be installed separately 
via collections. The proposed contents of ansible-base are listed under _core 
here:
https://github.com/ansible-community/collection_migration/blob/master/scenarios/nwo/ansible.yml
 
<https://github.com/ansible-community/collection_migration/blob/master/scenarios/nwo/ansible.yml>

To test out a pre-release version of ansible-base today, use the following 
source:
https://github.com/ansible-collection-migration/ansible-base 
<https://github.com/ansible-collection-migration/ansible-base>

The pip install ansible-base command will install Ansible 2.10 as described 
above (not currently available).
The pip install ansible command will install the Ansible Community Distribution 
(ACD) that includes Ansible 2.10 and all additional module and plugin content 
via Collections.

Please note that ACD is still currently in development and not available for 
testing yet at this time.


What does a “migration” of content actually mean?
It effectively means that anything not part of Ansible Base, or Ansible 2.10, 
will be automatically relocated to an alternate GitHub organization and 
repository <https://github.com/ansible-collection-migration/>.


How is content “claimed”?
If content isn’t claimed, it will be migrated to the community.general 
collection and new GitHub repository (see below, “What happens to unclaimed 
content?”) and subject to all rules and policies of the Community Collection. 

Here is the process for claiming content:
    - Source content is moved to a GitHub organization and repository of your 
choosing
    - A namespace is ready for use on Ansible Galaxy in order to publish content
    - An Ansible Collection is created, built, and published to Ansible Galaxy
    - Existing content in the Ansible GitHub repository is flagged for deletion
    - BOTMETA is updated to ensure future Ansible community distributions carry 
the content going forward. Please refer to the Collections Developer Guide 
<https://docs.ansible.com/ansible/latest/dev_guide/developing_collections.html#migrating-ansible-content-to-a-collection>
 (migration section) for details on how to accomplish this.


If certain content isn’t part of Ansible 2.10, how will it get distributed?
Please note that Ansible 2.10 is just one piece of the larger Ansible Community 
Distribution (ACD) effort in the works. This includes a recombined set of all 
content similar to previous Ansible releases, but instead pulls content from 
various upstream repositories to form a final installation of Ansible Base plus 
Ansible Content. Full details on this effort will be made available soon.


What if I don’t see certain content as part of a scenario file?
It may be that the content has not been merged into the ansible/ansible project 
on GitHub already and therefore no migration is needed, and therefore no 
scenario file is needed. If some content is in fact part of Ansible 2.9 and not 
part of a scenario file, please let us know to ensure the migration goes as 
expected.


What happens to unclaimed content on March 9, 2020?
Any content in the ansible/ansible project on GitHub that is not claimed and 
migrated elsewhere will automatically be migrated to the community.general 
collection under the ansible-collections GitHub organization.


Where do I file issues against Ansible 2.10?
It depends on when you file the issue due to where we are in the migration 
process:
    Before 2020-03-02:
        All issues: ansible/ansible project on GitHub
    Between 2020-03-02 and 2020-03-23: Please ask. The project repositories 
will be constantly changing
    After 2020-03-23:
        ansible-base issues: ansible/ansible project on GitHub
        Collections specific issues: 
ansible-collections/{namespace}.{collection} or in the partner owned GitHub 
repository

Please note: once content is migrated out of the ansible/ansible repository, 
any remaining open issues and pull requests will no longer be valid. It will be 
up to the original reporter to move these to the new GitHub organization and 
repository. More details to follow closer to the freeze date.


What other details are currently in process and will be detailed in the near 
future?
Topics such as collection versioning, deprecation, and documentation are being 
worked on and will be detailed soon. Please refer to the Ansible Collections 
Community Overview at the following location: 
https://github.com/ansible-collections/overview/blob/master/README.rst 
<https://github.com/ansible-collections/overview/blob/master/README.rst>


What if I have more questions?
Please respond to this email or reach out on Freenode IRC in #ansible or 
#ansible-devel.


---

Respectfully,

Sam Doran
Ansible Core

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-devel/94B28339-D308-4D9B-B3B0-FF65067654F5%40redhat.com.

Reply via email to