Bug 1385351 - API 'api/v2/puppetclasses/<puppet-class-id>/smart_class_parameters' returns duplicate records.
Summary: API 'api/v2/puppetclasses/<puppet-class-id>/smart_class_parameters' returns ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: API
Version: 6.2.2
Hardware: x86_64
OS: All
medium
medium vote
Target Milestone: Unspecified
Assignee: Swapnil Abnave
QA Contact: Katello QA List
URL:
Whiteboard:
: 1432927 (view as bug list)
Depends On:
Blocks: 1432927
TreeView+ depends on / blocked
 
Reported: 2016-10-16 12:24 UTC by Ranjan Kumar
Modified: 2020-07-16 08:57 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1432927 (view as bug list)
Environment:
Last Closed: 2018-02-21 16:54:17 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 15833 0 None None None 2016-10-18 15:39:56 UTC

Description Ranjan Kumar 2016-10-16 12:24:03 UTC
Description of problem: 
API 'api/v2/puppetclasses/<puppet-class-id>/smart_class_parameters' returns duplicate records

curl -X GET -H  "Content-Type: application/json" "https://10.65.6.10/api/v2/puppetclasses/5/smart_class_parameters"

https://10.65.6.10/api/v2/puppetclasses/26/smart_class_parameters
{
  "total": 10,
  "subtotal": 10,
  "page": 1,
  "per_page": 20,
  "search": null,
  "sort": {
    "by": null,
    "order": null
  },
  "results": [
    {
      "description": null,
      "override": false,
      "parameter_type": "string",
      "default_value": "${$::nginx::params::manage_repo}",
      "hidden_value?": false,
      "hidden_value": "*****",
      "use_puppet_default": null,
      "required": false,
      "validator_type": null,
      "validator_rule": null,
      "merge_overrides": false,
      "merge_default": false,
      "avoid_duplicates": false,
      "override_value_order": "fqdn\nhostgroup\nos\ndomain",
      "override_values_count": 0,
      "created_at": "2016-10-07 12:48:53 +0530",
      "updated_at": "2016-10-07 12:48:53 +0530",
      "puppetclass_name": "nginx::package",
      "parameter": "manage_repo",
      "id": 279,
      "puppetclass_id": 26
    },
    {
      "description": null,
      "override": false,
      "parameter_type": "string",
      "default_value": "${$::nginx::params::manage_repo}",
      "hidden_value?": false,
      "hidden_value": "*****",
      "use_puppet_default": null,
      "required": false,
      "validator_type": null,
      "validator_rule": null,
      "merge_overrides": false,
      "merge_default": false,
      "avoid_duplicates": false,
      "override_value_order": "fqdn\nhostgroup\nos\ndomain",
      "override_values_count": 0,
      "created_at": "2016-10-07 12:48:53 +0530",
      "updated_at": "2016-10-07 12:48:53 +0530",
      "puppetclass_name": "nginx::package",
      "parameter": "manage_repo",
      "id": 279,
      "puppetclass_id": 26
    },
    {
      "description": null,
      "override": false,
      "parameter_type": "string",
      "default_value": "present",
      "hidden_value?": false,
      "hidden_value": "*****",
      "use_puppet_default": null,
      "required": false,
      "validator_type": null,
      "validator_rule": null,
      "merge_overrides": false,
      "merge_default": false,
      "avoid_duplicates": false,
      "override_value_order": "fqdn\nhostgroup\nos\ndomain",
      "override_values_count": 0,
      "created_at": "2016-10-07 12:48:53 +0530",
      "updated_at": "2016-10-07 12:48:53 +0530",
      "puppetclass_name": "nginx::package",
      "parameter": "package_ensure",
      "id": 277,
      "puppetclass_id": 26
    },
    {
      "description": null,
      "override": false,
      "parameter_type": "string",
      "default_value": "present",
      "hidden_value?": false,
      "hidden_value": "*****",
      "use_puppet_default": null,
      "required": false,
      "validator_type": null,
      "validator_rule": null,
      "merge_overrides": false,
      "merge_default": false,
      "avoid_duplicates": false,
      "override_value_order": "fqdn\nhostgroup\nos\ndomain",
      "override_values_count": 0,
      "created_at": "2016-10-07 12:48:53 +0530",
      "updated_at": "2016-10-07 12:48:53 +0530",
      "puppetclass_name": "nginx::package",
      "parameter": "package_ensure",
      "id": 277,
      "puppetclass_id": 26
    },
    {
      "description": null,
      "override": false,
      "parameter_type": "string",
      "default_value": "",
      "hidden_value?": false,
      "hidden_value": "*****",
      "use_puppet_default": null,
      "required": false,
      "validator_type": null,
      "validator_rule": null,
      "merge_overrides": false,
      "merge_default": false,
      "avoid_duplicates": false,
      "override_value_order": "fqdn\nhostgroup\nos\ndomain",
      "override_values_count": 0,
      "created_at": "2016-10-07 12:48:53 +0530",
      "updated_at": "2016-10-07 12:48:53 +0530",
      "puppetclass_name": "nginx::package",
      "parameter": "package_flavor",
      "id": 278,
      "puppetclass_id": 26
    },
    {
      "description": null,
      "override": false,
      "parameter_type": "string",
      "default_value": "",
      "hidden_value?": false,
      "hidden_value": "*****",
      "use_puppet_default": null,
      "required": false,
      "validator_type": null,
      "validator_rule": null,
      "merge_overrides": false,
      "merge_default": false,
      "avoid_duplicates": false,
      "override_value_order": "fqdn\nhostgroup\nos\ndomain",
      "override_values_count": 0,
      "created_at": "2016-10-07 12:48:53 +0530",
      "updated_at": "2016-10-07 12:48:53 +0530",
      "puppetclass_name": "nginx::package",
      "parameter": "package_flavor",
      "id": 278,
      "puppetclass_id": 26
    },
    truncated ......
  ]
}

