1471316eac
Related: rhbz#1961087
296 lines
10 KiB
Plaintext
296 lines
10 KiB
Plaintext
# This file is a well-documented, and commented out (mostly) file, which
|
|
# covers the configuration options available in LinchPin
|
|
#
|
|
# Used to override default configuration settings for LinchPin
|
|
# Defaults exist in linchpin/linchpin.constants file
|
|
#
|
|
# Uncommented options enable features found in v1.5.1 or newer and
|
|
# can be turned off by commenting them out.
|
|
#
|
|
# structured in INI style
|
|
# use %% to allow code interpolation
|
|
# use % to use config interpolation
|
|
#
|
|
|
|
[DEFAULT]
|
|
# name of the python package (Redundant, but easier than programmatically
|
|
# obtaining the value. It's very unlikely to change.)
|
|
pkg = linchpin
|
|
|
|
# Useful for storing the RunDB or other components like global credentials
|
|
# travis-ci doesn't like ~/.config/linchpin, use /tmp
|
|
#default_config_path = ~/.config/linchpin
|
|
|
|
# When creating an provider not already included in LinchPin, this path
|
|
# extends where LinchPin will look to run the appropriate playbooks
|
|
#external_providers_path = %(default_config_path)s/linchpin-x
|
|
|
|
# When adding anything to the lp section, it should be general for
|
|
# the entire application.
|
|
[lp]
|
|
|
|
# load custom ansible modules from here
|
|
#module_folder = library
|
|
|
|
# rundb tracks provisioning transactions
|
|
# If you add a new one, rundb/drivers.py needs to be updated to match
|
|
# rundb_conn is the location of the run database.
|
|
# A common reason to move it is to use the rundb centrally across
|
|
# the entire system, or in a central db on a shared filesystem.
|
|
# System-wide RunDB: rundb_conn = ~/.config/linchpin/rundb-::mac::.json
|
|
#rundb_conn = {{ workspace }}/.rundb/rundb-::mac::.json
|
|
rundb_conn = ~/.config/linchpin/rundb-::mac::.json
|
|
|
|
# name the type of Run database. Currently only TinyRunDB exists
|
|
#rundb_type = TinyRunDB
|
|
|
|
# How to connect to the RunDB, if it's on a separate server,
|
|
# it may be tcp or ssh
|
|
#rundb_conn_type = file
|
|
|
|
# The schema is used because TinyDB is a NoSQL db. Another DB
|
|
# may use this as a way to manage fields in a specific table.
|
|
#rundb_schema = {"action": "",
|
|
# "inputs": [],
|
|
# "outputs": [],
|
|
# "start": "",
|
|
# "end": "",
|
|
# "rc": 0,
|
|
# "uhash": ""}
|
|
|
|
# each entry in the RunDB contains a unique-ish hash (uhash). This
|
|
# sets the hashing mechanism used to generate the uhash.
|
|
#rundb_hash = sha256
|
|
|
|
# The default dateformat used in LinchPin. Specifically used in the
|
|
# RunDB for recording start and end dates, but also used elsewhere.
|
|
#dateformat = %%m/%%d/%%Y %%I:%%M:%%S %%p
|
|
|
|
# The name of the pinfile. Someone could adjust this and use TopFile
|
|
# or somesuch. The ramifications of this would mean that the file in
|
|
# the workspace that linchpin reads would change to this value.
|
|
#default_pinfile = PinFile
|
|
|
|
# By default, whenever linchpin performs an action
|
|
# (linchpin up/linchpin destroy), the data is read from the PinFile.
|
|
# Enabling 'use_rundb_for_actions' will allow destroy and certain up
|
|
# actions (specifically when using --run-id or --tx-id) to pull data
|
|
# from the RunDB instead.
|
|
#use_rundb_for_actions = False
|
|
use_rundb_for_actions = True
|
|
|
|
# A user can request specific data distilled from the RunDB. This flag
|
|
# enables the Context Distiller.
|
|
# NOTE: This flag requires generate_resources = False.
|
|
#distill_data = False
|
|
distill_data = True
|
|
|
|
# If desired, enabling distill_on_error will distill any successfully (and
|
|
# possibly failed) provisioned resources. This is predicated on the data
|
|
# being written to the RunDB (usually means _async tasks may never record
|
|
# data upon failure).
|
|
distill_on_error = False
|
|
|
|
# User can make linchpin use the actual return codes for final return code
|
|
# if enabled True, even if one target provision is successfull linchpin
|
|
# returns exit code zero else returns the sum of all the return codes
|
|
# use_actual_rcs = False
|
|
|
|
# LinchPin sets several extra_vars (evars) that are passed to the playbooks.
|
|
# This section controls those items.
|
|
[evars]
|
|
|
|
# enables the ansible --check option
|
|
# _check_mode = False
|
|
|
|
# enables the ansible async ability. For some providers, it allows multiple
|
|
# provisioning tasks to happen at once, then will collect the data afterward.
|
|
# The default is perform the provision actions in serial.
|
|
#_async = False
|
|
|
|
# How long to wait before failing (in seconds) for an async task.
|
|
#async_timeout = 1000
|
|
|
|
# the uhash value will still exist, but will not be added to
|
|
# instances or the inventory_path
|
|
#enable_uhash = False
|
|
enable_uhash = True
|
|
|
|
# in older versions of linchpin (<v1.0.4), a resources folder exists, which
|
|
# dumped the data that is now stored in the RunDB. To disable the resources
|
|
# output, set the value to False.
|
|
#generate_resources = True
|
|
generate_resources = False
|
|
|
|
# default paths in playbooks
|
|
#
|
|
# lp_path = <src_dir>/linchpin
|
|
# determined in the load_config method of # linchpin.cli.LinchpinCliContext
|
|
|
|
# Each of the following items controls the path (usually along with the
|
|
# default values below) to the corresponding item.
|
|
|
|
# In the workspace (generally), this is the location of the layouts and
|
|
# topologies looked up by the PinFile. If either of these change, the
|
|
# value in linchpin/templates must also change.
|
|
#layouts_folder = layouts
|
|
#topologies_folder = topologies
|
|
|
|
# The relative location for hooks
|
|
#hooks_folder = hooks
|
|
|
|
# The relative location for provider roles
|
|
#roles_folder = roles
|
|
|
|
# The relative location for storing inventories
|
|
#inventories_folder = inventories
|
|
|
|
# The relative location for resources output (deprecated)
|
|
#resources_folder = resources
|
|
|
|
# The relative location to find schemas (deprecated)
|
|
#schemas_folder = schemas
|
|
|
|
# The relative location to find playbooks
|
|
#playbooks_folder = provision
|
|
|
|
# The default path to schemas for validation (deprecated)
|
|
#default_schemas_path = {{ lp_path }}/defaults/%(schemas_folder)s
|
|
|
|
# The default path to topologies if they aren't in the workspace
|
|
#default_topologies_path = {{ lp_path }}/defaults/%(topologies_folder)s
|
|
|
|
# The default path to inventory layouts if they aren't in the workspace
|
|
#default_layouts_path = {{ lp_path }}/defaults/%(layouts_folder)s
|
|
|
|
# The default path for outputting ansible static inventories
|
|
#default_inventories_path = {{ lp_path }}/defaults/%(inventories_folder)s
|
|
|
|
# The default path to the ansible roles which control the providers
|
|
#default_roles_path = {{ lp_path }}/%(playbooks_folder)s/%(roles_folder)s
|
|
|
|
# In older versions (<1.2.x), the schema was held here. These schemas are
|
|
# deprecated.
|
|
#schema_v3 = %(default_schemas_path)s/schema_v3.json
|
|
#schema_v4 = %(default_schemas_path)s/schema_v4.json
|
|
|
|
# The location where default credentials data would exist. This path doesn't
|
|
# automatically exist
|
|
#default_credentials_path = %(default_config_path)s
|
|
|
|
# If desired, one could overwrite the location of the generated inventory path
|
|
#inventory_path = {{ workspace }}/{{inventories_folder}}/happy.inventory
|
|
|
|
# Libvirt images can be stored almost anywhere (not /tmp).
|
|
# Unprivileged users need not setup sudo to manage a path to which they have rights.
|
|
# The following are specific settings to manage libvirt images and instances
|
|
|
|
# the location to store generated ssh keys and the like
|
|
#default_ssh_key_path = ~/.ssh
|
|
|
|
# Where to store the libvirt images for copying/booting instances
|
|
#libvirt_image_path = /var/lib/libvirt/images/
|
|
|
|
# What user to use to access libvirt.
|
|
# Using root means sudo without password must be setup
|
|
#libvirt_user = root
|
|
|
|
# When using root or any privileged user, this must be set to yes.
|
|
# sudo without password must also be setup
|
|
#libvirt_become = yes
|
|
|
|
# This section covers settings for the `linchpin init` command
|
|
#[init]
|
|
|
|
# source path of files generated by linchpin init
|
|
#source = templates/
|
|
|
|
# formal name of the generated PinFile. Can be changed as desired.
|
|
#pinfile = PinFile
|
|
|
|
# This section covers logging setup
|
|
[logger]
|
|
|
|
# Turns off and on the logger functionality
|
|
#enable = True
|
|
|
|
# Full path to the location of the linchpin log file
|
|
file = ~/.config/linchpin/linchpin.log
|
|
|
|
# Log format used. See https://docs.python.org/2/howto/logging-cookbook.html
|
|
#format = %%(levelname)s %%(asctime)s %%(message)s
|
|
|
|
# Date format used. See https://docs.python.org/2/howto/logging-cookbook.html
|
|
#dateformat = %%m/%%d/%%Y %%I:%%M:%%S %%p
|
|
|
|
# Level of logging provided
|
|
#level = logging.DEBUG
|
|
|
|
# Logging to the console via STDERR
|
|
#[console]
|
|
|
|
# logging to the console should also be possible
|
|
# NOTE: Placeholder only, cannot disable.
|
|
#enable = True
|
|
|
|
# Log format used. See https://docs.python.org/2/howto/logging-cookbook.html
|
|
#format = %%(message)s
|
|
|
|
# Level of logging provided
|
|
#level = logging.INFO
|
|
|
|
# LinchPin hooks have several states depending on the action. Currently, there
|
|
# are three hook states relating to tasks being completed.
|
|
# * up - when performing the up (provision) action
|
|
# * destroy - when performing the destroy (teardown) action
|
|
# * inv - when performing the internal inventory generation action
|
|
# (currently unimplemented)
|
|
#[hookstates]
|
|
|
|
# when performing the up action, these hooks states are run
|
|
#up = pre,post,inv
|
|
|
|
# when performing the inv action, these hooks states are run
|
|
#inv = post
|
|
|
|
# when performing the destroy action, these hooks states are run
|
|
#destroy = pre,post
|
|
|
|
# This section covers file extensions for generating or looking
|
|
# up specific files
|
|
#[extensions]
|
|
|
|
# When looking for provider playbooks, use this extension
|
|
#playbooks = .yml
|
|
|
|
# When generating inventory files, use this extension
|
|
#inventory = .inventory
|
|
|
|
# This section controls the ansible settings for display or other settings
|
|
#[ansible]
|
|
|
|
# If set to true, this enables verbose output automatically to the screen.
|
|
# This is equivalent of passing `-v` to the linchpin command line shell.
|
|
#console = False
|
|
|
|
# When linchpin is run, certain states are called at certain points along the
|
|
# execution timeline. These STATES are defined below.
|
|
#[states]
|
|
# in future each state will have comma separated substates
|
|
|
|
# The name of the state which occurs before (pre) provisioning (up)
|
|
#preup = preup
|
|
|
|
# The name of the state which occurs before (pre) teardown (destroy)
|
|
#predestroy = predestroy
|
|
|
|
# The name of the state which occurs after (post) provisioning (up)
|
|
#postup = postup
|
|
|
|
# The name of the state which occurs after (pre) teardown (destroy)
|
|
#postdestroy = postdestroy
|
|
|
|
# The name of the state which occurs after (post) inventory is generated (inv)
|
|
#postinv = inventory
|
|
|