Add spec and source packages for openstack-placement
Add spec and source packages for openstack-placement
This commit is contained in:
parent
30f3d53cfb
commit
90b3387210
BIN
openstack-placement-4.0.0.tar.gz
Normal file
BIN
openstack-placement-4.0.0.tar.gz
Normal file
Binary file not shown.
675
openstack-placement-api.conf.sample
Normal file
675
openstack-placement-api.conf.sample
Normal file
@ -0,0 +1,675 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
|
||||||
|
#
|
||||||
|
# From oslo.log
|
||||||
|
#
|
||||||
|
|
||||||
|
# If set to true, the logging level will be set to DEBUG instead of the default
|
||||||
|
# INFO level. (boolean value)
|
||||||
|
# Note: This option can be changed without restarting.
|
||||||
|
#debug = false
|
||||||
|
|
||||||
|
# The name of a logging configuration file. This file is appended to any
|
||||||
|
# existing logging configuration files. For details about logging configuration
|
||||||
|
# files, see the Python logging module documentation. Note that when logging
|
||||||
|
# configuration files are used then all logging configuration is set in the
|
||||||
|
# configuration file and other logging configuration options are ignored (for
|
||||||
|
# example, log-date-format). (string value)
|
||||||
|
# Note: This option can be changed without restarting.
|
||||||
|
# Deprecated group/name - [DEFAULT]/log_config
|
||||||
|
#log_config_append = <None>
|
||||||
|
|
||||||
|
# Defines the format string for %%(asctime)s in log records. Default:
|
||||||
|
# %(default)s . This option is ignored if log_config_append is set. (string
|
||||||
|
# value)
|
||||||
|
#log_date_format = %Y-%m-%d %H:%M:%S
|
||||||
|
|
||||||
|
# (Optional) Name of log file to send logging output to. If no default is set,
|
||||||
|
# logging will go to stderr as defined by use_stderr. This option is ignored if
|
||||||
|
# log_config_append is set. (string value)
|
||||||
|
# Deprecated group/name - [DEFAULT]/logfile
|
||||||
|
#log_file = <None>
|
||||||
|
|
||||||
|
# (Optional) The base directory used for relative log_file paths. This option
|
||||||
|
# is ignored if log_config_append is set. (string value)
|
||||||
|
# Deprecated group/name - [DEFAULT]/logdir
|
||||||
|
#log_dir = <None>
|
||||||
|
|
||||||
|
# Uses logging handler designed to watch file system. When log file is moved or
|
||||||
|
# removed this handler will open a new log file with specified path
|
||||||
|
# instantaneously. It makes sense only if log_file option is specified and Linux
|
||||||
|
# platform is used. This option is ignored if log_config_append is set. (boolean
|
||||||
|
# value)
|
||||||
|
#watch_log_file = false
|
||||||
|
|
||||||
|
# Use syslog for logging. Existing syslog format is DEPRECATED and will be
|
||||||
|
# changed later to honor RFC5424. This option is ignored if log_config_append is
|
||||||
|
# set. (boolean value)
|
||||||
|
#use_syslog = false
|
||||||
|
|
||||||
|
# Enable journald for logging. If running in a systemd environment you may wish
|
||||||
|
# to enable journal support. Doing so will use the journal native protocol which
|
||||||
|
# includes structured metadata in addition to log messages.This option is
|
||||||
|
# ignored if log_config_append is set. (boolean value)
|
||||||
|
#use_journal = false
|
||||||
|
|
||||||
|
# Syslog facility to receive log lines. This option is ignored if
|
||||||
|
# log_config_append is set. (string value)
|
||||||
|
#syslog_log_facility = LOG_USER
|
||||||
|
|
||||||
|
# Use JSON formatting for logging. This option is ignored if log_config_append
|
||||||
|
# is set. (boolean value)
|
||||||
|
#use_json = false
|
||||||
|
|
||||||
|
# Log output to standard error. This option is ignored if log_config_append is
|
||||||
|
# set. (boolean value)
|
||||||
|
#use_stderr = false
|
||||||
|
|
||||||
|
# Log output to Windows Event Log. (boolean value)
|
||||||
|
#use_eventlog = false
|
||||||
|
|
||||||
|
# The amount of time before the log files are rotated. This option is ignored
|
||||||
|
# unless log_rotation_type is setto "interval". (integer value)
|
||||||
|
#log_rotate_interval = 1
|
||||||
|
|
||||||
|
# Rotation interval type. The time of the last file change (or the time when the
|
||||||
|
# service was started) is used when scheduling the next rotation. (string value)
|
||||||
|
# Possible values:
|
||||||
|
# Seconds - <No description provided>
|
||||||
|
# Minutes - <No description provided>
|
||||||
|
# Hours - <No description provided>
|
||||||
|
# Days - <No description provided>
|
||||||
|
# Weekday - <No description provided>
|
||||||
|
# Midnight - <No description provided>
|
||||||
|
#log_rotate_interval_type = days
|
||||||
|
|
||||||
|
# Maximum number of rotated log files. (integer value)
|
||||||
|
#max_logfile_count = 30
|
||||||
|
|
||||||
|
# Log file maximum size in MB. This option is ignored if "log_rotation_type" is
|
||||||
|
# not set to "size". (integer value)
|
||||||
|
#max_logfile_size_mb = 200
|
||||||
|
|
||||||
|
# Log rotation type. (string value)
|
||||||
|
# Possible values:
|
||||||
|
# interval - Rotate logs at predefined time intervals.
|
||||||
|
# size - Rotate logs once they reach a predefined size.
|
||||||
|
# none - Do not rotate log files.
|
||||||
|
#log_rotation_type = none
|
||||||
|
|
||||||
|
# Format string to use for log messages with context. Used by
|
||||||
|
# oslo_log.formatters.ContextFormatter (string value)
|
||||||
|
#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
||||||
|
|
||||||
|
# Format string to use for log messages when context is undefined. Used by
|
||||||
|
# oslo_log.formatters.ContextFormatter (string value)
|
||||||
|
#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
||||||
|
|
||||||
|
# Additional data to append to log message when logging level for the message is
|
||||||
|
# DEBUG. Used by oslo_log.formatters.ContextFormatter (string value)
|
||||||
|
#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
||||||
|
|
||||||
|
# Prefix each line of exception output with this format. Used by
|
||||||
|
# oslo_log.formatters.ContextFormatter (string value)
|
||||||
|
#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
|
||||||
|
|
||||||
|
# Defines the format string for %(user_identity)s that is used in
|
||||||
|
# logging_context_format_string. Used by oslo_log.formatters.ContextFormatter
|
||||||
|
# (string value)
|
||||||
|
#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
|
||||||
|
|
||||||
|
# List of package logging levels in logger=LEVEL pairs. This option is ignored
|
||||||
|
# if log_config_append is set. (list value)
|
||||||
|
#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,oslo_policy=INFO,dogpile.core.dogpile=INFO
|
||||||
|
|
||||||
|
# Enables or disables publication of error events. (boolean value)
|
||||||
|
#publish_errors = false
|
||||||
|
|
||||||
|
# The format for an instance that is passed with the log message. (string value)
|
||||||
|
#instance_format = "[instance: %(uuid)s] "
|
||||||
|
|
||||||
|
# The format for an instance UUID that is passed with the log message. (string
|
||||||
|
# value)
|
||||||
|
#instance_uuid_format = "[instance: %(uuid)s] "
|
||||||
|
|
||||||
|
# Interval, number of seconds, of log rate limiting. (integer value)
|
||||||
|
#rate_limit_interval = 0
|
||||||
|
|
||||||
|
# Maximum number of logged messages per rate_limit_interval. (integer value)
|
||||||
|
#rate_limit_burst = 0
|
||||||
|
|
||||||
|
# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG or
|
||||||
|
# empty string. Logs with level greater or equal to rate_limit_except_level are
|
||||||
|
# not filtered. An empty string means that all levels are filtered. (string
|
||||||
|
# value)
|
||||||
|
#rate_limit_except_level = CRITICAL
|
||||||
|
|
||||||
|
# Enables or disables fatal status of deprecations. (boolean value)
|
||||||
|
#fatal_deprecations = false
|
||||||
|
|
||||||
|
#
|
||||||
|
# From placement.conf
|
||||||
|
#
|
||||||
|
|
||||||
|
# Explicitly specify the temporary working directory. (string value)
|
||||||
|
#tempdir = <None>
|
||||||
|
|
||||||
|
#
|
||||||
|
# The directory where the Placement python modules are installed.
|
||||||
|
#
|
||||||
|
# This is the default path for other config options which need to persist
|
||||||
|
# Placement internal data. It is very unlikely that you need to
|
||||||
|
# change this option from its default value.
|
||||||
|
#
|
||||||
|
# Possible values:
|
||||||
|
#
|
||||||
|
# * The full path to a directory.
|
||||||
|
#
|
||||||
|
# Related options:
|
||||||
|
#
|
||||||
|
# * ``state_path``
|
||||||
|
# (string value)
|
||||||
|
#
|
||||||
|
# This option has a sample default set, which means that
|
||||||
|
# its actual default value may vary from the one documented
|
||||||
|
# below.
|
||||||
|
#pybasedir = <Path>
|
||||||
|
|
||||||
|
#
|
||||||
|
# The top-level directory for maintaining state used in Placement.
|
||||||
|
#
|
||||||
|
# This directory is used to store Placement's internal state. It is used by some
|
||||||
|
# tests that have behaviors carried over from Nova.
|
||||||
|
#
|
||||||
|
# Possible values:
|
||||||
|
#
|
||||||
|
# * The full path to a directory. Defaults to value provided in ``pybasedir``.
|
||||||
|
# (string value)
|
||||||
|
#state_path = $pybasedir
|
||||||
|
|
||||||
|
|
||||||
|
[api]
|
||||||
|
#
|
||||||
|
# Options under this group are used to define Placement API.
|
||||||
|
|
||||||
|
#
|
||||||
|
# From placement.conf
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# This determines the strategy to use for authentication: keystone or noauth2.
|
||||||
|
# 'noauth2' is designed for testing only, as it does no actual credential
|
||||||
|
# checking. 'noauth2' provides administrative credentials only if 'admin' is
|
||||||
|
# specified as the username.
|
||||||
|
# (string value)
|
||||||
|
# Possible values:
|
||||||
|
# keystone - <No description provided>
|
||||||
|
# noauth2 - <No description provided>
|
||||||
|
#auth_strategy = keystone
|
||||||
|
|
||||||
|
|
||||||
|
[cors]
|
||||||
|
|
||||||
|
#
|
||||||
|
# From oslo.middleware.cors
|
||||||
|
#
|
||||||
|
|
||||||
|
# Indicate whether this resource may be shared with the domain received in the
|
||||||
|
# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing
|
||||||
|
# slash. Example: https://horizon.example.com (list value)
|
||||||
|
#allowed_origin = <None>
|
||||||
|
|
||||||
|
# Indicate that the actual request can include user credentials (boolean value)
|
||||||
|
#allow_credentials = true
|
||||||
|
|
||||||
|
# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
|
||||||
|
# Headers. (list value)
|
||||||
|
#expose_headers =
|
||||||
|
|
||||||
|
# Maximum cache age of CORS preflight requests. (integer value)
|
||||||
|
#max_age = 3600
|
||||||
|
|
||||||
|
# Indicate which methods can be used during the actual request. (list value)
|
||||||
|
#allow_methods = OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,PATCH
|
||||||
|
|
||||||
|
# Indicate which header field names may be used during the actual request. (list
|
||||||
|
# value)
|
||||||
|
#allow_headers =
|
||||||
|
|
||||||
|
|
||||||
|
[keystone_authtoken]
|
||||||
|
|
||||||
|
#
|
||||||
|
# From keystonemiddleware.auth_token
|
||||||
|
#
|
||||||
|
|
||||||
|
# Complete "public" Identity API endpoint. This endpoint should not be an
|
||||||
|
# "admin" endpoint, as it should be accessible by all end users. Unauthenticated
|
||||||
|
# clients are redirected to this endpoint to authenticate. Although this
|
||||||
|
# endpoint should ideally be unversioned, client support in the wild varies. If
|
||||||
|
# you're using a versioned v2 endpoint here, then this should *not* be the same
|
||||||
|
# endpoint the service user utilizes for validating tokens, because normal end
|
||||||
|
# users may not be able to reach that endpoint. (string value)
|
||||||
|
# Deprecated group/name - [keystone_authtoken]/auth_uri
|
||||||
|
#www_authenticate_uri = <None>
|
||||||
|
|
||||||
|
# DEPRECATED: Complete "public" Identity API endpoint. This endpoint should not
|
||||||
|
# be an "admin" endpoint, as it should be accessible by all end users.
|
||||||
|
# Unauthenticated clients are redirected to this endpoint to authenticate.
|
||||||
|
# Although this endpoint should ideally be unversioned, client support in the
|
||||||
|
# wild varies. If you're using a versioned v2 endpoint here, then this should
|
||||||
|
# *not* be the same endpoint the service user utilizes for validating tokens,
|
||||||
|
# because normal end users may not be able to reach that endpoint. This option
|
||||||
|
# is deprecated in favor of www_authenticate_uri and will be removed in the S
|
||||||
|
# release. (string value)
|
||||||
|
# This option is deprecated for removal since Queens.
|
||||||
|
# Its value may be silently ignored in the future.
|
||||||
|
# Reason: The auth_uri option is deprecated in favor of www_authenticate_uri and
|
||||||
|
# will be removed in the S release.
|
||||||
|
#auth_uri = <None>
|
||||||
|
|
||||||
|
# API version of the Identity API endpoint. (string value)
|
||||||
|
#auth_version = <None>
|
||||||
|
|
||||||
|
# Interface to use for the Identity API endpoint. Valid values are "public",
|
||||||
|
# "internal" (default) or "admin". (string value)
|
||||||
|
#interface = internal
|
||||||
|
|
||||||
|
# Do not handle authorization requests within the middleware, but delegate the
|
||||||
|
# authorization decision to downstream WSGI components. (boolean value)
|
||||||
|
#delay_auth_decision = false
|
||||||
|
|
||||||
|
# Request timeout value for communicating with Identity API server. (integer
|
||||||
|
# value)
|
||||||
|
#http_connect_timeout = <None>
|
||||||
|
|
||||||
|
# How many times are we trying to reconnect when communicating with Identity API
|
||||||
|
# Server. (integer value)
|
||||||
|
#http_request_max_retries = 3
|
||||||
|
|
||||||
|
# Request environment key where the Swift cache object is stored. When
|
||||||
|
# auth_token middleware is deployed with a Swift cache, use this option to have
|
||||||
|
# the middleware share a caching backend with swift. Otherwise, use the
|
||||||
|
# ``memcached_servers`` option instead. (string value)
|
||||||
|
#cache = <None>
|
||||||
|
|
||||||
|
# Required if identity server requires client certificate (string value)
|
||||||
|
#certfile = <None>
|
||||||
|
|
||||||
|
# Required if identity server requires client certificate (string value)
|
||||||
|
#keyfile = <None>
|
||||||
|
|
||||||
|
# A PEM encoded Certificate Authority to use when verifying HTTPs connections.
|
||||||
|
# Defaults to system CAs. (string value)
|
||||||
|
#cafile = <None>
|
||||||
|
|
||||||
|
# Verify HTTPS connections. (boolean value)
|
||||||
|
#insecure = false
|
||||||
|
|
||||||
|
# The region in which the identity server can be found. (string value)
|
||||||
|
#region_name = <None>
|
||||||
|
|
||||||
|
# Optionally specify a list of memcached server(s) to use for caching. If left
|
||||||
|
# undefined, tokens will instead be cached in-process. (list value)
|
||||||
|
# Deprecated group/name - [keystone_authtoken]/memcache_servers
|
||||||
|
#memcached_servers = <None>
|
||||||
|
|
||||||
|
# In order to prevent excessive effort spent validating tokens, the middleware
|
||||||
|
# caches previously-seen tokens for a configurable duration (in seconds). Set to
|
||||||
|
# -1 to disable caching completely. (integer value)
|
||||||
|
#token_cache_time = 300
|
||||||
|
|
||||||
|
# (Optional) If defined, indicate whether token data should be authenticated or
|
||||||
|
# authenticated and encrypted. If MAC, token data is authenticated (with HMAC)
|
||||||
|
# in the cache. If ENCRYPT, token data is encrypted and authenticated in the
|
||||||
|
# cache. If the value is not one of these options or empty, auth_token will
|
||||||
|
# raise an exception on initialization. (string value)
|
||||||
|
# Possible values:
|
||||||
|
# None - <No description provided>
|
||||||
|
# MAC - <No description provided>
|
||||||
|
# ENCRYPT - <No description provided>
|
||||||
|
#memcache_security_strategy = None
|
||||||
|
|
||||||
|
# (Optional, mandatory if memcache_security_strategy is defined) This string is
|
||||||
|
# used for key derivation. (string value)
|
||||||
|
#memcache_secret_key = <None>
|
||||||
|
|
||||||
|
# (Optional) Number of seconds memcached server is considered dead before it is
|
||||||
|
# tried again. (integer value)
|
||||||
|
#memcache_pool_dead_retry = 300
|
||||||
|
|
||||||
|
# (Optional) Maximum total number of open connections to every memcached server.
|
||||||
|
# (integer value)
|
||||||
|
#memcache_pool_maxsize = 10
|
||||||
|
|
||||||
|
# (Optional) Socket timeout in seconds for communicating with a memcached
|
||||||
|
# server. (integer value)
|
||||||
|
#memcache_pool_socket_timeout = 3
|
||||||
|
|
||||||
|
# (Optional) Number of seconds a connection to memcached is held unused in the
|
||||||
|
# pool before it is closed. (integer value)
|
||||||
|
#memcache_pool_unused_timeout = 60
|
||||||
|
|
||||||
|
# (Optional) Number of seconds that an operation will wait to get a memcached
|
||||||
|
# client connection from the pool. (integer value)
|
||||||
|
#memcache_pool_conn_get_timeout = 10
|
||||||
|
|
||||||
|
# (Optional) Use the advanced (eventlet safe) memcached client pool. The
|
||||||
|
# advanced pool will only work under python 2.x. (boolean value)
|
||||||
|
#memcache_use_advanced_pool = false
|
||||||
|
|
||||||
|
# (Optional) Indicate whether to set the X-Service-Catalog header. If False,
|
||||||
|
# middleware will not ask for service catalog on token validation and will not
|
||||||
|
# set the X-Service-Catalog header. (boolean value)
|
||||||
|
#include_service_catalog = true
|
||||||
|
|
||||||
|
# Used to control the use and type of token binding. Can be set to: "disabled"
|
||||||
|
# to not check token binding. "permissive" (default) to validate binding
|
||||||
|
# information if the bind type is of a form known to the server and ignore it if
|
||||||
|
# not. "strict" like "permissive" but if the bind type is unknown the token will
|
||||||
|
# be rejected. "required" any form of token binding is needed to be allowed.
|
||||||
|
# Finally the name of a binding method that must be present in tokens. (string
|
||||||
|
# value)
|
||||||
|
#enforce_token_bind = permissive
|
||||||
|
|
||||||
|
# A choice of roles that must be present in a service token. Service tokens are
|
||||||
|
# allowed to request that an expired token can be used and so this check should
|
||||||
|
# tightly control that only actual services should be sending this token. Roles
|
||||||
|
# here are applied as an ANY check so any role in this list must be present. For
|
||||||
|
# backwards compatibility reasons this currently only affects the allow_expired
|
||||||
|
# check. (list value)
|
||||||
|
#service_token_roles = service
|
||||||
|
|
||||||
|
# For backwards compatibility reasons we must let valid service tokens pass that
|
||||||
|
# don't pass the service_token_roles check as valid. Setting this true will
|
||||||
|
# become the default in a future release and should be enabled if possible.
|
||||||
|
# (boolean value)
|
||||||
|
#service_token_roles_required = false
|
||||||
|
|
||||||
|
# The name or type of the service as it appears in the service catalog. This is
|
||||||
|
# used to validate tokens that have restricted access rules. (string value)
|
||||||
|
#service_type = <None>
|
||||||
|
|
||||||
|
# Authentication type to load (string value)
|
||||||
|
# Deprecated group/name - [keystone_authtoken]/auth_plugin
|
||||||
|
#auth_type = <None>
|
||||||
|
|
||||||
|
# Config Section from which to load plugin specific options (string value)
|
||||||
|
#auth_section = <None>
|
||||||
|
|
||||||
|
|
||||||
|
[oslo_policy]
|
||||||
|
|
||||||
|
#
|
||||||
|
# From oslo.policy
|
||||||
|
#
|
||||||
|
|
||||||
|
# This option controls whether or not to enforce scope when evaluating policies.
|
||||||
|
# If ``True``, the scope of the token used in the request is compared to the
|
||||||
|
# ``scope_types`` of the policy being enforced. If the scopes do not match, an
|
||||||
|
# ``InvalidScope`` exception will be raised. If ``False``, a message will be
|
||||||
|
# logged informing operators that policies are being invoked with mismatching
|
||||||
|
# scope. (boolean value)
|
||||||
|
#enforce_scope = false
|
||||||
|
|
||||||
|
# This option controls whether or not to use old deprecated defaults when
|
||||||
|
# evaluating policies. If ``True``, the old deprecated defaults are not going to
|
||||||
|
# be evaluated. This means if any existing token is allowed for old defaults but
|
||||||
|
# is disallowed for new defaults, it will be disallowed. It is encouraged to
|
||||||
|
# enable this flag along with the ``enforce_scope`` flag so that you can get the
|
||||||
|
# benefits of new defaults and ``scope_type`` together (boolean value)
|
||||||
|
#enforce_new_defaults = false
|
||||||
|
|
||||||
|
# The relative or absolute path of a file that maps roles to permissions for a
|
||||||
|
# given service. Relative paths must be specified in relation to the
|
||||||
|
# configuration file setting this option. (string value)
|
||||||
|
#policy_file = policy.json
|
||||||
|
|
||||||
|
# Default rule. Enforced when a requested rule is not found. (string value)
|
||||||
|
#policy_default_rule = default
|
||||||
|
|
||||||
|
# Directories where policy configuration files are stored. They can be relative
|
||||||
|
# to any directory in the search path defined by the config_dir option, or
|
||||||
|
# absolute paths. The file defined by policy_file must exist for these
|
||||||
|
# directories to be searched. Missing or empty directories are ignored. (multi
|
||||||
|
# valued)
|
||||||
|
#policy_dirs = policy.d
|
||||||
|
|
||||||
|
# Content Type to send and receive data for REST based policy check (string
|
||||||
|
# value)
|
||||||
|
# Possible values:
|
||||||
|
# application/x-www-form-urlencoded - <No description provided>
|
||||||
|
# application/json - <No description provided>
|
||||||
|
#remote_content_type = application/x-www-form-urlencoded
|
||||||
|
|
||||||
|
# server identity verification for REST based policy check (boolean value)
|
||||||
|
#remote_ssl_verify_server_crt = false
|
||||||
|
|
||||||
|
# Absolute path to ca cert file for REST based policy check (string value)
|
||||||
|
#remote_ssl_ca_crt_file = <None>
|
||||||
|
|
||||||
|
# Absolute path to client cert for REST based policy check (string value)
|
||||||
|
#remote_ssl_client_crt_file = <None>
|
||||||
|
|
||||||
|
# Absolute path client key file REST based policy check (string value)
|
||||||
|
#remote_ssl_client_key_file = <None>
|
||||||
|
|
||||||
|
|
||||||
|
[placement]
|
||||||
|
|
||||||
|
#
|
||||||
|
# From placement.conf
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# If True, when limiting allocation candidate results, the results will be
|
||||||
|
# a random sampling of the full result set. If False, allocation candidates
|
||||||
|
# are returned in a deterministic but undefined order. That is, all things
|
||||||
|
# being equal, two requests for allocation candidates will return the same
|
||||||
|
# results in the same order; but no guarantees are made as to how that order
|
||||||
|
# is determined.
|
||||||
|
# (boolean value)
|
||||||
|
#randomize_allocation_candidates = false
|
||||||
|
|
||||||
|
#
|
||||||
|
# Early API microversions (<1.8) allowed creating allocations and not specifying
|
||||||
|
# a project or user identifier for the consumer. In cleaning up the data
|
||||||
|
# modeling, we no longer allow missing project and user information. If an older
|
||||||
|
# client makes an allocation, we'll use this in place of the information it
|
||||||
|
# doesn't provide.
|
||||||
|
# (string value)
|
||||||
|
#incomplete_consumer_project_id = 00000000-0000-0000-0000-000000000000
|
||||||
|
|
||||||
|
#
|
||||||
|
# Early API microversions (<1.8) allowed creating allocations and not specifying
|
||||||
|
# a project or user identifier for the consumer. In cleaning up the data
|
||||||
|
# modeling, we no longer allow missing project and user information. If an older
|
||||||
|
# client makes an allocation, we'll use this in place of the information it
|
||||||
|
# doesn't provide.
|
||||||
|
# (string value)
|
||||||
|
#incomplete_consumer_user_id = 00000000-0000-0000-0000-000000000000
|
||||||
|
|
||||||
|
#
|
||||||
|
# The number of times to retry, server-side, writing allocations when there is
|
||||||
|
# a resource provider generation conflict. Raising this value may be useful
|
||||||
|
# when many concurrent allocations to the same resource provider are expected.
|
||||||
|
# (integer value)
|
||||||
|
#allocation_conflict_retry_count = 10
|
||||||
|
|
||||||
|
|
||||||
|
[placement_database]
|
||||||
|
#
|
||||||
|
# The *Placement API Database* is a the database used with the placement
|
||||||
|
# service. If the connection option is not set, the placement service will
|
||||||
|
# not start.
|
||||||
|
|
||||||
|
#
|
||||||
|
# From placement.conf
|
||||||
|
#
|
||||||
|
|
||||||
|
# The SQLAlchemy connection string to use to connect to the database. (string
|
||||||
|
# value)
|
||||||
|
#connection = <None>
|
||||||
|
|
||||||
|
# Optional URL parameters to append onto the connection URL at connect time;
|
||||||
|
# specify as param1=value1¶m2=value2&... (string value)
|
||||||
|
#connection_parameters =
|
||||||
|
|
||||||
|
# If True, SQLite uses synchronous mode. (boolean value)
|
||||||
|
#sqlite_synchronous = true
|
||||||
|
|
||||||
|
# The SQLAlchemy connection string to use to connect to the slave database.
|
||||||
|
# (string value)
|
||||||
|
#slave_connection = <None>
|
||||||
|
|
||||||
|
# The SQL mode to be used for MySQL sessions. This option, including the
|
||||||
|
# default, overrides any server-set SQL mode. To use whatever SQL mode is set by
|
||||||
|
# the server configuration, set this to no value. Example: mysql_sql_mode=
|
||||||
|
# (string value)
|
||||||
|
#mysql_sql_mode = TRADITIONAL
|
||||||
|
|
||||||
|
# Connections which have been present in the connection pool longer than this
|
||||||
|
# number of seconds will be replaced with a new one the next time they are
|
||||||
|
# checked out from the pool. (integer value)
|
||||||
|
#connection_recycle_time = 3600
|
||||||
|
|
||||||
|
# Maximum number of SQL connections to keep open in a pool. Setting a value of 0
|
||||||
|
# indicates no limit. (integer value)
|
||||||
|
#max_pool_size = <None>
|
||||||
|
|
||||||
|
# Maximum number of database connection retries during startup. Set to -1 to
|
||||||
|
# specify an infinite retry count. (integer value)
|
||||||
|
#max_retries = 10
|
||||||
|
|
||||||
|
# Interval between retries of opening a SQL connection. (integer value)
|
||||||
|
#retry_interval = 10
|
||||||
|
|
||||||
|
# If set, use this value for max_overflow with SQLAlchemy. (integer value)
|
||||||
|
#max_overflow = <None>
|
||||||
|
|
||||||
|
# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
|
||||||
|
# value)
|
||||||
|
#connection_debug = 0
|
||||||
|
|
||||||
|
# Add Python stack traces to SQL as comment strings. (boolean value)
|
||||||
|
#connection_trace = false
|
||||||
|
|
||||||
|
# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
|
||||||
|
#pool_timeout = <None>
|
||||||
|
|
||||||
|
# If True, database schema migrations will be attempted when the web service
|
||||||
|
# starts. (boolean value)
|
||||||
|
#sync_on_startup = false
|
||||||
|
|
||||||
|
|
||||||
|
[profiler]
|
||||||
|
|
||||||
|
#
|
||||||
|
# From osprofiler
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable the profiling for all services on this node.
|
||||||
|
#
|
||||||
|
# Default value is False (fully disable the profiling feature).
|
||||||
|
#
|
||||||
|
# Possible values:
|
||||||
|
#
|
||||||
|
# * True: Enables the feature
|
||||||
|
# * False: Disables the feature. The profiling cannot be started via this
|
||||||
|
# project
|
||||||
|
# operations. If the profiling is triggered by another project, this project
|
||||||
|
# part will be empty.
|
||||||
|
# (boolean value)
|
||||||
|
# Deprecated group/name - [profiler]/profiler_enabled
|
||||||
|
#enabled = false
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable SQL requests profiling in services.
|
||||||
|
#
|
||||||
|
# Default value is False (SQL requests won't be traced).
|
||||||
|
#
|
||||||
|
# Possible values:
|
||||||
|
#
|
||||||
|
# * True: Enables SQL requests profiling. Each SQL query will be part of the
|
||||||
|
# trace and can the be analyzed by how much time was spent for that.
|
||||||
|
# * False: Disables SQL requests profiling. The spent time is only shown on a
|
||||||
|
# higher level of operations. Single SQL queries cannot be analyzed this way.
|
||||||
|
# (boolean value)
|
||||||
|
#trace_sqlalchemy = false
|
||||||
|
|
||||||
|
#
|
||||||
|
# Secret key(s) to use for encrypting context data for performance profiling.
|
||||||
|
#
|
||||||
|
# This string value should have the following format: <key1>[,<key2>,...<keyn>],
|
||||||
|
# where each key is some random string. A user who triggers the profiling via
|
||||||
|
# the REST API has to set one of these keys in the headers of the REST API call
|
||||||
|
# to include profiling results of this node for this particular project.
|
||||||
|
#
|
||||||
|
# Both "enabled" flag and "hmac_keys" config options should be set to enable
|
||||||
|
# profiling. Also, to generate correct profiling information across all services
|
||||||
|
# at least one key needs to be consistent between OpenStack projects. This
|
||||||
|
# ensures it can be used from client side to generate the trace, containing
|
||||||
|
# information from all possible resources.
|
||||||
|
# (string value)
|
||||||
|
#hmac_keys = SECRET_KEY
|
||||||
|
|
||||||
|
#
|
||||||
|
# Connection string for a notifier backend.
|
||||||
|
#
|
||||||
|
# Default value is ``messaging://`` which sets the notifier to oslo_messaging.
|
||||||
|
#
|
||||||
|
# Examples of possible values:
|
||||||
|
#
|
||||||
|
# * ``messaging://`` - use oslo_messaging driver for sending spans.
|
||||||
|
# * ``redis://127.0.0.1:6379`` - use redis driver for sending spans.
|
||||||
|
# * ``mongodb://127.0.0.1:27017`` - use mongodb driver for sending spans.
|
||||||
|
# * ``elasticsearch://127.0.0.1:9200`` - use elasticsearch driver for sending
|
||||||
|
# spans.
|
||||||
|
# * ``jaeger://127.0.0.1:6831`` - use jaeger tracing as driver for sending
|
||||||
|
# spans.
|
||||||
|
# (string value)
|
||||||
|
#connection_string = messaging://
|
||||||
|
|
||||||
|
#
|
||||||
|
# Document type for notification indexing in elasticsearch.
|
||||||
|
# (string value)
|
||||||
|
#es_doc_type = notification
|
||||||
|
|
||||||
|
#
|
||||||
|
# This parameter is a time value parameter (for example: es_scroll_time=2m),
|
||||||
|
# indicating for how long the nodes that participate in the search will maintain
|
||||||
|
# relevant resources in order to continue and support it.
|
||||||
|
# (string value)
|
||||||
|
#es_scroll_time = 2m
|
||||||
|
|
||||||
|
#
|
||||||
|
# Elasticsearch splits large requests in batches. This parameter defines
|
||||||
|
# maximum size of each batch (for example: es_scroll_size=10000).
|
||||||
|
# (integer value)
|
||||||
|
#es_scroll_size = 10000
|
||||||
|
|
||||||
|
#
|
||||||
|
# Redissentinel provides a timeout option on the connections.
|
||||||
|
# This parameter defines that timeout (for example: socket_timeout=0.1).
|
||||||
|
# (floating point value)
|
||||||
|
#socket_timeout = 0.1
|
||||||
|
|
||||||
|
#
|
||||||
|
# Redissentinel uses a service name to identify a master redis service.
|
||||||
|
# This parameter defines the name (for example:
|
||||||
|
# ``sentinal_service_name=mymaster``).
|
||||||
|
# (string value)
|
||||||
|
#sentinel_service_name = mymaster
|
||||||
|
|
||||||
|
#
|
||||||
|
# Enable filter traces that contain error/exception to a separated place.
|
||||||
|
#
|
||||||
|
# Default value is set to False.
|
||||||
|
#
|
||||||
|
# Possible values:
|
||||||
|
#
|
||||||
|
# * True: Enable filter traces that contain error/exception.
|
||||||
|
# * False: Disable the filter.
|
||||||
|
# (boolean value)
|
||||||
|
#filter_error_trace = false
|
||||||
30
openstack-placement.README.config
Normal file
30
openstack-placement.README.config
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
The main service configuration (/etc/$project/$project.conf) can still be used
|
||||||
|
for configuration but the preferred way is to add config file snippets into
|
||||||
|
/etc/$project/$project.conf.d/ instead.
|
||||||
|
|
||||||
|
As part of the packaging, the package itself installs a config snippet at
|
||||||
|
/etc/$project/$project.conf.d/010-$project.conf with basic configuration. This
|
||||||
|
file should not be modified. In case there is a need to overwrite or add
|
||||||
|
settings, a XXX-$project.conf (XXX being a 3 digit number) should be created
|
||||||
|
instead.
|
||||||
|
|
||||||
|
Config directory file snippet naming should follow these conventions:
|
||||||
|
- snippets should start with "XXX-" where "X" is a number
|
||||||
|
- snippets must end with ".conf"
|
||||||
|
- config management systems (Crowbar, Salt, ...) should use numbers
|
||||||
|
between 100 and 499
|
||||||
|
- users should use numbers starting from 500
|
||||||
|
|
||||||
|
Configuring just a single $program (eg for Nova, $project is "nova" and
|
||||||
|
$program is "nova-api", "nova-compute", "nova-scheduler", ...) can be done
|
||||||
|
in a similar way. The config snippets should be placed in
|
||||||
|
/etc/$project/$program.conf.d/ . The same snippets rules apply here, too.
|
||||||
|
|
||||||
|
$program reads the configuration files in the following order:
|
||||||
|
- /etc/$project/$project.conf
|
||||||
|
- /etc/$project/$project.conf.d/*.conf (lexically sorted)
|
||||||
|
- /etc/$project/$program.conf.d/*.conf (lexically sorted)
|
||||||
|
|
||||||
|
The last configured key overwrites all previous ones. In particular, settings
|
||||||
|
in /etc/$project/$project.conf are overwritten by config values from any file
|
||||||
|
in /etc/$project/$project.conf.d/XXX-$project.conf .
|
||||||
2
openstack-placement.defaultconf
Normal file
2
openstack-placement.defaultconf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
log_dir=/var/log/placement
|
||||||
13
openstack-placement.logrotate
Normal file
13
openstack-placement.logrotate
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/var/log/placement/*.log {
|
||||||
|
compress
|
||||||
|
copytruncate
|
||||||
|
dateext
|
||||||
|
minsize 100k
|
||||||
|
missingok
|
||||||
|
notifempty
|
||||||
|
rotate 10
|
||||||
|
sharedscripts
|
||||||
|
size 1M
|
||||||
|
su placement placement
|
||||||
|
weekly
|
||||||
|
}
|
||||||
192
openstack-placement.spec
Normal file
192
openstack-placement.spec
Normal file
@ -0,0 +1,192 @@
|
|||||||
|
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
|
||||||
|
|
||||||
|
Name: openstack-placement
|
||||||
|
Version: 4.0.0
|
||||||
|
Release: 1
|
||||||
|
Summary: OpenStack Placement
|
||||||
|
|
||||||
|
License: ASL 2.0
|
||||||
|
Group: System/Management
|
||||||
|
URL: https://docs.openstack.org/placement/
|
||||||
|
Source0: openstack-placement-%{upstream_version}.tar.gz
|
||||||
|
|
||||||
|
Source1: openstack-placement.logrotate
|
||||||
|
Source3: openstack-placement-api.conf.sample
|
||||||
|
Source4: openstack-placement.defaultconf
|
||||||
|
Source40: openstack-placement.README.config
|
||||||
|
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
BuildRequires: openstack-macros
|
||||||
|
BuildRequires: python3-routes
|
||||||
|
BuildRequires: python3-webob
|
||||||
|
BuildRequires: python3-jsonschema
|
||||||
|
BuildRequires: python3-keystonemiddleware
|
||||||
|
BuildRequires: python3-microversion-parse
|
||||||
|
BuildRequires: python3-mock
|
||||||
|
BuildRequires: python3-os-resource-classes
|
||||||
|
BuildRequires: python3-os-traits
|
||||||
|
BuildRequires: python3-oslo-concurrency
|
||||||
|
BuildRequires: python3-oslo-config
|
||||||
|
BuildRequires: python3-oslo-db
|
||||||
|
BuildRequires: python3-oslo-log
|
||||||
|
BuildRequires: python3-oslo-middleware
|
||||||
|
BuildRequires: python3-oslo-policy
|
||||||
|
BuildRequires: python3-oslotest
|
||||||
|
BuildRequires: python3-paramiko
|
||||||
|
BuildRequires: python3-pbr
|
||||||
|
BuildRequires: python3-stestr
|
||||||
|
|
||||||
|
Requires: logrotate
|
||||||
|
Requires: python3-openstack-placement = %{version}-%{release}
|
||||||
|
|
||||||
|
BuildRequires: systemd
|
||||||
|
Requires(post): systemd
|
||||||
|
Requires(postun): systemd
|
||||||
|
Requires(pre): shadow-utils
|
||||||
|
Requires(preun): systemd
|
||||||
|
|
||||||
|
|
||||||
|
%description
|
||||||
|
OpenStack Placement provides an HTTP service for managing, selecting,
|
||||||
|
and claiming providers of classes of inventory representing available
|
||||||
|
resources in a cloud.
|
||||||
|
|
||||||
|
%package -n python3-openstack-placement
|
||||||
|
Summary: OpenStack Placement - Python module
|
||||||
|
Group: Development/Languages/Python
|
||||||
|
Requires: python3-routes
|
||||||
|
Requires: python3-sqlalchemy
|
||||||
|
Requires: python3-webob
|
||||||
|
Requires: python3-jsonschema
|
||||||
|
Requires: python3-keystonemiddleware
|
||||||
|
Requires: python3-microversion-parse
|
||||||
|
Requires: python3-os-resource-classes
|
||||||
|
Requires: python3-os-traits
|
||||||
|
Requires: python3-oslo-concurrency
|
||||||
|
Requires: python3-oslo-config
|
||||||
|
Requires: python3-oslo-context
|
||||||
|
Requires: python3-oslo-db
|
||||||
|
Requires: python3-oslo-log
|
||||||
|
Requires: python3-oslo-middleware
|
||||||
|
Requires: python3-oslo-policy
|
||||||
|
Requires: python3-oslo-serialization
|
||||||
|
Requires: python3-oslo-upgradecheck
|
||||||
|
Requires: python3-oslo-utils
|
||||||
|
Requires: python3-pbr
|
||||||
|
Requires: python3-requests
|
||||||
|
Requires: python3-six
|
||||||
|
Requires: python3-sqlalchemy
|
||||||
|
Requires: python3-wsgi_intercept
|
||||||
|
|
||||||
|
%description -n python3-openstack-placement
|
||||||
|
This package contains the core Python module of OpenStack Placement.
|
||||||
|
|
||||||
|
%package api
|
||||||
|
Summary: OpenStack Compute (Placement) - API
|
||||||
|
# prereq for creating the right openstack-placement user/group
|
||||||
|
Group: System/Management
|
||||||
|
Requires: %{name} = %{version}
|
||||||
|
Requires(pre): %{name} = %{version}
|
||||||
|
BuildRequires: python3-mod_wsgi
|
||||||
|
Requires: python3-mod_wsgi
|
||||||
|
|
||||||
|
%description api
|
||||||
|
This package contains the OpenStack Placement API.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n openstack-placement-%{upstream_version}
|
||||||
|
%py_req_cleanup
|
||||||
|
|
||||||
|
%build
|
||||||
|
python3 setup.py build
|
||||||
|
|
||||||
|
# sample config
|
||||||
|
PYTHONPATH=. oslo-config-generator --config-file=etc/placement/config-generator.conf
|
||||||
|
# sample policy
|
||||||
|
PYTHONPATH=. oslopolicy-sample-generator --config-file=etc/placement/policy-generator.conf
|
||||||
|
|
||||||
|
%install
|
||||||
|
python3 setup.py install --root %{buildroot} --prefix %{_prefix}
|
||||||
|
|
||||||
|
### directories
|
||||||
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement
|
||||||
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement/images
|
||||||
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement/instances
|
||||||
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement/keys
|
||||||
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement/networks
|
||||||
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/placement/tmp
|
||||||
|
install -d -m 750 %{buildroot}%{_localstatedir}/log/placement
|
||||||
|
install -d -m 700 %{buildroot}%{_rundir}/placement
|
||||||
|
install -d -m 700 %{buildroot}%{_localstatedir}/cache/placement
|
||||||
|
install -D -m 644 %{SOURCE4} %{buildroot}/%_tmpfilesdir/%name.conf
|
||||||
|
install -d %{buildroot}%apache_site_dir
|
||||||
|
|
||||||
|
# apache vhost sample configs
|
||||||
|
install -p -D -m 644 %{SOURCE3} %{buildroot}%apache_site_dir
|
||||||
|
|
||||||
|
### configuration files
|
||||||
|
install -d -m 755 %{buildroot}%{_sysconfdir}/placement/
|
||||||
|
#mv %{buildroot}/usr/etc/placement/* %{buildroot}%{_sysconfdir}/placement/
|
||||||
|
install -d -m 755 %{buildroot}%{_sysconfdir}/placement/placement.conf.d
|
||||||
|
install -p -D -m 640 %{SOURCE40} %{buildroot}%{_sysconfdir}/placement/README.config
|
||||||
|
install -p -D -m 640 etc/placement/placement.conf.sample %{buildroot}%{_sysconfdir}/placement/placement.conf
|
||||||
|
install -p -D -m 640 etc/placement/policy.yaml.sample %{buildroot}%{_sysconfdir}/placement/policy.yaml
|
||||||
|
# bash-completion/logrotate/etc.
|
||||||
|
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
||||||
|
|
||||||
|
|
||||||
|
### set default configuration
|
||||||
|
install -p -D -m 640 %{SOURCE4} %{buildroot}%{_sysconfdir}/placement/placement.conf.d/010-placement.conf
|
||||||
|
|
||||||
|
%pre
|
||||||
|
%openstack_pre_user_group_create placement placement
|
||||||
|
|
||||||
|
%post
|
||||||
|
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
|
||||||
|
|
||||||
|
%post api
|
||||||
|
%systemd_post openstack-placement-api.service
|
||||||
|
|
||||||
|
%preun api
|
||||||
|
%systemd_preun openstack-placement-api.service
|
||||||
|
|
||||||
|
%postun api
|
||||||
|
%systemd_postun_with_restart openstack-placement-api.service
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license LICENSE
|
||||||
|
%doc README.rst
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
||||||
|
%dir %{_sysconfdir}/placement
|
||||||
|
%dir %{_sysconfdir}/placement/placement.conf.d/
|
||||||
|
%{_sysconfdir}/placement/README.config
|
||||||
|
%dir %attr(0750, placement, placement) %{_localstatedir}/cache/placement
|
||||||
|
%config(noreplace) %attr(0640, root, placement) %{_sysconfdir}/placement/placement.conf
|
||||||
|
%config(noreplace) %attr(0640, root, placement) %{_sysconfdir}/placement/placement.conf.d/010-placement.conf
|
||||||
|
%config %attr(0640, root, placement) %{_sysconfdir}/placement/policy.yaml
|
||||||
|
%dir %attr(0755, placement, placement) %{_localstatedir}/lib/placement
|
||||||
|
%dir %attr(0750, placement, placement) %{_localstatedir}/log/placement
|
||||||
|
%_tmpfilesdir/%name.conf
|
||||||
|
%{_bindir}/placement-manage
|
||||||
|
%{_bindir}/placement-status
|
||||||
|
%dir %attr(0755, root, root) %{_localstatedir}/lib/placement/images
|
||||||
|
%dir %attr(0755, placement, root) %{_localstatedir}/lib/placement/instances
|
||||||
|
%dir %attr(0755, root, root) %{_localstatedir}/lib/placement/keys
|
||||||
|
%dir %attr(0755, root, root) %{_localstatedir}/lib/placement/networks
|
||||||
|
%dir %attr(0755, root, root) %{_localstatedir}/lib/placement/tmp
|
||||||
|
|
||||||
|
%files -n python3-openstack-placement
|
||||||
|
%license LICENSE
|
||||||
|
%{python3_sitelib}/placement/
|
||||||
|
%{python3_sitelib}/placement_db_tools/
|
||||||
|
%{python3_sitelib}/openstack_placement*egg-info
|
||||||
|
|
||||||
|
%files api
|
||||||
|
%license LICENSE
|
||||||
|
%{_bindir}/placement-api
|
||||||
|
%{apache_site_dir}/openstack-placement-api.conf.sample
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Wed Feb 03 2021 ZhengZhenyu <zheng.zhenyu@outlook.com>
|
||||||
|
- Update init
|
||||||
Loading…
x
Reference in New Issue
Block a user