Similarly related hammer command also return duplicate record. 

[root@dhcp6-10 ~]# hammer sc-param list --puppet-class-id  26
----|----------------|-----------------------------------|----------|---------------
ID  | PARAMETER      | DEFAULT VALUE                     | OVERRIDE | PUPPET CLASS  
----|----------------|-----------------------------------|----------|---------------
279 | manage_repo    | ${$::nginx::params::manage_repo}  |          | nginx::package
279 | manage_repo    | ${$::nginx::params::manage_repo}  |          | nginx::package
277 | package_ensure | present                           |          | nginx::package
277 | package_ensure | present                           |          | nginx::package
278 | package_flavor |                                   |          | nginx::package
278 | package_flavor |                                   |          | nginx::package
275 | package_name   | ${$::nginx::params::package_name} |          | nginx::package
275 | package_name   | ${$::nginx::params::package_name} |          | nginx::package
276 | package_source | nginx                             |          | nginx::package
276 | package_source | nginx                             |          | nginx::package
----|----------------|-----------------------------------|----------|---------------


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


How reproducible: Always

Comment 2 Stanislav Tkachenko 2017-01-20 14:22:46 UTC
Verified by automation on Satellite 6.3 Snap 8 and Satellite 6.2.7 both via API and CLI.

Trimmed example output:
https://sat6.com/api/v2/puppetclasses/106/smart_class_parameters

{
  "total": 200,
  "subtotal": 200,
  "page": 1,
  "per_page": 20,
  "search": null,
  "sort": {
    "by": null,
    "order": null
  },
  "results": [
    {
      "description": null,
      "override": false,
      "parameter_type": "string",
      "default_value": "koquuo1Je4",
      "hidden_value?": false,
      "hidden_value": "*****",
      "use_puppet_default": null,
      "required": false,
      "validator_type": null,
      "validator_rule": null,
      "merge_overrides": false,
      "merge_default": false,
      "avoid_duplicates": false,
      "override_value_order": "fqdn\nhostgroup\nos\ndomain",
      "created_at": "2017-01-20 16:07:30 +0200",
      "updated_at": "2017-01-20 16:07:30 +0200",
      "puppetclass_name": "api_test_classparameters",
      "parameter": "api_classparameters_scp_001",
      "id": 2420,
      "puppetclass_id": 106,
      "override_values_count": 0
    },
    {
      "description": null,
      "override": false,
      "parameter_type": "string",
      "default_value": "io4moo3Ipa",
      "hidden_value?": false,
      "hidden_value": "*****",
      "use_puppet_default": null,
      "required": false,
      "validator_type": null,
      "validator_rule": null,
      "merge_overrides": false,
      "merge_default": false,
      "avoid_duplicates": false,
      "override_value_order": "fqdn\nhostgroup\nos\ndomain",
      "created_at": "2017-01-20 16:07:30 +0200",
      "updated_at": "2017-01-20 16:07:30 +0200",
      "puppetclass_name": "api_test_classparameters",
      "parameter": "api_classparameters_scp_002",
      "id": 2421,
      "puppetclass_id": 106,
      "override_values_count": 0
    },

Comment 3 Stanislav Tkachenko 2017-01-20 15:13:04 UTC
(In reply to Stanislav Tkachenko from comment #2)
> Verified by automation on Satellite 6.3 Snap 8 and Satellite 6.2.7 both via
> API and CLI.

Sorry, verified on 6.3 only, on 6.2.7 it is failing if same module was imported twice to different content views.

But as this bug is marked with flag 6.3.0 only, status still is verified.

Comment 4 orabin 2017-08-16 06:37:12 UTC
*** Bug 1432927 has been marked as a duplicate of this bug. ***

Comment 5 Satellite Program 2018-02-21 16:54:17 UTC
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/RHSA-2018:0336


Note You need to log in before you can comment on or make changes to this bug.