
Changes included in this commit: - updated netapp required docker images - add support for PVC snapshots (beta feature since K8s 1.17); - create new ansible role for enabling PVC snapshot support and start required pod - import role for bootstrap as well, so any backend added in the future will also have support enabled by default - also use snapshot role for the netapp backend configuration (for upgrade considerations) - change netapp backend configuration of mapping backends and storage classes from 1-to-1 mapping to many-to-many mapping; instead of one backend configured for each storage-class, now any number of backends can be configured for any number of storage classes - add a new VolumeSnapshotClass configuration option for PVC snapshot support Change-Id: Ib1cf5a5b46f24a6864ac6d894e37db8732e0c6fb Depends-On: https://review.opendev.org/#/c/724237/ Story: 2007391 Task: 39566 Signed-off-by: Stefan Dinescu <stefan.dinescu@windriver.com>
140 lines
5.5 KiB
YAML
140 lines
5.5 KiB
YAML
---
|
|
#
|
|
# Copyright (c) 2020 Wind River Systems, Inc.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
# TRIDENT NETAPP ORCHESTRATOR INSTALL
|
|
# ====================================
|
|
# This is based on https://github.com/NetApp/trident/releases/download/v20.04.0/trident-installer-20.04.0.tar.gz
|
|
trident_namespace: "trident"
|
|
|
|
# The default port is 8000, which conflicts with the Armada app which also listens on port 8000
|
|
# Also, on an HTTPS enabled setup, the default port for HTTPS REST API is 8443 which conflicts
|
|
# with the port used by the platform Horizon dashboard.
|
|
# Choosing ports 8677 and 8678 to replace the defaults because they are unassigned according to:
|
|
# https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
|
|
trident_rest_api_port: 8677
|
|
trident_https_rest_api_port: 8678
|
|
|
|
# The default port opened by the service for metrics gathering is 8001.
|
|
# For now, this doesn't seem to conflict with anything on our system,
|
|
# but it's better to have it configurable.
|
|
trident_metrics_port: 8001
|
|
|
|
# We don't yet know if trident pods need to run on all nodes or just controllers,
|
|
# so we add a parameter to easily switch between the two
|
|
# TODO: remove this and change the k8s daemonset template once tests are completed
|
|
trident_deploy_only_on_controllers: false
|
|
|
|
trident_force_reinstall: false
|
|
trident_secret_name: "trident-local-registry-secret"
|
|
|
|
# Extra parameters to be given to the tridentctl install command
|
|
# If you want to configure Ipv6 add "--use-ipv6" to this list
|
|
# For a full list of supported parameters use "tridentctl install -h" commmand on the setup
|
|
trident_install_extra_params: ""
|
|
|
|
# Flag so we can import the trident images using the push-docker-images role
|
|
mode: "trident_install"
|
|
|
|
# Clean trident_setup_dir where templates and other files are copied
|
|
# Defaults to true, but you can set it to false for debug purposes
|
|
trident_clean_folder: true
|
|
|
|
# Images that need to be pulled to the local registry
|
|
trident_images:
|
|
- docker.io/netapp/trident:20.04.0
|
|
- quay.io/k8scsi/csi-provisioner:v1.6.0
|
|
- quay.io/k8scsi/csi-attacher:v2.2.0
|
|
- quay.io/k8scsi/csi-resizer:v0.5.0
|
|
- quay.io/k8scsi/csi-node-driver-registrar:v1.3.0
|
|
- quay.io/k8scsi/csi-snapshotter:v2.1.0
|
|
|
|
# OVERRIDE FILES DIRECTORY
|
|
# ========================
|
|
#
|
|
# Default directory where user override file(s) can be found
|
|
#
|
|
override_files_dir: "{{ lookup('env', 'HOME') }}"
|
|
|
|
# NETAPP BACKENDS CONFIGURATION
|
|
# =============================
|
|
# Configure NetApp backends, for complete list of configuration options visit:
|
|
# https://netapp-trident.readthedocs.io/en/stable-v20.04/kubernetes/operations/tasks/backends/ontap.html#
|
|
|
|
# Configurable option classes via this playbook are:
|
|
# 1. Kubernetes storage class - see netapp_k8s_storageclasses
|
|
# 2. Kubernetes snapshot storage class - see netapp_k8s_snapshotstorageclasses
|
|
# 3. NetApp backend configuration - see netapp_backends
|
|
#
|
|
# Configuration options, if specified, will be passed to K8S and/or Netapp config tool
|
|
# accordingly. Use host overrides to change the default settings. For instance, to
|
|
# skip the configuration of k8s_snapshotstorageclasses set:
|
|
# netapp_k8s_snapshotstorageclasses: []
|
|
# in the host overrides file
|
|
# See trident-installer/sample-input in trident-installer-X.Y.X.tar.gz
|
|
#
|
|
# 1. netapp_k8s_storageclass: Kubernetes storage class leads to a StorageClass e.g.:
|
|
#
|
|
# apiVersion: storage.k8s.io/v1
|
|
# kind: StorageClass
|
|
# metadata:
|
|
# name: basic
|
|
# provisioner: netapp.io/trident
|
|
# parameters:
|
|
# backendType: "__BACKEND_TYPE__"
|
|
#
|
|
# 2. netapp_k8s_snapshotstorageclasses: Kubernetes volume snapshot class leads to a VolumeSnapshotClass e.g.:
|
|
#
|
|
# apiVersion: snapshot.storage.k8s.io/v1beta1
|
|
# kind: VolumeSnapshotClass
|
|
# metadata:
|
|
# name: csi-snapclass
|
|
# driver: csi.trident.netapp.io
|
|
# deletionPolicy: Delete
|
|
#
|
|
# 3. netapp_backends: Main NetApp backend configuration options:
|
|
# version: Always 1
|
|
# storageDriverName: “ontap-nas”, “ontap-nas-economy”, “ontap-nas-flexgroup”, “ontap-san”, “ontap-san-economy”
|
|
# backendName: Custom name for the storage backend
|
|
# managementLIF: IP address of a cluster or SVM management LIF
|
|
# dataLIF: IP address of protocol LIF
|
|
# svm: Storage virtual machine to use
|
|
# igroupName: Name of the igroup for SAN volumes to use
|
|
# username: Username to connect to the cluster/SVM
|
|
# password: Password to connect to the cluster/SVM
|
|
# storagePrefix: Prefix used when provisioning new volumes in the SVM
|
|
# limitAggregateUsage: Fail provisioning if usage is above this percentage
|
|
# limitVolumeSize: Fail provisioning if requested volume size is above this value
|
|
# nfsMountOptions" Comma-separated list of NFS mount options (except ontap-san)
|
|
#
|
|
# WARNING: It is strongly recommended to store these settings in Ansible vault
|
|
# file named "secrets.yml" under override files directory. Configuration parameters
|
|
# stored in vault must start with vault_ prefix (i.e. vault_netapp_backends).
|
|
|
|
netapp_k8s_storageclass:
|
|
- metadata:
|
|
name: netapp-nas-backend
|
|
provisioner: netapp.io/trident
|
|
parameters:
|
|
backendType: "ontap-nas" # should be the same as config_options.storageDriverName
|
|
|
|
netapp_k8s_snapshotstorageclasses:
|
|
- metadata:
|
|
name: csi-snapclass
|
|
driver: csi.trident.netapp.io
|
|
deletionPolicy: Delete
|
|
|
|
netapp_backends:
|
|
- version: 1
|
|
storageDriverName: "ontap-nas" # should be the same as storageclass.parameters.backendType
|
|
backendName: "nas-backend"
|
|
managementLIF: "10.0.0.1"
|
|
dataLIF: "10.0.0.2"
|
|
svm: "svm_nfs"
|
|
username: "admin"
|
|
password: "secret"
|
|
# nfsMountOptions: "nfsvers=4"
|