Private cloud migration from 15.07 to 16.01 question

chiki_sun
Participant III

For the migration, we currently have the 15.07 installed in /opt/apigee4 and looks like 16.01 needs to go to /opt/apigee and yet the some of the 15.07 data will remain in /opt/apigee4.

This does not work for the setup my setup. I have a dedicated file system for /opt/apigee4 (told by Apigee SME that is always the case) and all apigee products must be installed in /opt/apigee4.

Can you tell me how I can perform the migration yet keeping everything in /opt/apigee4

1 14 576
14 REPLIES 14

sarthak
Participant V

@leo sun 16.01 brings in a huge architectural change about how OPDK is installed.

In all the previous versions of Apigee (4.15.07.03 and earlier version) the default location used to be /opt/apigee4 but you could always choose to install it at a different location like at /usr or whatever you wanted.

However with the changes to 16.01 (which makes it a rpm based install) I don't think that is possible anymore. All installs need to happen at /opt/apigee and it is not configurable. You might be able to create a symlink from a different location though.

Not applicable

@leo sun Apigee's Private Cloud 4.16.01.00 version has had a revolutionary architecture and technology overhaul and you will be pleased with all the changes. One of the changes has been in how the directories are structured and how we are also separating third party software. Given some of these changes, it was necessary that we not use the existing previously installed location. However, the previous location is still used but now as symlinks into /opt/apigee. Hope that helps. Apologies if this is creating an inconvenience for you. We have also gone down the standard rpm install route, which needs root to do the installs, some of these are standard Unix restrictions on how rpms can be installed

This is incredibly inconvenient for many on prem customers who have managed assets. It is also the sort of thing that would have been immediately noticed and called out by people in a beta program...

Let me characterize the inconvenience: many programs have locked budgets. This particular change causes us to either abandon upgrades or go get more money. Anything that costs us more money tends to be something that - MAY get funded - if you know what I mean.

Especially in larger installations (lets say 50 + servers) the required budget to work around this landmine can be large enough to put the program at risk.

chiki_sun
Participant III

Thanks Kris. Appreciated for the insider comment

chiki_sun
Participant III

I downloaded the entire repo, packaged it, and uploaded per install doc.

this is from the install doc

Install the Edge apigee-service utility and dependencies from /tmp/repos: > sudo bash /tmp/repos/bootstrap.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

Notice that you include the path to the repos directory in this command.

while doing this step

# ./bootstrap.sh apigeeprotocol="file://" apigeerepobasepath=/apiapp/repos === Begin work ... === Checking for presence of misc commands: === Checking distro: === Checking architecture: === Checking OS: === Checking SELinux status === Configuring package manager: + rpm -qa apigee* + rpm -e apigee-repo + rpm -e apigeeprio-repo error: package apigeeprio-repo is not installed (error can be ignored) + yum install -y //apiapp/repos/apigee-repo-1.0-6.x86_64.rpm Loaded plugins: downloadonly, product-id, refresh-packagekit, rhnplugin, : security, subscription-manager This system is receiving updates from RHN Classic or RHN Satellite. Setting up Install Process Examining //apiapp/repos/apigee-repo-1.0-6.x86_64.rpm: apigee-repo-1.0-6.x86_64 Marking //apiapp/repos/apigee-repo-1.0-6.x86_64.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package apigee-repo.x86_64 0:1.0-6 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: apigee-repo x86_64 1.0-6 /apigee-repo-1.0-6.x86_64 2.6 k Transaction Summary ================================================================================ Install 1 Package(s) Total size: 2.6 k Installed size: 2.6 k Downloading Packages: Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Warning: RPMDB altered outside of yum. Installing : apigee-repo-1.0-6.x86_64 1/1 Verifying : apigee-repo-1.0-6.x86_64 1/1 Installed: apigee-repo.x86_64 0:1.0-6 Complete! + _set_yum_vars bootstrap.sh: setting apigeepassword for yum bootstrap.sh: setting apigeepriostage for yum bootstrap.sh: setting apigeeprotocol for yum bootstrap.sh: setting apigeereleasever for yum bootstrap.sh: setting apigeerepobasepath for yum bootstrap.sh: setting apigeerepohost for yum bootstrap.sh: setting apigeestage for yum bootstrap.sh: setting apigeeuser for yum + yum clean all Loaded plugins: downloadonly, product-id, refresh-packagekit, rhnplugin, : security, subscription-manager Cleaning repos: apigee-release apigee-thirdparty local : prod-rhel-server-6.6-x86_64 pru-Jan2015-rhel-x86_64-server-6 Cleaning up Everything === Checking that java is on PATH: === Checking java brand: === Checking java version: === Installing apigee-service: + yum install -y apigee-service Loaded plugins: downloadonly, product-id, refresh-packagekit, rhnplugin, : security, subscription-manager This system is receiving updates from RHN Classic or RHN Satellite. Setting up Install Process file:///apiapp/repos/thirdparty/6Server/repodata/repomd.xml: [Errno 14] Could not open/read file:///apiapp/repos/thirdparty/6Server/repodata/repomd.xml Trying other mirror. Error: Cannot retrieve repository metadata (repomd.xml) for repository: apigee-thirdparty. Please verify its path and try again

Now when I checked the file system structure apigee repo

# pwd /apiapp/repos # cd thirdparty # ls -ltr total 12 drwxr-xr-x 3 apigee apigee 4096 Mar 9 00:10 6 drwxr-xr-x 3 apigee apigee 4096 Mar 9 00:11 7 drwxr-xr-x 3 apigee apigee 4096 Mar 9 00:11 sles11 lrwxrwxrwx 1 apigee apigee 49 Mar 31 21:31 latest -> /opt/apigee/data/apigee-mirror/repos/thirdparty/6 lrwxrwxrwx 1 apigee apigee 49 Mar 31 21:31 7Server -> /opt/apigee/data/apigee-mirror/repos/thirdparty/7 lrwxrwxrwx 1 apigee apigee 49 Mar 31 21:31 6Server -> /opt/apigee/data/apigee-mirror/repos/thirdparty/6 #

Why 6Server is linked to "/opt/apigee/data/apigee-mirror/repos/thirdparty/6" when I am specifyiing

apigeerepobasepath=/apiapp/repos?

chiki_sun
Participant III

i deleted these

lrwxrwxrwx 1 apigee apigee 49 Mar 31 21:31 latest -> /opt/apigee/data/apigee-mirror/repos/thirdparty/6 lrwxrwxrwx 1 apigee apigee 49 Mar 31 21:31 7Server -> /opt/apigee/data/apigee-mirror/repos/thirdparty/7 lrwxrwxrwx 1 apigee apigee 49 Mar 31 21:31 6Server -> /opt/apigee/data/apigee-mirror/repos/thirdparty/6

and recreated them as following and ran

./bootstrap.sh apigeeprotocol="file://" apigeerepobasepath=/apiapp/repos and it went fine. Am I supposed to do that myself?

ln -s /apiapp/repos/thirdparty/6 6Server ln -s /apiapp/repos/thirdparty/7 7Server ln -s /apiapp/repos/thirdparty/6 latest

Not applicable

@leo sun are you doing a local repo as you have no Internet access to the servers being installed on? If you have Internet access to those servers, you don't need to create your own repo

chiki_sun
Participant III

Right, I am doing local repo as these servers have no internet access.

another issue I found.

The installation requires root user, so I "sudo ksh" as superuser (root like). In number of the scripts, they have "sudo" in many places like " sudo mkdir -p "$INST_LOGDIR" || exit 1". Since I am not a true root, I am not allowed to run "sudo cmd" unless each cmd is added to to sudoers file. This can be fixed by removing sudo from their scripts. I fixed a few scripts and they worked but more scripts have sudo inside, apigee needs to remove sudo in their script for user "sudo ksh" as root like user. This was not an issue in the previous version (we did everything via "sudo ksh" as super user).

@leo sun I would not recommend you make changes to the scripts that you got out of the box, if you run into a major issue due to the change in the script it will be very hard for our support folks to help debug. You will need root access, unfortunately there is no way around this, as rpm install needing root access is a Unix restriction. Are your above issues resolved since you are trying to do the install?

chiki_sun
Participant III

without fixing the hard coded symlink, I cannot install apigee-service utility, which is needed for anything else.

I opened a urgent ticket with support but we are at stand still (we decided not to do a migrate from 15.07, instead we will do a fresh 16.01 install)

Not applicable

Hi there,

We had fixed the issues with symlink already. When did you pull the latest RPM's? Please try creating the tar again with latest RPM's.

Thanks,

Archendra

chiki_sun
Participant III

Thx for the info. I will pull the latest RPMs and verify.