-
Bug
-
Resolution: Done-Errata
-
Major
-
6.14.z
-
1
-
False
-
rubygem-katello-4.16.0.7
-
Important
-
Artemis Sprint 153
-
sat-proton
-
None
-
None
-
None
-
Manual
-
Yes
Description of problem:
Getting the following error when trying to set any subscription attributes for virt-who-* hosts, such as syspurpose, autoheal etc.
Katello::Resources::Candlepin::Consumer: 400 Bad Request {"displayMessage":"Runtime Error com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.ArrayList<org.candlepin.dto.api.server.v1.EnvironmentDTO>` from String value (token `JsonToken.VALUE_STRING`)\n at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 131] (through reference chain: org.candlepin.dto.api.server.v1.ConsumerDTO[\"environments\"]) at com.fasterxml.jackson.databind.exc.MismatchedInputException.from:59","requestUuid":"26aae922-8731-4b43-b74c-02d62d0194fa"} (PUT /candlepin/consumers/87980cb0-1e37-4441-af11-b636b3054b66)
How reproducible:
Easy
Is this issue a regression from an earlier version:
Since Satellite 6.14. No error prior version 6.14.
Steps to Reproduce:
1. If no virt-who is setup, try to setup a list of fake hypervisor hosts
2. Navigate to the Satellite Web UI -> All Hosts page.
3. Choose one of the virt-who-* host.
4. Try to update any system purpose attribute or try to set the auto heal to false using hammer
hammer host update --autoheal no --name virt-who-host-example.com
Actual behavior:
Fail with above error.
Expected behavior:
no error
Business Impact / Additional info:
If I understand correctly, setting subscription attributes (such as autoheal and syspurpose) for hypersivor hosts have no effect. If this is correct, then I don't see any impact at the moment.
This is the issue. Since virt-who hosts don't assign to any cv environments so it falls in to the "else" condition. The "else" condition doesn't return the array list format expected by Candlepin.
def candlepin_environments if self.host.content_facet self.host.content_facet.content_view_environments.map do |cve| { :id => cve.content_view.cp_environment_id(cve.lifecycle_environment) } end else self.host.organization.default_content_view.cp_environment_id(self.host.organization.library) <================ end end
- clones
-
SAT-34146 Error when trying to set any subscription attributes for virt-who-* hosts.
-
- Release Pending
-
- links to
-
RHSA-2025:152331 Satellite 6.17.3 Async Update