Build a PeopleSoft Image – On Your Laptop with Vagabond
Mar 22, 2023Dan Iverson
You can run PeopleSoft Images on your laptop using three tools that work seamlessly together: VirtualBox, Vagrant, and Vagabond.
- VirtualBox is virtualization software to run a VM on your laptop (any Intel-based laptop, not Apple Silicon-based Macs)
- Vagrant is a tool to interact with VirtualBox that can automate VM builds
- Vagabond is an open source tool that delivers automation to build a PeopleSoft Image.
Download and install VirtualBox and Vagrant on your laptop.
Next, you will need to download Vagabond from GitHub. The preferred way to to download is via git
(you can install Git but it’s optional). Without git
, you can click on the latest Release and download the zip file.
cd ~/Downloads
# unzip ps-vagabond*.zip if downloading from the Releases
git clone https://github.com/psadmin-io/ps-vagabond.git
cd ps-vagabond
There are two configuration files we need to run Vagabond:
- config.rb
- psft_customizations.yaml
Vagabond delivers example versions of each of these files and we can copy the .example
files.
cd config
copy-item ./psft_customizations.yaml.example psft_customizations.yaml
copy-item ./config.rb.example config.rb
cd ..
You only need to modify the psft_customizations.yaml
file if you are building a Finance or Interaction Hub image. You need to modify the default user to be VP1
instead of PS
.
The config.rb
file you must modify to make Vagabond work. It needs two pieces of information: your My Oracle Support Credentials, and a Patch ID for the PeopleSoft Image.
MOS_USERNAME="[email protected]"
MOS_PASSWORD="password"
PATCH_ID="34775556"
Now you are ready to build the PeopleSoft Image.
vagrant up
You will see output from Vagrant displaying the different tasks it handles setting up the VM. Vagrant will download a base Oracle Linux 8 VM, create a new VirtualBox VM, configure the networking, and start provisioning. Provisioning is the set of scripts that Vagabond provides to automate the download and building of PeopleSoft Images. Below is a (simplified) version of the output you will see as Vagabond runs.
Bringing machine 'ps-vagabond' up with 'virtualbox' provider...
==> ps-vagabond: Importing base box 'generic/oracle8'...
==> ps-vagabond: Setting the name of the VM: 34775556
==> ps-vagabond: Configuring and enabling network interfaces...
==> ps-vagabond: Mounting shared folders...
ps-vagabond: /vagrant => /Users/dan/Downloads/ps-vagabond
ps-vagabond: /media/sf_34775556 => /Users/dan/Downloads/ps-vagabond/dpks/download
==> ps-vagabond: Running provisioner: networking_setup (shell)...
ps-vagabond: ☆ INFO:
ps-vagabond: ☆ INFO:
ps-vagabond: ☆ INFO: ===> Add '192.168.56.34 psvagabond psvagabond.psadmin.local' to your hosts file
ps-vagabond: ☆ INFO:
ps-vagabond: ☆ INFO:
==> ps-vagabond: Running provisioner: storage (shell)...
==> ps-vagabond: Running provisioner: bootstrap-lnx (shell)...
ps-vagabond:
ps-vagabond:
ps-vagabond: dP dP
ps-vagabond: 88 88
ps-vagabond: dP .dP .d8888b. .d8888b. .d8888b. 88d888b. .d8888b. 88d888b. .d888b88
ps-vagabond: 88 d8' 88' `88 88' `88 88' `88 88' `88 88' `88 88' `88 88' `88
ps-vagabond: 88 .88' 88. .88 88. .88 88. .88 88. .88 88. .88 88 88 88. .88
ps-vagabond: 8888P' `88888P8 `8888P88 `88888P8 88Y8888' `88888P' dP dP `88888P8
ps-vagabond: .88
ps-vagabond: d8888P
ps-vagabond:
ps-vagabond:
ps-vagabond: ☆ INFO: Updating installed packages
ps-vagabond: ☆ INFO: Installing additional packages
ps-vagabond: ☆ INFO: Disable SELinux for PeopleSoft Images
ps-vagabond: ☆ INFO: Downloading patch files
ps-vagabond: ☆ INFO: Unpacking DPK setup scripts
ps-vagabond: ☆ INFO: Executing Pre setup script
ps-vagabond: ☆ INFO: Executing DPK setup script
ps-vagabond: ☆ INFO: Install psadmin_plus
ps-vagabond: ☆ INFO: Open Firewall Ports
ps-vagabond:
ps-vagabond: TASK DURATION
ps-vagabond: ========================================
ps-vagabond: install_psadmin_plus 00:00:01
ps-vagabond: download_patch_files 00:13:36
ps-vagabond: unpack_setup_scripts 00:00:41
ps-vagabond: execute_pre_setup 00:00:00
ps-vagabond: install_additional_packages 00:01:29
ps-vagabond: update_packages 00:03:40
ps-vagabond: open_firewall_ports 00:00:02
ps-vagabond: execute_psft_dpk_setup 01:00:56
ps-vagabond: generate_response_file 00:00:00
ps-vagabond: disable_selinux 00:00:00
ps-vagabond: ========================================
ps-vagabond: TOTAL TIME: 01:20:25
ps-vagabond:
==> ps-vagabond: Running provisioner: cache-lnx (shell)...
ps-vagabond: ☆ INFO: Copying Manifests
ps-vagabond: ☆ INFO: Fix DPK App Engine Bug
ps-vagabond: ☆ INFO: Pre-load Application Cache
ps-vagabond:
ps-vagabond: TASK DURATION
ps-vagabond: ========================================
ps-vagabond: fix_dpk_bug 00:00:02
ps-vagabond: load_cache 00:21:03
ps-vagabond: download_manifests 00:00:00
ps-vagabond: ========================================
ps-vagabond: TOTAL TIME: 00:21:05
ps-vagabond:
To access the PeopleSoft Image from a browser, you first need to add a hosts
entry. In the output, you’ll see the text you need to add to the file.
For Windows, the file is located at C:\Windows\System32\drivers\etc\hosts
, and Mac/Linux the file is /etc/hosts
. From our example above, you would add this line to the file:
192.168.56.34 psvagabond psvagabond.psadmin.local
Then you can access the PeopleSoft Image at http://psvagabond.psadmin.local:8000/ps/signon.html
A few tips for working with Vagrant VMs. It’s very easy to take a snapshot as a backup of the VM. I always take a snapshot right after building the image.
vagrant snapshot save build
If you need to stop or start the VM, use these commands:
vagrant halt # stop the VM
vagrant up # start the VM
vagrant suspend # pause the VM
vagrant resume # unpause the VM
You can also SSH into the VM if you want to access the server:
vagrant ssh
Note: This was originally posted by Dan Iverson and has been transferred from a previous platform. There may be missing comments, style issues, and possibly broken links. If you have questions or comments, please contact [email protected].