Note
This feature is available starting from the MCP 2019.2.4 maintenance update. Before enabling the feature, follow the steps described in Apply maintenance updates.
This section describes how to upgrade GlusterFS on your deployment from version 3.8 to 5.5 using three dedicated pipeline jobs.
If you do not have any services that run on top of the GlusterFS volumes except
the Docker Swarm services such as Jenkins, Gerrit, LDAP, you can use the
all-in-one Update GlusterFS
Jenkins pipeline job that consequently executes
three dedicated pipeline jobs described below with the default parameters.
Otherwise, if you do have any services that run on top of the GlusterFS volumes except the Docker Swarm services, Mirantis recommends updating the GlusterFS components separately using the granular pipeline jobs to better control the upgrade process.
Note
This procedure does not include the backup of data located on the GlusterFS volumes.
To upgrade GlusterFS to version 5.5:
Log in to the Salt Master node.
In infra/init.yml
of your Reclass model, add the following parameter:
parameters:
_param:
linux_system_repo_mcp_glusterfs_version_number: 5
Apply the following state:
salt '*' state.apply linux.system.repo
Log in to your MCP cluster Jenkins web UI.
Verify that you do not have any unapproved scripts in Jenkins:
Upgrade GlusterFS on servers by running the Update glusterfs servers
pipeline job with the following parameters as required:
Parameter | Description and values |
---|---|
SALT_MASTER_URL |
The Salt Master node host URL with the salt-api port ,
defaults to the jenkins_salt_api_url parameter.
For example, http://172.18.170.27:6969 . |
SALT_MASTER_CREDENTIALS |
The Salt Master credentials to use for connection,
defaults to salt . |
TARGET_SERVERS |
Salt compound target to match the nodes to be upgraded.
For example, G@osfamily:debian or * .
Defaults to I@glusterfs:server . |
IGNORE_SERVER_STATUS |
Not recommended. Select not to validate the GlusterFS server availability before the upgrade. If some servers are unavailable, then data on a volume may be unavailable during the upgrade. |
IGNORE_NON_REPLICATED_VOLUMES |
Not recommended. Select to upgrade GlusterFS even with a non-replicated volume. You may lose data on the non-replicated volumes during the upgrade. Therefore, if you have such volumes, Mirantis recommends stopping them before the upgrade. |
The pipeline job workflow:
TARGET_SERVERS
hosts on which the new
GlusterFS packages are available and not installed.TARGET_SERVERS
are available and connected
to the cluster. This step is skipped if the IGNORE_SERVER_STATUS
parameter is set to true
.IGNORE_NON_REPLICATED_VOLUMES
parameter is set to true
.Upgrade GlusterFS on clients by running the Update glusterfs clients
pipeline job with the following parameters as required:
Caution
Except for the Docker Swarm services such as Jenkins,
Gerrit, LDAP, the pipeline job ignores any other services
that use the GlusterFS volumes. Therefore, Mirantis recommends
stopping any not Docker Swarm-related services that use
the GlusterFS volumes before running the pipeline job and
upgrade clients one by one by targeting the global name of
a client using the TARGET_SERVERS
parameter.
Note
During the upgrade of the GlusterFS clients, all infrastructure services such as Jenkins, Gerrit, LDAP are unavailable for several minutes.
Parameter | Description and values |
---|---|
SALT_MASTER_URL |
The Salt Master node host URL with the salt-api port ,
defaults to the jenkins_salt_api_url parameter.
For example, http://172.18.170.27:6969 . |
SALT_MASTER_CREDENTIALS |
The Salt Master credentials to use for connection,
defaults to salt . |
TARGET_SERVERS |
Salt compound target to match the nodes to be upgraded.
For example, G@osfamily:debian or * .
Defaults to I@glusterfs:client . |
IGNORE_SERVER_STATUS |
Not recommended. Select not to validate the GlusterFS server availability before the upgrade. If some servers are unavailable, then data on volumes may be unavailable during the upgrade. Mirantis recommends verifying that the cluster is fully functional and healthy before proceeding with the upgrade. |
IGNORE_SERVER_VERSION |
Not recommended. Select not to validate that all GlusterFS servers are upgraded to the same version. Mirantis highly recommends upgrading all GlusterFS servers before you proceed to upgrading the GlusterFS clients. |
The pipeline job workflow:
TARGET_SERVERS
hosts on which the new
GlusterFS packages are available and not installed.IGNORE_SERVER_STATUS
parameter is set to true
.IGNORE_SERVER_VERSION
parameter is set to true
.Upgrade the GlusterFS cluster.op-version
option to verify that all
GlusterFS servers and clients use the updated protocol. Run the
Update glusterfs cluster.op-version
pipeline job
with the following parameters as required:
Parameter | Description and values |
---|---|
SALT_MASTER_URL |
The Salt Master node host URL with the salt-api port ,
defaults to the jenkins_salt_api_url parameter.
For example, http://172.18.170.27:6969 . |
SALT_MASTER_CREDENTIALS |
The Salt Master credentials to use for connection,
defaults to salt . |
CLUSTER_OP_VERSION |
Leave empty to use the cluster.max-op-version option value
defined in GlusterFS. Otherwise, specify the value for the GlusterFS
cluster.op-version option to use. |
IGNORE_SERVER_VERSION |
Not recommended. Select not to validate that all GlusterFS servers are upgraded. |
IGNORE_CLIENT_VERSION |
Not recommended. Select not to validate that all GlusterFS servers are upgraded. |
The pipeline job workflow:
CLUSTER_OP_VERSION
is empty, obtain the cluster.max-op-version
option value from GlusterFS.cluster.op-version
and compare it the
CLUSTER_OP_VERSION
parameter value to identify whether a version
update is required.CLUSTER_OP_VERSION
. This step is skipped
if the IGNORE_SERVER_VERSION
parameter is set to true
.CLUSTER_OP_VERSION
. This step is skipped
if the IGNORE_CLIENT_VERSION
parameter is set to true
.cluster.op-version
to the value defined in
CLUSTER_OP_VERSION
.Optional. Recommended. Configure allowed and rejected IP addresses for the GlusterFS volumes.
See also