Skip to content

Support the assignment of virtual machines as cluster hosts #1494

Closed
@candlerb

Description

@candlerb

Issue type

[X] Feature request
[ ] Bug report
[ ] Documentation

Environment

  • Python version: 3.5.2
  • NetBox version: v2.2-beta1

Description

A VM runs on pool of resources called a "cluster". At the moment, a cluster can only consist of physical devices. I would like a cluster to have VMs as hosts too [^1]

Use cases:

  • You run a number of lxd containers inside an lxd server, which itself is a VM.
    • "container1.example.com" is an lxd container
    • It runs insides a VM called "lxd1.example.com"
    • The host VM "lxd1.example.com" in turn runs on a virtualization cluster made up of physical devices
    • So this could be modelled as:
      • "container1.example.com" is a VM running on cluster "lxd1"
      • "lxd1" is a cluster of type "lxd", with member devices (VMs) "lxd1.example.com"
      • "lxd1.example.com" is a VM running on cluster "main"
      • "main" is cluster of type "vSphere" with member devices (physical) X, Y, Z
      • note that cluster "lxd1" could comprise multiple VMs; that is, lxd containers can be migrated between lxd hosts
  • You run docker containers inside a third-party cloud
    • you fire up a VM inside a cloud
    • you run docker on that VM
    • inside that VM you run multiple docker containers
      • So our cluster "mydocker" has member "docker1.example.com" which is a cloud VM, not a physical device
      • The cloud VM is a member of a cluster called "EC2 (eu-west)" or suchlike.

[^1] It would probably be OK if a cluster were limited to take either physical devices or virtual machines; that is, you have to select "physical cluster" or "virtual cluster".

That might make the UI less confusing, although it blocks the (relatively unusual) case of a mixed cluster.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions