Skip to content

Commit

Permalink
Update to errata-stream fix, use up to date register method for rhel_…
Browse files Browse the repository at this point in the history
…contenthost (#12851)

* Update to use .register() method, the preferred way without katello-agent

* Addressing comments

* subscription-manager repos call, local pass
  • Loading branch information
damoore044 authored and LadislavVasina1 committed Oct 20, 2023
1 parent 4587e3a commit c48abc2
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 20 deletions.
1 change: 1 addition & 0 deletions robottelo/host_helpers/contenthost_mixins.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ class HostInfo:
@property
def applicable_errata_count(self):
"""return the applicable errata count for a host"""
self.run('subscription-manager repos')
return self.nailgun_host.read().content_facet_attributes['errata_counts']['total']


Expand Down
36 changes: 16 additions & 20 deletions tests/foreman/api/test_errata.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
:Upstream: No
"""
# For ease of use hc refers to host-collection throughout this document
from copy import copy
from time import sleep

from nailgun import entities
Expand Down Expand Up @@ -159,12 +158,10 @@ def test_positive_install_in_hc(module_org, activation_key, custom_repo, target_


@pytest.mark.tier3
@pytest.mark.rhel_ver_match(r'^(?!6$)\d+$')
@pytest.mark.rhel_ver_match('[^6]')
@pytest.mark.no_containers
@pytest.mark.e2e
def test_positive_install_multiple_in_host(
function_org, rhel_contenthost, target_sat, function_lce
):
def test_positive_install_multiple_in_host(target_sat, rhel_contenthost, module_org, module_lce):
"""For a host with multiple applicable errata install one and ensure
the rest of errata is still available
Expand All @@ -185,51 +182,50 @@ def test_positive_install_multiple_in_host(
:CaseLevel: System
"""
ak = target_sat.api.ActivationKey(
organization=function_org,
environment=function_lce,
organization=module_org,
environment=module_lce,
).create()
cv = target_sat.api.ContentView(organization=function_org).create()
# Associate custom repos with org, cv, lce, ak:
# Associate custom repos with org, lce, ak:
target_sat.cli_factory.setup_org_for_a_custom_repo(
{
'url': settings.repos.yum_9.url,
'organization-id': function_org.id,
'content-view-id': cv.id,
'lifecycle-environment-id': function_lce.id,
'organization-id': module_org.id,
'lifecycle-environment-id': module_lce.id,
'activationkey-id': ak.id,
}
)
# Install katello-ca, register content-host, enable all repos:
rhel_contenthost.install_katello_ca(target_sat)
rhel_contenthost.register_contenthost(function_org.name, ak.name, function_lce.name)
rhel_contenthost.register(
activation_keys=ak.name,
target=target_sat,
org=module_org,
loc=None,
)
assert rhel_contenthost.subscribed
# Installing outdated custom packages:
for package in constants.FAKE_9_YUM_OUTDATED_PACKAGES:
rhel_contenthost.run(f'yum remove -y {str(package.split("-", 1)[0])}')
assert rhel_contenthost.run(f'yum install -y {package}').status == 0
assert rhel_contenthost.run(f'rpm -q {package}').status == 0
rhel_contenthost.add_rex_key(satellite=target_sat)
rhel_contenthost.run(r'subscription-manager repos --enable \*')
# Each errata will be installed sequentially,
# after each install, applicable-errata-count should drop by one.
for errata in constants.FAKE_9_YUM_SECURITY_ERRATUM:
pre_errata_count = copy(rhel_contenthost.applicable_errata_count)
pre_errata_count = rhel_contenthost.applicable_errata_count
assert pre_errata_count >= 1
task_id = target_sat.api.JobInvocation().run(
data={
'feature': 'katello_errata_install',
'inputs': {'errata': str(errata)},
'targeting_type': 'static_query',
'search_query': f'name = {rhel_contenthost.hostname}',
'organization_id': function_org.id,
'organization_id': module_org.id,
},
)['id']
target_sat.wait_for_tasks(
search_query=(f'label = Actions::RemoteExecution::RunHostsJob and id = {task_id}'),
search_rate=20,
max_tries=15,
)
sleep(10)
sleep(20)
assert rhel_contenthost.applicable_errata_count == pre_errata_count - 1


Expand Down

0 comments on commit c48abc2

Please sign in to comment.