Bug #12502

hammer host create using oVirt should use text IDs, not UUIDs

Added by Brad Buckingham about 2 years ago. Updated 6 months ago.

Status:New
Priority:Normal
Assigned To:Tomáš Strachota
Category:Compute resources
Target version:Foreman - Team Marek backlog
Difficulty: Bugzilla link:1278534
Found in release: Pull request:
Story points-
Velocity based estimate-

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1278534
Description of problem:

Using RHEV as a a compute resource and following the documentation (https://gist.github.com/tstrachota/f7858388976f19317b73) for RHEV (oVirt) related options I can not create a host using hammer CLI. Using UI works fine.

Sample command:

hammer -d host create --name dhtesthost4 --organization ACME --location 'munich' --hostgroup-id 33 --compute-resource acme-rhev-munich --compute-attributes 'memory=2147483648,cores=2,start=true,cluster=COE_RHS' --root-password 'redhat2015' --volume="size_gb=25,storage_domain=EQL_RHEV34,bootable=true" --partition-table 'ptable-acme-os-rhel-server' --interface 'name=eth0,network=v96'

Tried with many combinations of parameters, with and without compute profiles. Error message does not explain why it fails (422 Unprocessable Entity).

While debugging it with the help of Og we've figured out that the command used while creating a host using the WebUI converts the RHEV specific attributes into UUIDs.

Using the UUIDs for network and storage the hammer command successfully creates a host:

hammer -u admin -p redhat host create --name='rhel-7-server-omaciel-02' --root-pass='abracadabra' --organization='ACME' --location=munich --hostgroup="omaciel" --compute-resource-id=1 --compute-attributes="cluster='6a9a01e7-ee59-4fe3-817a-54d85612c124', cpus=2, memory=2147483648, start=1" --interface="name=eth0, network='6337e786-f7ab-4d3b-901d-09346baf8278'" --volume="size_gb=25, storage_domain='cde2d7fb-9673-4361-845a-009c4e203d30', bootable=true"

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Create a host using hammer with the first command mentioned above.
2. Check if the host has been created.
3. Try the second command (requires to adapt UUIDs)

Actual results:

Host is only created using the UUIDs

Expected results:

Host is created using the human readable parameter as used in the WebUI.

Additional info:


Related issues

Related to Hammer CLI - Tracker #16829: Tracker for compute resource related issues New 10/07/2016
Related to Hammer CLI - Tracker #18935: Tracker for issues related to processing of nested option... New 03/16/2017

History

#1 Updated by Dominic Cleal about 2 years ago

  • Project changed from Foreman to Hammer CLI
  • Subject changed from hammer host create using RHEV does not work to hammer host create using oVirt should use text IDs, not UUIDs
  • Category set to Foreman commands
  • Assigned To deleted (Ohad Levy)

There are APIs for looking this up, it can be done on the client side.

#2 Updated by Tomáš Strachota over 1 year ago

  • Target version set to Team Marek backlog

We actually use IDs/UUIDs instead of names for all compute resources. Ideally the patch should fix it for all of them.

#3 Updated by Tomáš Strachota over 1 year ago

  • Category changed from Foreman commands to Compute resources

#4 Updated by Marek Hulán about 1 year ago

  • Assigned To set to Tomáš Strachota
  • Target version changed from Team Marek backlog to Team Marek Iteration 4

as agreed yesterday, we can start with the concept and implementation for vmware CR and split other CRs into separate issues since it would be too big patch

#5 Updated by Tomáš Strachota about 1 year ago

  • Related to Tracker #16829: Tracker for compute resource related issues added

#6 Updated by Marek Hulán about 1 year ago

  • Target version changed from Team Marek Iteration 4 to Team Marek Iteration 5

#7 Updated by Marek Hulán about 1 year ago

  • Target version changed from Team Marek Iteration 5 to Team Marek Iteration 6

#8 Updated by Marek Hulán about 1 year ago

  • Target version changed from Team Marek Iteration 6 to Team Marek backlog

#9 Updated by Tomáš Strachota 9 months ago

  • Related to Tracker #18935: Tracker for issues related to processing of nested options in host create added

#10 Updated by Davide Ferrari 6 months ago

What's the schedule for this fix?
In the meanwhile, is there a programmatic way to get those cluster's UUIDs using hammer or, as a second option, using the Foreman API?

#11 Updated by Tomáš Strachota 6 months ago

Unfortunately there's no planned schedule for fixing this issue. In the meantime you can use API endpoints for fetching cluster's UUIDs.

See the api doc:
https://theforeman.org/api/1.15/apidoc/v2/compute_resources.html
Namely the endpoint for listing clusters:
https://theforeman.org/api/1.15/apidoc/v2/compute_resources/available_clusters.html

Also available in: Atom PDF