9. Configuration OptionsΒΆ

[database]

# 
# Directory to store database.
# 
# SDK databases are used to store a set of tables which contain the
# information of network, volume, image, etc. This option is used to
# tell SDK where to store the database files, make sure the process
# running SDK is able to read write and execute the directory.
# 
# This param is optional
#dir=/var/lib/zvmsdk/databases/


[file]

# 
# Directory to store sdk imported or exported files.
# 
# SDK file repository to store the imported files and the files that will be
# exported, the imported files will be put into <file_repository>/imported
# the files to be exported will be put into <file_repository>/exported
#     
# This param is optional
#file_repository=/var/lib/zvmsdk/files


[guest]

# 
# The maximum allowed console log size, in kilobytes.
# 
# Console logs might be transferred to sdk user, this option controls how
# large each file can be. A smaller size may mean more calls will be needed
# to transfer large consoles, which may not be desirable for performance reasons.
#     
# This param is optional
#console_log_size=100


# 
# Whether to automatically extend the partition and filesystem of guest.
# 
# If set to True, when deploying an image to a larger disk, zvmsdk
# automatically extends the last partition and the file system to
# use up the whole disk.
# 
# If do not want to do the extend action automaictly, you must set this option
# to be False.
#     
# This param is optional
#extend_partition_fs=True


# 
# The maximum time waiting until the guest reachable after started.
# 
# When starting a guest, specify the timeout value will check the guest status
# until it becomes reachable or timeout.
#     
# This param is optional
#reachable_timeout=180


# 
# The interval time between 2 retries, in seconds.
# 
# This will take effect only when you set softstop_retries item.
# What's more, the value of softstop_timeout/softstop_interval is
# the times retried.
#     
# This param is optional
#softstop_interval=10


# 
# The maximum time waiting until the guest shut down.
# 
# Sometimes, the shutdown action will take a bit lone time to complete.
# If you want to make sure the guest in shut-down status after executing action
# of softstop, this will help.
#     
# This param is optional
#softstop_timeout=120


[image]

# 
# Default compress level for captured image.
# 
# This param is optional
#default_compress_level=6


# 
# Directory to store sdk images.
# 
# SDK image repository to store the imported images and the staging images that
# is in snapshotting. Once snapshot finished, the image will be removed to the
# netboot directory accordingly. Two kinds of image repository looks like:
# /var/lib/zvmsdk/images/netboot/<image_osversion>/<imagename>
# /var/lib/zvmsdk/images/staging/<image_osversion>/<imagename>
#     
# This param is optional
#sdk_image_repository=/var/lib/zvmsdk/images


[logging]

# 
# Directory where log file to be put into.
# 
# SDK has a set of logs to help administrator to debug
# and audit actions performed through SDK. Edit this option
# if you want to put logs into specified place.
# 
# Please ensure the service running on the consume which
# consumes SDK has the authorization to write to the path.
#     
# This param is optional
#log_dir=/var/log/zvmsdk/


# 
# Level of the log.
# 
# SDK utilize python logging package to help admin debug
# or analyze issues. it's recommend to set this value
# to logging.DEBUG to get more detailed logs and set it to
# logging.INFO(default) in normal situation.
# 
# recommend values:
# logging.ERROR: level above ERROR will be written to log file.
# logging.WARNINS: level above WARNING(ERROR, WARNING)
#                  will be written to log file.
# logging.INFO: level above INFO(ERROR, WARNING, INFO)
#               will be written to log file.
# logging.DEBUG: All log level (ERROR, WARNING, INFO, DEBUG)
#                will be written to log file.
#     
# This param is optional
#log_level=logging.INFO


[monitor]

# 
# Cached monitor data update interval
# 
# This is used to prevent excessive effort spent retrieving the
# monitor data by calling the SDK backend utilities. When this cache
# is enabled, a inspect call will only call the SDK backend utilities
# when the inspected guest's info does not exist in the cache or
# when the cache data is expired. And when an cache update is needed,
# all the existing guests' data will be retrieved in a single call to
# the backend.
# 
# When this value is below or equal to zero, the cache
# will be disabled and each inspect call will need to call the backend
# utilities to get the inspected guest's monitor data.
#         
# This param is optional
#cache_interval=300


