From 08c28a8d16b73efc869350ad165e94bb941fc8d8 Mon Sep 17 00:00:00 2001 From: wangxiyuan Date: Thu, 25 Feb 2021 03:34:57 +0000 Subject: [PATCH] Fix isesu --- openstack-placement-api.conf | 26 ++ openstack-placement-api.conf.sample | 675 ---------------------------- openstack-placement.README.config | 30 -- openstack-placement.defaultconf | 2 - openstack-placement.spec | 26 +- 5 files changed, 33 insertions(+), 726 deletions(-) create mode 100644 openstack-placement-api.conf delete mode 100644 openstack-placement-api.conf.sample delete mode 100644 openstack-placement.README.config delete mode 100644 openstack-placement.defaultconf diff --git a/openstack-placement-api.conf b/openstack-placement-api.conf new file mode 100644 index 0000000..ec3ce99 --- /dev/null +++ b/openstack-placement-api.conf @@ -0,0 +1,26 @@ +# OpenStack placement-api Apache2 configuration +Listen 8778 + + + WSGIDaemonProcess openstack-placement-api processes=2 threads=1 user=placement group=placement + WSGIProcessGroup openstack-placement-api + WSGIApplicationGroup %{GLOBAL} + WSGIScriptAlias / /usr/bin/placement-api + WSGIPassAuthorization On + LimitRequestBody 114688 + = 2.4> + ErrorLogFormat "%{cu}t %M" + + ErrorLog /var/log/placement/placement-api.log + CustomLog /var/log/placement/placement-api.log combined + + + = 2.4> + Require all granted + + + Order allow,deny + Allow from all + + + diff --git a/openstack-placement-api.conf.sample b/openstack-placement-api.conf.sample deleted file mode 100644 index 55877d0..0000000 --- a/openstack-placement-api.conf.sample +++ /dev/null @@ -1,675 +0,0 @@ -[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 = - -# 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 = - -# (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 = - -# 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 - -# Minutes - -# Hours - -# Days - -# Weekday - -# Midnight - -#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 = - -# -# 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 = - -# -# 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 - -# noauth2 - -#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: "://[:]", no trailing -# slash. Example: https://horizon.example.com (list value) -#allowed_origin = - -# 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 = - -# 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 = - -# API version of the Identity API endpoint. (string value) -#auth_version = - -# 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 = - -# 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 = - -# Required if identity server requires client certificate (string value) -#certfile = - -# Required if identity server requires client certificate (string value) -#keyfile = - -# A PEM encoded Certificate Authority to use when verifying HTTPs connections. -# Defaults to system CAs. (string value) -#cafile = - -# Verify HTTPS connections. (boolean value) -#insecure = false - -# The region in which the identity server can be found. (string value) -#region_name = - -# 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 = - -# 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 - -# MAC - -# ENCRYPT - -#memcache_security_strategy = None - -# (Optional, mandatory if memcache_security_strategy is defined) This string is -# used for key derivation. (string value) -#memcache_secret_key = - -# (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 = - -# Authentication type to load (string value) -# Deprecated group/name - [keystone_authtoken]/auth_plugin -#auth_type = - -# Config Section from which to load plugin specific options (string value) -#auth_section = - - -[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 - -# application/json - -#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 = - -# Absolute path to client cert for REST based policy check (string value) -#remote_ssl_client_crt_file = - -# Absolute path client key file REST based policy check (string value) -#remote_ssl_client_key_file = - - -[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 = - -# 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 = - -# 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 = - -# 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 = - -# 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 = - -# 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: [,,...], -# 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 diff --git a/openstack-placement.README.config b/openstack-placement.README.config deleted file mode 100644 index 151e102..0000000 --- a/openstack-placement.README.config +++ /dev/null @@ -1,30 +0,0 @@ -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 . \ No newline at end of file diff --git a/openstack-placement.defaultconf b/openstack-placement.defaultconf deleted file mode 100644 index c6634a0..0000000 --- a/openstack-placement.defaultconf +++ /dev/null @@ -1,2 +0,0 @@ -[DEFAULT] -log_dir=/var/log/placement diff --git a/openstack-placement.spec b/openstack-placement.spec index 50360f6..1696860 100644 --- a/openstack-placement.spec +++ b/openstack-placement.spec @@ -2,18 +2,15 @@ Name: openstack-placement Version: 4.0.0 -Release: 1 +Release: 2 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 +Source2: openstack-placement-api.conf BuildArch: noarch @@ -119,32 +116,23 @@ 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 +install -p -D -m 644 %{SOURCE2} %{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 @@ -160,14 +148,11 @@ install -p -D -m 640 %{SOURCE4} %{buildroot}%{_sysconfdir}/placement/placement.c %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 @@ -185,8 +170,11 @@ install -p -D -m 640 %{SOURCE4} %{buildroot}%{_sysconfdir}/placement/placement.c %files api %license LICENSE %{_bindir}/placement-api -%{apache_site_dir}/openstack-placement-api.conf.sample +%{apache_site_dir}/openstack-placement-api.conf %changelog +* Thu Feb 25 2021 wangxiyuan +- Fix httpd config error and remove useless files + * Wed Feb 03 2021 ZhengZhenyu - Update init