Native Support for Virtual Machine Remote Agents

XMLWordPrintable

    • Type: Suggestion
    • Resolution: Unresolved
    • None
    • Component/s: Agents
    • None
    • 1
    • 2

      Request opened on behalf of one of our customers; the request is as follows:

      Our business is very happily using Bamboo with a mixture of physical and virtual machines (VMs) for build nodes. We currently use 2 physical machines and about 20 virtual machines that perform builds. Setting up and managing physical build nodes is tedious compared to virtual machines. Physical machines require extra space, cables etc... that we'd rather avoid if possible. VMs can be cloned from templates, and easily configured with the different software stacks required to build our various products.

      Oddly, Bamboo doesn't seem to have any native support for VMs. We rely on a 3rd party plugin called "Virtual Agents for Bamboo" which up until recently was developed by a company called StiltSoft. See: https://stiltsoft.com/blog/2014/04/unleash_power_of_virtual_agents_for_bamboo/

      The plugin adds a "Virtual Remote Agent" tab to Bamboo's admin configuration that allows the admin to configure VMWare ESXi hosting server, and mappings for each individual VM agent. Agents are automatically started at a clean snapshot when they are required for a build job, and shut down when they aren't required. This ensures builds execute in a clean environment, and makes excellent use of Bamboo agent licenses since only the machines actually performing builds are active at any given time. The same thing can be done with physical machines and Ethernet network booting, but booting VMs is extremely fast compared to physical machines.

      Recently, StiltSoft open sourced their code under a BSD license, and announced they would no longer be developing the plugin. Their plugin code is available here:
      https://bitbucket.org/stiltsoft/bamboo-vmware-app/wiki/Home

      This is a risk for our organization now. If Bamboo or VMWare ESXi changes and breaks this plugin, we may have to rethink whether Bamboo is the appropriate tool for our builds. If another build system (eg. Jenkins) supports VMs easily, then switching to a tool that provides VM functionality out of the box might be easier than trying to support this Bamboo plugin ourselves.

      Can Bamboo add this as a core feature? From what I know about software licenses, BSD licenses are very permissive. Atlassian may even have the opportunity to roll in the existing plugin with very little upfront dev effort. I think there is a lot of added value in this feature. Virtualization of build environments has been a standard way of doing things at various companies where I've worked ever since I was a young co-op student back in 2006. I was quite surprised that we had to install a 3rd party plugin for this because Bamboo does not have native VM support. I was further surprised that I didn't find any open issues requesting this feature on the Bamboo development boards.

            Assignee:
            Unassigned
            Reporter:
            Bob Sewell (Inactive)
            Votes:
            15 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated: