Unable to create a local apigee repository - Edge for Private Cloud v4.16.01

anks_ddun
Participant II

Following steps were executed on a node having internet connection:

curl https://uName:pWord@software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh

bash /tmp/bootstrap.sh apigeeuser=uName apigeepassword=pWord

/opt/apigee/apigee-service/bin/apigee-service apigee-mirror install

/opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync

Following are the contents of /opt/apigee/data/apigee-mirror/repos directory:

$:/opt/apigee/data/apigee-mirror/repos # ls -ltr

total 0

-rw-r--r-- 1 apigee apigee 0 May 12 20:40 apigee-repo-1.0-6.x86_64.rpm

-rw-r--r-- 1 apigee apigee 0 May 12 20:40 bootstrap.sh

drwxr-xr-x 3 apigee apigee 20 May 12 20:47 apigee

drwxr-xr-x 5 apigee apigee 76 May 12 21:17 thirdparty

The issue is that "apigee-repo-1.0-6.x86_64.rpm" & "bootstrap.sh" files are getting created without any data.

@Prithpal Bhogill @Mukundha Madhavan Can you please help?

0 11 1,278
11 REPLIES 11

Former Community Member
Not applicable

Is the bootstrap.sh file completely empty or just has a few lines in it & a 4xx error? Can you verify that you are using the correct password? Also ensure that you have the uName & pWord surrounded by quotes:

curl https://'uName:pWord'@software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh

Thanks Prithpal for prompt response.

I am able to download bootstrap.sh file successfully using the 1st command above.

2nd & 3rd commands are also executed successfully.

The problem is with syncing of the repo. After command 4 is executed, "apigee-repo-1.0-6.x86_64.rpm" & "bootstrap.sh" gets synced into the repos directory but they are completely empty.

Former Community Member
Not applicable

Interesting. @archendra any thoughts?

anks_ddun
Participant II

Thanks Prithpal for prompt response.

I am able to download bootstrap.sh file successfully using the 1st command above.

2nd & 3rd commands are also executed successfully.

The problem is with syncing of the repo. After command 4 is executed, "apigee-repo-1.0-6.x86_64.rpm" & "bootstrap.sh" gets synced into the repos directory but they are completely empty.

Not applicable

This is strange. Can you try doing this on your laptop: curl https://'uName:pWord'@software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh and see if you can get the correct bootstrap.sh? Just wanted to validate your credentials are correct.

Hi Archendra,

My credentials are correct. I am able to download bootstrap.sh using following command:

curl https://uName:pWord@software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh

The problem is that while syncing the repos using below command, the

"apigee-repo-1.0-6.x86_64.rpm" & "bootstrap.sh"

files that gets created in repos directory are completely empty.

/opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync

Here is the whole procedure to create the local repo:

First, you need to make sure that you are using only RHEL 6.5+/CentOS 6.5+ (64 bit OS version) machine to create a local repo. You need to have true 'root' access on that machine to create the local repo. Also, Make sure SELinux is disabled on the machine.

If all the above conditions are met, try the below steps:

  1. sudo yum update yum-utils
  2. curl https://uName:pWord@software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh
  3. sudo bash /tmp/bootstrap.sh apigeeuser=uName apigeepassword=pWord apigeerepohost=software.apigee.com
  4. /opt/apigee/apigee-service/bin/apigee-service apigee-mirror install
  5. /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync --only-new-rpms (this will only download the latest rpm version for all the apigee components) or you can use /opt/apigee/apigee-service/bin/apigee-service apigee-mirror sync to get all the rpms which will be around 6-8 GB in size.

If this doesn't work for you, Please open a support ticket and someone from our support team will help you.

Thanks,

Achendra

Hi Team,

Currently am working on Apigee On-premise installation.

I have followed the steps which was given by Archendra.

Successfully completed two steps.

When am giving the third command that is

sudo bash /tmp/bootstrap.sh apigeeuser=uName apigeepassword=pWord apigeerepohost=software.apigee.com

it showing 404 error and am attaching the screen shot.

screenshot-from-2017-10-30-09-11-52.png

Could you please suggest me where I did wrong and share the doc for Apigee on-premise installation.

Not applicable

i bet you are using a proxy server for out-bound connections?

We had the same problem and it was due to proxy...

The directory root level objects come back as empty because they are not using YUM to pull (check the script) but they are using wget... and wget requires modification of its proxy setting directly in its service file..

We requested that this be fixed in a feature request - hopefully Apigee support understands that this is really critical as it introduces manual steps to deploy (which costs money...)

To work around it I MANUALLYedited the wget downloads to use curl w/ proxy statements hard-coded like this:

curl -x http://proxy_server:proxy_port --proxy-user username:password -O -L http://url

you might have to play with it to get the correct flag (I cant remember if you need '-O' or not and am not at work today....)

Thanks Benjamin. You guessed it right.

We are using a web proxy for out-bound connections.

The script that downloads the resources uses wget for several of the calls. A config change is required in /etc/wgetrc file to ensure wget uses web proxy.

use_proxy=on
http_proxy=<ipandportofyourproxy>

Thanks,

Ankit

Not applicable

Im having a new staff member work on doing a test upgrade from 15.07 to 16.01 right now and this issue was CLEARLY not fixed.