Makes it easier to add CORS support to openstack all api components
python setup.py install
vim /etc/cinder/api-paste.ini
[filter:support_options]
paste.filter_factory = openstack_cors:CorsMixin.factory
[composite:openstack_volume_api_v1]
use = call:cinder.api.middleware.auth:pipeline_factory
noauth = support_options request_id faultwrap sizelimit osprofiler noauth apiv1
keystone = support_options request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1
keystone_nolimit = support_options request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1
[composite:openstack_volume_api_v2]
use = call:cinder.api.middleware.auth:pipeline_factory
noauth = support_options request_id faultwrap sizelimit osprofiler noauth apiv2
keystone = support_options request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2
keystone_nolimit = support_options request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2
restart cinder-api
systemctl restart openstack-cinder-api
vim /etc/ceilometer/api_paste.ini
[pipeline:main]
pipeline = support_options uthtoken api-server
[filter:support_options]
paste.filter_factory = openstack_cors:CorsMixin.factory
restart ceilometer-api
systemctl restart openstack-ceilometer-api
Keystone、Glance、Neutron、Nova has similar configuration.