[network]

# 
# IP address of the Linux machine which is running SDK on.
# 
# Some remote copy operations need to be performed during guest creation,
# this option tell the SDK the host ip which can be used to perform copy
# from and copy to operations.
#     
# This param is required
#my_ip=None


[sdkserver]

# 
# The IP address that the SDK server is listening on.
# 
# When the SDK server deamon starts, it will try to bind to
# this address and port bind_port, and wait for the SDK client
# connection to handle API request.
# 
# This param is optional
#bind_addr=127.0.0.1


# 
# The port that the SDK server is listening on.
# 
# This will work as a pair with bind_addr when the SDK server daemon
# starts, more info can be found in that configuration description.
# 
# This param is optional
#bind_port=2000


# 
# The maximum number of worker thread in SDK server to handle client requests.
# 
# These worker threads would work concurrently to handle requests from client.
# This value should be adjusted according to the system resource and workload.
# 
# This param is optional
#max_worker_count=64


# 
# The size of request queue in SDK server.
# 
# SDK server maintains a queue to keep all the accepted but not handled requests,
# and the SDK server workers fetch requests from this queue.
# To some extent, this queue size decides the max socket opened in SDK server.
# This value should be adjusted according to the system resource.
# 
# This param is optional
#request_queue_size=128


[volume]

# 
# fcp pair selection algorithm
# 
# fcp_list example:
# fa00-fa02; fb00-fb02
# 
# If use get_fcp_pair_with_same_index,
# then fcp pair is randomly selected from below combinations.
# [fa00,fb00],[fa01,fb01],[fa02,fb02]
# 
# If use get_fcp_pair,
# then fcp pair is randomly selected from below combinations.
# [fa00,fb00],[fa01,fb00],[fa02,fb00]
# [fa00,fb01],[fa01,fb01],[fa02,fb01]
# [fa00,fb02],[fa01,fb02],[fa02,fb02]
# 
# Possible value:
# 0 : use get_fcp_pair. this is the default
# 1 : use get_fcp_pair_with_same_index
# 
# This param is optional
#get_fcp_pair_with_same_index=0


# 
# The timeout value for waiting attach/detach punch scripts
# execution, in seconds.
# 
# The default value is 1800 seconds, if the execution of punch scripts
# reached the timeout, the attach/detach will fail.
# 
# This param is optional
#punch_script_execution_timeout=1800


# 
# The timeout value for waiting refresh_bootmap execution, in seconds.
# 
# The default value is 1200 seconds, if the execution of refresh_bootmap
# reached the timeout, the process of refresh_bootmap will be stopped.
# 
# This param is optional
#refresh_bootmap_timeout=1200


[wsgi]

# 
# Whether auth will be used.
# 
# When sending http request from outside to running zvmsdk,
# Client will be requested to input username/password in order
# to authorize the call.
# Set this to 'none' indicated no auth will be used and 'auth'
# means username and password need to be specified.
# 
# Possible value:
# 'none': no auth will be required
# 'auth': need auth, currently pyjwt is used to return a token
#         to caller if the username and password is correct.
# 
# This param is optional
#auth=none


# 
# The max total number of concurrent deploy and capture requests allowed in a
# single z/VM Cloud Connector process.
# 
# If more requests than this value are revieved concurrently, the z/VM Cloud
# Connector would reject the requests and return error to avoid resource
# exhaustion.
# .
# 
# This param is optional
#max_concurrent_deploy_capture=20


# 
# file path that contains admin-token to access sdk http server.
# 
# Admin-token in order to get a user-token from zvm sdk, and the user-token
# will be used to validate request before user-token expire.
# 
# This param is optional
#token_path=/etc/zvmsdk/token.dat


