-
Notifications
You must be signed in to change notification settings - Fork 1
Upgrading PadoGrid
To create a sandbox environment, PadoGrid configures each workspace independently with Java, PadoGrid, and data grid product paths. This allows you to selectively upgrade workspaces without disrupting others. This also means you would need to upgrade each workspace individually.
✏️ The Updating Products section provides additional details on how to change product versions of local clusters. This section includes details on VM clusters and Java.
You can upgrade workspaces by changing the product paths in the workspace's setenv.sh
file. For example, the following sets HAZELCAST_HOME
.
switch_workspace myws
vi setenv.sh
Workspace setenv.sh
:
if [ "$IN_POD" != "true" ]; then
export PADOGRID_HOME="/Users/dpark/Padogrid/products/padogrid_0.9.21"
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home"
export HAZELCAST_HOME="/Users/dpark/Padogrid/products/hazelcast-enterprise-5.1.3-slim"
fi
You can also use the update_padogrid
command to interactively update the Java and PadoGrid versions as follows.
update_padogrid -product java
update_padogrid -product padogrid
Upon changing paths, to make the changes to take effect, you need to switch to the workspace once.
# Set the changes
switch_workspace
You can upgrade workspaces by changing the product paths in the RWE'ssetenv.sh
file. The product paths set in the RWE's setenv.sh
file are used as the default paths which may be applied when you create new workspaces. They are similarly configured as in the workspace's setenv.sh
file. The following shows the default paths set in a typical RWE setenv.sh
file.
switch_rwe myrwe
vi setenv.sh
RWE setenv.sh
:
if [ "$IN_POD" != "true" ]; then
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home"
export PADOGRID_HOME="/Users/dpark/Padogrid/products/padogrid_0.9.21"
export PADO_HOME="/Users/dpark/Padogrid/products/pado_0.6.1"
export GEMFIRE_HOME="/Users/dpark/Padogrid/products/pivotal-gemfire-9.10.15"
export GEODE_HOME="/Users/dpark/Padogrid/products/apache-geode-1.14.4"
export HAZELCAST_HOME="/Users/dpark/Padogrid/products/hazelcast-enterprise-5.1.3-slim"
export HAZELCAST_MC_HOME="/Users/dpark/Padogrid/products/hazelcast-management-center-5.1.3"
export JET_HOME="/Users/dpark/Padogrid/products/hazelcast-jet-4.5.3-slim"
export JET_MC_HOME="/Users/dpark/Padogrid/products/hazelcast-management-center-4.2021.12-1"
export COHERENCE_HOME="/Users/dpark/Padogrid/products/Oracle/coherence"
export SNAPPYDATA_HOME="/Users/dpark/Padogrid/products/snappydata-1.3.1-bin"
export HADOOP_HOME="/Users/dpark/Padogrid/products/hadoop-3.3.2"
export KAFKA_HOME="/Users/dpark/Padogrid/products/kafka_2.13-2.8.0"
export MOSQUITTO_HOME="/Users/dpark/Padogrid/products/mosquitto-2.0.15"
export SPARK_HOME="/Users/dpark/Padogrid/products/spark-3.2.1-bin-without-hadoop"
export PRODUCT_HOME="$HAZELCAST_HOME"
fi
❗ PRODUCT_HOME
is interally used by PadoGrid when switching workspaces. It must be set to any of the product paths in the RWE's setenv.sh
file for handling the initial context switch. The product path set to PRODUCT_HOME
becomes the default product path for that RWE.
Upgrading VM workspaces is similar to upgrading local workspaces. For example, the following shows a Hazelcast VM product paths in the workspace's vmenv.sh
file as shown in the example below. Note that prior to PadoGrid v0.9.20, the VM settings were stored in the workspace's setenv.sh
file.
switch_workspace ws-hazelcast
vi vmenv.sh
Workspace vmenv.sh:
#
# Remote VM environment variables
#
# Set true to enable remote commands, false to disable remote commands.
VM_ENABLED="true"
# Enter a comma-separated VM host names with NO spaces. If VM_ENABLED is true then
# VM_HOSTS must be set, otherwise, VM_HOSTS and other VM_ variables are ignored.
VM_HOSTS="54.145.29.66,18.208.249.128,54.146.236.231,54.174.135.25,54.205.54.241"
# VM user name.
VM_USER="ec2-user"
# VM private key file path. If not set, then it defaults to the first .pem file
# found in the workspace directory.
VM_PRIVATE_KEY_FILE="$PADOGRID_WORKSPACE/.mykey.pem"
# VM hosts may have installation paths dfferent from the local paths.
# VM PadoGrid base path.
VM_PADOGRID_ENV_BASE_PATH="/home/ec2-user/Padogrid"
# VM JDK home directory path.
VM_JAVA_HOME="/home/ec2-user/Padogrid/products/jdk1.8.0_333"
# VM PadoGrid home path.
VM_PADOGRID_HOME="$VM_PADOGRID_ENV_BASE_PATH/products/padogrid_0.9.20-SNAPSHOT"
# VM RWE path.
VM_PADOGRID_WORKSPACES_HOME="$VM_PADOGRID_ENV_BASE_PATH/workspaces/rwe-hazelcast"
# VM Workspace path.
VM_PADOGRID_WORKSPACE="$VM_PADOGRID_WORKSPACES_HOME/ws-aws-hazelcast"
Upon changing VM paths in the vmenv.sh
file, to make the changes in effect, you need to switch to the workspace once and execute the vm_sync
command.
❗ vm_sync
automatically converts the local VM settings to the remote VM settings. Do not execute vm_copy
to copy the workspace's setenv.sh
file to the VMs.
# Set the changes
switch_workspace
# Apply the changes in the VMs.
vm_sync
To upgrade a VM RWE, you must first remove the RWE's setenv.sh
file from all the VMs before executing the vm_sync
command. This is because RWEs on VMs are independently managed. For example, you can login to a VM and switch into an RWE, and then create workspaces from there. The workspaces you created from the VM are not visible to the local RWE and they are completely isolated and managed from the VM. If we allow vm_sync
to upgrade the RWE's setenv.sh
file then it will disrupt these workspaces, and therefore, as a safety measure, PadoGrid does not auto-upgrade RWEs.
❗ Note that the RWE's setenv.sh
file does not contain VM environment variables. PadoGrid uses the workspace's VM variables instead to configure the remote RWE, hence you must switch into the workspace, and not the RWE as shown in the example below. The VM_PADOGRID_WORKSPACES_HOME
is set in the workspace's setenv.sh
.
switch_workspace ws-hazelcast
vm_exec "rm $VM_PADOGRID_WORKSPACES_HOME/setenv.sh"
vm_sync
PadoGrid Manual
Overview
- Home
- PadoGrid in 5 Minutes
- Quick Start
- Introduction
- Bundle Catalogs
- Building PadoGrid
- Supported Data Grid Products and Downloads
- PadoGrid Components
- Installing PadoGrid
- Root Workspaces Environments (RWEs)
- Initializing PadoGrid
- Bash Auto-Completion
- Viewing PadoGrid Summaries
- Updating Products
- Upgrading PadoGrid
- Migrating Workspaces
- PadoGrid Pods
- Kubernetes
- Docker
- Apps
- Software List
Operations
- Workspace Lifecycle Management
- Creating RWE
- Creating Workspace and Starting Cluster
- Managing Workspaces
- Understanding Workspaces
- Understanding Clusters
- Running Clusters
- Default Port Numbers
- Running Clusters Independent of PadoGrid
- Running Apps
- Understanding Groups
- Running Groups
- Understanding Bundles
- User Bundle Repos
- Using Bundle Templates
- Bundle Repo Guidelines
- User Bundle Catalogs
- Private Bundle Repos
- Gitea Repos
- Running Bundles in Container
- PadoGrid Addon Jars
- Understanding PadoGrid Pods
- Tested Vagrant Boxes
- VM-Enabled Pods
- Multitenancy
- Multitenancy Best Practices
- PadoGrid Configuration Files
Tools
Platforms
Clouds
Pado
Geode/GemFire
- Geode CLASSPATH
- Geode Kubernetes
- Geode Minikube
- Geode Minikube on WSL
- Geode Docker Compose
- Geode Grafana App
- Geode
perf_test
App - Geode WAN Example
- Geode Workspaces on VMs
- Geode on AWS EC2
- Reactivating Geode Workspaces on AWS EC2
Hazelcast/Jet
- Hazelcast CLASSPATH
- Creating Jet Workspace
- Configuring Hazelcast Addon
- HQL Query
- Hazelcast Kubernetes
- Hazelcast GKE
- Hazelcast Minikube
- Hazelcast Minikube on WSL
- Hazelcast Minishift/CDK
- Hazelcast OpenShift
- Hazelcast Docker Compose
- Hazelcast Desktop App
- Hazelcast Grafana App
- Hazelcast
jet_demo
App - Hazelcast
perf_test
App - Hazelcast WAN Example
- Hazelcast Workspaces on VMs
- Hazelcast on AWS EC2
- Reactivating Hazelcast Workspaces on AWS EC2
ComputeDB/SnappyData
Coherence
Hadoop
Kafka/Confluent
Mosquitto
- Mosquitto CLASSPATH
- Mosquitto Overview
- Installing/Building Mosquitto
- Clustering MQTT
- Cluster Archetypes
- Enabling Mosquitto SSL/TLS
- Mosquitto Docker Compose
- MQTT perf_test App
Redis
Spark