Goals

We'd initially intended to take this opportunity to completely rewrite Aegir's codebase, however this has been postponed. For now, we are looking at doing a more-or-less straight port to Drupal 7. Our reasoning is that we need a stable D7 release by the time Drupal 8 is released, since D6 support won't extend much beyond that point. Considering the time-frame and available resources, we feel that a straight port to D7 will minimize risks, and give us the breathing room needed to undertake more significant architectural changes in the following release.

That said, we are still taking this opportunity to re-factor significant portions of the code-base. In addition, we have a number of new features and improvements that we'd like to see in Aegir 3. At this point, the scope remains somewhat fluid. We'll update this issue with additional details as they become more concrete.

We're intending to #2168955: switch to semantic versionning for Aegir 3.0.0. This will allow us to have a "LTS" (long-term support) release in the 3.0.x series, but also allow us to add features, and make non-API-breaking changes in 3.x.0 releases.

Priorities

We need to prioritize getting a stable 3.0.0 version released. To that end, we've begun tagging issues to allow us to help with that prioritization.

  • Aegir 3.0.0: Immediate priorities blocking an initial release.
  • Aegir 3.1.x: Feature additions and fixes that we'll want to prioritize next.
  • Aegir 3.x.y: Anything else that we can likely fit into the Aegir 3 release cycle.

How can I get involved?

Help with any of the issues tagged for our initial 3.0.0 release is the priority.

We'll shortly be documenting a (relatively) simple way to test Aegir 3 and patches attached to our issues. In addition, we're shifting our documentation efforts to Aegir 3, which we'll be hosting on at: http://aegir.readthedocs.org/en/latest/index.html. These are both great ways for non-developers to help out.

In addition, you can have a look at the links to the issue queues for each of the components below. Find an issue that you like the look of and try to progress it a little, you don't have to complete the issue, you can just post a helpful comment, make a diagram, etc. You can chat with the Aegir maintainers via IRC if you need guidance on what issues to look at.
Donate Now to enable others to work more on this.

Provision

Provision's 7.x-3.x Issue Queue
Provision is independent of Drupal (since it's just Drush extensions) so there's little to do there directly related to the D7 port. However, this is where most of the heavy lifting in Aegir happens, so there are a number of issues we'd like to tackle in Aegir 3.

Eldir

Eldir's 7.x-3.x Issue Queue
The theme has already been ported to D7, it's in the 7.x-3.x branch of the eldir project. See #1907010: Port Eldir to D7 for more information. A UI refresh for Aegir 3 would be nice, but isn't currently a priority. If you're a UX enthusiast, we'd love to hear you ideas.

Hostmaster

Hostmaster's 7.x-3.x Issue Queue
There is a port of the install profile in the 7.x-3.x branch of hostmaster. See #1455232: Create a basic install profile for Hostmaster for more information. While there isn't likely to be significant changes isolated to the installation profile, this is the queue used by the maintainers for issues that span multiple components.

Hosting

Hosting's 7.x-3.x Issue Queue
This is the big one! This effort is progressing well: Aegir itself will install, and servers, platforms and sites can be created. We will soon undertake completing the D7 port of the non-core features. We are currently forward-porting much of the recent work that went into the Aegir 2 release. Much of what remains is Views integration fixes.

Comments

ergonlogic’s picture

I've created issues for the "core required" Aegir modules, which should probably be our priority. I figure these are:

  • hosting
  • package
  • platform
  • server
  • site
  • task

I'll leave the rest alone for now, so as not to clutter the issue queue.

Steven Jones’s picture

Thanks for writing this up!

Just thinking out loud, but does it make sense to have a 7.x-1.x branch, that has feature parity with 6.x-1.x and is basically a straight port? 7.x-2.x then becomes the new hotness afterwards.

anarcat’s picture

I am not sure we have the manpower to maintain 3 branches at a time. I would rather keep D7 as one of the features of 2.x than try to push three release branches at the same time...

Anyways, as things stand now, 2.x is pretty close to 1.x in terms of features and if we concentrate on the D7 port, I feel that is pretty much what it's going to be. :)

We could, however, have a feature branch for D7... but I would try to merge it in as soon as it's functional. Same for Drush 5 support, btw.

Steven Jones’s picture

I'm going to port Eldir!

Steven Jones’s picture

So I've worked on a 'harness' for porting Eldir (will open a different issue for that) that is basically a D7 implementation of the main tables and forms in Aegir, you can build it using the stub here:

http://drupal.org/sandbox/darthsteven/1267494

Steven Jones’s picture

I've made the 7.x-2.x branch actually use Drupal 7, which means that branch is totally broken now, but there's a 6.x-2.x for those that want new stuff, but not Drupal 7. It just makes more sense that way.

The Eldir theme has been ported and committed to Hostmaster 7.x-2.x.

Steven Jones’s picture

Version: 6.x-1.x-dev » 7.x-2.x-dev
halcyonCorsair’s picture

Subscribing.

tema’s picture

Me too ))

