Project

General

Custom queries

Profile

Actions

Bug #23232

closed

Foreman should validate host associations are in the host's taxonomies

Added by Chris Duryee almost 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Category:
Organizations and Locations
Target version:
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

If you register a brand-new client to a new capsule on a new katello using bootstrap.py without https://github.com/Katello/katello-client-bootstrap/issues/248, you will get this error:

Validation failed: Name must not include periods

repro steps:

  • vagrant up centos7-katello-3.6
  • vagrant up centos7-foreman-proxy-3.6
  • vagrant up centos7 for use as test client

on katello server:

hammer ping
hammer -u admin -p changeme activation-key create --name MYAK --organization-id 1
hammer -u admin -p changeme hostgroup create --name MYHG

on client:

yum install subscription-manager (bootstrap will need it)
  1. ensure you are using a bootstrap.py without https://github.com/Katello/katello-client-bootstrap/issues/248
    curl http://centos7-foreman-proxy-3-6.dhcp129-144.example.com/pub/bootstrap.py > ./bootstrap.py
    python bootstrap.py -s centos7-foreman-proxy-3-6.dhcp129-144.example.com -g MYHG -a MYAK

(this will error that the HG needs an OS and location, we'll fix that)

back on katello server:

hammer -u admin -p changeme os list
hammer -u admin -p changeme location list
hammer -u admin -p changeme hostgroup list
hammer -u admin -p changeme hostgroup update --operatingsystem-id 1 --location-ids 2 --id 1

back on client again:

python bootstrap.py -s centos7-foreman-proxy-3-6.dhcp129-144.example.com -g MYHG -a MYAK --location "Default Location" --force

error!

Validation failed: Name must not include periods

production.log:

[app] [I] Started POST "/rhsm/consumers?owner=Default_Organization&activation_keys=MYAK" for 192.168.121.96 at 2018-04-11 16:10:34 +0000
[app] [I] Processing by Katello::Api::Rhsm::CandlepinProxiesController#consumer_activate as JSON
[app] [I] Parameters: {"facts"=>"[FILTERED]", "contentTags"=>[], "type"=>"system", "name"=>"client.dhcp129-144.example.com", "owner"=>"Default_Organization", "activation_keys"=>"MYAK"}
[app] [I] Current user: foreman_admin (administrator)
[app] [I] Current user: foreman_admin (administrator)
[katello/cp_proxy] [E] <Class> ActiveRecord::RecordInvalid
[katello/cp_proxy] [E] name: ["must not include periods"]
[app] [I] Completed 422 Unprocessable Entity in 808ms (Views: 0.1ms | ActiveRecord: 19.4ms)

It looks like the domain can't be found, which causes the shortname of the host to be its fqdn. Workaround:

hammer -u admin -p changeme domain update --id 1 --location-ids 2 --organization-ids 1

Note that this bug has a workaround in bootstrap.py. Ideally a more descriptive error message would be raised if the domain is not accessible in the org/location.

#1

Updated by Chris Duryee almost 7 years ago

  • Bugzilla link set to 1566166
#2

Updated by Justin Sherrill almost 7 years ago

  • Category set to Hosts
  • Translation missing: en.field_release set to 352
#3

Updated by Chris Duryee almost 7 years ago

  • Subject changed from unable to register client to freshly installed capsule on fresh katello to "Validation failed: Name must not include periods" if domain is not found during registration
  • Description updated (diff)
#5

Updated by Stephen Benjamin almost 7 years ago

  • Project changed from Katello to Foreman
  • Subject changed from "Validation failed: Name must not include periods" if domain is not found during registration to Foreman should validate host associations are in the host's taxonomies
  • Category changed from Hosts to Organizations and Locations
  • Assignee set to Stephen Benjamin
#6

Updated by The Foreman Bot almost 7 years ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/theforeman/foreman/pull/5494 added
#7

Updated by Stephen Benjamin almost 7 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
#8

Updated by Marek Hulán almost 7 years ago

  • Translation missing: en.field_release changed from 352 to 353
Actions

Also available in: Atom PDF