Commit 756e738a authored by anarcat's avatar anarcat Committed by anarcat

update the notes file with current todo and bugs, add instructions for slaves

parent 7f4f7b2e
To test this:
Here is a list of pointers on how to setup DNS in aegir. It's still very crude
and needs a lot of love. It may also not be the right place for this as it
mixes todos, test procedures and install procedures.
Master server configuration
===========================
First, install bind, allow aegir to sudo rndc reload.
Then add the DNS service in the frontend. This should trigger a server
verification and configure the DNS service in the backend. Creating a site
should then create a zone and a record and reload bind.
If you're having trouble with this, you can try to test the backend.
Testing the backend
-------------------
drush provision-save @server_master --dns_service_type=bind
drush @server_master provision-zone create foobar.com
......@@ -13,29 +29,46 @@ $TTL
@ IN SOA foobar.com. hostmaster.foobar.com. ( 2010061700 21600 3600 604800 86400 )
www IN A 1.2.3.4
this command:
With this command:
provision-zone create-host www.foobar.com
should another similar record to the same zonefile.
Caveats:
Slave server configuration
==========================
A slave server requires the following steps:
1. install bind, sudo, rsync on the server
2. create an aegir user on the server the usual way (including SSH key exchange)
3. create the server in the frontend with the bind_slave service
4. configure the master server to use those slaves:
drush provision-save @server_master --slave_servers=@server_slaveservername
Then running the tests describe in the master configuration should create a
config file in /var/aegir/config/bind_slave.conf that you need to include in
your bind configuration. The config file should look something like this:
zone "foobar.com" { type slave; file "/var/hostmaster/config/server_ns4koumbitnet/bind_slave/zone.d/foobar.com.zone"; masters { 1.2.3.4; }; allow-query { any; }; };
Caveats
=======
1. there's duplicate storage altogether: we could parse zonefiles and
use that as storage, not PHP files, but that would make switching
engines more difficult and would require writing parsers for all
engines.
Todo:
1. we need slave configuration (ie. modify the slaves configuration
so that they sync with the master, so just act on create_zone())
Bugs
====
Update: the above code is there, but doesn't work for some reason. When I run
a zone creation, i end up with:
1. bind is not restarted on slaves
creating zone configuration on slaves [0.21 sec, 7.39 MB] [notice]
Undefined variable: results provision.context.inc:362 [0.22 sec, 7.4 MB] [notice]
Todo
====
Dumping the d($server) structure shows that the slave server doesn't load
properly: it loads as a provisionService_null object, instead of a DNS object.
1. the bind_slave service doesn't exist in the frontend yet
2. the association between slaves and master doesn't exist in the frontend yet
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment