Capsule synchronization does not sync any repository to the Capsule
Environment
- Red Hat Satellite 6
- external Capsule
Issue
After promoting a Content View to a Lifecycle Environment (LE), Capsule synchronization (even manually invoked) does not synchronize any repository to the Capsule - despite the Capsule is assigned to that LE.
Resolution
One possibility is that Satellite has misconfigured Capsule's features. Commands below help to identify where the problem is - if the advices there dont help, please provide outputs of the commands to Red Hat support.
Ensure that:
- the Capsule (
foreman-proxythere) has enabledpulpcorefeature - the below output must not be empty:
# CAPSULE=my.capsule.fqdn
# curl -s --cacert /etc/foreman/proxy_ca.pem --cert /etc/foreman/client_cert.pem --key /etc/foreman/client_key.pem https://${CAPSULE}:9090/v2/features | jq '.pulpcore'
{
"http_enabled": false,
"https_enabled": true,
"settings": {
"pulp_url": "https://my.capsule.fqdn",
"mirror": true,
"content_app_url": "https://my.capsule.fqdn/pulp/content",
"username": null,
"password": null,
"client_authentication": [
"client_certificate"
],
"rhsm_url": "https://my.capsule.fqdn:443/rhsm"
},
"state": "running",
"capabilities": [
"ansible",
"certguard",
"container",
"core",
"file",
"rpm"
]
}
#
If this output is missing, ensure pulp-3 is installed on the Capsule.
- Check if Satellite is aware of the Capsule's features, and of
pulpcorefeature in particular. Below command should show one record:
# CAPSULE=my.capsule.fqdn
# su - postgres -c "psql foreman -c \"SELECT spf.capabilities,spf.settings FROM smart_proxy_features AS spf INNER JOIN features AS f ON f.id = spf.feature_id INNER JOIN smart_proxies AS sp ON sp.id = spf.smart_proxy_id WHERE f.name = 'Pulpcore' AND sp.name = '${CAPSULE}'\""
capabilities | settings
--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------
--- +| {"pulp_url":"https://my.capsule.fqdn","mirror":true,"content_app_url":"https://my.capsule.fqdn/pulp/content","username":null,"
password":null,"client_authentication":["client_certificate"],"rhsm_url":"https://my.capsule.fqdn:443/rhsm"}
- ansible +|
- certguard +|
- container +|
- core +|
- file +|
- rpm +|
|
(1 row)
#
Ensure the URLs point to the right Capsule and that the capabilities (first column) contains the repository content type you want to synchronize to the Capsule. If the record is missing or wrong, try refresh features (WebUI -> Infrastructure -> Capsules -> for the Capsule, select "Refresh" from the Actions drop down menu).
Root Cause
Satellite was not aware if/that Capsule has pulp-3 installed and capable of synchronizing the given type of content.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.