Change-Id: I842691479c7c1b46bab627a1f436d9cef3f5148d
| ... | ... |
@@ -1,131 +1,13 @@ |
| 1 |
-############ |
|
| 2 |
-# Metadata # |
|
| 3 |
-############ |
|
| 4 |
-[composite:metadata] |
|
| 5 |
-use = egg:Paste#urlmap |
|
| 6 |
-/: metaversions |
|
| 7 |
-/latest: meta |
|
| 8 |
-/2007-01-19: meta |
|
| 9 |
-/2007-03-01: meta |
|
| 10 |
-/2007-08-29: meta |
|
| 11 |
-/2007-10-10: meta |
|
| 12 |
-/2007-12-15: meta |
|
| 13 |
-/2008-02-01: meta |
|
| 14 |
-/2008-09-01: meta |
|
| 15 |
-/2009-04-04: meta |
|
| 16 |
- |
|
| 17 |
-[pipeline:metaversions] |
|
| 18 |
-pipeline = ec2faultwrap logrequest metaverapp |
|
| 19 |
- |
|
| 20 |
-[pipeline:meta] |
|
| 21 |
-pipeline = ec2faultwrap logrequest metaapp |
|
| 22 |
- |
|
| 23 |
-[app:metaverapp] |
|
| 24 |
-paste.app_factory = nova.api.metadata.handler:Versions.factory |
|
| 25 |
- |
|
| 26 |
-[app:metaapp] |
|
| 27 |
-paste.app_factory = nova.api.metadata.handler:MetadataRequestHandler.factory |
|
| 28 |
- |
|
| 29 |
-####### |
|
| 30 |
-# EC2 # |
|
| 31 |
-####### |
|
| 32 |
- |
|
| 33 |
-[composite:ec2] |
|
| 34 |
-use = egg:Paste#urlmap |
|
| 35 |
-/services/Cloud: ec2cloud |
|
| 36 |
-/services/Admin: ec2admin |
|
| 37 |
- |
|
| 38 |
-[pipeline:ec2cloud] |
|
| 39 |
-pipeline = ec2faultwrap logrequest totoken authtoken keystonecontext cloudrequest authorizer ec2executor |
|
| 40 |
- |
|
| 41 |
-[pipeline:ec2admin] |
|
| 42 |
-pipeline = ec2faultwrap logrequest totoken authtoken keystonecontext adminrequest authorizer ec2executor |
|
| 43 |
- |
|
| 44 |
-[pipeline:ec2metadata] |
|
| 45 |
-pipeline = ec2faultwrap logrequest ec2md |
|
| 46 |
- |
|
| 47 |
-[pipeline:ec2versions] |
|
| 48 |
-pipeline = ec2faultwrap logrequest ec2ver |
|
| 49 |
- |
|
| 50 |
-[filter:ec2faultwrap] |
|
| 51 |
-paste.filter_factory = nova.api.ec2:FaultWrapper.factory |
|
| 52 |
- |
|
| 53 |
-[filter:logrequest] |
|
| 54 |
-paste.filter_factory = nova.api.ec2:RequestLogging.factory |
|
| 55 |
- |
|
| 56 |
-[filter:ec2lockout] |
|
| 57 |
-paste.filter_factory = nova.api.ec2:Lockout.factory |
|
| 58 |
- |
|
| 59 |
-[filter:totoken] |
|
| 60 |
-paste.filter_factory = keystone.middleware.ec2_token:EC2Token.factory |
|
| 61 |
- |
|
| 62 |
-[filter:ec2noauth] |
|
| 63 |
-paste.filter_factory = nova.api.ec2:NoAuth.factory |
|
| 64 |
- |
|
| 65 |
-[filter:authenticate] |
|
| 66 |
-paste.filter_factory = nova.api.ec2:Authenticate.factory |
|
| 67 |
- |
|
| 68 |
-[filter:cloudrequest] |
|
| 69 |
-controller = nova.api.ec2.cloud.CloudController |
|
| 70 |
-paste.filter_factory = nova.api.ec2:Requestify.factory |
|
| 71 |
- |
|
| 72 |
-[filter:adminrequest] |
|
| 73 |
-controller = nova.api.ec2.admin.AdminController |
|
| 74 |
-paste.filter_factory = nova.api.ec2:Requestify.factory |
|
| 75 |
- |
|
| 76 |
-[filter:authorizer] |
|
| 77 |
-paste.filter_factory = nova.api.ec2:Authorizer.factory |
|
| 78 |
- |
|
| 79 |
-[app:ec2executor] |
|
| 80 |
-paste.app_factory = nova.api.ec2:Executor.factory |
|
| 81 |
- |
|
| 82 |
-############# |
|
| 83 |
-# Openstack # |
|
| 84 |
-############# |
|
| 85 |
- |
|
| 86 |
-[composite:osapi] |
|
| 87 |
-use = call:nova.api.openstack.v2.urlmap:urlmap_factory |
|
| 88 |
-/: osversions |
|
| 89 |
-/v1.1: openstack_api_v2 |
|
| 90 |
-/v2: openstack_api_v2 |
|
| 91 |
- |
|
| 92 |
-[pipeline:openstack_api_v2] |
|
| 93 |
-pipeline = faultwrap authtoken keystonecontext ratelimit serialize extensions osapi_app_v2 |
|
| 94 |
- |
|
| 95 |
-[filter:faultwrap] |
|
| 96 |
-paste.filter_factory = nova.api.openstack.v2:FaultWrapper.factory |
|
| 97 |
- |
|
| 98 |
-[filter:auth] |
|
| 99 |
-paste.filter_factory = nova.api.openstack.v2.auth:AuthMiddleware.factory |
|
| 100 |
- |
|
| 101 |
-[filter:noauth] |
|
| 102 |
-paste.filter_factory = nova.api.openstack.v2.auth:NoAuthMiddleware.factory |
|
| 103 |
- |
|
| 104 |
-[filter:ratelimit] |
|
| 105 |
-paste.filter_factory = nova.api.openstack.v2.limits:RateLimitingMiddleware.factory |
|
| 106 |
- |
|
| 107 |
-[filter:serialize] |
|
| 108 |
-paste.filter_factory = nova.api.openstack.wsgi:LazySerializationMiddleware.factory |
|
| 109 |
- |
|
| 110 |
-[filter:extensions] |
|
| 111 |
-paste.filter_factory = nova.api.openstack.v2.extensions:ExtensionMiddleware.factory |
|
| 112 |
- |
|
| 113 |
-[app:osapi_app_v2] |
|
| 114 |
-paste.app_factory = nova.api.openstack.v2:APIRouter.factory |
|
| 115 |
- |
|
| 116 |
-[pipeline:osversions] |
|
| 117 |
-pipeline = faultwrap osversionapp |
|
| 118 |
- |
|
| 119 |
-[app:osversionapp] |
|
| 120 |
-paste.app_factory = nova.api.openstack.v2.versions:Versions.factory |
|
| 121 |
- |
|
| 122 | 1 |
########## |
| 123 |
-# Shared # |
|
| 2 |
+# Extras # |
|
| 124 | 3 |
########## |
| 125 | 4 |
|
| 126 | 5 |
[filter:keystonecontext] |
| 127 | 6 |
paste.filter_factory = keystone.middleware.nova_keystone_context:NovaKeystoneContext.factory |
| 128 | 7 |
|
| 8 |
+[filter:totoken] |
|
| 9 |
+paste.filter_factory = keystone.middleware.ec2_token:EC2Token.factory |
|
| 10 |
+ |
|
| 129 | 11 |
[filter:authtoken] |
| 130 | 12 |
paste.filter_factory = keystone.middleware.auth_token:filter_factory |
| 131 | 13 |
service_protocol = http |
| ... | ... |
@@ -777,14 +777,26 @@ fi |
| 777 | 777 |
|
| 778 | 778 |
# Nova |
| 779 | 779 |
# ---- |
| 780 |
- |
|
| 781 | 780 |
if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then |
| 782 | 781 |
# We are going to use a sample http middleware configuration based on the |
| 783 | 782 |
# one from the keystone project to launch nova. This paste config adds |
| 784 |
- # the configuration required for nova to validate keystone tokens. We add |
|
| 785 |
- # our own service token to the configuration. |
|
| 786 |
- cp $FILES/nova-api-paste.ini $NOVA_DIR/bin |
|
| 783 |
+ # the configuration required for nova to validate keystone tokens. |
|
| 784 |
+ |
|
| 785 |
+ # First we add a some extra data to the default paste config from nova |
|
| 786 |
+ cat $NOVA_DIR/etc/nova/api-paste.ini $FILES/nova-api-paste.ini > $NOVA_DIR/bin/nova-api-paste.ini |
|
| 787 |
+ |
|
| 788 |
+ # Then we add our own service token to the configuration |
|
| 787 | 789 |
sed -e "s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g" -i $NOVA_DIR/bin/nova-api-paste.ini |
| 790 |
+ |
|
| 791 |
+ # Finally, we change the pipelines in nova to use keystone |
|
| 792 |
+ function replace_pipeline() {
|
|
| 793 |
+ sed "/\[pipeline:$1\]/,/\[/s/^pipeline = .*/pipeline = $2/" -i $NOVA_DIR/bin/nova-api-paste.ini |
|
| 794 |
+ } |
|
| 795 |
+ replace_pipeline "ec2cloud" "ec2faultwrap logrequest totoken authtoken keystonecontext cloudrequest authorizer ec2executor" |
|
| 796 |
+ replace_pipeline "ec2admin" "ec2faultwrap logrequest totoken authtoken keystonecontext adminrequest authorizer ec2executor" |
|
| 797 |
+ replace_pipeline "openstack_api_v2" "faultwrap authtoken keystonecontext ratelimit serialize extensions osapi_app_v2" |
|
| 798 |
+ replace_pipeline "openstack_compute_api_v2" "faultwrap authtoken keystonecontext ratelimit serialize compute_extensions osapi_compute_app_v2" |
|
| 799 |
+ replace_pipeline "openstack_volume_api_v1" "faultwrap authtoken keystonecontext ratelimit serialize volume_extensions osapi_volume_app_v1" |
|
| 788 | 800 |
fi |
| 789 | 801 |
|
| 790 | 802 |
# Helper to clean iptables rules |
| ... | ... |
@@ -998,7 +1010,7 @@ if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then |
| 998 | 998 |
sed "s,%SWIFT_LOGDIR%,${swift_log_dir}," $FILES/swift/rsyslog.conf | sudo \
|
| 999 | 999 |
tee /etc/rsyslog.d/10-swift.conf |
| 1000 | 1000 |
sudo restart rsyslog |
| 1001 |
- |
|
| 1001 |
+ |
|
| 1002 | 1002 |
# We create two helper scripts : |
| 1003 | 1003 |
# |
| 1004 | 1004 |
# - swift-remakerings |