We went through a recent migration of SAP CPI from NEO to CloudFoundry. It was very simple and easy, though I had faced many issues, some even silly. I hope this blog gives a structure to ideate and plan bigger migrations. But the Cordell remains the same - the migration scripts and setting up the two environments for migration.
1. Configure OAuth inbound authentication on Neo
Navigate to the BTP Cockpit, select the Global account, and select the Neo tenant. Next, choose Security -> OAuth -> Clients tab -> Click Register New Client. ￼
Enter the details for the new token, including a secret key that will be used as a password.
Using the client ID from the previous step, navigate to Security à Authorizations and assign the user oauth_client_thi5-wi11be-y0ur-au78-clien7 to the AuthGroup.IntegrationDeveloper and AuthGroup.Administrator Roles.
Test the authentication using Postman. First, launch the Postman application on your local client. You can find the URL to use in Postman on the branding tab in the BTP Cockpit under Security -> OAuth
Navigate to the Space, Services->Service Marketplace and search for Process Integration. Click Create.
Create a new instance.
Then create a service key (there is no need to assign roles in this step)
Once the service key is created, click on the Key link to copy down the "clientid", "clientsecret", and URLs required later.
4. Performing the Technical Migration
Ensure that all iFlows in all integration packages are NOT in a draft state and are versioned.
Download the Migration package from note 2937549
In the extracted folder, open the CPI MIG Settings postman_environment file and configure the parameters with the hostnames from the previous steps.
Now launch Postman and Import the folder by choosing File à New à Import Folder and select the unpacked folder
Import “Environment” from the file edited in step 4.3
5. Start Migration
Open the first collection runner (double-clicking on the CPI MIG010 Connect to Tenants folder) and choose “Run”,
Run CPI MIG020 Readiness Checks. All scripts seemed to have passed, yet an error occurred. Looking at the console, it is currently being ignored.
Run CPI MIG030 Variables
Run CPI MIG031 Certificates to Service Key. There are no user certificates so the errors can be ignored.
NOTE: THERE WERE ERRORS, AND HENCE THE PROJECTS WERE FAILING. THE CORRECTION WAS TO FIX THE URLs IN THE ENVIRONMENT FILE. TAKE THE URLs FROM THE SERVICE KEYS
Run CPI MIG040 Data Stores. NO data stores defined. Errors can be ignored .
Run CPI MIG050 Custom Tags. There are no Custom Tags, so errors can be ignored. ￼
Run CPI MIG060 Custom Public Certificates
Run CPI MIG070 User Credentials
Run CPI MIG080 OAuth2 Client Credentials
Run CPI MIG090 Number Range Objects
Run CPI MIG100 Access Policies
Run CPI MIG110 Pre-Packaged Content
Run CPI MIG120 Custom Content
Run CPI MIG130 Value Mapping Values
6. Cloud Connector setting
Log onto CloudFoundry Non-Prod
Add CloudFoundry Subaccount
Enter details below. Location ID can be anything desired. Note that this is important as this will be used to connect CPI to CloudFoundry to communicate with S4 SAP.
Maintain The Cloud-To-On-Premise Mapping
7. Reenter passwords
8. Import the “known_hosts” file
Export from Neo
Import into CloudFoundry CPI
9. Import PGP Keys
Log on to Neo CPI and Export PGP Keys
Import into CloudFoundry CPI. Note that the Secret Key will ask for the passphrase.
10. Deploy and configure iFlows in CloudFoundry
Correct parameters as per CF -> Save -> Deploy. ￼
Ultimately, because this was so small, we didn’t have to worry about transport. But ideally, by best practice, SAP recommends configuring Transport Management through BTP Cloud Transport System. That area still needs to be explored, and I have many questions. Personally, I feel safe with migrating through scripts from Non-Prod to Non-Prod and Prod to Prod