foreman_puppet 4.1.1 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -3
- data/app/graphgl/concerns/foreman_puppet/mutations/hosts/create_extensions.rb +9 -5
- data/app/models/concerns/foreman_puppet/extensions/host.rb +1 -1
- data/app/models/foreman_puppet/puppetclass.rb +2 -2
- data/lib/foreman_puppet/register.rb +6 -4
- data/lib/foreman_puppet/version.rb +1 -1
- data/lib/tasks/foreman_puppet_tasks.rake +10 -0
- data/test/graphql/mutations/hosts/create_mutation_test.rb +39 -1
- data/webpack/src/Extends/Host/PuppetTab/Routes.js +2 -4
- data/webpack/src/Extends/Host/PuppetTab/SubTabs/Reports/components/DescriptionCard.js +48 -72
- data/webpack/src/Extends/Host/PuppetTab/constants.js +4 -2
- data/webpack/src/Extends/Host/PuppetTab/index.js +0 -2
- metadata +58 -59
- data/locale/en/foreman_puppet.edit.po +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ad8bedb9a6b0aa20d769da8ad51d57891e3c77da03ed70f2a90cdf9fe7af3ffa
         | 
| 4 | 
            +
              data.tar.gz: 17d3af41d610400ba081936f7b151d9329ae26b1fd311c81eaf5925a23366841
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: a87e47f5a35f3a45bb6ac4a77f591ee0b85c37f6736972afd97559d35f4c752a7647c0958b3f7a131ef45b75b54b0f1f2cc104b6a6e4d78a847162a54de73d8f
         | 
| 7 | 
            +
              data.tar.gz: 3a9c0f4ef48ce2e69e46dd1bbe54a488911e9d97261429f2d6d1f01fb48f53679a651beebb5e94a6bcc1c8159319241d260e342327ff018b9e9c3c8f1bb93281
         | 
    
        data/README.md
    CHANGED
    
    | @@ -37,9 +37,8 @@ You can install it on Foreman 2.5 to prepare for the Foreman update. | |
| 37 37 |  | 
| 38 38 | 
             
            |Foreman version|Plugin version|Notes                                     |
         | 
| 39 39 | 
             
            |---------------|--------------|------------------------------------------|
         | 
| 40 | 
            -
            |  | 
| 41 | 
            -
            |  | 
| 42 | 
            -
            | ~> 3.2        | ~> 3.0       | Required                                 |
         | 
| 40 | 
            +
            | >= 3.3        | ~> 4.0       | Required                                 |
         | 
| 41 | 
            +
            | >= 3.2        | ~> 3.0       | Required                                 |
         | 
| 43 42 | 
             
            | ~> 3.1        | ~> 2.0       | Required                                 |
         | 
| 44 43 | 
             
            | ~> 3.0        | ~> 1.0       | Required                                 |
         | 
| 45 44 | 
             
            | >= 2.5        | ~> 0.1       | Optional; replaces Core features         |
         | 
| @@ -4,16 +4,20 @@ module ForemanPuppet | |
| 4 4 | 
             
              module Mutations
         | 
| 5 5 | 
             
                module Hosts
         | 
| 6 6 | 
             
                  module CreateExtensions
         | 
| 7 | 
            -
                    PUPPET_PARAMS = %i[
         | 
| 8 | 
            -
                      environment
         | 
| 9 | 
            -
                      puppetclasses
         | 
| 10 | 
            -
                    ].freeze
         | 
| 11 | 
            -
             | 
| 12 7 | 
             
                    extend ActiveSupport::Concern
         | 
| 13 8 |  | 
| 14 9 | 
             
                    included do
         | 
| 10 | 
            +
                      prepend PatchMethods
         | 
| 11 | 
            +
             | 
| 15 12 | 
             
                      argument :environment_id, GraphQL::Types::ID, loads: ForemanPuppet::Types::Environment
         | 
| 16 13 | 
             
                      argument :puppetclass_ids, [GraphQL::Types::ID], loads: ForemanPuppet::Types::Puppetclass, as: :puppetclasses
         | 
| 14 | 
            +
                    end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                    module PatchMethods
         | 
| 17 | 
            +
                      PUPPET_PARAMS = %i[
         | 
| 18 | 
            +
                        environment
         | 
| 19 | 
            +
                        puppetclasses
         | 
| 20 | 
            +
                      ].freeze
         | 
| 17 21 |  | 
| 18 22 | 
             
                      private
         | 
| 19 23 |  | 
| @@ -30,7 +30,7 @@ module ForemanPuppet | |
| 30 30 | 
             
                    def search_by_puppetclass(_key, operator, value)
         | 
| 31 31 | 
             
                      conditions = sanitize_sql_for_conditions(["puppetclasses.name #{operator} ?", value_to_sql(operator, value)])
         | 
| 32 32 | 
             
                      config_group_ids = ForemanPuppet::ConfigGroup.joins(:puppetclasses).where(conditions).pluck(:id)
         | 
