Mirror - "No more mirrors to try" for SAP related components

In an older post, I already found that permissions on SAP related RPMs are restricted, which is perfectly ok for me.

https://www.googlecloudcommunity.com/gc/Apigee/Private-repo-mirror-failing-When-trying-to-create-a-m...

However, upgrading mirror 4.51.00 to 4.51.00.01 (we ran into encrypted KVM issues during PROD migration), if I run the command

http_proxy=http://proxy.mydomain.net:8080; https_proxy=https://proxy.mydomain.net:8080; export http_proxy; export https_proxy; /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync

I run into output which does not tell me if I have consistently ALL OTHER (non-SAP) files or not. Log see at the end.

-> How can I know that ONLY SAP files are missing, but everything else is present?

I would need an information that only these are missing and everything else is there. The repodata UUID doesn't help me to see if this error message is SAP related. Furthermore I do not see any option how to skip SAP, using additional command line parameters.

Intentionally running a shell script into an error condition (due to different licensing) is an anti-pattern for automation/scripting.

As I want to create a .tar.gz out of the mirror folder, for a one-shot upload to JFrog, it MUST be complete. Otherwise the path in JFrog is blocked, having incomplete mirror contents in it, polluting the "nice"/correct paths with some dummy-postfixed paths like "4.51.00.01-copy1" or something like that. I cannot upload tar gzip twice to the same path in JFrog.

Programmatic comparison of Apigee software with already downloaded mirror is a mess, as it would require nested repodata.xml parsing and heavy scripting...

Output:

replacing apigeecredentialswithat in /cs/apiservice/data/apigee-mirror/apigee-mirror.repo
replacing apigeeprotocol in /cs/apiservice/data/apigee-mirror/apigee-mirror.repo
replacing apigeereleasever in /cs/apiservice/data/apigee-mirror/apigee-mirror.repo
replacing apigeerepobasepath in /cs/apiservice/data/apigee-mirror/apigee-mirror.repo
replacing apigeerepohost in /cs/apiservice/data/apigee-mirror/apigee-mirror.repo
replacing apigeestage in /cs/apiservice/data/apigee-mirror/apigee-mirror.repo
apigee-thirdparty-2                                      | 1.4 kB     00:00     
apigee-thirdparty-6                                      | 1.4 kB     00:00     
apigee-thirdparty-7                                      | 3.0 kB     00:00     
apigee-thirdparty-8                                      | 1.4 kB     00:00     
apigee-mirror-release                                    | 1.4 kB     00:00     
apigee-sap-drupal-devportal-4. FAILED                                          
apigee-sap-drupal-devportal-4. FAILED                                           
edge-sap-ui-4.51.00-0.0.20015. FAILED                                           
apigee-sap-drupal-devportal-4.51.00-0.0.411.noarch: [Errno 256] No more mirrors to try.
edge-sap-ui-4.51.00-0.0.20015.noarch: [Errno 256] No more mirrors to try.
apigee-sap-drupal-devportal-4.51.00-0.0.410.noarch: [Errno 256] No more mirrors to try.
Download repodata/e71e9c0cdb7ebe3ec9d777972eb91ce8a01c66a7-other.xml.gz failed. Exiting.

 

0 4 317
4 REPLIES 4

i have the same issue, is there any update on this

Same issue here. script fails as soon as we get to the SAP packages.
Any fix?

EDIT:
Found the following known issue (https://docs.apigee.com/release/known-issues#private-cloud

apigee-mirror on RHEL 8.0

apigee-mirror does not work on Red Hat Enterprise Linux (RHEL) 8.0.

Workaround: As a workaround, install apigee-mirror on a server running a lower version of RHEL or another supported operating system for Apigee. You can then use the mirror to add packages even if you installed Apigee on RHEL 8.0 servers.

Haven't tested it yet, but we were indeed using RHEL 8.0.

I had the same issue with sap package fail to download.

I found a pretty ellegant workaround and I was able to sync mirror successfuly.

 

Just add the folowing line in /opt/apigee/customer/application/mirror.properties :

 

conf/apigee-mirror.repo+exclude=apigee-sap-drupal-devportal* edge-sap-ui* apigee-sap-drupal-devportal* edge-sap-ui*

 

This will exclude failing sap package from sync. Strangely, exluding package in /etc/yum.conf doesn't work...

 

Here is the results :

 

/opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms
The file conf/apigee-mirror.repo was changed
[InsertDelta, position: 44, lines: [, exclude=apigee-sap-drupal-devportal* edge-sap-ui* apigee-sap-drupal-devportal* edge-sap-ui*]]
apigee-configutil: apigee-mirror: # OK
replacing apigeecredentialswithat in /opt/apigee/data/apigee-mirror/apigee-mirror.repo
replacing apigeeprotocol in /opt/apigee/data/apigee-mirror/apigee-mirror.repo
replacing apigeereleasever in /opt/apigee/data/apigee-mirror/apigee-mirror.repo
replacing apigeerepobasepath in /opt/apigee/data/apigee-mirror/apigee-mirror.repo
replacing apigeerepohost in /opt/apigee/data/apigee-mirror/apigee-mirror.repo
replacing apigeestage in /opt/apigee/data/apigee-mirror/apigee-mirror.repo
apigee-thirdparty-2                                      | 1.4 kB     00:00     
apigee-thirdparty-6                                      | 1.4 kB     00:00     
apigee-thirdparty-7                                      | 3.0 kB     00:00     
apigee-thirdparty-8                                      | 1.4 kB     00:00     
apigee-mirror-release                                    | 1.4 kB     00:00     
Creating symlinks for release aliases 6->6Server 7->7Server 6->latest (for aws linux)
/opt/apigee/data/apigee-mirror/repos/thirdparty /opt/apigee/data/apigee-mirror
/opt/apigee/data/apigee-mirror

 

 No more error 🙂

that works for me thanks.