skwashd’s picture

subscribe
#spam

anarcat’s picture

@skwashd - you can follow issues now, no need to subscribe anymore! sorry for the spam.

Steven Jones’s picture

Title: META: D7 port of Aegir » META: D7 rewrite of Aegir roadmap
Assigned: Unassigned » Steven Jones

Changing title to reflect what we're actually going to do, and assigning it to me so it's clear that I have ownership of this initiative.

Steven Jones’s picture

Issue summary: View changes

updated with the issues I've created

Steven Jones’s picture

Title: META: D7 rewrite of Aegir roadmap » Roadmap: D7 rewrite of Aegir
Steven Jones’s picture

Issue summary: View changes

Update the summary to indicate that we are doing a rewrite, not a port.

Steven Jones’s picture

Issue summary: View changes

Updated issue summary.

Steven Jones’s picture

Issue summary: View changes

Updated issue summary.

Steven Jones’s picture

Issue summary: View changes

Updated issue summary.

Steven Jones’s picture

Issue summary: View changes

Updated issue summary.

Steven Jones’s picture

Issue summary: View changes

Updated issue summary.

Steven Jones’s picture

Issue summary: View changes

Updated issue summary.

Steven Jones’s picture

Issue summary: View changes

Updated issue summary.

Steven Jones’s picture

Issue summary: View changes

Updated issue summary.

Steven Jones’s picture

Status: Active » Postponed (maintainer needs more info)

So we pretty much decided over on the community site to put the D7 port on hold, and do a D8 port instead!

Steven Jones’s picture

Issue summary: View changes

Updated issue summary.

Steven Jones’s picture

Title: Roadmap: D7 rewrite of Aegir » Roadmap: D8 rewrite of Aegir
Steven Jones’s picture

Assigned: Steven Jones » Unassigned
cweagans’s picture

Title: Roadmap: D8 rewrite of Aegir » Roadmap: D7 rewrite of Aegir

Er, okay, I'm glad this discussion happened where people could actually see it and participate.

I'd really love to have the frontend of Aegir implemented in Drupal 7, using entities and fields etc. But it's a massive task to re-write Aegir, in fact I'm not sure we'll be able to complete until summer 2013, which is when D8 is supposed to be release. So at that point, do we just port to D8 (hopefully a lot less painful)?
It seems that porting to D7 is splitting our focus and resources maybe, if we switched to just saying, new features go into 6.x-2.x, and we just have a good year or so of building on Aegir and making it better and more refined. We can use the time to clean up 6.x-2.x and make the code base cleaner and organised better etc.
Then at some point, when D8 hits feature freeze we start building the frontend on top of D8, and after it comes out we release too.

This is madness. Think about this timeline a bit more: D6 will be EOL and unsupported by the time Aegir is released on top of Drupal 8. Most of the things that we'd have to do for a D8 rewrite are nearly identical for what we'd have to do for a D7 rewrite (converting some things to Entities, cleaning up the code, perhaps replacing all the hardcoded lists with Views, etc). Telling people that they have to install a really old version of Drupal just to run Aegir just won't do. I really hate that I have to run Drupal 6 to be able to use Aegir, and I suspect that there are some other people in that boat as well.