| 33 | 
            -
                      host_ids         = ::Host.authorized(:view_hosts).joins(puppet: :puppetclasses).where(conditions).distinct.pluck(:id)
         | 
| 33 | 
            +
                      host_ids         = ::Host.authorized(:view_hosts, Host).joins(puppet: :puppetclasses).where(conditions).distinct.pluck(:id)
         | 
| 34 34 | 
             
                      host_ids        += ForemanPuppet::HostConfigGroup
         | 
| 35 35 | 
             
                                         .where(host_type: 'ForemanPuppet::HostPuppetFacet')
         | 
| 36 36 | 
             
                                         .where(config_group_id: config_group_ids)
         | 
| @@ -15,8 +15,8 @@ module ForemanPuppet | |
| 15 15 | 
             
                before_destroy EnsureNotUsedBy.new(:hosts, :hostgroups)
         | 
| 16 16 | 
             
                has_many :environment_classes, dependent: :destroy, inverse_of: :puppetclass
         | 
| 17 17 | 
             
                has_many :environments, -> { distinct }, through: :environment_classes
         | 
| 18 | 
            -
                has_many :organizations, -> { distinct.reorder( | 
| 19 | 
            -
                has_many :locations, -> { distinct.reorder( | 
| 18 | 
            +
                has_many :organizations, -> { distinct.reorder(nil) }, through: :environments
         | 
| 19 | 
            +
                has_many :locations, -> { distinct.reorder(nil) }, through: :environments
         | 
| 20 20 |  | 
| 21 21 | 
             
                # rubocop:disable Rails/HasAndBelongsToMany
         | 
| 22 22 | 
             
                has_and_belongs_to_many :operatingsystems
         | 
| @@ -1,5 +1,5 @@ | |
| 1 1 | 
             
            Foreman::Plugin.register :foreman_puppet do
         | 
| 2 | 
            -
              requires_foreman '>= 3. | 
| 2 | 
            +
              requires_foreman '>= 3.5.0'
         | 
| 3 3 | 
             
              # Add Global JS file for extending foreman-core components and routes
         | 
| 4 4 | 
             
              register_global_js_file 'global'
         | 
| 5 5 |  | 
| @@ -225,8 +225,10 @@ Foreman::Plugin.register :foreman_puppet do | |
| 225 225 | 
             
                    priority: 100
         | 
| 226 226 | 
             
                end
         | 
| 227 227 | 
             
              end
         | 
| 228 | 
            -
              extend_page 'hosts/_list' do | | 
| 229 | 
            -
                 | 
| 230 | 
            -
             | 
| 228 | 
            +
              extend_page 'hosts/_list' do |context|
         | 
| 229 | 
            +
                context.with_profile :puppet, _('Puppet'), default: true do
         | 
| 230 | 
            +
                  add_pagelet :hosts_table_column_header, key: :environment, label: s_('Environment name'), sortable: true, width: '10%', class: 'hidden-xs'
         | 
| 231 | 
            +
                  add_pagelet :hosts_table_column_content, key: :environment, callback: ->(host) { host.environment }, class: 'hidden-xs ellipsis'
         | 
| 232 | 
            +
                end
         | 
| 231 233 | 
             
              end
         | 
| 232 234 | 
             
            end
         | 
| @@ -6,7 +6,18 @@ module ForemanPuppet | |
| 6 6 | 
             
                  class CreateMutationTest < GraphQLQueryTestCase
         | 
| 7 7 | 
             
                    let(:hostname) { 'my-graphql-host' }
         | 
| 8 8 | 
             
                    let(:tax_location) { FactoryBot.create(:location) }
         | 
| 9 | 
            +
                    let(:location_id) { Foreman::GlobalId.for(tax_location) }
         | 
| 9 10 | 
             
                    let(:organization) { FactoryBot.create(:organization) }
         | 
| 11 | 
            +
                    let(:organization_id) { Foreman::GlobalId.for(organization) }
         | 
| 12 | 
            +
                    let(:domain) { FactoryBot.create(:domain) }
         | 
| 13 | 
            +
                    let(:domain_id) { Foreman::GlobalId.for(domain) }
         | 
| 14 | 
            +
                    let(:operatingsystem) { FactoryBot.create(:operatingsystem, :with_grub, :with_associations) }
         | 
| 15 | 
            +
                    let(:operatingsystem_id) { Foreman::GlobalId.for(operatingsystem) }
         | 
| 16 | 
            +
                    let(:ptable_id) { Foreman::GlobalId.for(operatingsystem.ptables.first) }
         | 
| 17 | 
            +
                    let(:medium_id) { Foreman::GlobalId.for(operatingsystem.media.first) }
         | 
| 18 | 
            +
                    let(:architecture_id) { Foreman::GlobalId.for(operatingsystem.architectures.first) }
         | 
| 19 | 
            +
                    let(:ip) { '192.0.2.1' }
         | 
| 20 | 
            +
             | 
| 10 21 | 
             
                    let(:environment) { FactoryBot.create(:environment, locations: [tax_location], organizations: [organization]) }
         | 
| 11 22 | 
             
                    let(:environment_id) { Foreman::GlobalId.for(environment) }
         | 
| 12 23 | 
             
                    let(:puppetclass) { FactoryBot.create(:puppetclass) }
         | 
| @@ -16,6 +27,14 @@ module ForemanPuppet | |
| 16 27 | 
             
                      {
         | 
| 17 28 | 
             
                        name: hostname,
         | 
| 18 29 | 
             
                        environmentId: environment_id,
         | 
| 30 | 
            +
                        ip: ip,
         | 
| 31 | 
            +
                        locationId: location_id,
         | 
| 32 | 
            +
                        organizationId: organization_id,
         | 
| 33 | 
            +
                        domainId: domain_id,
         | 
| 34 | 
            +
                        operatingsystemId: operatingsystem_id,
         | 
| 35 | 
            +
                        ptableId: ptable_id,
         | 
| 36 | 
            +
                        mediumId: medium_id,
         | 
| 37 | 
            +
                        architectureId: architecture_id,
         | 
| 19 38 | 
             
                        puppetclassIds: [puppetclass_id],
         | 
| 20 39 | 
             
                        interfacesAttributes: [
         | 
| 21 40 | 
             
                          {
         | 
| @@ -37,12 +56,29 @@ module ForemanPuppet | |
| 37 56 | 
             
                        mutation createHostMutation(
         | 
| 38 57 | 
             
                            $name: String!,
         | 
| 39 58 | 
             
                            $environmentId: ID,
         | 
| 59 | 
            +
                            $ip: String,
         | 
| 60 | 
            +
                            $locationId: ID!,
         | 
| 61 | 
            +
                            $organizationId: ID!,
         | 
| 62 | 
            +
                            $domainId: ID,
         | 
| 63 | 
            +
                            $operatingsystemId: ID,
         | 
| 64 | 
            +
                            $architectureId: ID,
         | 
| 65 | 
            +
                            $ptableId: ID,
         | 
| 66 | 
            +
                            $mediumId: ID,
         | 
| 40 67 | 
             
                            $puppetclassIds: [ID!],
         | 
| 41 68 | 
             
                            $interfacesAttributes: [InterfaceAttributesInput!]
         | 
| 42 69 | 
             
                          ) {
         | 
| 43 70 | 
             
                          createHost(input: {
         | 
| 44 71 | 
             
                            name: $name,
         | 
| 45 72 | 
             
                            environmentId: $environmentId,
         | 
| 73 | 
            +
                            ip: $ip,
         | 
| 74 | 
            +
                            architectureId: $architectureId,
         | 
| 75 | 
            +
                            locationId: $locationId,
         | 
| 76 | 
            +
                            organizationId: $organizationId,
         | 
| 77 | 
            +
                            domainId: $domainId,
         | 
| 78 | 
            +
                            operatingsystemId: $operatingsystemId,
         | 
| 79 | 
            +
                            architectureId: $architectureId,
         | 
| 80 | 
            +
                            ptableId: $ptableId,
         | 
| 81 | 
            +
                            mediumId: $mediumId,
         | 
| 46 82 | 
             
                            puppetclassIds: $puppetclassIds,
         | 
| 47 83 | 
             
                            interfacesAttributes: $interfacesAttributes,
         | 
| 48 84 | 
             
                          }) {
         | 
| @@ -72,12 +108,14 @@ module ForemanPuppet | |
| 72 108 | 
             
                        assert_equal 1, host.interfaces.count
         | 
| 73 109 | 
             
                        interface = host.interfaces.first
         | 
| 74 110 | 
             
                        assert_equal 'Nic::Bond', interface.type
         | 
| 75 | 
            -
                         | 
| 111 | 
            +
                        assert_equal 'eth0, eth1', interface.attached_to
         | 
| 76 112 | 
             
                        assert_equal 'bond0', interface.identifier
         | 
| 77 113 | 
             
                        assert interface.primary
         | 
| 78 114 | 
             
                        assert interface.provision
         | 
| 79 115 | 
             
                        assert interface.managed
         | 
| 80 116 |  | 
| 117 | 
            +
                        assert_not_nil host.pxe_loader
         | 
| 118 | 
            +
             | 
| 81 119 | 
             
                        assert_not_nil data
         | 
| 82 120 | 
             
                      end
         | 
| 83 121 | 
             
                    end
         | 
| @@ -1,9 +1,7 @@ | |
| 1 1 | 
             
            import PropTypes from 'prop-types';
         | 
| 2 2 | 
             
            import React from 'react';
         | 
| 3 3 | 
             
            import { Route, Switch, Redirect } from 'react-router-dom';
         | 
| 4 | 
            -
            import { translate as __ } from 'foremanReact/common/I18n';
         | 
| 5 4 | 
             
            import { route } from './helpers';
         | 
| 6 | 
            -
            import EmptyPage from './SubTabs/EmptyPage';
         | 
| 7 5 | 
             
            import Reports from './SubTabs/Reports';
         | 
| 8 6 | 
             
            import ENCPreview from './SubTabs/ENCPreview';
         | 
| 9 7 |  | 
| @@ -12,7 +10,7 @@ const SecondaryTabRoutes = ({ hostName, hostInfo, status }) => ( | |
| 12 10 | 
             
                <Route path={route('reports')}>
         | 
| 13 11 | 
             
                  <Reports hostName={hostName} hostInfo={hostInfo} status={status} />
         | 
| 14 12 | 
             
                </Route>
         | 
| 15 | 
            -
                <Route path={route('assigned')}>
         | 
| 13 | 
            +
                {/* <Route path={route('assigned')}>
         | 
| 16 14 | 
             
                  <EmptyPage
         | 
| 17 15 | 
             
                    header={__('Assigned classes')}
         | 
| 18 16 | 
             
                    description={__('This tab is still a work in progress')}
         | 
| @@ -23,7 +21,7 @@ const SecondaryTabRoutes = ({ hostName, hostInfo, status }) => ( | |
| 23 21 | 
             
                    header={__('Smart class parameters')}
         | 
| 24 22 | 
             
                    description={__('This tab is still a work in progress')}
         | 
| 25 23 | 
             
                  />
         | 
| 26 | 
            -
                </Route>
         | 
| 24 | 
            +
                </Route> */}
         | 
| 27 25 | 
             
                <Route path={route('yaml')}>
         | 
| 28 26 | 
             
                  <ENCPreview hostName={hostName} />
         | 
| 29 27 | 
             
                </Route>
         | 
| @@ -1,11 +1,7 @@ | |
| 1 1 | 
             
            import PropTypes from 'prop-types';
         | 
| 2 2 | 
             
            import React from 'react';
         | 
| 3 | 
            +
            import CardTemplate from 'foremanReact/components/HostDetails/Templates/CardItem/CardTemplate';
         | 
| 3 4 | 
             
            import {
         | 
| 4 | 
            -
              Card,
         | 
| 5 | 
            -
              CardBody,
         | 
| 6 | 
            -
              CardHeader,
         | 
| 7 | 
            -
              CardTitle,
         | 
| 8 | 
            -
              CardExpandableContent,
         | 
| 9 5 | 
             
              DescriptionList,
         | 
| 10 6 | 
             
              DescriptionListTerm,
         | 
| 11 7 | 
             
              DescriptionListGroup,
         | 
| @@ -23,73 +19,53 @@ const DescriptionCard = ({ | |
| 23 19 | 
             
              caProxyId,
         | 
| 24 20 | 
             
              env,
         | 
| 25 21 | 
             
              status,
         | 
| 26 | 
            -
            }) =>  | 
| 27 | 
            -
               | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
                    < | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
                       | 
| 36 | 
            -
                         | 
| 37 | 
            -
                          < | 
| 38 | 
            -
                            { | 
| 39 | 
            -
                          </ | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 72 | 
            -
             | 
| 73 | 
            -
                          </DescriptionListTerm>
         | 
| 74 | 
            -
                          <DescriptionListDescription>
         | 
| 75 | 
            -
                            <SkeletonLoader
         | 
| 76 | 
            -
                              emptyState={<DefaultLoaderEmptyState />}
         | 
| 77 | 
            -
                              status={status}
         | 
| 78 | 
            -
                            >
         | 
| 79 | 
            -
                              {caProxy && (
         | 
| 80 | 
            -
                                <a href={`/smart_proxies/${caProxyId}#puppet-ca`}>
         | 
| 81 | 
            -
                                  {caProxy}
         | 
| 82 | 
            -
                                </a>
         | 
| 83 | 
            -
                              )}
         | 
| 84 | 
            -
                            </SkeletonLoader>
         | 
| 85 | 
            -
                          </DescriptionListDescription>
         | 
| 86 | 
            -
                        </DescriptionListGroup>
         | 
| 87 | 
            -
                      </DescriptionList>
         | 
| 88 | 
            -
                    </CardBody>
         | 
| 89 | 
            -
                  </CardExpandableContent>
         | 
| 90 | 
            -
                </Card>
         | 
| 91 | 
            -
              );
         | 
| 92 | 
            -
            };
         | 
| 22 | 
            +
            }) => (
         | 
| 23 | 
            +
              <CardTemplate header={__('Puppet details')} expandable>
         | 
| 24 | 
            +
                <DescriptionList isCompact>
         | 
| 25 | 
            +
                  <DescriptionListGroup>
         | 
| 26 | 
            +
                    <DescriptionListTerm>{__('Puppet environment')}</DescriptionListTerm>
         | 
| 27 | 
            +
                    <DescriptionListDescription>
         | 
| 28 | 
            +
                      <SkeletonLoader
         | 
| 29 | 
            +
                        emptyState={<DefaultLoaderEmptyState />}
         | 
| 30 | 
            +
                        status={status}
         | 
| 31 | 
            +
                      >
         | 
| 32 | 
            +
                        {env && (
         | 
| 33 | 
            +
                          <a href={`/foreman_puppet/environments/?search=name+%3D+${env}`}>
         | 
| 34 | 
            +
                            {env}
         | 
| 35 | 
            +
                          </a>
         | 
| 36 | 
            +
                        )}
         | 
| 37 | 
            +
                      </SkeletonLoader>
         | 
| 38 | 
            +
                    </DescriptionListDescription>
         | 
| 39 | 
            +
                  </DescriptionListGroup>
         | 
| 40 | 
            +
                  <DescriptionListGroup>
         | 
| 41 | 
            +
                    <DescriptionListTerm>{__('Puppet Smart Proxy')}</DescriptionListTerm>
         | 
| 42 | 
            +
                    <DescriptionListDescription>
         | 
| 43 | 
            +
                      <SkeletonLoader
         | 
| 44 | 
            +
                        emptyState={<DefaultLoaderEmptyState />}
         | 
| 45 | 
            +
                        status={status}
         | 
| 46 | 
            +
                      >
         | 
| 47 | 
            +
                        {proxyName && (
         | 
| 48 | 
            +
                          <a href={`/smart_proxies/${proxyId}#puppet`}>{proxyName}</a>
         | 
| 49 | 
            +
                        )}
         | 
| 50 | 
            +
                      </SkeletonLoader>
         | 
| 51 | 
            +
                    </DescriptionListDescription>
         | 
| 52 | 
            +
                  </DescriptionListGroup>
         | 
| 53 | 
            +
                  <DescriptionListGroup>
         | 
| 54 | 
            +
                    <DescriptionListTerm>{__('Puppet CA Smart Proxy')}</DescriptionListTerm>
         | 
| 55 | 
            +
                    <DescriptionListDescription>
         | 
| 56 | 
            +
                      <SkeletonLoader
         | 
| 57 | 
            +
                        emptyState={<DefaultLoaderEmptyState />}
         | 
| 58 | 
            +
                        status={status}
         | 
| 59 | 
            +
                      >
         | 
| 60 | 
            +
                        {caProxy && (
         | 
| 61 | 
            +
                          <a href={`/smart_proxies/${caProxyId}#puppet-ca`}>{caProxy}</a>
         | 
| 62 | 
            +
                        )}
         | 
| 63 | 
            +
                      </SkeletonLoader>
         | 
| 64 | 
            +
                    </DescriptionListDescription>
         | 
| 65 | 
            +
                  </DescriptionListGroup>
         | 
| 66 | 
            +
                </DescriptionList>
         | 
| 67 | 
            +
              </CardTemplate>
         | 
| 68 | 
            +
            );
         | 
| 93 69 |  | 
| 94 70 | 
             
            DescriptionCard.propTypes = {
         | 
| 95 71 | 
             
              caProxy: PropTypes.string,
         | 
| @@ -2,7 +2,9 @@ import { translate as __ } from 'foremanReact/common/I18n'; | |
| 2 2 |  | 
| 3 3 | 
             
            export const SECONDARY_TABS = [
         | 
| 4 4 | 
             
              { key: 'reports', title: __('Reports') },
         | 
| 5 | 
            -
               | 
| 6 | 
            -
             | 
| 5 | 
            +
              /** Hiding the two tabs since they were not implemented yet and shouldn't be part of the release.
         | 
| 6 | 
            +
               * { key: 'assigned', title: __('Assigned classes') },
         | 
| 7 | 
            +
               * { key: 'smart-classes', title: __('Smart class parameters') },
         | 
| 8 | 
            +
               */
         | 
| 7 9 | 
             
              { key: 'yaml', title: __('ENC Preview') },
         | 
| 8 10 | 
             
            ];
         | 
| @@ -21,8 +21,6 @@ const PuppetTab = ({ response, status, location: { pathname } }) => { | |
| 21 21 | 
             
                    {SECONDARY_TABS.map(({ key, title }) => (
         | 
| 22 22 | 
             
                      <Tab
         | 
| 23 23 | 
             
                        key={key}
         | 
| 24 | 
            -
                        id={`puppet-subtab-${key}`}
         | 
| 25 | 
            -
                        ouiaId={`puppet-subtab-${key}`}
         | 
| 26 24 | 
             
                        eventKey={key}
         | 
| 27 25 | 
             
                        title={<TabTitleText>{title}</TabTitleText>}
         | 
| 28 26 | 
             
                      />
         | 
    
        metadata
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: foreman_puppet
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version:  | 
| 4 | 
            +
              version: 5.0.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Ondřej Ezr
         | 
| 8 8 | 
             
            - Shira Maximov
         | 
| 9 | 
            -
            autorequire: | 
| 9 | 
            +
            autorequire:
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2022-11-22 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies: []
         | 
| 14 14 | 
             
            description: Allow assigning Puppet environments and classes to the Foreman Hosts.
         | 
| 15 15 | 
             
            email:
         | 
| @@ -224,7 +224,6 @@ files: | |
| 224 224 | 
             
            - locale/de/LC_MESSAGES/foreman_puppet.mo
         | 
| 225 225 | 
             
            - locale/de/foreman_puppet.po
         | 
| 226 226 | 
             
            - locale/en/LC_MESSAGES/foreman_puppet.mo
         | 
| 227 | 
            -
            - locale/en/foreman_puppet.edit.po
         | 
| 228 227 | 
             
            - locale/en/foreman_puppet.po
         | 
| 229 228 | 
             
            - locale/en_GB/LC_MESSAGES/foreman_puppet.mo
         | 
| 230 229 | 
             
            - locale/en_GB/foreman_puppet.po
         | 
| @@ -361,7 +360,7 @@ homepage: https://github.com/theforeman/foreman_puppet | |
| 361 360 | 
             
            licenses:
         | 
| 362 361 | 
             
            - GPL-3.0
         | 
| 363 362 | 
             
            metadata: {}
         | 
| 364 | 
            -
            post_install_message: | 
| 363 | 
            +
            post_install_message:
         | 
| 365 364 | 
             
            rdoc_options: []
         | 
| 366 365 | 
             
            require_paths:
         | 
| 367 366 | 
             
            - lib
         | 
| @@ -376,75 +375,75 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 376 375 | 
             
                - !ruby/object:Gem::Version
         | 
| 377 376 | 
             
                  version: '0'
         | 
| 378 377 | 
             
            requirements: []
         | 
| 379 | 
            -
            rubygems_version: 3.1. | 
| 380 | 
            -
            signing_key: | 
| 378 | 
            +
            rubygems_version: 3.1.6
         | 
| 379 | 
            +
            signing_key:
         | 
| 381 380 | 
             
            specification_version: 4
         | 
| 382 381 | 
             
            summary: Add Puppet features to Foreman
         | 
| 383 382 | 
             
            test_files:
         | 
| 384 | 
            -
            - test/ | 
| 385 | 
            -
            - test/ | 
| 386 | 
            -
            - test/ | 
| 387 | 
            -
            - test/ | 
| 388 | 
            -
            - test/ | 
| 383 | 
            +
            - test/controllers/foreman_puppet/api/v2/config_groups_controller_test.rb
         | 
| 384 | 
            +
            - test/controllers/foreman_puppet/api/v2/host_classes_controller_test.rb
         | 
| 385 | 
            +
            - test/controllers/foreman_puppet/api/v2/hostgroup_classes_controller_test.rb
         | 
| 386 | 
            +
            - test/controllers/foreman_puppet/api/v2/hostgroups_controller_test.rb
         | 
| 387 | 
            +
            - test/controllers/foreman_puppet/api/v2/lookups_common_controller_test.rb
         | 
| 388 | 
            +
            - test/controllers/foreman_puppet/api/v2/provisioning_templates_controller_test.rb
         | 
| 389 | 
            +
            - test/controllers/foreman_puppet/api/v2/puppetclasses_controller_test.rb
         | 
| 390 | 
            +
            - test/controllers/foreman_puppet/api/v2/smart_proxies_controller_test.rb
         | 
| 391 | 
            +
            - test/controllers/foreman_puppet/api/v2/template_combinations_controller_test.rb
         | 
| 392 | 
            +
            - test/controllers/foreman_puppet/api/v2/environments_controller_test.rb
         | 
| 393 | 
            +
            - test/controllers/foreman_puppet/api/v2/hosts_controller_test.rb
         | 
| 394 | 
            +
            - test/controllers/foreman_puppet/api/v2/override_values_controller_test.rb
         | 
| 395 | 
            +
            - test/controllers/foreman_puppet/api/v2/smart_class_parameters_controller_test.rb
         | 
| 396 | 
            +
            - test/controllers/foreman_puppet/config_groups_controller_test.rb
         | 
| 397 | 
            +
            - test/controllers/foreman_puppet/hostgroups_controller_test.rb
         | 
| 398 | 
            +
            - test/controllers/foreman_puppet/puppet_smart_proxies_controller_test.rb
         | 
| 399 | 
            +
            - test/controllers/foreman_puppet/puppetclass_lookup_keys_controller_test.rb
         | 
| 400 | 
            +
            - test/controllers/foreman_puppet/puppetclasses_controller_test.rb
         | 
| 401 | 
            +
            - test/controllers/foreman_puppet/environments_controller_test.rb
         | 
| 402 | 
            +
            - test/controllers/foreman_puppet/hosts_controller_test.rb
         | 
| 403 | 
            +
            - test/controllers/provisioning_templates_controller_test.rb
         | 
| 404 | 
            +
            - test/factories/foreman_puppet_factories.rb
         | 
| 405 | 
            +
            - test/factories/host_puppet_enhancements.rb
         | 
| 406 | 
            +
            - test/factories/proxy_puppet_enhancements.rb
         | 
| 407 | 
            +
            - test/graphql/mutations/hosts/create_mutation_test.rb
         | 
| 408 | 
            +
            - test/graphql/queries/environments_query_test.rb
         | 
| 409 | 
            +
            - test/graphql/queries/host_puppet_query_test.rb
         | 
| 410 | 
            +
            - test/graphql/queries/hostgroup_puppet_query_test.rb
         | 
| 411 | 
            +
            - test/graphql/queries/location_query_test.rb
         | 
| 412 | 
            +
            - test/graphql/queries/organization_query_test.rb
         | 
| 413 | 
            +
            - test/graphql/queries/puppetclasses_query_test.rb
         | 
| 414 | 
            +
            - test/graphql/queries/environment_query_test.rb
         | 
| 415 | 
            +
            - test/graphql/queries/puppetclass_query_test.rb
         | 
| 389 416 | 
             
            - test/helpers/foreman_puppet/hosts_and_hostgroups_helper_test.rb
         | 
| 417 | 
            +
            - test/helpers/foreman_puppet/puppetclass_lookup_keys_helper_test.rb
         | 
| 390 418 | 
             
            - test/helpers/foreman_puppet/puppetclasses_helper_test.rb
         | 
| 391 419 | 
             
            - test/integration/foreman_puppet/dashboard_js_test.rb
         | 
| 420 | 
            +
            - test/integration/foreman_puppet/environment_js_test.rb
         | 
| 392 421 | 
             
            - test/integration/foreman_puppet/host_js_test.rb
         | 
| 393 422 | 
             
            - test/integration/foreman_puppet/hostgroup_js_test.rb
         | 
| 394 | 
            -
            - test/integration/foreman_puppet/smartclass_parameter_js_test.rb
         | 
| 395 423 | 
             
            - test/integration/foreman_puppet/puppetclass_js_test.rb
         | 
| 396 | 
            -
            - test/integration/foreman_puppet/ | 
| 397 | 
            -
            - test/ | 
| 398 | 
            -
            - test/factories/host_puppet_enhancements.rb
         | 
| 399 | 
            -
            - test/factories/proxy_puppet_enhancements.rb
         | 
| 400 | 
            -
            - test/integration_puppet_helper.rb
         | 
| 424 | 
            +
            - test/integration/foreman_puppet/smartclass_parameter_js_test.rb
         | 
| 425 | 
            +
            - test/models/foreman_puppet/config_group_class_test.rb
         | 
| 401 426 | 
             
            - test/models/foreman_puppet/config_group_test.rb
         | 
| 427 | 
            +
            - test/models/foreman_puppet/environment_test.rb
         | 
| 428 | 
            +
            - test/models/foreman_puppet/host_config_group_test.rb
         | 
| 429 | 
            +
            - test/models/foreman_puppet/hostgroup_puppet_facet_test.rb
         | 
| 430 | 
            +
            - test/models/foreman_puppet/hostgroup_test.rb
         | 
| 431 | 
            +
            - test/models/foreman_puppet/lookup_value_test.rb
         | 
| 432 | 
            +
            - test/models/foreman_puppet/puppetclass_lookup_key_test.rb
         | 
| 402 433 | 
             
            - test/models/foreman_puppet/report_test.rb
         | 
| 434 | 
            +
            - test/models/foreman_puppet/smart_proxy_test.rb
         | 
| 435 | 
            +
            - test/models/foreman_puppet/user_test.rb
         | 
| 403 436 | 
             
            - test/models/foreman_puppet/host_puppet_facet_test.rb
         | 
| 404 437 | 
             
            - test/models/foreman_puppet/host_test.rb
         | 
| 405 | 
            -
            - test/models/foreman_puppet/user_test.rb
         | 
| 406 438 | 
             
            - test/models/foreman_puppet/provisioning_template_test.rb
         | 
| 407 | 
            -
            - test/models/foreman_puppet/host_config_group_test.rb
         | 
| 408 | 
            -
            - test/models/foreman_puppet/lookup_value_test.rb
         | 
| 409 | 
            -
            - test/models/foreman_puppet/hostgroup_test.rb
         | 
| 410 | 
            -
            - test/models/foreman_puppet/hostgroup_puppet_facet_test.rb
         | 
| 411 | 
            -
            - test/models/foreman_puppet/puppetclass_lookup_key_test.rb
         | 
| 412 | 
            -
            - test/models/foreman_puppet/environment_test.rb
         | 
| 413 439 | 
             
            - test/models/foreman_puppet/puppetclass_test.rb
         | 
| 414 | 
            -
            - test/models/foreman_puppet/config_group_class_test.rb
         | 
| 415 | 
            -
            - test/models/foreman_puppet/smart_proxy_test.rb
         | 
| 416 | 
            -
            - test/graphql/queries/hostgroup_puppet_query_test.rb
         | 
| 417 | 
            -
            - test/graphql/queries/puppetclass_query_test.rb
         | 
| 418 | 
            -
            - test/graphql/queries/location_query_test.rb
         | 
| 419 | 
            -
            - test/graphql/queries/organization_query_test.rb
         | 
| 420 | 
            -
            - test/graphql/queries/puppetclasses_query_test.rb
         | 
| 421 | 
            -
            - test/graphql/queries/environment_query_test.rb
         | 
| 422 | 
            -
            - test/graphql/queries/environments_query_test.rb
         | 
| 423 | 
            -
            - test/graphql/queries/host_puppet_query_test.rb
         | 
| 424 | 
            -
            - test/graphql/mutations/hosts/create_mutation_test.rb
         | 
| 425 | 
            -
            - test/test_puppet_helper.rb
         | 
| 426 | 
            -
            - test/controllers/provisioning_templates_controller_test.rb
         | 
| 427 | 
            -
            - test/controllers/foreman_puppet/hostgroups_controller_test.rb
         | 
| 428 | 
            -
            - test/controllers/foreman_puppet/puppetclass_lookup_keys_controller_test.rb
         | 
| 429 | 
            -
            - test/controllers/foreman_puppet/environments_controller_test.rb
         | 
| 430 | 
            -
            - test/controllers/foreman_puppet/puppet_smart_proxies_controller_test.rb
         | 
| 431 | 
            -
            - test/controllers/foreman_puppet/hosts_controller_test.rb
         | 
| 432 | 
            -
            - test/controllers/foreman_puppet/api/v2/template_combinations_controller_test.rb
         | 
| 433 | 
            -
            - test/controllers/foreman_puppet/api/v2/smart_class_parameters_controller_test.rb
         | 
| 434 | 
            -
            - test/controllers/foreman_puppet/api/v2/host_classes_controller_test.rb
         | 
| 435 | 
            -
            - test/controllers/foreman_puppet/api/v2/hostgroups_controller_test.rb
         | 
| 436 | 
            -
            - test/controllers/foreman_puppet/api/v2/lookups_common_controller_test.rb
         | 
| 437 | 
            -
            - test/controllers/foreman_puppet/api/v2/environments_controller_test.rb
         | 
| 438 | 
            -
            - test/controllers/foreman_puppet/api/v2/hosts_controller_test.rb
         | 
| 439 | 
            -
            - test/controllers/foreman_puppet/api/v2/hostgroup_classes_controller_test.rb
         | 
| 440 | 
            -
            - test/controllers/foreman_puppet/api/v2/puppetclasses_controller_test.rb
         | 
| 441 | 
            -
            - test/controllers/foreman_puppet/api/v2/smart_proxies_controller_test.rb
         | 
| 442 | 
            -
            - test/controllers/foreman_puppet/api/v2/override_values_controller_test.rb
         | 
| 443 | 
            -
            - test/controllers/foreman_puppet/api/v2/config_groups_controller_test.rb
         | 
| 444 | 
            -
            - test/controllers/foreman_puppet/api/v2/provisioning_templates_controller_test.rb
         | 
| 445 | 
            -
            - test/controllers/foreman_puppet/puppetclasses_controller_test.rb
         | 
| 446 | 
            -
            - test/controllers/foreman_puppet/config_groups_controller_test.rb
         | 
| 447 | 
            -
            - test/services/foreman_puppet/input_type/puppet_parameter_input_test.rb
         | 
| 448 440 | 
             
            - test/services/foreman_puppet/host_counter_test.rb
         | 
| 449 441 | 
             
            - test/services/foreman_puppet/host_info_providers/config_groups_info_test.rb
         | 
| 450 442 | 
             
            - test/services/foreman_puppet/host_info_providers/puppet_info_test.rb
         | 
| 443 | 
            +
            - test/services/foreman_puppet/input_type/puppet_parameter_input_test.rb
         | 
| 444 | 
            +
            - test/test_puppet_helper.rb
         | 
| 445 | 
            +
            - test/unit/foreman_puppet/access_permissions_test.rb
         | 
| 446 | 
            +
            - test/unit/foreman_puppet/puppet_class_importer_test.rb
         | 
| 447 | 
            +
            - test/unit/foreman_puppet/template_rendering_test.rb
         | 
| 448 | 
            +
            - test/unit/foreman_puppet_test.rb
         | 
| 449 | 
            +
            - test/integration_puppet_helper.rb
         | 
| 
            File without changes
         |