Default variables: configuration
some of debops.iscsi default variables have more extensive configuration
than simple strings or lists, here you can find documentation and examples for
them.
iscsi__targets
This is a list of iSCSI Targets, each one defined by a YAML dict. Dict
parameters are mapped to open_iscsi and lvg Ansible module options.
List of required parameters:
targetiSCSI Qualified Name string which points to a specified iSCSI Target.
List of optional iSCSI parameters:
autoBool. If present, lets you specify if a given iSCSI Target should be logged into on system boot. By default all iSCSI Targets are logged into automatically.
loginBool. If present, lets you specify if a given iSCSI Target should be connected (
True) or disconnected (False).authBool. Enable or disable iSCSI session authentication per iSCSI Target.
auth_usernameiSCSI session username used for this iSCSI Target, you can use this parameter to override global username set in
iscsi_session_auth_username.auth_passwordiSCSI session password used for this iSCSI Target, you can use this parameter to override global password set in
iscsi_session_auth_password.
List of optional LVM parameters:
lvm_vgName of a LVM Volume Group which should be created using all iSCSI LUNs presented by a given iSCSI Target. Should only have alphanumeric characters and underscores. Do not use hyphens (
-) in the name.lvm_stateSpecifies if a given Volume Group should exist (
present) or not (absent). If not specified, defaults topresent.lvm_forceBool. If present and set to
True, allows you to remove a Volume Group if it has any Logical Volumes present.lvm_pesizeSize of the physical extent, in megabytes, must be a power of 2. By default, 4 MB extents are created. You cannot change the extent size of already existing Volume Groups.
lvm_optionsString with additional options passed to
vgcreate.
Examples
Connect to an iSCSI Target using global session authentication settings:
iscsi__targets:
- target: 'iqn.1995-08.org.example:server:storage'
Connect to an iSCSI Target using iscsi__iqn value for IQN base string (must
be the same on the iSCSI Target) and custom session credentials:
iscsi__targets:
- target: '{{ iscsi__iqn + ":server:storage" }}'
auth: True
auth_username: 'custom_user'
auth_password: 'custom_password'
Connect to an iSCSI Target and create a LVM Volume Group from all of the presented iSCSI LUNs:
iscsi__targets:
- target: '{{ iscsi__iqn }}:server:storage'
lvm_vg: 'vg_iscsi_target'
iscsi__logical_volumes
This is a list of LVM Logical Volumes, each one defined as a YAML dict. Logical
Volumes are slices of a Volume Group which can then be formatted with
a filesystem and mounted, or used as a block device. Dict parameters are mapped
to lvol, filesystem and mount Ansible module options.
For consistency reasons, you should only use iSCSI-backed Volume Groups to configure Logical Volumes using this variable.
List of required parameters:
lvName of a Logical Volume, should only have alphanumeric characters and underscores. Do not use hyphens (
-) in the name.vgName of a Volume Group which should be used to create a given Logical Volume.
sizeSize of the Logical Volume, use the same format as these supported by
lvolAnsible module.
List of optional LVM parameters:
stateSpecifies if a Logical Volume should exist (
present) or not (absent).forceBool. If present and
Trueallowslvolmodule to shrink or remove Logical Volumes.
List of optional filesystem parameters:
fsBool. Enables or disables creation of a filesystem in the new Logical Volume (existing Logical Volumes are not affected).
By default, a filesystem specified in
iscsi__default_fs_typevariable is created in all new Logical Volumes ifitem.mountis specified.fs_typeSpecify filesystem type to use instead of the default. The same type will be used to mount the filesystem.
fs_optsAdditional options passed to
mkfs.fs_forceBool. If present and
True, allows Ansible to reformat an already existing filesystem. Use with caution.
List of optional mount parameters:
mountPath to a directory where a given Logical Volume should be mounted. If specified, a filesystem will be created automatically if needed.
mount_stateSpecify mount state of a given Logical Volume, either
mounted(default),present,unmountedorabsent. SeemountAnsible module for explanation of the possible states.mount_optsString with mount options added in
/etc/fstab. If not specified, options set iniscsi__default_mount_optionswill be used instead.Make sure that
_netdevoption is present in your mount options, to not block the system startup.mount_fstabAlternative path to
/etc/fstab.mount_dumpFilesystem
dump(8)backup frequency. Seefstab(5)for more details.mount_passnoFilesystem
fsckpass order. Seefstab(5)for more details.
Examples
Create a Logical Volume:
iscsi__logical_volumes:
- lv: 'not_formatted_volume'
vg: 'vg_iscsi_target'
size: '2G'
Create a Logical Volume, format it and mount in a given path:
iscsi__logical_volumes:
- lv: 'data'
vg: 'vg_iscsi_target'
size: '10G'
mount: '/srv/data'
Remove a mounted Logical Volume (destroys the data):
iscsi__logical_volumes:
- lv: 'to_be_removed'
vg: 'vg_iscsi_target'
size: '5G'
mount: '/srv/trash'
state: 'absent'
force: True