If you guys don't want to rewrite the frontend on Drupal 7, then fine. But don't completely discard the idea of a D7 port - it's still important, even if it's a lot of work. I don't think it will be that bad and I'd be happy to look at certain components over the next few months. Worst case, I'll try to gather up some funding to get a developer paid to do the upgrade.

Hell, if you would have announced this a week ago, I would have submitted a GSoC project for it >.<

anarcat’s picture

Status: Postponed (maintainer needs more info) » Postponed

This is marked postponed (clarified the status while I'm here), which means anyone is free to pick this up and run. Code is gold.

We, on the other hand, have plenty of other stuff on our hands to run with, so we're focusing on what seems really important right now.

Note that you usually don't "install drupal" yourself to run aegir, it installs it for you, and in a dedicated platform anyways, so I don't see this as being so much of an issue.

cweagans’s picture

This is marked postponed (clarified the status while I'm here), which means anyone is free to pick this up and run. Code is gold.
We, on the other hand, have plenty of other stuff on our hands to run with, so we're focusing on what seems really important right now.

Sure, I can understand prioritization, but throwing out the D7 port just seems silly. Most of the things that will have to be done for a D8 port will also have to be done for a D7 port. IMO, doing the D7 port helps to line the system up for an easy-ish D8 port.

Note that you usually don't "install drupal" yourself to run aegir, it installs it for you, and in a dedicated platform anyways, so I don't see this as being so much of an issue.

I'm aware of that, but the fact that I have a Drupal 6 installation sitting around drives me nuts. I won't even install Open Atrium anymore because of that reason.

Robin Millette’s picture

This just in:
http://drupal.org/project/dns
Module to help administer your DNS records in Drupal. Will be built for Drupal 7 using the new entity system.

elvis2’s picture

What is the status on this project? It seems the aegir community is hard at work moving towards d7 but this thread seems to indicate the next drupal ready aegir platform will be for d8?

anarcat’s picture

As far as I know, no one is working on the D7 rewrite.

cweagans’s picture

I started on it, but have been slammed lately, so I haven't been able to work on it as much as I'd have liked.

anarcat’s picture

Awesome news! Please consider publishing your work to a sandbox so that it is not lost if you stop again. :) Are you starting from the current d7 rewrite branch (7.x-2.x)?

anarcat’s picture

Issue summary: View changes

Updated issue summary.

anarcat’s picture

Issue summary: View changes

mention the straight port

anarcat’s picture

Issue summary: View changes

clarify status of eldir and other things

anarcat’s picture

Just to clarify the current situation: we are *not* giving up on the port to D7. If someone wants to rush this for Aegir 2, it would even be welcome, but I am doubtful that a port would be possible by the time we want to release 2.x (that is: real soon now).

We are not going to do the full entities port however - we will just do a minimal port to ensure continuity and keep the rewrite for an eventual D8 port, in Aegir 3 or 4.

So ideally, Aegir 2 would be Drupal 7 and Aegir 3 Drupal 8, but we don't want to wait that long to release Aegir 2, so it's mostl likely going to be:

  • Aegir 2: Drupal 6, short-lived
  • Aegir 3: Drupal 7, trivial port
  • Aegir 4: Drupal 8, rewrite with entities and so on
ergonlogic’s picture

Title: Roadmap: D7 rewrite of Aegir » Roadmap: D7 port of Aegir
Status: Postponed » Needs work

For the past couple weeks, we've been working on a port of Hostmaster to Drupal 7. We're happy to say that we've made a lot of progress, and have basic functionality working (and even a couple of enhancements already)! Here's a high-level plan for the port, showing our progress so far:

  1. Run hostmaster through coder_upgrade
  2. Ensure hostmaster-install works
  3. Ensure 'core' functionality works ('verify server', 'create platform' & 'install site'...)
  4. Add (Selenium) tests of 'core' functionality
  5. Ensure rest of Aegir functionality works and is covered by tests
  6. Merge into active dev branches

We've pushed 7.x-3.x branches to both Hostmaster and Provision, and we're currently proceeding with integrating Selenium into our testing infrastructure.

Steven Jones’s picture

So while I think that adding Selenium tests for the full Aegir stack is a good idea, I wonder if we could add normal Drupal simpletests and get it working somehow.

ergonlogic’s picture

Let's move discussion on testing back over to #1080590: Testing [meta] :)

marafa’s picture

@anarcat
will our installs be able to upgrade from 1.x to 3.x and bypass 2.x?

anarcat’s picture

@marafa - usually not. Aegir is designed to be upgraded to skip minor but not major versions.

anarcat’s picture

Issue summary: View changes

clarify the status of everything

helmo’s picture

Lets discuss how we merge code from 6.x-2.x to 7.x-3.x...

Ideal would be to only work on 3.x and backport important fixes... but work on 2.x is still ongoing to get it stable.

I'd hate to lose work.
@Steven Jones or @ergonlogic: would you be willing to merge in the recent 2.x commits for the time being? Or should the committer be responsible to get it it 3.x?

ergonlogic’s picture

Good point, @helmo.

In my opinion, we should focus on getting 2.0 released, and I wouldn't want to slow that down by asking for patches to 3.x and then backporting to 2.x. Especially since 3.x is only barely functional at the moment. However, that's obviously the best idea once we release 2.0.

I'll make some time to look at merging the recent 2.x changes into the 3.x branch, and then keeping them aligned.

anarcat’s picture

Can't we just git merge the trees?

Aka git co 7.x-3.x ; git merge 6.x-2.x?

ergonlogic’s picture

@anarcat, that's largely the plan, but any db code changes will likely need to be adapted, etc.

ergonlogic’s picture

I merged 6.x-2.x into 7.x-3.x, and I'll do so at least for each pre-release that we do.

helmo’s picture

Version: 7.x-2.x-dev » 7.x-3.x-dev

Setting the correct version.

helmo’s picture

I guess we would also want to consider support for Drush 8.x-6.x as that is in beta now

anarcat’s picture

adding tag to be able to hunt down other similar issues.

anarcat’s picture

alright, i got rid of all the other instances of that tag - we should now use 7.x-3.x-dev for all 3.x issues.

helmo’s picture

Issue tags: +meta

I've opened an extra meta issue to discuss Drush 6: #2002804: [meta] depend on Drush 8.x-6.x?

ergonlogic’s picture

I merged in the changes up to RC2, and worked out enough of the bugs that 7.x-3.x will install. Working through some of the Views stuff now, since it looks like a lot of our handlers broke.

acbramley’s picture

Hi all, just chiming in here to get an idea of what the plan is for this? From the issue summary it seems like you've halted work until D8 for the port? Or are you going to proceed with this D7 port as well as the D8 port down the road?

Cheers

cweagans’s picture

cweagans’s picture

Issue summary: View changes

added extra task

ergonlogic’s picture

Title: Roadmap: D7 port of Aegir » Roadmap: Aegir 3 (D7 port)

Updated the issue summary and title.

ergonlogic’s picture

Issue summary: View changes

Updated issue summary.

acbramley’s picture

Thanks a lot for the issue summary update, makes it a lot clearer :)

