Support VM provisioning #22

Closed
opened 2018-10-23 01:03:46 -04:00 by JoshuaBoniface · 12 comments
JoshuaBoniface commented 2018-10-23 01:03:46 -04:00 (Migrated from git.bonifacelabs.ca)

Support provisioning VMs via image support.

Also, support arbitrary scripts to generate VMs as an alternative to images.

Support provisioning VMs via image support. Also, support arbitrary scripts to generate VMs as an alternative to images.
JoshuaBoniface commented 2019-04-26 21:45:56 -04:00 (Migrated from git.bonifacelabs.ca)

changed title from Support VM provisioning{- via images-} to Support VM provisioning

changed title from **Support VM provisioning{- via images-}** to **Support VM provisioning**
JoshuaBoniface commented 2019-04-26 21:45:56 -04:00 (Migrated from git.bonifacelabs.ca)

changed the description

changed the description
JoshuaBoniface commented 2019-06-24 10:53:02 -04:00 (Migrated from git.bonifacelabs.ca)

Step 1: Allow removing VMs including all disk devices.

Step 1: Allow *removing* VMs including all disk devices.
JoshuaBoniface commented 2019-07-04 10:47:59 -04:00 (Migrated from git.bonifacelabs.ca)

Step 1 was completed.

Step 2: Implement templating system for VM sizes/base configurations (RAM, CPU, network, disks etc.).
Step 3: Implement scripting template system for VM deployment

Step 1 was completed. Step 2: Implement templating system for VM sizes/base configurations (RAM, CPU, network, disks etc.). Step 3: Implement scripting template system for VM deployment
JoshuaBoniface commented 2019-08-25 21:35:11 -04:00 (Migrated from git.bonifacelabs.ca)

Image support

  • Support creating template RBD images from existing images.
  • Support listing and removing template RBD images.
  • Support creating RBD VM images from templates (internal function for templates).
  • Support uploading images from alternative sources.

Template support

system

  • Support creating templates. Values: vcpu, memory.
  • Support listing and removing templates.

network

  • Support creating templates. Values: vni, multiple.
  • Support listing and removing templates.

disk

  • Support creating templates. Values: template, volume, size, multiple.
  • Support listing and removing templates.

Script support

  • Support creating and editing scripts. Three phases: prep, chroot, cleanup. Use vm define for inspiration as same exact idea (import, modify by replace or $EDITOR).
  • Support listing and removing scripts.

VM add sequence

  • Support gathering templates, send via CLI pipeline.
  • Support image creation automatically (use functions directly internally? make pvc-common instead of pvc-client-common?).
  • Support mapping RBDs on target node, executing prep scripts.
  • Support chroot and launching chroot scripts.
  • Support launching cleanup scripts and unmapping RBDs.
### Image support * [ ] Support creating template RBD images from existing images. * [ ] Support listing and removing template RBD images. * [ ] Support creating RBD VM images from templates (internal function for templates). * [ ] Support uploading images from alternative sources. ### Template support #### `system` * [x] Support creating templates. Values: `vcpu`, `memory`. * [x] Support listing and removing templates. #### `network` * [x] Support creating templates. Values: `vni`, multiple. * [x] Support listing and removing templates. #### `disk` * [x] Support creating templates. Values: `template`, `volume`, `size`, multiple. * [x] Support listing and removing templates. ### Script support * [x] Support creating and editing scripts. Three phases: `prep`, `chroot`, `cleanup`. Use `vm define` for inspiration as same exact idea (import, modify by replace or `$EDITOR`). * [x] Support listing and removing scripts. ### VM add sequence * [x] Support gathering templates, send via CLI pipeline. * [x] Support image creation automatically (use functions directly internally? make `pvc-common` instead of `pvc-client-common`?). * [x] Support mapping RBDs on target node, executing `prep` scripts. * [x] Support `chroot` and launching `chroot` scripts. * [x] Support launching `cleanup` scripts and unmapping RBDs.
JoshuaBoniface commented 2019-10-12 00:52:06 -04:00 (Migrated from git.bonifacelabs.ca)

Replanning this as a separate daemon, not an integrated node feature.

Replanning this as a separate daemon, not an integrated node feature.
JoshuaBoniface commented 2019-10-12 01:23:01 -04:00 (Migrated from git.bonifacelabs.ca)

mentioned in commit 5995353597

mentioned in commit 5995353597578649cfa2837a0d68391af1831ac1
JoshuaBoniface commented 2019-12-08 19:04:46 -05:00 (Migrated from git.bonifacelabs.ca)

Initial implementation of script-based provisioning done. Working on tweaks to make more configurable VMs.

Initial implementation of script-based provisioning done. Working on tweaks to make more configurable VMs.
JoshuaBoniface commented 2019-12-11 09:44:20 -05:00 (Migrated from git.bonifacelabs.ca)

Working on integrating cloud-init metadata into the system. Deploying as a second daemon that will listen on the well-known link-local IP address and provide DigitalOcean-style Metadata to the VMs, especially user-data which will be added to the provisioner DB and tied to profiles.

Working on integrating cloud-init metadata into the system. Deploying as a second daemon that will listen on the well-known link-local IP address and provide DigitalOcean-style Metadata to the VMs, especially user-data which will be added to the provisioner DB and tied to profiles.
JoshuaBoniface commented 2019-12-13 15:05:51 -05:00 (Migrated from git.bonifacelabs.ca)

mentioned in merge request !1

mentioned in merge request !1
JoshuaBoniface commented 2019-12-13 15:06:00 -05:00 (Migrated from git.bonifacelabs.ca)

closed via merge request !1

closed via merge request !1
JoshuaBoniface commented 2019-12-13 15:06:01 -05:00 (Migrated from git.bonifacelabs.ca)

mentioned in commit 45dbc0eef8

mentioned in commit 45dbc0eef88295dcb0ac6b0ee703151bac44b58a
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: parallelvirtualcluster/pvc#22
No description provided.