A dev environment for the mirror.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andrew Wang 5164a49ba9 almost done 1 year ago
group_vars fix qemu vm not installing 2 years ago
libvirt add docs to ubuntu install 1 year ago
mirror almost done 1 year ago
qemu true autoinstall 1 year ago
roles almost done 1 year ago
README.md almost done 1 year ago
ansible.cfg fixed variables in qemu 2 years ago
hosts fixed variables in qemu 2 years ago


Mirror Env

This repo helps quickly set up a vm development environment for cs club's mirrors using ansible.

There are three options for getting the mirror dev vm running:

  • qemu
  • libvirt
  • manual

Follow the relevant instructions below.

VM Installation Option 1 (qmeu)

Install the following:

  • ansible
  • qemu
  • genisoimage
  • ovmf (find the location of OVMF_CODE.fd, it is system dependent)

Before doing anything else, edit the config files in group_vars/ to your system's needs. For qemu installation specifically, you need to provide the location of your OVMF_CODE.fd file.

To begin the setup process, in this repo's root, run:

$ ansible-playbook -K qemu/main.yml

Due to the way the ubuntu autoinstall is designed, user confirmation is required to start the autoinstallation process. To view the vm, you also need a vnc viewer. TigerVNC is a good choice.

Simply run

$ vncviewer :5900

Enter yes when prompted with this line:

Continue with autoinstall (yes|no)

Once the installation is complete, you can run the vm using:

$ ansible-playbook qemu/run/yml

The default login user has

username: ubuntu
password: ubuntu

VM Install Option 2 (libvirt)

Follow instructions in the README.md of the libvirt directory

System Details

Further system information for those that are interested.

$ lsblk
vda            252:0    0   10G  0 disk  
├─vda1         252:1    0  500M  0 part  /boot/efi
└─vda2         252:2    0    9G  0 part  
  └─md0          9:0    0    9G  0 raid1 
    └─vg0-root 253:0    0    8G  0 lvm   /
vdb            252:16   0   10G  0 disk  
├─vdb1         252:17   0  500M  0 part  
└─vdb2         252:18   0    9G  0 part  
  └─md0          9:0    0    9G  0 raid1 
    └─vg0-root 253:0    0    8G  0 lvm   /
vdc            252:32   0   10G  0 disk  
├─vdc1         252:33   0   10G  0 part  
└─vdc9         252:41   0    8M  0 part  
vdd            252:48   0   10G  0 disk  
├─vdd1         252:49   0   10G  0 part  
└─vdd9         252:57   0    8M  0 part  
vde            252:64   0   10G  0 disk  
├─vde1         252:65   0   10G  0 part  
└─vde9         252:73   0    8M  0 part  
vdf            252:80   0   10G  0 disk  
├─vdf1         252:81   0   10G  0 part  
└─vdf9         252:89   0    8M  0 part  

Drives vda and vdb are for the main filesystem, they use raid1. Drives vdc, vdd, vde and vdf are in a raidz2 zpool.


  • /etc/cron.d/csc-mirror is commented out for now
  • need to update /home/mirror/config/(ADDRESS|ADDRESS_V6)
  • /mirror/root/include/motd.msg contains the wrong address
  • may want to generate cert for nginx
  • will need to modify nginx server_name
  • update /etc/rsyncd.conf hosts allow
  • create playbook to add a new project?
  • ssh server for push user is running on port 23