acbramley’s picture

Issue summary: View changes

Updated issue summary.

ergonlogic’s picture

Issue summary: View changes

Updated issue summary.

helmo’s picture

Title: Roadmap: Aegir 3 (D7 port) » [meta] Roadmap: Aegir 3.x (D7 port)
Issue summary: View changes
Related issues: +#2023113: [meta] 2.0 release
DamienMcKenna’s picture

I suggest going through each of the subprojects and creating a meta issue for each one that lists all of the issues required for a 7.x-3.0 release, that'd help focus the community towards getting the release out the door.

marafa’s picture

i believe there are issues with the upgrade path. from 2.x to 2.x+1. has this been fixed in 3.x? if not shouldnt it have its own meta issue? #2181885 #2197443 etc?

also curious how production sites upgrade their installation base. or do they?

helmo’s picture

I've created #2262575: [meta] Upgrade path Aegir 2.x to 3.x for this. Feel free to add...

PS: @marafa: if you add [# and ] around the issue numbers they get rendered as a link... #2181885: upgrade script should handle config move too #2197443: upgrade.sh script doesnt update drush installed via pear

ergonlogic’s picture

Issue summary: View changes
Issue tags: +Aegir 3.0.0

I've started to tag issues with Aegir 3.0.0, Aegir 3.1.x, or Aegir 3.x.y.

I updated the issue summary to reflect this.

gboudrias’s picture

Issue summary: View changes

Updated the links in the description (the Hostmaster is now titled Hostmaster (Aegir)).

Also it seems we need to tag more issues, as there are only 2 tagged as 3.0.0

gboudrias’s picture

Issue summary: View changes
gboudrias’s picture

Issue summary: View changes
helmo’s picture

I'd like to get out an alpha release before DrupalCon Amsterdam. Then we can work towards a beta during and after

Any alpha blockers?

Maybe #2300537: Merge Provision extensions into Hosting modules

helmo’s picture

helmo’s picture

helmo’s picture

I've added a number of issues to the Aegir 3.0.0 tag.

I'm not sure all of them should be release blockers, but it's a start to get to a release...

Although I can't be there the Global Sprint Weekend might inspire some....

ergonlogic’s picture

We're looking at having an Aegir Summit at NYCcamp this year, in July. It'd be great to do the official Aegir 3 release then.

I doubt that we'll have semver for contrib on d.o by then, so we might want to start a 4.0.x branch for larger changes once we do an RC.

We only have a couple criticals at this point, two of which I recently escalated, as they affect backup integrity. Besides backups, I'd like to try to get SSL fixed up for 3.0, as per #2466977: [META] SSL refactor. Obviously, #1194602: [meta] Support the hosting of Drupal 8 sites is pretty important too.

I think, if we focus on these issues, getting them into a July 3.0 release is a reasonably realistic goal. I'll be working on the backup integrity issues in the coming weeks, since I've just refamiliarized myself with that component. D8 and/or SSL could be good sprint goals at DC Los Angeles, which is coming up in just a few weeks.

ergonlogic’s picture

Status: Needs work » Active

In preparation for an imminent 7.x-3.0 release, I've closed all issues prior to 2.x. I also started 7.x-4.x branches on all the main projects, and created dev snapshot releases for each. This will allow us to start triaging the remaining issues we want to tackle in the 3.x release cycle, and postpone others for later dev.

helmo’s picture

As the recent testbot failures have been fixed we should be ready for a new beta release ....

ergonlogic’s picture

+1 for a new beta.

We should perhaps add getting 'remote_import' added to the distro, as per #2180053: Include more "golden" contrib. This'd provide an alternative upgrade path, that would presumably present less risk.

helmo’s picture

helmo’s picture

Time for a release candidate...?

ergonlogic’s picture

I haven't had time to add a UI for SSL, but that can wait. I agree that we're pretty much ready for an RC. The remaining critical issues could easily enough be re-classified.

helmo’s picture

First release candidate of the 3.x branch is is out, see http://community.aegirproject.org/3.0-rc1

Still have to find time to fix debian packages ...

ergonlogic’s picture

We'll be releasing Aegir 3.0 today, at the NYCcamp/AegirSummit sprint.

jwjoshuawalker’s picture

       ___
    .-     \
   /   _    \
  |  /   \   \
   \|     \   \
    \      \   \
     \      \   \
      \     _\   \
       \  /       \
        \|         |
         \  ~      |
          \.__ ~   \
              \     \
               \     \
                \     \
                 \ ._=_\
                  \/    >
                   ` \\\
                  .  \\\\   .
                 .    |||| .   .
                _________________
               <_________________>
                \ _________o___ /
                  \    o  .   /
                    \   .   /
                      \   /
                       | |
                       | |
                       | |
                       | |
                    ___| |___
                 _--         --_
                   -----------
ergonlogic’s picture

Status: Active » Fixed

Aegir 3.0 has now been released.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.