# 
# How long the token is valid.
# 
# If a token auth is used, the token return to user will be
# expired after the period passed. This ensure an user who
# get this token will not be authorized all the time, a new
# token need to be recreated after certain time period.
# 
# This param is optional
#token_validation_period=3600


[zvm]

# 
# Only used for SMAPIOUT is not ready.
# 
# This param is optional
#bypass_smapiout=True


# 
# Default LOGONBY userid(s) for the cloud.
# 
# This is a set of z/VM userid(s) which are allowed to logon using the LOGONBY
# keyword to the guests created by the z/VM SDK solution, compatible with
# the LBYONLY keyword of the user directory statement. This value is only used
# when a guest is created. If you change this value, existing guests' directory
# entries are not automatically updated with the new value.
# When an ESM is installed, this parameter only governs when the ESM
# defers to CP's processing.
# 
# Usage note:
#     The default is empty string with nothing set.
#     '' is an invalid value and it will cause VM deploying failed.
#     Thus, DO NOT set default_admin_userid=''.
#     When a non-empty string is provided, blank chars will be used as delimiter,
#     you can use LOGONBY xxx command to log on the guest using the corresponding
#     admin userid's password.
# 
#     For example, when you set this value to 'oper1 oper2 oper3 jones', it means
#     you can use any one of 'oper1', 'oper2', 'oper3', 'jones' as an admin user.
# 
#     see the z/VM CP Planning and Administration for additional information.
# 
# Possible values:
#     A maximum of 8 blank-delimited strings. Each non-blank string must be a
#     valid z/VM userid.
#     e.g  'oper1 oper2' is a valid value.
#          'o1 o2 o3 o4 o5 o6 o7 o8 o9' is NOT a valid value.
#     
# This param is optional
#default_admin_userid=None


# 
# Virtual device number for default NIC address.
# 
# This value is the first NIC virtual device number,
# each NIC needs 3 numbers for control/read/write, so by default
# the first NIC's address is 1000, the second one is 1003 etc.
# 
# Possible values:
#     An integer value in hex format, between 0 and 65536 (x'FFFF').
#     It should not conflict with other device numbers in the z/VM guest's
#     configuration, for example device numbers of the root or ephemeral or
#     persistent disks.
# 
# Sample NIC definitions in the z/VM user directory:
#     NICDEF 1000 TYPE QDIO LAN SYSTEM <vswitch1> MACID <macid1>
#     NICDEF 1003 TYPE QDIO LAN SYSTEM <vswitch2> MACID <macid2>
#         
# This param is optional
#default_nic_vdev=1000


# 
# zVM disk pool and type for root/ephemeral disks.
# 
# The option is combined by 2 parts and use : as separator.
# 
# The first part is the type of disks in the disk pool.
# The disks in one disk pool must in same type (ECKD or FBA).
# Possible values of the disk pool type:
#     A string, either ECKD or FBA.
# 
# The second part is the volume group name defined in your directory manager
# on your z/VM system, which will be used for allocating disks for
# new guest. A dollar sign ($) is not allowed in the name.
# 
# Sample disk_pool values:
#     ECKD:diskpo1
#     FBA:testpool
#     
# This param is optional
#disk_pool=None


# 
# Virtual device number for capture function.
# 
# This value identity the virtual device number for capture
# image when z/VM guest is power off.
# 
# Possible values:
#     An string value identify disk number like '0100'.
#     If this value has been configured, capture image function will use
#     this value as disk info to capture with first priority when z/VM
#     guest is power off.
#     This value don't work if z/VM guest status is power on.
# Sample root disk in user directory:
#     MDISK 0100 <disktype> <start> <end> <volumelabel> <readwrite>
# 
# This param is optional
#force_capture_disk=None


# 
# The name of a list containing names of virtual servers to be queried. The list
# which contains the userid list by default is named: VSMWORK1 NAMELIST, see
# DMSSICNF COPY key: NameListFileIdAny. The list has to be accessible to the
# SMAPI servers.
# 
# The length of namelist must no longer than 64.
# 
# This param is optional
#namelist=None


