Bug #23232
Updated by Chris Duryee over 6 years ago
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, katello, 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) # 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.