Issue #3769
closedPython packages dosen't have content units in FIPS enabled environment
Description
When Python repo is created and is synced, the downloaded contents in the FIPS environment fails to contain:
"*Content Unit Count*"
Environment Details :
RHEL 7.5
Pulp 2.17
FIPS Enabled
SELinux : Enforcing
RPMS Installed :
pulp-admin-client-2.17.0-0.1.alpha.201806181011gitd048023.el7.noarch
pulp-deb-admin-extensions-1.8.0-0.1.alpha.201806181017git5409969.el7.noarch
pulp-deb-plugins-1.8.0-0.1.alpha.201806181017git5409969.el7.noarch
pulp-docker-admin-extensions-3.2.0-0.1.alpha.201806181003git1e0493c.el7.noarch
pulp-docker-plugins-3.2.0-0.1.alpha.201806181003git1e0493c.el7.noarch
pulp-ostree-admin-extensions-1.4.0-0.1.alpha.201806181005git1d18a59.el7.noarch
pulp-ostree-plugins-1.4.0-0.1.alpha.201806181005git1d18a59.el7.noarch
pulp-puppet-admin-extensions-2.17.0-0.1.alpha.201806181007git44a02f8.el7.noarch
pulp-puppet-plugins-2.17.0-0.1.alpha.201806181007git44a02f8.el7.noarch
pulp-puppet-tools-2.17.0-0.1.alpha.201806181007git44a02f8.el7.noarch
pulp-python-admin-extensions-2.1.0-0.1.alpha.201806181001gitfabd48c.el7.noarch
pulp-python-plugins-2.1.0-0.1.alpha.201806181001gitfabd48c.el7.noarch
pulp-rpm-admin-extensions-2.17.0-0.1.alpha.201806181009git635260e.el7.noarch
pulp-rpm-plugins-2.17.0-0.1.alpha.201806181009git635260e.el7.noarch
pulp-selinux-2.17.0-0.1.alpha.201806181011gitd048023.el7.noarch
pulp-server-2.17.0-0.1.alpha.201806181011gitd048023.el7.noarch
python-isodate-0.5.0-4.pulp.el7.noarch
python-pulp-bindings-2.17.0-0.1.alpha.201806181011gitd048023.el7.noarch
python-pulp-client-lib-2.17.0-0.1.alpha.201806181011gitd048023.el7.noarch
python-pulp-common-2.17.0-0.1.alpha.201806181011gitd048023.el7.noarch
python-pulp-deb-common-1.8.0-0.1.alpha.201806181017git5409969.el7.noarch
python-pulp-docker-common-3.2.0-0.1.alpha.201806181003git1e0493c.el7.noarch
python-pulp-oid_validation-2.17.0-0.1.alpha.201806181011gitd048023.el7.noarch
python-pulp-ostree-common-1.4.0-0.1.alpha.201806181005git1d18a59.el7.noarch
python-pulp-puppet-common-2.17.0-0.1.alpha.201806181007git44a02f8.el7.noarch
python-pulp-python-common-2.1.0-0.1.alpha.201806181001gitfabd48c.el7.noarch
python-pulp-repoauth-2.17.0-0.1.alpha.201806181011gitd048023.el7.noarch
python-pulp-rpm-common-2.17.0-0.1.alpha.201806181009git635260e.el7.noarch
python-pulp-streamer-2.17.0-0.1.alpha.201806181011gitd048023.el7.noarch
The same procedure was reproduced in a non-FIPS RHEL 7.5 machine with PULP 2.17, and this time the content unit counts were seen
In FIPS enabled RHEL 7.5 Machine
Steps for reproducing the issue :
# Create a Python Repo
pulp-admin python repo create --feed=https://repos.fedorapeople.org/pulp/pulp/fixtures/python-pypi/ --repo-id=test_fips --package-names=shelf-reader
# Sync and download the Repo
pulp-admin python repo sync run --repo-id=test-fips
# Finally check the repositories that are created
pulp-admin python repo list
It can be seen that the Content Unit Count is blank in this output.
Have Attached the following Images
The Content Unit Count is not displayed after the contents are synced in the Fips environment. This is shown in both pulp-admin and in the python debugger(in pulp-smash) in the following images
fips_unit_count_missing
fips_unit_types_missing
Output of python repo list :
fips$ pulp-admin python repo list
+----------------------------------------------------------------------+
Python Repositories
+----------------------------------------------------------------------+
Id: b0ec7518-0ff5-45c7-8267-f0e52fb40263
Display Name: b0ec7518-0ff5-45c7-8267-f0e52fb40263
Description: None
Content Unit Counts:
Output of the Content Units seen in the python debugger
ipdb> n
> /root/pulp-smash/pulp_smash/tests/pulp2/python/api_v2/test_sync_publish.py(116)verify_package_types()
115 unit_types = {unit['metadata']['packagetype'] for unit in units}
--> 116 self.assertEqual(unit_types, {'sdist', 'bdist_wheel'})
117
ipdb> unit_types
set()
ipdb> len(unit_types)
0
ipdb>
Non Fips Environment :
Do the same step as done in the FIPS environment for creating a python repo.
Once created, it can be seen that the content unit count, in this case, is seen.
Content Unit Count are seen in "non_fips_unit_count" attachment
I also ran the ipdb debugger in the pulp_smash to look at the contents types of the synced content, and two content types are to be seen.
This is shown in "non_fips_unit_type_content" attachment
Output of python repo list :
non-fips$ pulp-admin python repo list
+----------------------------------------------------------------------+
Python Repositories
+----------------------------------------------------------------------+
Id: ce477c9f-b32c-43a3-a463-b611332a688a
Display Name: ce477c9f-b32c-43a3-a463-b611332a688a
Description: None
Content Unit Counts:
Python Package: 2
Output of the Content Units seen in the python debugger
ipdb> n
> /root/pulp-smash/pulp_smash/tests/pulp2/python/api_v2/test_sync_publish.py(116)verify_package_types()
115 unit_types = {unit['metadata']['packagetype'] for unit in units}
--> 116 self.assertEqual(unit_types, {'sdist', 'bdist_wheel'})
117
ipdb> unit_types
{'sdist', 'bdist_wheel'}
ipdb> len(unit_types)
2
Files