# 
# The port number of remotehost sshd.
# 
# This param is optional
#remotehost_sshd_port=22


# 
# If configure the dasd group, the user can configure `swap_default_with_mdisk`
# to create swap device with MDISK or VDISK, the default value `True` means create
# the swap device with MDISK, if `False`, create the swap device with VDISK.
# 
# This param is optional
#swap_default_with_mdisk=True


# 
# For swap disk to create from mdisk instead of vdisk only for the below boot from
# volume case. In boot from volume case, there might be no disk pool at all, then
# the only choice is to use vdisk (or using FCP LUN which is complicated),
# if customer doesn't want vdisk, then set this value to `True` so
# VDISK will not be used and in turn it will fail check. If the customer wants
# to use MDISK to create swap device, he need configure dasd group and set
# `swap_default_with_mdisk` to `True` which is the default value.
# 
# This param is optional
#swap_force_mdisk=False


# 
# The default maximum number of virtual processers the user can define.
# This value is used as the default value for maximum vcpu number when
# create a guest with no max_cpu specified.
# 
# The number must be a decimal value between 1 and 64.
# 
# This param is optional
#user_default_max_cpu=32


# 
# The default maximum size of memory the user can define.
# This value is used as the default value for maximum memory size when
# create a guest with no max_mem specified.
# The value can be specified by 1-4 bits of number suffixed by either
# M (Megabytes) or G (Gigabytes) and the number must be a whole number,
# values such as 4096.8M or 32.5G are not supported.
# 
# The value should be adjusted based on your system capacity.
# 
# This param is optional
#user_default_max_memory=64G


# 
# The default maximum size of reserved memory in a vm's direct entry.
# This value is used as the default value for maximum reserved memory
# size for a guest.
# The value can be specified by 1-4 bits of number suffixed by either
# M (Megabytes) or G (Gigabytes) and the number must be a whole number,
# values such as 4096.8M or 32.5G are not supported.
# 
# The value should be adjusted based on your system capacity.
# 
# This param is optional
#user_default_max_reserved_memory=64G


# This param is optional
#user_default_password=None


# 
# The default SHARE settings configuration.
# 
# The recommend value of SHARE. From z/VM doc, SHARE is relative value of
# virtual machine and if you set SHARE to 100 while virtual CPUs are 4,
# then each vCPU get 25 entitlement.
# 
# So the mechanism currently is:
# 
# 1) If a share is given, set SHARE value to the VM
# 2) If no SHARE is given during creation, check user_default_share_unit
# 3) If user_default_share_unit is 0, do nothing
# 4) If user_default_share_unit it not 0(current default is 100),
# then insert statement `SHARE RELATIVE user_default_share_unit*vCPU`
# into user direct, for example, with user_default_share_unit=100,
# 4 vCPU will create `SHARE RELATIVE 400`.
# 
# This align the best practice of z/VM recommendation.
# 
# This param is optional
#user_default_share_unit=100


# 
# PROFILE name to use when creating a z/VM guest.
# 
# When SDK deploys an guest on z/VM, it can include some
# common statements from a PROFILE definition.
# This PROFILE must already be included in your z/VM user directory.
# 
# Possible values:
#     An 8 character name of a PROFILE that is already defined in the z/VM
#     user directory.
#     
# This param is required
#user_profile=None


# 
# Virtual device number for root disk.
# 
# When SDK deploys an guest, it creates a root disk and potentially
# several data disks. This value is the virtual device number of the root
# disk.
# 
# Possible values:
#     An integer value in hex format, between 0 and 65536 (x'FFFF').
#     It should not conflict with other device numbers in the z/VM guest's
#     configuration, for example device numbers of the NICs or ephemeral or
#     persistent disks.
# 
# Sample root disk in user directory:
#     MDISK 0100 <disktype> <start> <end> <volumelabel> <readwrite>
# 
# This param is optional
#user_root_vdev=0100