Most of the Tech:Net-crew is traveling up to Vikingskipet already tomorrow to establish the internet-connection and some of the most critical components of the infrastructure. From Saturday morning we'll be working on getting the core equipment up and running so that we are absolutely sure that we can provide the best and the most stable networking services for our users when they arrive on Wednesday.
For some years now, The Gathering has utilized different methods for automatic provisioning of the edge switches that the participants connect to. The first iteration of this system was used to configure ZyXel switches, and was called 'zyxel-ng'. Then, in 2010, The Gathering bought new D-Link edge switches with gigabit ports. New wendor, new configuration methods. 'dlink-ng' was born. It had lots of ugly hacks and exception handling. This was due to several reasons, but mainly because the D-Link's wouldn't take configuration automatically from TFTP/FTP/similar.
Five years had passed. We'd outgrown the number of switches that was bought in 2010, and we needed more. After thorough research and several rounds with RFQ's, we decided to buy new switches for TG15. We ended up buying Juniper EX2200's as edge switches. This meant, once again, a new configuration tool. We had this in mind when writing the RFQ, so we already knew what to expect. After some testing, trial and error, we landed on a proof-of-concept. It involves DHCP Option 82, custom-made DHCP-server and some scripts to serve software- and configuration files over HTTP. The name? Fast and Agile Provisioning (FAP).
With this tool, we can connect all the edge switches on-the-fly, and they'll get the configuration designed for that specific switch (based on what port on the distro they connect to). If the switch doesn't have the specific software we want it to have, it'll automatically download this software and install it.
It's completely automated once set up, and can be kept running during the entire party (so f.ex. if an edge switch fails during the party, we can just replace it with a blank one, at it'll get the same configuration as the old one).