Description of problem: I'm trying to create Hosts via the hammer host create command, but once the host is created, it does not have the correct networking and compute attributes as specified in the compute profile used during creation. Talking to @tstrachota on irc, he said: 10:21:32 tstrachota: omaciel, it looks like a bug. Hammer sends :compute_attributes => {:volumes_attribute => {}} by default which breaks a 'compute_attributes.empty?' condition on the server side and therefore the compute profile is not applied My setup is as follows: * libvirt compute resource with compute profiles associated and configured to use my virtual network device (named 'foreman') * hostgroup is associated with libvirt compute resource (and therefore, the compute profile named "2-Medium") and real RHEL 7.1 content The following command was used to create a host: hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" -v -d host create --name="rhel-7-server-64-08" --mac="eb:42:17:15:71:0e" --medium-id="${RHEL_7_SERVER_64_MEDIUM_ID}" --root-pass="abracadabra" --organization="${ORG}" --location="${LOCATION}" --architecture-id="${ARCH_64}" --operatingsystem-id="${RHEL7_OS_ID}" --environment-id="${RHEL_7_SERVER_64_ENV_ID}" --domain-id="${DOMAIN_ID}" --puppet-proxy-id="${CAPSULE_ID}" --partition-table-id="${KICKSTART_TEMPLATE_ID}" --compute-resource="local_libvirt" --hostgroup="RHEL 7 Server 64-bit HG" --compute-profile="2-Medium" --interface="network='foreman',network-type='Virtual (NAT)'" In theory I should be able to pass the host group information and the compute profile, network interface, etc, etc, should be automatically fetched by hammer, but I decided to explicitly pass as many arguments as I could. The host gets created and can be seen in the web ui, but it cannot be powered on. Upon inspection of said host via the web ui, one can see that the networking device is set to 'physical' and not the virtual one as specified by the compute profile. Version-Release number of selected component (if applicable): * Satellite 6.1.2 running on RHEL 7.1 How reproducible: Steps to Reproduce: 1. See the summary above 2. 3. Actual results: Host is created but does not have correct networking devices and attributes (CPUs, memory, etc) Expected results: Additional info:
# hammer -u "${ADMIN_USER}" -p "${ADMIN_PASSWORD}" -v -d host create --name="rhel-7-server-64-08" --mac="eb:42:17:15:71:0e" --medium-id="${RHEL_7_SERVER_64_MEDIUM_ID}" --root-pass="abracadabra" --organization="${ORG}" --location="${LOCATION}" --architecture-id="${ARCH_64}" --operatingsystem-id="${RHEL7_OS_ID}" --environment-id="${RHEL_7_SERVER_64_ENV_ID}" --domain-id="${DOMAIN_ID}" --puppet-proxy-id="${CAPSULE_ID}" --partition-table-id="${KICKSTART_TEMPLATE_ID}" --compute-resource="local_libvirt" --hostgroup="RHEL 7 Server 64-bit HG" --compute-profile="2-Medium" --interface="network='foreman',network-type='Virtual (NAT)'" [ INFO 2015-09-15 10:02:28 Init] Initialization of Hammer CLI (0.1.4.12) has started... [DEBUG 2015-09-15 10:02:28 Init] Running at ruby 2.0.0-p598 [ INFO 2015-09-15 10:02:28 Init] Configuration from the file /etc/hammer/cli_config.yml has been loaded [ INFO 2015-09-15 10:02:28 Init] Configuration from the file /etc/hammer/cli.modules.d/foreman.yml has been loaded [ INFO 2015-09-15 10:02:28 Init] Configuration from the file /etc/hammer/cli.modules.d/foreman_bootdisk.yml has been loaded [ INFO 2015-09-15 10:02:28 Init] Configuration from the file /etc/hammer/cli.modules.d/foreman_discovery.yml has been loaded [ INFO 2015-09-15 10:02:28 Init] Configuration from the file /etc/hammer/cli.modules.d/foreman_docker.yml has been loaded [ INFO 2015-09-15 10:02:28 Init] Configuration from the file /etc/hammer/cli.modules.d/gutterball.yml has been loaded [ INFO 2015-09-15 10:02:28 Init] Configuration from the file /etc/hammer/cli.modules.d/import.yml has been loaded [ INFO 2015-09-15 10:02:28 Init] Configuration from the file /etc/hammer/cli.modules.d/katello.yml has been loaded [DEBUG 2015-09-15 10:02:28 Connection] Registered: foreman [DEBUG 2015-09-15 10:02:28 API] Global headers: { :content_type => "application/json", :accept => "application/json;version=2", "Accept-Language" => "en" } [ INFO 2015-09-15 10:02:28 Modules] Extension module hammer_cli_foreman (0.1.4.14) loaded [ INFO 2015-09-15 10:02:28 Modules] Extension module hammer_cli_foreman_bootdisk (0.1.2.7) loaded [ INFO 2015-09-15 10:02:28 Modules] Extension module hammer_cli_foreman_discovery (0.0.1.10) loaded [ INFO 2015-09-15 10:02:28 HammerCLI::MainCommand] subcommand organization (HammerCLIForeman::Organization) was removed. [ INFO 2015-09-15 10:02:28 HammerCLI::MainCommand] subcommand organization (HammerCLIKatello::Organization) was created. [ INFO 2015-09-15 10:02:28 Modules] Extension module hammer_cli_gutterball (0.0.1.3) loaded [ INFO 2015-09-15 10:02:28 Modules] Extension module hammer_cli_import (0.10.20) loaded [ INFO 2015-09-15 10:02:28 Modules] Extension module hammer_cli_katello (0.0.7.17) loaded [DEBUG 2015-09-15 10:02:28 Init] Using locale 'en' [DEBUG 2015-09-15 10:02:28 Init] 'mo' files for locale domain 'hammer-cli' loaded from '/usr/share/gems/gems/hammer_cli-0.1.4.12/locale' [DEBUG 2015-09-15 10:02:28 Init] 'mo' files for locale domain 'hammer-cli@system' loaded from '/usr/share/locale' [DEBUG 2015-09-15 10:02:28 Init] 'mo' files for locale domain 'hammer-cli-foreman' loaded from '/usr/share/gems/gems/hammer_cli_foreman-0.1.4.14/locale' [DEBUG 2015-09-15 10:02:28 Init] 'mo' files for locale domain 'hammer-cli-foreman@system' loaded from '/usr/share/locale' [DEBUG 2015-09-15 10:02:28 Init] 'mo' files for locale domain 'hammer_cli_foreman_docker' loaded from '/usr/share/gems/gems/hammer_cli_foreman_docker-0.0.3.9/locale' [DEBUG 2015-09-15 10:02:28 Init] 'mo' files for locale domain 'hammer-cli-katello' loaded from '/usr/share/gems/gems/hammer_cli_katello-0.0.7.17/locale' [ INFO 2015-09-15 10:02:28 HammerCLI::MainCommand] Called with options: {"option_verbose"=>true, "option_debug"=>true, "option_username"=>"admin", "option_password"=>"***"} [ INFO 2015-09-15 10:02:29 HammerCLIForeman::Host] Called with options: {} [ INFO 2015-09-15 10:02:29 HammerCLIForeman::Host::CreateCommand] Called with options: {"option_managed"=>true, "option_build"=>true, "option_enabled"=>true, "option_volume_list"=>[], "option_interface_list"=>[{"network"=>"foreman", "network-type"=>"Virtual (NAT)"}], "option_location_name"=>"Default Location", "option_organization_name"=>"Default Organization", "option_environment_id"=>"27", "option_architecture_id"=>"1", "option_domain_id"=>"1", "option_operatingsystem_id"=>"1", "option_medium_id"=>"14", "option_ptable_id"=>"7", "option_compute_resource_name"=>"local_libvirt", "option_hostgroup_name"=>"RHEL 7 Server 64-bit HG", "option_compute_profile_name"=>"2-Medium", "option_name"=>"rhel-7-server-64-08", "option_mac"=>"eb:42:17:15:71:0e", "option_puppet_proxy_id"=>"1", "option_root_pass"=>"abracadabra"} [ INFO 2015-09-15 10:02:29 API] GET /api/locations [DEBUG 2015-09-15 10:02:29 API] Params: { :search => "name = \"Default Location\"" } [DEBUG 2015-09-15 10:02:29 API] Headers: { :params => { :search => "name = \"Default Location\"" } } [DEBUG 2015-09-15 10:02:29 API] Response: { "total" => 1, "subtotal" => 1, "page" => 1, "per_page" => 20, "search" => "name = \"Default Location\"", "sort" => { "by" => nil, "order" => nil }, "results" => [ [0] { "id" => 2, "name" => "Default Location", "title" => "Default Location", "created_at" => "2015-09-09T13:06:46Z", "updated_at" => "2015-09-09T20:31:51Z" } ] } [DEBUG 2015-09-15 10:02:29 API] Response headers: { :date => "Tue, 15 Sep 2015 14:02:29 GMT", :server => "Apache/2.4.6 (Red Hat Enterprise Linux)", :foreman_version => "1.7.2", :foreman_api_version => "2", :apipie_checksum => "cd0719637fe3375218a69c34fad352a9", :x_ua_compatible => "IE=Edge,chrome=1", :cache_control => "must-revalidate, private, max-age=0", :x_request_id => "7aef9f6ceaaaa4c23ca642b644e02b84", :x_runtime => "0.088524", :x_rack_cache => "miss", :x_powered_by => "Phusion Passenger 4.0.18", :set_cookie => [ [0] "_session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTJjYTA4ZWUzOTdlYmE3ZWIyMThkZTFiMTYyMzIxYjRlBjsAVEkiC2xvY2FsZQY7AEYiB2Vu--57f05d4c95b75bffc4cb8350b73db6b4040f8f53; path=/; secure; HttpOnly" ], :etag => "\"cdd495c77d202cfcbb6210374bf89838\"", :status => "200 OK", :transfer_encoding => "chunked", :content_type => "application/json; charset=utf-8" } [ INFO 2015-09-15 10:02:29 API] GET /katello/api/organizations [DEBUG 2015-09-15 10:02:29 API] Params: { :search => "name = \"Default Organization\"" } [DEBUG 2015-09-15 10:02:29 API] Headers: { :params => { :search => "name = \"Default Organization\"" } } [DEBUG 2015-09-15 10:02:29 API] Response: { "total" => 1, "subtotal" => 1, "page" => 1, "per_page" => 20, "search" => "name = \"Default Organization\"", "sort" => { "by" => nil, "order" => nil }, "results" => [ [0] { "id" => 1, "name" => "Default Organization", "title" => "Default Organization", "label" => "Default_Organization", "created_at" => "2015-09-09T13:06:45Z", "updated_at" => "2015-09-09T20:34:06Z" } ] } [DEBUG 2015-09-15 10:02:29 API] Response headers: { :date => "Tue, 15 Sep 2015 14:02:29 GMT", :server => "Apache/2.4.6 (Red Hat Enterprise Linux)", :foreman_version => "1.7.2", :foreman_api_version => "2", :apipie_checksum => "cd0719637fe3375218a69c34fad352a9", :x_ua_compatible => "IE=Edge,chrome=1", :cache_control => "must-revalidate, private, max-age=0", :x_request_id => "609c257aadc2343e3e394c5031b04922", :x_runtime => "0.260526", :x_rack_cache => "miss", :x_powered_by => "Phusion Passenger 4.0.18", :set_cookie => [ [0] "_session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTEwNzQ1ZmUxYjZhMWExZTZhMWFlMDZlYWMwM2VmZGM1BjsAVEkiC2xvY2FsZQY7AEYiB2Vu--2595a5dc5ca5d10c3979fa9e606130a9d5da5c21; path=/; secure; HttpOnly" ], :etag => "\"f6fd8caed7b8ef437884255c8d3c618d\"", :status => "200 OK", :transfer_encoding => "chunked", :content_type => "application/json; charset=utf-8" } [ INFO 2015-09-15 10:02:29 API] GET /api/compute_resources [DEBUG 2015-09-15 10:02:29 API] Params: { :search => "name = \"local_libvirt\"" } [DEBUG 2015-09-15 10:02:29 API] Headers: { :params => { :search => "name = \"local_libvirt\"" } } [DEBUG 2015-09-15 10:02:29 API] Response: { "total" => 2, "subtotal" => 1, "page" => 1, "per_page" => 20, "search" => "name = \"local_libvirt\"", "sort" => { "by" => nil, "order" => nil }, "results" => [ [0] { "id" => 2, "name" => "local_libvirt", "provider" => "Libvirt", "provider_friendly_name" => "Libvirt", "description" => "Local Libvirt compute resource", "url" => "qemu+tcp://localhost:16509/system", "created_at" => "2015-09-09T20:31:48Z", "updated_at" => "2015-09-09T20:31:48Z", "display_type" => "vnc", "set_console_password" => true } ] } [DEBUG 2015-09-15 10:02:29 API] Response headers: { :date => "Tue, 15 Sep 2015 14:02:29 GMT", :server => "Apache/2.4.6 (Red Hat Enterprise Linux)", :foreman_version => "1.7.2", :foreman_api_version => "2", :apipie_checksum => "cd0719637fe3375218a69c34fad352a9", :x_ua_compatible => "IE=Edge,chrome=1", :cache_control => "must-revalidate, private, max-age=0", :x_request_id => "448a70104dadfe41310d1ba791586e42", :x_runtime => "0.064466", :x_rack_cache => "miss", :x_powered_by => "Phusion Passenger 4.0.18", :set_cookie => [ [0] "_session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTFlMjFlOWU2YzY4MTFiNDViYzExMjQ1OWU3MzM2NWIwBjsAVEkiC2xvY2FsZQY7AEYiB2Vu--651f59b5c192f147d0da85b7fd95d882a7b9eda8; path=/; secure; HttpOnly" ], :etag => "\"a251ea25e19ac9f04903d47140490b14\"", :status => "200 OK", :transfer_encoding => "chunked", :content_type => "application/json; charset=utf-8" } [ INFO 2015-09-15 10:02:29 API] GET /api/hostgroups [DEBUG 2015-09-15 10:02:29 API] Params: { :search => "name = \"RHEL 7 Server 64-bit HG\"" } [DEBUG 2015-09-15 10:02:29 API] Headers: { :params => { :search => "name = \"RHEL 7 Server 64-bit HG\"" } } [DEBUG 2015-09-15 10:02:29 API] Response: { "total" => 2, "subtotal" => 1, "page" => 1, "per_page" => 20, "search" => "name = \"RHEL 7 Server 64-bit HG\"", "sort" => { "by" => nil, "order" => nil }, "results" => [ [0] { "id" => 1, "name" => "RHEL 7 Server 64-bit HG", "title" => "RHEL 7 Server 64-bit HG", "subnet_id" => 1, "subnet_name" => "libvirt_subnet", "operatingsystem_id" => 1, "operatingsystem_name" => "RedHat 7.1", "domain_id" => 1, "domain_name" => "EDITED", "environment_id" => 27, "environment_name" => "KT_Default_Organization_DEV_rhel_7_server_x86_64_cv_7", "compute_profile_id" => 2, "compute_profile_name" => "2-Medium", "ancestry" => nil, "puppet_proxy_id" => 1, "puppet_ca_proxy_id" => 1, "ptable_id" => 7, "ptable_name" => "Kickstart default", "medium_id" => 14, "medium_name" => "Default_Organization/Library/Red_Hat_Server/Red_Hat_Enterprise_Linux_7_Server_Kickstart_x86_64_7_1", "architecture_id" => 1, "architecture_name" => "x86_64", "realm_id" => nil, "realm_name" => nil, "created_at" => "2015-09-14T19:27:57Z", "updated_at" => "2015-09-14T19:31:40Z" } ] } [DEBUG 2015-09-15 10:02:29 API] Response headers: { :date => "Tue, 15 Sep 2015 14:02:29 GMT", :server => "Apache/2.4.6 (Red Hat Enterprise Linux)", :foreman_version => "1.7.2", :foreman_api_version => "2", :apipie_checksum => "cd0719637fe3375218a69c34fad352a9", :x_ua_compatible => "IE=Edge,chrome=1", :cache_control => "must-revalidate, private, max-age=0", :x_request_id => "4eca1bf6041b1680b79fbc4a04f84746", :x_runtime => "0.207896", :x_rack_cache => "miss", :x_powered_by => "Phusion Passenger 4.0.18", :set_cookie => [ [0] "_session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJTVlNjIxMmMwZDdiZjY0OTFmNzQyZWM2YTQ5ZDZlM2Y2BjsAVEkiC2xvY2FsZQY7AEYiB2Vu--f4cf8ae508bc76e41d434468b7a429da616e7be8; path=/; secure; HttpOnly" ], :etag => "\"173e5a4e002fc637600d1c55255295e6\"", :status => "200 OK", :transfer_encoding => "chunked", :content_type => "application/json; charset=utf-8" } [ INFO 2015-09-15 10:02:29 API] GET /api/compute_profiles [DEBUG 2015-09-15 10:02:29 API] Params: { :search => "name = \"2-Medium\"" } [DEBUG 2015-09-15 10:02:29 API] Headers: { :params => { :search => "name = \"2-Medium\"" } } [DEBUG 2015-09-15 10:02:29 API] Response: { "total" => 3, "subtotal" => 1, "page" => 1, "per_page" => 20, "search" => "name = \"2-Medium\"", "sort" => { "by" => nil, "order" => nil }, "results" => [ [0] { "id" => 2, "name" => "2-Medium", "created_at" => "2015-09-09T13:06:47Z", "updated_at" => "2015-09-09T13:06:47Z" } ] } [DEBUG 2015-09-15 10:02:29 API] Response headers: { :date => "Tue, 15 Sep 2015 14:02:29 GMT", :server => "Apache/2.4.6 (Red Hat Enterprise Linux)", :foreman_version => "1.7.2", :foreman_api_version => "2", :apipie_checksum => "cd0719637fe3375218a69c34fad352a9", :x_ua_compatible => "IE=Edge,chrome=1", :cache_control => "must-revalidate, private, max-age=0", :x_request_id => "7769416713cf906641f53c23c04d1f02", :x_runtime => "0.041821", :x_rack_cache => "miss", :x_powered_by => "Phusion Passenger 4.0.18", :set_cookie => [ [0] "_session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWVkZjU1MjU5MDk5YzNiNTExODMzMzViNzI5NDMyYmM5BjsAVEkiC2xvY2FsZQY7AEYiB2Vu--6474ce45760c2dcdb6facc01fc268a0cd34f32a8; path=/; secure; HttpOnly" ], :etag => "\"f37c369d3fcd1bb0f54b1a692ef31e6e\"", :status => "200 OK", :transfer_encoding => "chunked", :content_type => "application/json; charset=utf-8" } [ INFO 2015-09-15 10:02:30 API] POST /api/hosts [DEBUG 2015-09-15 10:02:30 API] Params: { "host" => { "name" => "rhel-7-server-64-08", "location_id" => 2, "organization_id" => 1, "environment_id" => "27", "mac" => "eb:42:17:15:71:0e", "architecture_id" => "1", "domain_id" => "1", "puppet_proxy_id" => "1", "operatingsystem_id" => "1", "medium_id" => "14", "ptable_id" => "7", "compute_resource_id" => 2, "root_pass" => "abracadabra", "hostgroup_id" => 1, "build" => true, "enabled" => true, "managed" => true, "compute_profile_id" => 2, "compute_attributes" => { "volumes_attributes" => {} }, "owner_id" => nil, "puppet_ca_proxy_id" => nil, "puppetclass_ids" => nil, "host_parameters_attributes" => {}, "interfaces_attributes" => { "0" => { "network" => "foreman", "network-type" => "Virtual (NAT)" } } } } [DEBUG 2015-09-15 10:02:30 API] Headers: {} [DEBUG 2015-09-15 10:02:34 API] Response: { "name" => "rhel-7-server-64-08.EDITED", "id" => 11, "ip" => "192.168.100.30", "environment_id" => 27, "environment_name" => "KT_Default_Organization_DEV_rhel_7_server_x86_64_cv_7", "last_report" => nil, "mac" => "52:54:00:f7:3e:d2", "realm_id" => nil, "realm_name" => nil, "sp_mac" => nil, "sp_ip" => nil, "sp_name" => nil, "domain_id" => 1, "domain_name" => "EDITED", "architecture_id" => 1, "architecture_name" => "x86_64", "operatingsystem_id" => 1, "operatingsystem_name" => "RedHat 7.1", "subnet_id" => 1, "subnet_name" => "libvirt_subnet", "sp_subnet_id" => nil, "ptable_id" => 7, "ptable_name" => "Kickstart default", "medium_id" => 14, "medium_name" => "Default_Organization/Library/Red_Hat_Server/Red_Hat_Enterprise_Linux_7_Server_Kickstart_x86_64_7_1", "build" => true, "comment" => nil, "disk" => nil, "installed_at" => nil, "model_id" => nil, "model_name" => nil, "hostgroup_id" => 1, "hostgroup_name" => "RHEL 7 Server 64-bit HG", "owner_id" => 3, "owner_type" => "User", "enabled" => true, "puppet_ca_proxy_id" => 1, "managed" => true, "use_image" => nil, "image_file" => "", "uuid" => "4e2af314-7dc8-4cef-806b-2ed1ef9a8f54", "compute_resource_id" => 2, "compute_resource_name" => "local_libvirt", "compute_profile_id" => 2, "compute_profile_name" => "2-Medium", "capabilities" => [ [0] "build", [1] "image" ], "provision_method" => "build", "puppet_proxy_id" => 1, "certname" => "rhel-7-server-64-08.EDITED", "image_id" => nil, "image_name" => nil, "created_at" => "2015-09-15T14:02:34Z", "updated_at" => "2015-09-15T14:02:34Z", "last_compile" => nil, "last_freshcheck" => nil, "serial" => nil, "source_file_id" => nil, "puppet_status" => 0, "organization_id" => 1, "organization_name" => "Default Organization", "location_id" => 2, "location_name" => "Default Location", "all_puppetclasses" => [ [0] { "id" => 1, "name" => "access_insights_client", "module_name" => "access_insights_client" } ], "parameters" => [], "interfaces" => [ [0] { "id" => 12, "name" => nil, "ip" => nil, "mac" => nil, "type" => "base" } ], "puppetclasses" => [], "config_groups" => [] } [DEBUG 2015-09-15 10:02:34 API] Response headers: { :date => "Tue, 15 Sep 2015 14:02:30 GMT", :server => "Apache/2.4.6 (Red Hat Enterprise Linux)", :foreman_version => "1.7.2", :foreman_api_version => "2", :apipie_checksum => "cd0719637fe3375218a69c34fad352a9", :x_ua_compatible => "IE=Edge,chrome=1", :cache_control => "max-age=0, private, must-revalidate", :x_request_id => "40bf8c4677c41b1282f9aa1c6f7c3fbf", :x_runtime => "4.844569", :x_rack_cache => "invalidate, pass", :x_powered_by => "Phusion Passenger 4.0.18", :set_cookie => [ [0] "_session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWViNjI2NDM0OTQxYThiYjhmYWY2YjdlN2NjYjBjYTQwBjsAVEkiC2xvY2FsZQY7AEYiB2Vu--403fbe7674ff14306e35d56e47d4df648989891e; path=/; secure; HttpOnly" ], :etag => "\"ca1a209099dba82d1e9a6bec5b31c204\"", :status => "200 OK", :transfer_encoding => "chunked", :content_type => "application/json; charset=utf-8" } Host created
Created redmine issue http://projects.theforeman.org/issues/11829 from this bug
Connecting redmine issue http://projects.theforeman.org/issues/6342 from this bug
Upstream bug component is API
Upstream bug assigned to tstrachota
Moving to POST since upstream bug http://projects.theforeman.org/issues/6342 has been closed ------------- Dominic Cleal https://github.com/theforeman/foreman/pull/1551 ------------- Anonymous Applied in changeset commit:47990639ae6b02f541e5d76b392d5549afd74bc7.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2016:1500