galatea-associates / fuse-starter-java

Starter project for Galatea java projects
17 stars 73 forks source link

Replace PWS - research options #341

Open cbaltera opened 3 years ago

cbaltera commented 3 years ago

Issue Description

PWS will cease being available as of January 15, 2021. We should find an alternative solution for running Fuse integration tests before then.

Design

[Description of the root cause for the issue and how to resolve it. Should be complete before Review is approved]

Documentation Changes

[Description of changes necessary to the Fuse documentation due to the changes in response to this issue. Should be complete before Review is approved]

Test Evidence

[include relevant tests and output. Should be complete before Review is approved]

Validation in Develop -- [Proof issue is resolved in Develop. Should be complete before Issue is closed]

cbaltera commented 3 years ago

This ticket covers researching the available options for replacing PWS. Once the research is complete, add details to #342.

cbaltera commented 3 years ago

Possible starting point: https://community.pivotal.io/s/article/With-the-announcement-of-the-End-of-Availability-for-Pivotal-Web-Services-where-can-I-migrate-my-apps?language=en_US

cbaltera commented 3 years ago

PWS was used for deploying code and running integration tests in jenkins pipeline. The running app instance was then shutdown as part of the pipeline cleanup step (i.e. no persistently running instance).

cbaltera commented 3 years ago

Most promising option based on our current research is https://www.ibm.com/cloud/cloud-foundry

However, Raj raises the question of whether we wish to migrate to something more containerized, so we should expand our research accordingly.

GalaFirsh commented 3 years ago

It should be reasonably straightforward to replace the old PWS cloud foundry with IBM cloud foundry. It works pretty much the same way with similar CLI, you just would prepend "ibmcloud" to any cloud foundry commands in the jenkins file, eg ibmcloud cf push instead of cf push

I was able to make a quick POC with a free account, download the IBM Cloud CLI, Maven, Java, and FUSE; then build and deploy it to my space with the standard commands. It began to startup before it died since free accounts only allow 256MB of memory, and FUSE is a bit larger :)

As such, to migrate to IBM Cloud Foundry, would need to do the following steps:

  1. Create a paid account, and make sure it's a federated ID (not a personal one) so can be shared https://cloud.ibm.com/docs/account?topic=account-federated_id
  2. Download the IBM CLI https://cloud.ibm.com/docs/cli?topic=cli-getting-started
  3. Go through the steps to build and deploy: https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-getting-started
  4. Check the dashboards to see the running app, the logs, and usage: https://cloud.ibm.com/resources https://cloud.ibm.com/cloudfoundry/overview https://cloud.ibm.com/billing/usage
  5. Adapt the FUSE jenkins to use the details from the IBM Cloud Foundry account and migrate to it from PWS
atighe commented 2 years ago

So far steps 1-4 are done. Credentials for IBM cloud are in RPass. https://cloud.ibm.com/cloudfoundry/public shows what we have up. So far it's a general galatea-fuse I did for testing and then the instance I started locally. I'll stop them so we don't get charged, but I successfully deployed, started, and hit the IEX endpoint.

Next step is to update FUSE Jenkins stuff to push/run using ibm cloud..

cbaltera commented 2 years ago

Updating FUSE Jenkins should be a matter of duplicating what @toddwellman did for the POC with the new credentials.