Uploaded image for project: 'CloudStack'
  1. CloudStack
  2. CLOUDSTACK-8691

deployVirtualMachine should not error when userdata is provided if at least one NIC supports it

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: 4.5.1
    • Fix Version/s: None
    • Component/s: API
    • Security Level: Public (Anyone can view this level - this is the default.)
    • Labels:
    • Environment:
      CentOS 6.X
    • Flags:
      Important

      Description

      In our environment, we assign VMs a default NIC without the userdata service, however, we also assign a secondary network that has the userdata service enabled. In previous releases, and confirmed in the issue below, the API simply warned about the default NIC not supporting userdata but continued to go on to create the virtual machine.

      https://issues.apache.org/jira/browse/CLOUDSTACK-4630?focusedCommentId=13770148&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13770148

      As of 4.5.1, The API completely errors out and does not create the VM, even though one of the NICs supports the userdata service. I can get around this behavior by calling deployVirtualMachine with 'startvm' set to false, and then a call to updateVirtualMachine with userdata=<my userdata>. Of course, this breaks the automation that we have in place.

      I really don't understand why the API would fail to create the VM as long as one of the NICs supported the userdata service. This seems like a regression from the previous releases and should be fixed. Here is the issue in which the change was made:

      https://issues.apache.org/jira/browse/CLOUDSTACK-6748

      Steps to reproduce:
      1. Create two networks in CloudStack, one with userdata service enabled, and one without.
      2. Use deployVirtualMachine API call to create a virtual machine with both networks as well as userdata. The first (default) network should be the one without the userdata service and the second network should be the userdata-enabled network.
      3. The API should present the following error: Error: Unable to deploy VM as UserData is provided while deploying the VM, but there is no support for UserData service in the default network <Network ID>

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              dgarbus Dave Garbus
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: