From a315fab485429c0e4dfd665ced86f51130e3ac3c Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Sat, 20 Feb 2021 08:55:17 +0200 Subject: feat: vmadm command to create, list, and delete virtual machines Includes test suite. --- vmadm.md | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 vmadm.md (limited to 'vmadm.md') diff --git a/vmadm.md b/vmadm.md new file mode 100644 index 0000000..4936dad --- /dev/null +++ b/vmadm.md @@ -0,0 +1,95 @@ +# Create a virtual machine + +This scenario verifies that vmadm can create a virtual machine and +that the user can log into it as root via SSH after it has booted. +This requires that the environment it set up so that virtual machines +can be addressed by name. + +~~~scenario +given an installed vmadm +given file smoke.yaml +given file .ssh/id_rsa from ssh_key +given file .ssh/id_rsa.pub from ssh_key_pub +given file .ssh/config from ssh_config +when I invoke vmadm new smoke.yaml +when I invoke ssh -F .ssh/config debian@smoke hostname +then stdout contains "smoke" +when I invoke ssh -F .ssh/config debian@smoke df -h / +then stdout contains "4.9G" +when I invoke ssh -F .ssh/config debian@smoke free -m +then stdout contains "2000" +~~~ + + +~~~{#smoke.yaml .file .yaml} +name: smoke +ssh_key_files: + - .ssh/id_rsa.pub +base: /home/liw/tmp/debian-10-openstack-amd64.qcow2 +image: smoke.qcow2 +image_size_gib: 5 +memory_mib: 2048 +~~~ + +~~~{#ssh_key .file} +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn +NhAAAAAwEAAQAAAQEAoWeplbhiwaVu0mqxVP07uk3pqrjcWrWzFGbk5PEalbW5L0ynlhWe +YebZ7Vjx4Ek/MpGBWiK6/HmLikJCnQcR1ux/JHo0zcEbv6w20WF+cMU5+I8OEVaKRk6cTJ +Rq1nruQpFj6CwIULSM81AJ6wxqfbKhuj9RuKISOtcGTBULWvUdrjcV553rPntq+GO/BsZp +UB/6NKLiPHwZ7MUStCKEnxbNi7rTusI8s0efRXQvU0+8Ln3eZFzEc8bJjxnl8zXGqrxxsQ +b0bnBhXJQpKkkcJNxjRKV2UIZQiKEyKEbtCDwKf+N9LZcfcyTIYcA5WbDjl0axWKXVlTEk +wAChAi0mMQAAA8jfx6KY38eimAAAAAdzc2gtcnNhAAABAQChZ6mVuGLBpW7SarFU/Tu6Te +mquNxatbMUZuTk8RqVtbkvTKeWFZ5h5tntWPHgST8ykYFaIrr8eYuKQkKdBxHW7H8kejTN +wRu/rDbRYX5wxTn4jw4RVopGTpxMlGrWeu5CkWPoLAhQtIzzUAnrDGp9sqG6P1G4ohI61w +ZMFQta9R2uNxXnnes+e2r4Y78GxmlQH/o0ouI8fBnsxRK0IoSfFs2LutO6wjyzR59FdC9T +T7wufd5kXMRzxsmPGeXzNcaqvHGxBvRucGFclCkqSRwk3GNEpXZQhlCIoTIoRu0IPAp/43 +0tlx9zJMhhwDlZsOOXRrFYpdWVMSTAAKECLSYxAAAAAwEAAQAAAQAJ417pVD2AnZD3hR/O +FCGHnWRWWDLvv7fz5QXa3MaDK3nn4utVb4efedQaDVvsILCleXKSQhRwiUW6N6r7EcbPAv +gbFP2NKWp4yKUnGLD1Wa/egW0cNNAN1J0Qt/r/ntJf86ZKQABWaWlFMr8Yzk7r2ni7/0sT +Y6J4RloVaSij7s1uZ76sTw/REGF/BNX0BC1FTDlQE3jTQptEYxGbLGQFYYhDl37Zv3Emnf +j7ZA8pkwrUn6mPy5JEZTjp2MgFD8oF8XxzfXWtFJP9UuDUJrLcQD8hOunUrPQbnazpxOHw +0vvF7K7B9l0mLJX7UmQlBW8Op+tv1jJugJ29rDjT3FcRAAAAgFtDhZCLc2ihQiOK2zEqb5 +bUk4x9a42othQQNOvMEkwCLxmKTVjoYrClSp+9j6blkKESiGCxAu8MC7Hc8JV2NOkIrorl +K35KgwCiLyEXPedQ/+ZPoO1a4ZIGHPfxosbmh9byJYgvDQ4E8gqRUlEhtYSOzyeObfXh7T +7QcNtKOvo+AAAAgQDVK194Jl97URrb23+jgFPfWeNb1daeLUc/DYCDaJgHVom8zAxKPsHP +sYdy5dPGNTiMttdk2JpzqAmo7G1/QDPB5sHNcWEAQE0PGagYGFJhBMhB9Ug6iJek14h9nS +/m6BfVy3fQW062sztE7dw5lzGTTQajJWX7z4VDm4VSaraHXQAAAIEAwdW4Xk8xS2Jdp3Gr +/+0YG4+90rLpidS1z0SgT+a8NeLA3KXwDhdunHDxGn9QKgSCZ8ogHmcGN4x07jI3+3ajdK +7Xe/QIlNLAnXEX7Kkrx3+FmakCXs/aN5xTA0J6s2Hyj9MwJIX0C+EmAzxEcIbHvbKxKVBp +V4cecTlFJGBtUOUAAAAMbGl3QGV4b2xvYmUxAQIDBAUGBw== +-----END OPENSSH PRIVATE KEY----- +~~~ + +~~~{#ssh_key_pub .file} +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChZ6mVuGLBpW7SarFU/Tu6TemquNxatbMUZuTk8RqVtbkvTKeWFZ5h5tntWPHgST8ykYFaIrr8eYuKQkKdBxHW7H8kejTNwRu/rDbRYX5wxTn4jw4RVopGTpxMlGrWeu5CkWPoLAhQtIzzUAnrDGp9sqG6P1G4ohI61wZMFQta9R2uNxXnnes+e2r4Y78GxmlQH/o0ouI8fBnsxRK0IoSfFs2LutO6wjyzR59FdC9TT7wufd5kXMRzxsmPGeXzNcaqvHGxBvRucGFclCkqSRwk3GNEpXZQhlCIoTIoRu0IPAp/430tlx9zJMhhwDlZsOOXRrFYpdWVMSTAAKECLSYx liw@exolobe1 +~~~ + +~~~{#ssh_config .file} +host * + userknownhostsfile=/dev/null + stricthostkeychecking=accept-new + identityfile=.ssh/id_rsa + passwordauthentication=no +~~~ + + + +# Colophon + +This is a document meant to be processed with [Subplot][] into an HTML +document, a PDF document, and an executable program. + +--- +title: "vmadm – virtual machine administration" +author: "Lars Wirzenius" +template: python +bindings: + - subplot/vmadm.yaml + - subplot/vendored/files.yaml + - subplot/vendored/runcmd.yaml +functions: + - subplot/vmadm.py + - subplot/vendored/files.py + - subplot/vendored/runcmd.py +... -- cgit v1.2.1