Upgrade a Splunk Phantom cluster
Perform the following tasks to upgrade your Splunk Phantom cluster.
- Make sure you have read Splunk Phantom upgrade overview and prerequisites.
- On each node, Upgrade the operating system and installed packages.
- On each node, log in to the operating system as either the root user or a user with sudo privileges and install the Splunk Phantom repositories and signing keys packages.
- On each node, one node at a time, Upgrade the cluster node.
- If your cluster uses a Shared Services server made with
make_server_node.pyc, perform the additional steps for clusters with a Shared Services server.
Upgrade the operating system and installed packages
- Log in to the Splunk Phantom instance's operating system as either the root user or a user with sudo privileges.
- If you are using automation to run ibackup.pyc to make backups, cancel backups that could run during your upgrade window. For example, if you have configured a cron job to run ibackup.pyc, disable that cron job.
- Stop all Splunk Phantom services. For example, as the root user:
- Delete the file
rm -f /tmp/phantomOvaUpgrade
- Clear the YUM caches. For example, as the root user:
yum clean all
- Update the operating system and installed packages. For example, as the root user:
yum update --exclude=nginx
- If a kernel update was included in your operating system updates, restart the operating system. For example, as the root user: If you did not need to restart the operating system, restart Splunk Phantom. For example, as the root user:
Upgrade the cluster node
Do not attempt to upgrade all the nodes at the same time. Upgrade a single node and bring it back online before proceeding to the next cluster node.
When you have upgraded N+1 nodes, where N is equal to half of the number of nodes in your cluster, database migrations will be applied. This can take a significant amount of time, depending on the amount of data in your database and the version of Splunk Phantom from which you're upgrading.
- Log in to the operating system as either the root user or a user with sudo privileges.
- Run the upgrade script. For example, as the root user: If you don't want to upgrade your installed apps at during the upgrade, you can use the
/opt/phantom/bin/phantom_setup.sh upgrade --without-apps
You will be prompted during this script for your Splunk Phantom Community portal login.
- Once all cluster nodes have been upgraded, reindex playbook data. From Main Menu > Administration > Administration Settings > Search Settings, select Playbooks from the drop-down menu, then click the Reindex Search Data button.
A Shared Services server is a single Splunk Phantom instance that has been converted to provide the following services for a Splunk Phantom cluster :
- HA Proxy as a load balancer.
- The PostgreSQL database used by all of the Splunk Phantom cluster nodes.
- File shares based on GlusterFS.
- The file shares are also home to the source control repository (Git) for playbooks. See: Configure a source control repository for your Splunk Phantom playbooks.
- Splunk Enterprise
If your cluster has separated these services to their own servers and does not use a single Shared Services server created by the make_server_node.pyc script, or does not use a Splunk Phantom instance converted to be the PostgreSQL server this section does not apply.
In Splunk Phantom 4.8, SSL certificates and keys have been moved to
<PHANTOM_HOME>/data/ssl/. If your cluster uses a single Shared Services server created with make_server_node.pyc, you need to move your SSL keys and certificates in order to use backup and restore functions.
On the Shared Services server, perform the following tasks as either as the the root user or a user with sudo permissions:
- Move the directory
<PHANTOM_HOME>/data/db/sslto the new location. For example, as the root user:
mv <PHANTOM_HOME>/data/db/ssl <PHANTOM_HOME>/data/ssl
- Update the PostgreSQL database with the new value for ssl_cert_file.
su - postgres -c "psql -h /tmp -p 5432 -c \"ALTER SYSTEM SET ssl_cert_file = '<PHANTOM_HOME>/data/ssl/server.crt'\""
- Update the PostgreSQL database with the new value ssl_key_file.
su - postgres -c "psql -h /tmp -p 5432 -c \"ALTER SYSTEM SET ssl_key_file = '/opt/phantom/data/ssl/server.key'\""
Upgrade an unprivileged standalone Splunk Phantom instance
Upgrade an unprivileged Splunk Phantom Cluster
This documentation applies to the following versions of Splunk® Phantom: 4.8