Skip to content

Commit

Permalink
capsule upgrade playbook -- don't specify target version
Browse files Browse the repository at this point in the history
  • Loading branch information
pondrejk committed Oct 4, 2024
1 parent f89a715 commit 8024827
Showing 1 changed file with 45 additions and 3 deletions.
48 changes: 45 additions & 3 deletions tests/foreman/api/test_remoteexecution.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@
import pytest

from robottelo.config import settings
from robottelo.hosts import get_sat_version
from robottelo.utils import ohsnap

CAPSULE_TARGET_VERSION = f'6.{get_sat_version().minor}.z'


@pytest.mark.tier4
def test_positive_find_capsule_upgrade_playbook(target_sat):
Expand All @@ -38,6 +35,51 @@ def test_positive_find_capsule_upgrade_playbook(target_sat):
assert len(templates) > 0


@pytest.mark.tier4
def test_positive_run_capsule_update_playbook(module_capsule_configured, target_sat):
"""Run Capsule Upgrade playbook against an External Capsule
:id: 9ec6903d-2bb7-46a5-8002-afc74f06d83b
:steps:
1. Create a Capsule VM, add REX key.
2. Run the Capsule Upgrade Playbook.
:expectedresults: Capsule is upgraded successfully
:CaseImportance: Medium
"""

template_name = 'Capsule Update Playbook'
template_id = (
target_sat.api.JobTemplate().search(query={'search': f'name="{template_name}"'})[0].id
)
module_capsule_configured.add_rex_key(satellite=target_sat)
job = target_sat.api.JobInvocation().run(
synchronous=False,
data={
'job_template_id': template_id,
'inputs': {
'whitelist_options': 'repositories-validate,repositories-setup,non-rh-packages',
},
'targeting_type': 'static_query',
'search_query': f'name = {module_capsule_configured.hostname}',
},
)
target_sat.wait_for_tasks(f'resource_type = JobInvocation and resource_id = {job["id"]}')
result = target_sat.api.JobInvocation(id=job['id']).read()
assert result.succeeded == 1
result = target_sat.execute('satellite-maintain health check')
assert result.status == 0
for line in result.stdout:
assert 'FAIL' not in line
result = target_sat.api.SmartProxy(
id=target_sat.api.SmartProxy(name=target_sat.hostname).search()[0].id
).refresh()
feature_set = {feat['name'] for feat in result['features']}
assert {'Dynflow', 'Script', 'Pulpcore', 'Logs'}.issubset(feature_set)


@pytest.mark.tier3
@pytest.mark.no_containers
@pytest.mark.rhel_ver_list('8')
Expand Down

0 comments on commit 8024827

Please sign in to comment.