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