components/openstack/keystone/patches/no-pysaml2.patch
author Laszlo Peter <laszlo.peter@oracle.com>
Wed, 07 Sep 2016 14:48:41 -0700
changeset 6851 f984e52b96bb
permissions -rw-r--r--
24465816 Update Keystone for the Mitaka release
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6851
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     1
We don't currently have pysaml2 in Solaris because of its
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     2
dependency on pycrypto.
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     3
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     4
This patch makes the pysaml2 dependency in keystone optional.
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     5
The saml_idp_metadata command of keystone-manage and
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     6
federation_routers are disabled if the modules that depend
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     7
on pysaml2 cannot be loaded.
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     8
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     9
This patch is not suitable for pushing upstream.
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    10
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    11
--- keystone-9.0.0/keystone/version/service.py.~1~	2016-04-06 23:37:38.000000000 -0800
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    12
+++ keystone-9.0.0/keystone/version/service.py	2016-05-18 20:25:46.012718550 -0800
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    13
@@ -26,7 +26,6 @@ from keystone.catalog import routers as
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    14
 from keystone.common import wsgi
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    15
 from keystone.credential import routers as credential_routers
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    16
 from keystone.endpoint_policy import routers as endpoint_policy_routers
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    17
-from keystone.federation import routers as federation_routers
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    18
 from keystone.i18n import _LW
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    19
 from keystone.identity import routers as identity_routers
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    20
 from keystone.oauth1 import routers as oauth1_routers
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    21
@@ -139,12 +138,17 @@ def v3_app_factory(global_conf, **local_
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    22
                        policy_routers,
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    23
                        resource_routers,
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    24
                        revoke_routers,
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    25
-                       federation_routers,
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    26
                        oauth1_routers,
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    27
                        # TODO(morganfainberg): Remove the simple_cert router
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    28
                        # when PKI and PKIZ tokens are removed.
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    29
                        simple_cert_ext]
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    30
 
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    31
+    try:
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    32
+        from keystone.federation import routers as federation_routers
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    33
+        all_api_routers.append(federation_routers)
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    34
+    except:
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    35
+        pass
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    36
+
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    37
     if CONF.trust.enabled:
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    38
         all_api_routers.append(trust_routers)
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    39
 
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    40
--- keystone-9.0.0/keystone/cmd/cli.py.~1~	2016-04-06 23:37:38.000000000 -0800
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    41
+++ keystone-9.0.0/keystone/cmd/cli.py	2016-05-19 00:26:16.105127235 -0800
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    42
@@ -32,7 +32,6 @@ from keystone.common import sql
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    43
 from keystone.common.sql import migration_helpers
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    44
 from keystone.common import utils
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    45
 from keystone import exception
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    46
-from keystone.federation import idp
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    47
 from keystone.federation import utils as mapping_engine
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    48
 from keystone.i18n import _, _LW, _LI
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    49
 from keystone.server import backends
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    50
@@ -848,6 +847,11 @@ class SamlIdentityProviderMetadata(BaseA
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    51
 
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    52
     @staticmethod
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    53
     def main():
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    54
+        try:
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    55
+            from keystone.federation import idp
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    56
+        except:
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    57
+            raise ValueError(_('saml_idp_metadata not currently supported; '
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    58
+                               'pysaml2 is required.')) 
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    59
         metadata = idp.MetadataGenerator().generate_metadata()
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    60
         print(metadata.to_string())
f984e52b96bb 24465816 Update Keystone for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    61