I upgraded Ocata to Pike and am getting error in apache2 cinder_error.log when trying to list volumes via API or Horizon:
root@cinder-test:/var/log/apache2# tail -f cinder_error.log 2017-09-04 15:30:52.587013 mod_wsgi (pid=1847): Target WSGI script '/usr/bin/cinder-wsgi' cannot be loaded as Python module. 2017-09-04 15:30:52.587099 mod_wsgi (pid=1847): Exception occurred processing WSGI script '/usr/bin/cinder-wsgi'. 2017-09-04 15:30:52.587126 Traceback (most recent call last): 2017-09-04 15:30:52.587147 File "/usr/bin/cinder-wsgi", line 51, in <module> 2017-09-04 15:30:52.587220 application = initialize_application() 2017-09-04 15:30:52.587235 File "/usr/lib/python2.7/dist-packages/cinder/wsgi/wsgi.py", line 46, in initialize_application 2017-09-04 15:30:52.588456 return wsgi.Loader(CONF).load_app(name='osapi_volume') 2017-09-04 15:30:52.588480 File "/usr/lib/python2.7/dist-packages/oslo_service/wsgi.py", line 340, in __init__ 2017-09-04 15:30:52.589984 raise ConfigNotFound(path=config_path) 2017-09-04 15:30:52.590011 ConfigNotFound: Could not find config at api-paste.ini
Also did fresh controller install (Pike) on a test machine to see if I could replicate, using instructions: https://docs.openstack.org/install-guide/openstack-services.html#minimal-deployment
I get the same error, following docs closely.
Here is some output of the environment:
################# PERMISSIONS ########################
root@cinder-test:/etc/cinder# ls -aFl total 36 drwxr-x--- 3 root cinder 4096 Sep 4 15:10 ./ drwxr-xr-x 105 root root 4096 Sep 4 15:30 ../ -rw-r--r-- 1 root cinder 2711 Aug 30 11:07 api-paste.ini -rw-r--r-- 1 root cinder 812 Sep 4 15:10 cinder.conf -rw-r--r-- 1 root cinder 1359 Aug 30 13:11 logging.conf -rw-r--r-- 1 root cinder 7708 Aug 30 11:07 policy.json -rw-r--r-- 1 root root 991 Aug 30 11:07 rootwrap.conf drwxr-xr-x 2 root root 4096 Aug 31 11:49 rootwrap.d/
################# API-PASTE.INI ########################
############# # OpenStack # #############
[composite:osapi_volume] use = call:cinder.api:root_app_factory /: apiversions /v1: openstack_volume_api_v1 /v2: openstack_volume_api_v2 /v3: openstack_volume_api_v3
[composite:openstack_volume_api_v1] use = call:cinder.api.middleware.auth:pipeline_factory noauth = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler noauth apiv1 keystone = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1 keystone_nolimit = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1
[composite:openstack_volume_api_v2] use = call:cinder.api.middleware.auth:pipeline_factory noauth = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler noauth apiv2 keystone = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2 keystone_nolimit = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2
[composite:openstack_volume_api_v3] use = call:cinder.api.middleware.auth:pipeline_factory noauth = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler noauth apiv3 keystone = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv3 keystone_nolimit = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv3
[filter:request_id] paste.filter_factory = oslo_middleware.request_id:RequestId.factory
[filter:http_proxy_to_wsgi] paste.filter_factory = oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory
[filter:cors] paste.filter_factory = oslo_middleware.cors:filter_factory oslo_config_project = cinder
[filter:faultwrap] paste.filter_factory = cinder.api.middleware.fault:FaultWrapper.factory
[filter:osprofiler] paste.filter_factory = osprofiler.web:WsgiMiddleware.factory
[filter:noauth] paste.filter_factory = cinder.api.middleware.auth:NoAuthMiddleware.factory
[filter:sizelimit] paste.filter_factory = oslo_middleware.sizelimit:RequestBodySizeLimiter.factory
[app:apiv1] paste.app_factory = cinder.api.v1.router:APIRouter.factory
[app:apiv2] paste.app_factory = cinder.api.v2.router:APIRouter.factory
[app:apiv3] paste.app_factory = cinder.api.v3.router:APIRouter.factory
[pipeline:apiversions] pipeline = cors http_proxy_to_wsgi faultwrap osvolumeversionapp
[app:osvolumeversionapp] paste.app_factory = cinder.api.versions:Versions.factory
########## # Shared # ##########
[filter:keystonecontext] paste.filter_factory = cinder.api.middleware.auth:CinderKeystoneContext.factory
[filter:authtoken] paste.filter_factory = keystonemiddleware.auth_token:filter_factory
################# CINDER.CONF ########################
[DEFAULT] rootwrap_config = /etc/cinder/rootwrap.conf api_paste_confg = /etc/cinder/api-paste.ini iscsi_helper = tgtadm volume_name_template = volume-%s volume_group = cinder-volumes verbose = True auth_strategy = keystone state_path = /var/lib/cinder lock_path = /var/lock/cinder volumes_dir = /var/lib/cinder/volumes enabled_backends = lvm transport_url = rabbit://openstack:openstack@controller my_ip = 10.1.1.22
[database] connection = mysql+pymysql://cinder:openstack@controller/cinder
[keystone_authtoken] auth_uri = http://controller:5000 auth_url = http://controller:35357 memcached_servers = controller:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = cinder password = openstack
[oslo_concurrency] lock_path = /var/lib/cinder/tmp
################# APACHE WSGI ########################
Listen 8776 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %D(us)" cinder_combined
<VirtualHost *:8776> WSGIDaemonProcess cinder-wsgi processes=5 threads=1 user=cinder display-name=%{GROUP} WSGIProcessGroup cinder-wsgi WSGIScriptAlias / /usr/bin/cinder-wsgi WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On <IfVersion >= 2.4> ErrorLogFormat "%{cu}t %M" </IfVersion>
ErrorLog /var/log/apache2/cinder_error.log CustomLog /var/log/apache2/cinder.log cinder_combined
<Directory /usr/bin> <IfVersion >= 2.4> Require all granted </IfVersion> <IfVersion < 2.4> Order allow,deny Allow from all </IfVersion> </Directory> </VirtualHost>
I upgraded Ocata to Pike and am getting error in apache2 cinder_error.log when trying to list volumes via API or Horizon:
root@cinder- test:/var/ log/apache2# tail -f cinder_error.log cinder- wsgi' cannot be loaded as Python module. cinder- wsgi'. cinder- wsgi", line 51, in <module> application( ) python2. 7/dist- packages/ cinder/ wsgi/wsgi. py", line 46, in initialize_ application CONF).load_ app(name= 'osapi_ volume' ) python2. 7/dist- packages/ oslo_service/ wsgi.py" , line 340, in __init__ path=config_ path)
2017-09-04 15:30:52.587013 mod_wsgi (pid=1847): Target WSGI script '/usr/bin/
2017-09-04 15:30:52.587099 mod_wsgi (pid=1847): Exception occurred processing WSGI script '/usr/bin/
2017-09-04 15:30:52.587126 Traceback (most recent call last):
2017-09-04 15:30:52.587147 File "/usr/bin/
2017-09-04 15:30:52.587220 application = initialize_
2017-09-04 15:30:52.587235 File "/usr/lib/
2017-09-04 15:30:52.588456 return wsgi.Loader(
2017-09-04 15:30:52.588480 File "/usr/lib/
2017-09-04 15:30:52.589984 raise ConfigNotFound(
2017-09-04 15:30:52.590011 ConfigNotFound: Could not find config at api-paste.ini
Also did fresh controller install (Pike) on a test machine to see if I could replicate, using instructions: https:/ /docs.openstack .org/install- guide/openstack -services. html#minimal- deployment
I get the same error, following docs closely.
Here is some output of the environment:
################# PERMISSIONS ####### ####### ####### ###
root@cinder- test:/etc/ cinder# ls -aFl
total 36
drwxr-x--- 3 root cinder 4096 Sep 4 15:10 ./
drwxr-xr-x 105 root root 4096 Sep 4 15:30 ../
-rw-r--r-- 1 root cinder 2711 Aug 30 11:07 api-paste.ini
-rw-r--r-- 1 root cinder 812 Sep 4 15:10 cinder.conf
-rw-r--r-- 1 root cinder 1359 Aug 30 13:11 logging.conf
-rw-r--r-- 1 root cinder 7708 Aug 30 11:07 policy.json
-rw-r--r-- 1 root root 991 Aug 30 11:07 rootwrap.conf
drwxr-xr-x 2 root root 4096 Aug 31 11:49 rootwrap.d/
################# API-PASTE.INI ####### ####### ####### ###
#############
# OpenStack #
#############
[composite: osapi_volume] api:root_ app_factory volume_ api_v1 volume_ api_v2 volume_ api_v3
use = call:cinder.
/: apiversions
/v1: openstack_
/v2: openstack_
/v3: openstack_
[composite: openstack_ volume_ api_v1] api.middleware. auth:pipeline_ factory
use = call:cinder.
noauth = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler noauth apiv1
keystone = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1
keystone_nolimit = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1
[composite: openstack_ volume_ api_v2] api.middleware. auth:pipeline_ factory
use = call:cinder.
noauth = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler noauth apiv2
keystone = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2
keystone_nolimit = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2
[composite: openstack_ volume_ api_v3] api.middleware. auth:pipeline_ factory
use = call:cinder.
noauth = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler noauth apiv3
keystone = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv3
keystone_nolimit = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv3
[filter:request_id] factory = oslo_middleware .request_ id:RequestId. factory
paste.filter_
[filter: http_proxy_ to_wsgi] factory = oslo_middleware .http_proxy_ to_wsgi: HTTPProxyToWSGI .factory
paste.filter_
[filter:cors] factory = oslo_middleware .cors:filter_ factory
paste.filter_
oslo_config_project = cinder
[filter:faultwrap] factory = cinder. api.middleware. fault:FaultWrap per.factory
paste.filter_
[filter:osprofiler] factory = osprofiler. web:WsgiMiddlew are.factory
paste.filter_
[filter:noauth] factory = cinder. api.middleware. auth:NoAuthMidd leware. factory
paste.filter_
[filter:sizelimit] factory = oslo_middleware .sizelimit: RequestBodySize Limiter. factory
paste.filter_
[app:apiv1] api.v1. router: APIRouter. factory
paste.app_factory = cinder.
[app:apiv2] api.v2. router: APIRouter. factory
paste.app_factory = cinder.
[app:apiv3] api.v3. router: APIRouter. factory
paste.app_factory = cinder.
[pipeline: apiversions]
pipeline = cors http_proxy_to_wsgi faultwrap osvolumeversionapp
[app:osvolumeve rsionapp] api.versions: Versions. factory
paste.app_factory = cinder.
##########
# Shared #
##########
[filter: keystonecontext ] factory = cinder. api.middleware. auth:CinderKeys toneContext. factory
paste.filter_
[filter:authtoken] factory = keystonemiddlew are.auth_ token:filter_ factory
paste.filter_
################# CINDER.CONF ####### ####### ####### ###
[DEFAULT] rootwrap. conf api-paste. ini name_template = volume-%s cinder/ volumes //openstack: openstack@ controller
rootwrap_config = /etc/cinder/
api_paste_confg = /etc/cinder/
iscsi_helper = tgtadm
volume_
volume_group = cinder-volumes
verbose = True
auth_strategy = keystone
state_path = /var/lib/cinder
lock_path = /var/lock/cinder
volumes_dir = /var/lib/
enabled_backends = lvm
transport_url = rabbit:
my_ip = 10.1.1.22
[database] //cinder: openstack@ controller/ cinder
connection = mysql+pymysql:
[keystone_ authtoken] controller: 5000 controller: 35357
auth_uri = http://
auth_url = http://
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = openstack
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
################# APACHE WSGI ####### ####### ####### ###
Listen 8776
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %D(us)" cinder_combined
<VirtualHost *:8776> rocess cinder-wsgi processes=5 threads=1 user=cinder display- name=%{ GROUP} Group cinder-wsgi cinder- wsgi tionGroup %{GLOBAL} horization On ormat "%{cu}t %M"
WSGIDaemonP
WSGIProcess
WSGIScriptAlias / /usr/bin/
WSGIApplica
WSGIPassAut
<IfVersion >= 2.4>
ErrorLogF
</IfVersion>
ErrorLog /var/log/ apache2/ cinder_ error.log apache2/ cinder. log cinder_combined
CustomLog /var/log/
<Directory /usr/bin>
</IfVersion>
</IfVersion>
<IfVersion >= 2.4>
Require all granted
<IfVersion < 2.4>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>