Line 27: |
Line 27: |
| == Network configuration == | | == Network configuration == |
| | | |
− | Develer has a 10mbit up/downlink and asks to limit bandwidth usage from hosted services.
| + | Network configuration is managed via [https://netplan.io/ netplan]. To modify, do: |
− | There is a traffic shaper, but it may have trouble shaping 6to4 traffic.
| |
| | | |
− | Bender is globally accessible through public, static IPv4 address.
| + | vi /etc/netplan/bender.yaml |
| + | netplan generate |
| + | netplan apply |
| | | |
− | The virbr0 bridge is created by libvirt on startup with <code>/etc/libvirt/qemu/networks/default.xml</code>.
| + | Bender is globally accessible through a public, static IPv4 address. |
− | Libvirt does not yet support assigning IPv6 addresses to bridges, therefore we do this in <code>/etc/rc.local</code>:
| + | IPv6 configuration is being discussed with Sonic net admins. |
| | | |
− | ip addr add 2002:5395:9edc:1::1/64 dev virbr0
| |
| | | |
− | To automatically configure network and on the guests, Bender also runs radvd, the IPv6 Routing Advertisement
| + | The br0 bridge is created libvirt on startup with <code>/etc/libvirt/qemu/networks/default.xml</code>. This is a NAT interface and is not meant for VMs directly |
− | daemon. The contents of <code>/etc/radvd.conf</code> are:
| |
− | | |
− | interface virbr0
| |
− | {
| |
− | IgnoreIfMissing on;
| |
− | AdvSendAdvert on;
| |
− | MinRtrAdvInterval 30;
| |
− | MaxRtrAdvInterval 100;
| |
− | AdvDefaultPreference low;
| |
− | AdvHomeAgentFlag off;
| |
− |
| |
− | #bernie: subnet 1 of our /48 6to4 on Develer Consiagnet
| |
− | prefix 2002:5395:9edc:1::1/64
| |
− | {
| |
− | AdvOnLink on;
| |
− | AdvAutonomous on;
| |
− | };
| |
− | };
| |
| | | |
| Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually. | | Guests simply need to be configured to accept IPv6 routing advertisements. The DNS must be assigned manually. |
− |
| |
− | == Hosted VMs ==
| |
− | All buildslaves currently run off bender as KVM virtual machines managed by libvirtd.
| |
− |
| |
− | The machines are not globally addressable on IPv4 and are only reachable by IPv6. The
| |
− | IPv6 address is dynamically configured by radvd to a subnet of the public 6to4 net.
| |
− |
| |
− | All the VMs are in /srv/images. See the README in the same directory.
| |
− |
| |
− | They have been created with
| |
− |
| |
− | virt-install --name buildslave-name --ram 512 \
| |
− | --disk path=/srv/images/buildslave-name.img,size=10
| |
− | --network network:default \
| |
− | --location "mirror-http-address" \
| |
− | --extra-args="console=tty0 console=ttyS0,115200n8 serial"
| |