We are in the process of deploying Aegir on an AWS cluster.

We'd like to be able to dynamically load-balance / scale our apache instances depending on load.

We've got everything working and are able to spin up new instances "on demand" when loads spike. However, these new instances can't connect to the database, since db users are restricted to the hosts that Aegir already knows about.

(see http://drupal.org/node/337485)

Since these instances are brought up "on demand", we don't know their IPs ahead of time.

Anyone dealt with this before and have a potential work-around? I could hack Provision to force it to use "%" as the hostname, but would prefer to avoid this if possible.

If there's any interest, I could also try to put together a clean patch which would allow users to choose how database users are managed, since I imagine we're not the only ones deploying Aegir in cluster environment. I'm new to Aegir, but it would give me something to cut my teeth on ;-)

CommentFileSizeAuthor
#1 provision_db_access_wildcard.patch924 bytesgmania
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

gmania’s picture

Here's a patch which provides the quick and dirty hack of forcing all db users to "%", in case anyone else runs into this issue.

I'd still be interested in hearing if anyone has a better work-around, or if this is a problem impacting anyone else.

ergonlogic’s picture

Version: 6.x-1.6 » 7.x-3.x-dev
Issue summary: View changes

New features need to be implemented in Aegir 3.x, then we can consider back-porting to Aegir 2.x. Aegir 1.x is essentially deprecated.

helmo’s picture

Status: Active » Closed (outdated)
Jon Pugh’s picture

Status: Closed (outdated) » Needs work

Oops, this is issue #1392934: Allow % wildcard hostname for db access (required in cluster enviro)

:D

This patch is great in that it identifies the exact point at which we generate the list...

We should allow servers to say they allow access in this way... I guess a simple new "context property" would be the "right" way to do it?

Jon Pugh’s picture

Status: Needs work » Closed (outdated)

So that's what I did: a new property "db_grant_all_hosts".

See https://www.drupal.org/node/2794915#comment-12159119