One of the big motivators for enterprises to move to the cloud is reduced IT infrastructure expenses. Non-production instances of PeopleSoft environment are not always required to be up and running. Instances used for demo, training, and testing are required to be up only during specific time periods. PeopleSoft Cloud Manager Image 11--released in July 2020--gives you the ability to achieve this by enabling you to start and stop your PeopleSoft instances that are managed by PeopleSoft Cloud Manager, saving on IT spending.
You can perform start/stop manually through related actions of an environment in Cloud Manager UI as shown below. Stopping the instance stops the Virtual Machine and pauses the OCPU billing.
You can also automate the stopping and starting of environments by scheduling them using the Cloud Manager's REST services. Apart from saving on cost, it also eliminates mundane tasks that take your time. You will need the latest PeopleSoft Cloud Manager 11 and a basic understanding of how Cron job works. You may use the Cloud Manager instance to set up and run the Cron job tasks.
The process involves doing the following 3 activities:
The first step is enabling the PUT operation REST Endpoint in Cloud Manager to start and stop the environments. Log into PeopleSoft Cloud Manager, navigate to Navigator→PeopleTools→Integration Broker→Integration Setup →Services. In the search bar, enter ECL_ENV_SERVICE, check the "Rest Service" and search. Select the ECL_ENV_SERVICE from the results.
Select ECL_ENVIRONMENT_PUT.v1 from the list of HTTP operations available.
In the General tab, select User/Password Required checkbox and select Basic Authentication from the dropdown.
Now, we need to enable this service. Scroll down and in the Default Service Operation Version section, click Active checkbox.
Now go to the Handlers tab and change the status to Active.
Finally, go to the Routings tab, select both the routes and click the Activate Selected Routings button. Click the Save button.
PeopleSoft Cloud Manager is comprised of various environments that have multiple nodes within them. These environment details are stored in a table called PS_ECL_INSTANCE and each environment has an ID associated with it. This ID is stored under field ECL_INSTANCE. To start and stop an environment, we need to know it's ID. To get the ID of the environment, we connect SQL Developer to Cloud Manager using it's TNS Entry and we query the table PS_ECL_INSTANCE and get the field value for ECL_INSTANCE using the environment name.
The query will look something like this,
select ECL_INSTANCE, ECL_INSTANCE_TYPE from PS_ECL_INSTANCE where ECL_INSTANCE_TYPE='<env_name>';
The output will be,
Note the instance ID of the environments identified for stop/start scheduling.
Once this is done, you can do a simple test to see if the REST Endpoint is working by doing the curl command in bash to start an environment. For example,
curl --insecure -k1 --user CLADM:<password> -X PUT <cm_url>/PSIGW/RESTListeningConnector/PSFT_PA/environment.v1/<env_id>?action=start
This will give the following output "starting Environment <environmentName>", if not, you've not activated the REST Endpoint or set up the REST Endpoint URL correctly or the passed user credentials.
Once we have successfully enabled the REST Endpoint and gotten the instance ID, we can proceed to setting up the Cron job. SSH into the CM Instance and use the crontab -e command to add the start and stop jobs. In the editable screen that pops up after entering the command, enter the following two lines with the appropriate values for password, cm_url, and env_id. Exit as you would from a vim or vi editor.
30 1 * * 1-5 /usr/bin/curl --insecure -k1 --user CLADM:<password> -X PUT <cm_url>/PSIGW/RESTListeningConnector/PSFT_PA/environment.v1/<env_id>?action=start >/dev/null 2>&1
30 12 * * 1-5 /usr/bin/curl --insecure -k1 --user CLADM:<password> -X PUT <cm_url>/PSIGW/RESTListeningConnector/PSFT_PA/environment.v1/<env_id>?action=stop >/dev/null 2>&1
Note that Cron job makes use of the system time it's running on. You have successfully configured the start/stop now. You will have the environment start and stop at the time specified in the cronjob automatically.
The stop services stop all the instances except DBaaS to pause OCPU billing for the compute instances. Block volume billing continues even during the stopped state of the instance. The start services start all the instances and the domains and services within them.
For more information on Cloud Manager, please check here.