Machine/bender: Difference between revisions

Tag: visualeditor-switched
No edit summary
Tag: visualeditor-switched
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"