From 611334046a225d339bdd9b1333d4c0695dc2b384 Mon Sep 17 00:00:00 2001 From: Daniel Liu Date: Sun, 3 Oct 2021 17:28:34 -0400 Subject: [PATCH] docs + postinstall playbook --- README.md | 49 +++---------------------- hosts | 23 ++++++++---- qemu/README.md | 50 ++++++++++++++++++++++++++ qemu/images/installation_complete.png | Bin 0 -> 69934 bytes qemu/main.yml | 2 +- qemu/postinstall.yml | 10 ++++++ roles/nginx/tasks/main.yml | 2 +- 7 files changed, 83 insertions(+), 53 deletions(-) create mode 100644 qemu/README.md create mode 100644 qemu/images/installation_complete.png create mode 100644 qemu/postinstall.yml diff --git a/README.md b/README.md index 505268f..06e6daa 100644 --- a/README.md +++ b/README.md @@ -3,54 +3,13 @@ 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 +- qemu (automated install) +- libvirt (manual install) 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](https://github.com/TigerVNC/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 -``` +Follow instructions in the README.md of the qemu directory ## VM Install Option 2 (libvirt) Follow instructions in the README.md of the libvirt directory @@ -94,4 +53,4 @@ Drives vda and vdb are for the main filesystem, they use raid1. Drives vdc, vdd, - 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 \ No newline at end of file +- ssh server for push user is running on port 23 diff --git a/hosts b/hosts index 6562eac..75678e8 100644 --- a/hosts +++ b/hosts @@ -1,10 +1,21 @@ -# I will move this to the hosts.yml soon +[local] +127.0.0.1 + +[local:vars] +ansible_connection=local [vm] -192.168.123.2 host=mirror ansible_connection=ssh ansible_port=22 ansible_user=ubuntu ansible_password=ubuntu ansible_become_user=root ansible_become_password=ubuntu +ubuntu@localhost + +[vm:vars] +host=mirror + +ansible_connection=ssh +ansible_port=7777 +ansible_user=ubuntu +ansible_password=ubuntu +ansible_become_user=root +ansible_become_password=ubuntu +# 192.168.123.2 host=mirror ansible_connection=ssh ansible_port=22 ansible_user=ubuntu ansible_password=ubuntu ansible_become_user=root ansible_become_password=ubuntu # ansible_ssh_private_key_file -# guide on how to create vm manually (more control, more disks) -# another playbook that runs on such a vm and sets up all the services in roles (except zfs) -[local] -127.0.0.1 ansible_connection=local diff --git a/qemu/README.md b/qemu/README.md new file mode 100644 index 0000000..d7d95b7 --- /dev/null +++ b/qemu/README.md @@ -0,0 +1,50 @@ +# Installation + +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 +``` + +To view the vm, you also need a vnc viewer. +[TigerVNC](https://github.com/TigerVNC/tigervnc) is a good choice. + +Simply run +``` +$ vncviewer :5900 +``` + +Currently, this is a bug with the installation process that causes the vm to +not terminate after completing the base install, causing the ansible task to +hang. You can manually terminate ansible once the vm shows: + +![installation complete](images/installation_complete.png) + +Once the base installation is complete, we need to configure the system in a +postinstall step, start by running the vm with: +``` +$ ansible-playbook qemu/run.yml +``` + +And then run the postinstall playbook: +``` +$ ansible-playbook qemu/postinstall.yml +``` + +The mirror dev environment is now ready to use. + +The default login user has +``` +username: ubuntu +password: ubuntu +``` + diff --git a/qemu/images/installation_complete.png b/qemu/images/installation_complete.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a93dff032e65ef70e879d6939d156b12814e66 GIT binary patch literal 69934 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 I?>`FqFWK7Qv;Y7A literal 0 HcmV?d00001 diff --git a/qemu/main.yml b/qemu/main.yml index 6449191..02608c5 100644 --- a/qemu/main.yml +++ b/qemu/main.yml @@ -77,4 +77,4 @@ -initrd {{userdata}}/initrd \ -append autoinstall" - # bug: autoinstall will not shutdown properly so the ansible task will never finish + # bug: autoinstall will not shutdown properly so the ansible task will never finish diff --git a/qemu/postinstall.yml b/qemu/postinstall.yml new file mode 100644 index 0000000..d45346e --- /dev/null +++ b/qemu/postinstall.yml @@ -0,0 +1,10 @@ +--- +- hosts: vm + tasks: + - name: Basic system configuration + import_role: + name: ../roles/system + # - name: Setting up ssh + # import_role: + # name: ../roles/ssh + diff --git a/roles/nginx/tasks/main.yml b/roles/nginx/tasks/main.yml index e8f721c..25a8372 100644 --- a/roles/nginx/tasks/main.yml +++ b/roles/nginx/tasks/main.yml @@ -53,4 +53,4 @@ systemd: name: nginx state: restarted - enabled: yes \ No newline at end of file + enabled: yes