Hey Everyone,
As Seb alluded to in the VP announcement thread, we have some reasonably
big news to report.

As many of you know, we have been working with the ASF to find ways to
better utilize the features of Github.  Github has been working very well
as a medium for managing pull requests and handling code review.
Unfortunately, due to a lack of permission granularity at
the Github organization level, we have not been able to take advantage
of features such as labels, commit hooks and other similar functionality.

I am happy to report that the ASF has approved a proposal put forward by
the ACS PMC to move the 'cloudstack' mirror repository on Github from the
'apache' Github organization to the 'apachecloudstack' Github
organization.  With this move, the ACS PMC will have more control over the
permissions in the organization, enabling us to use features such as
labels, commit hooks, etc, without it affecting every other apache project.

This is a major step for us to be able to better integrate automated
testing, as well as remove a lot of the busy work from the RM in
maintaining the status of every PR.

The PMC will be working with the ASF Infra team to work out the final
logistical details for the move and agree on how we should handle some of
the permission delegation in the new 'apachecloudstack' Github organization.

The development workflow and the commit process will not change.  The
'apachecloudstack/cloudstack' repo will remain a read-only mirror of the
canonical ASF repository and committers will still have to push commits to
the ASF repo.  Ross Gardler, the ASF chair, has a proposal in play to allow
Apache projects to use Github as their canonical repositories, but there
are still many challenges to be resolved before that can take effect.  We
will likely adopt that option when it becomes available, but there is no
timeline yet for that proposal as more work needs to be done to make it a
reality.

I have attached the proposal put forth by the PMC, which the ASF accepted,
so everyone has a clearer understanding of the changes we can expect to see
in the near future.

Cheers,

Will

----

## Objective:
   The purpose of this report is to expedite the process of moving the
GitHub
   mirror from `apache/cloudstack` to `apachecloudstack/cloudstack` as per
the
   details outlined in this report.  We would like to request that the ASF
Board
   consider this report and approve the move.  We would also request that
the
   ASF Infra team engage with us and do the actual transfer.

## Description:
   Apache CloudStack (ACS) is an IaaS (Infrastructure as a Service) cloud
   orchestration platform.  ACS manages many types of hypervisors, storage
and
   networking devices. Due to the infrastructure complexity, testing and
   validating ACS is a time consuming and costly endeavor.  Our community
is
   willing to share the labor and costs associated with building
distributed and
   automated testing environments, but we are facing many challenges with
the
   available automation integration points.

## Issue:
   Apache CloudStack has been making extensive use of GitHub pull requests
and
   they have become integral in the development workflow in our community.
The
   ACS GitHub repository is a mirror of the ASF repository, which is used
as the
   source of truth for the project code and only committers can contribute
to
   the ASF repository.  Currently the ACS GitHub repository is under the
   `apache` GitHub organization.  Unfortunately, due to the lack of
permissions
   on specific repositories inside a GitHub organization, no changes can be
made
   to a single repository without being applied to all repositories under
that
   organization.  This has become a problem for our project because we do
not
   have access to features such as being able to Label pull requests or add
   post commit hooks in order to kick off Continuous Integration runs when a
   branch changes, to give a couple examples.

   The ACS PMC has proposed and voted on a resolution to move the ACS GitHub
   mirror out of the `apache` GitHub organization and into the
   `apachecloudstack` GitHub organization.  The commit workflow will not
change
   and the ASF git repository will remain the source of truth for the
project.
   Both the ASF Infra team and members of the ACS PMC will have ownership
rights
   on the `apachecloudstack` GitHub organization.

   There are many motivating factors for this change, a few of which are
briefly
   outlined in the following list:
   - The Release Management of the ACS project has been a daunting task due
to
     a highly manual process, with very few hooks for support from the
greater
     community or through automation.  The RM task is currently a full time
job,
     making it difficult to find individuals willing to step up to the RM
role.
     This has had a negative impact on our project because periods of time
     without a RM gives the impression that the project is stagnant.
   - The ability to use GitHub Labels will make a huge difference for our
     project by enabling the greater community to help manage the status of
     different pull requests and let the release manager focus more on the
PRs
     that are ready.
   - Being able to use the GitHub Status features on pull requests will
help us
     better integrate the results from distributed CI runs into the
workflow.
   - Being able to setup GitHub Hooks such as the `post-commit-hook` will
enable
     us to better automate the distributed hardware CI integrations
provided by
     different community members, ensuring the code quality is maintained.
   - The ability to close PRs that are no longer relevant without having to
     track down the author to have them do it will help a lot in making
sure the
     PRs that are open are valid.

   This is not an exhaustive list, but a few items which will make a huge
impact
   on the sustainability of our project.

   In addition to the details outlined above, moving the GitHub `cloudstack`
   repository to the `apachecloudstack` GitHub organization, enables us to
   consolidate all of the different cloudstack related projects into a
single
   organization.  This will enable the community to better organize itself
and
   the maintain the other projects or documentation directly related to ACS.

   Here is an incomplete list of projects currently being maintained
   independently which we would like to move into the `apachecloudstack`
GitHub
   organization once we have moved the `cloudstack` repository:
   - cloudstack-cloudmonkey
   - cloudstack-www
   - cloudstack-docs
   - cloudstack-docs-install
   - cloudstack-docs-rn
   - cloudstack-docs-admin
   - cloudstack-ec2stack
   - cloudstack-gcsstack

## Progress:
   This initiative has been slowly moving forward over the past few months.
   Here is a breakdown of our current status:
   - All parties are in agreement with the decision to make the move
[1][2][3].
   - I have talked to GitHub support about getting the `mirror` setup after
the
     move.  They said that a user who has admin access to both
organizations can
     email them after the transfer and they will setup the mirror for us.
   - I have setup the `apachecloudstack` GitHub organization.
   - I have added Sam Ruby, Chris Mattmann and David Nalley (as well as
some PMC
     members) as owners of the `apachecloudstack` GitHub organization.

## Next Steps:
   We are now at the final steps to get this done.  Here are the remaining
tasks
   in order to move this forward.
   - Get a list of the ASF Infra members who should be added to the
     `apachecloudstack` GitHub organization as owners.
   - Do the transfer of the `cloudstack` GitHub repository from the `apache`
     GitHub organization to the `apachecloudstack` GitHub organization.
   - Contact GitHub support to update the mirror so the repository at
     `apachecloudstack/cloudstack` is a mirror of the source of truth ASF
git
     repository.

Please feel free to reach out to us on the private@ mailing list if you
have any
questions or to work out any other final logistics.

-Will Stevens

[1]
http://markmail.org/message/4an7nivshnndo25c?q=list:org%2Eapache%2Eincubator%2Ecloudstack-%2A+apache-cloudstack/cloudstack
[2]
http://markmail.org/message/53ct2mma4x4jm6s2?q=list:org%2Eapache%2Eincubator%2Ecloudstack-%2A+External+fork+of+Cloudstack
[3]
http://markmail.org/message/2phudhgcjjo236ay?q=list:org%2Eapache%2Eincubator%2Ecloudstack-%2A+External+fork+of+Cloudstack

Reply via email to