You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/05/31 13:23:14 UTC

stratos git commit: Updating tomcat-single-signon sample and updating agent plugins

Repository: stratos
Updated Branches:
  refs/heads/master 2c7c6aeb4 -> 4991fa18a


Updating tomcat-single-signon sample and updating agent plugins


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/4991fa18
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/4991fa18
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/4991fa18

Branch: refs/heads/master
Commit: 4991fa18a079f76169404090e7a33be70b2d5f11
Parents: 2c7c6ae
Author: Imesh Gunaratne <im...@apache.org>
Authored: Sun May 31 12:23:08 2015 +0100
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Sun May 31 12:23:08 2015 +0100

----------------------------------------------------------------------
 samples/cartridges/kubernetes/tomcat3.json      |  1 +
 samples/cartridges/kubernetes/wso2-is.json      |  3 +-
 .../packs/plugins/TomcatServerStarterPlugin.py  | 14 +++---
 .../plugins/TomcatWSO2ISMetadataPublisher.py    | 53 ++++++++++++++------
 .../packs/plugins/WSO2ISMetaDataHandler.py      |  4 ++
 5 files changed, 52 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/4991fa18/samples/cartridges/kubernetes/tomcat3.json
----------------------------------------------------------------------
diff --git a/samples/cartridges/kubernetes/tomcat3.json b/samples/cartridges/kubernetes/tomcat3.json
index 09026f5..b5bf194 100755
--- a/samples/cartridges/kubernetes/tomcat3.json
+++ b/samples/cartridges/kubernetes/tomcat3.json
@@ -9,6 +9,7 @@
     "multiTenant": "false",
     "portMapping": [
         {
+			"name": "tomcat-http",
             "protocol": "http",
             "port": "8080",
             "proxyPort": "8280"

http://git-wip-us.apache.org/repos/asf/stratos/blob/4991fa18/samples/cartridges/kubernetes/wso2-is.json
----------------------------------------------------------------------
diff --git a/samples/cartridges/kubernetes/wso2-is.json b/samples/cartridges/kubernetes/wso2-is.json
index 8ddaf6c..67a1c98 100644
--- a/samples/cartridges/kubernetes/wso2-is.json
+++ b/samples/cartridges/kubernetes/wso2-is.json
@@ -9,9 +9,10 @@
     "multiTenant": "false",
     "portMapping": [
         {
+			"name": "mgt-console",
             "protocol": "http",
             "port": "9443",
-            "proxyPort": "8280"
+            "proxyPort": "8443"
         }
     ],
     "iaasProvider": [

http://git-wip-us.apache.org/repos/asf/stratos/blob/4991fa18/tools/docker-images/cartridge-docker-images/service-images/tomcat-saml-sso/packs/plugins/TomcatServerStarterPlugin.py
----------------------------------------------------------------------
diff --git a/tools/docker-images/cartridge-docker-images/service-images/tomcat-saml-sso/packs/plugins/TomcatServerStarterPlugin.py b/tools/docker-images/cartridge-docker-images/service-images/tomcat-saml-sso/packs/plugins/TomcatServerStarterPlugin.py
index 8e0cfb8..3a8330e 100644
--- a/tools/docker-images/cartridge-docker-images/service-images/tomcat-saml-sso/packs/plugins/TomcatServerStarterPlugin.py
+++ b/tools/docker-images/cartridge-docker-images/service-images/tomcat-saml-sso/packs/plugins/TomcatServerStarterPlugin.py
@@ -45,14 +45,14 @@ class TomcatServerStarterPlugin(ICartridgeAgentPlugin):
         log.info("Starting Tomcat server: [command] %s, [STRATOS_SAML_ENDPOINT] %s" % (tomcat_start_command, saml_endpoint))
         env_var = os.environ.copy()
         env_var["STRATOS_SAML_ENDPOINT"] = saml_endpoint
-
         env_var["STRATOS_HOST_NAME"] = values["HOST_NAME"]
-        payload_ports = values["PORT_MAPPINGS"].split("|")
-        if values.get("LB_CLUSTER_ID") is not None:
-            port_no = payload_ports[2].split(":")[1]
-        else:
-            port_no = payload_ports[1].split(":")[1]
-        env_var["STRATOS_HOST_PORT"] = port_no
+
+        #payload_ports = values["PORT_MAPPINGS"].split("|")
+        #if values.get("LB_CLUSTER_ID") is not None:
+        #    port_no = payload_ports[2].split(":")[1]
+        #else:
+        #    port_no = payload_ports[1].split(":")[1]
+        env_var["STRATOS_HOST_PORT"] = 4500
 
         p = subprocess.Popen(tomcat_start_command, env=env_var, shell=True)
         output, errors = p.communicate()

http://git-wip-us.apache.org/repos/asf/stratos/blob/4991fa18/tools/docker-images/cartridge-docker-images/service-images/tomcat-saml-sso/packs/plugins/TomcatWSO2ISMetadataPublisher.py
----------------------------------------------------------------------
diff --git a/tools/docker-images/cartridge-docker-images/service-images/tomcat-saml-sso/packs/plugins/TomcatWSO2ISMetadataPublisher.py b/tools/docker-images/cartridge-docker-images/service-images/tomcat-saml-sso/packs/plugins/TomcatWSO2ISMetadataPublisher.py
index b8e5ec0..f363b19 100644
--- a/tools/docker-images/cartridge-docker-images/service-images/tomcat-saml-sso/packs/plugins/TomcatWSO2ISMetadataPublisher.py
+++ b/tools/docker-images/cartridge-docker-images/service-images/tomcat-saml-sso/packs/plugins/TomcatWSO2ISMetadataPublisher.py
@@ -20,31 +20,54 @@ from plugins.contracts import ICartridgeAgentPlugin
 import time
 import zipfile
 import subprocess
+from modules.util.log import LogFactory
 
 
 class TomcatWSO2ISMetadataPublisher(ICartridgeAgentPlugin):
 
     def run_plugin(self, values):
+        log = LogFactory().get_log(__name__)
+
+        log.info("Starting tomcat metadata publisher...")
         # publish callback and issuer id from tomcat for IS to pickup
         publish_data = mdsclient.MDSPutRequest()
         # hostname_entry = {"key": "TOMCAT_HOSTNAME", "values": member_hostname}
         cluster_hostname = values["HOST_NAME"]
-        # set port name checking if lb is present or not
-        payload_ports = values["PORT_MAPPINGS"].split("|")
-        if values.get("LB_CLUSTER_ID") is not None:
-            port_no = payload_ports[2].split(":")[1]
-        else:
-            port_no = payload_ports[1].split(":")[1]
-
-        callback_url = "http://%s:%s/travelocity.com/home.jsp" % (cluster_hostname, port_no)
-        saml_callback_entry = {"key": "CALLBACK_URL", "values": callback_url}
-        issuer_entry = {"key": "SSO_ISSUER", "values": "travelocity.com"}
-        # properties_data = [hostname_entry, saml_callback_entry]
-        properties_data = [saml_callback_entry, issuer_entry]
-        publish_data.properties = properties_data
-
-        mdsclient.put(publish_data, app=True)
 
+        log.info("Reading port mappings...")
+        port_mappings_str = values["PORT_MAPPINGS"]
+
+        tomcat_http_port = None
+
+        # port mappings format: """NAME:mgt-console|PROTOCOL:https|PORT:4500|PROXY_PORT:8443;
+        #                          NAME:tomcat-http|PROTOCOL:http|PORT:4501|PROXY_PORT:7280;"""
+
+        log.info("Port mappings: %s" % port_mappings_str)
+        if port_mappings_str is not None:
+
+            port_mappings_array = port_mappings_str.split(";")
+            if port_mappings_array:
+
+                for port_mapping in port_mappings_array:
+                    log.debug("port_mapping: %s" % port_mapping)
+                    name_value_array = port_mapping.split("|")
+                    name = name_value_array[0].split(":")[1]
+                    protocol = name_value_array[1].split(":")[1]
+                    port = name_value_array[2].split(":")[1]
+                    if name == "tomcat-http" and protocol == "http":
+                        tomcat_http_port = port
+
+        callback_url = "http://%s:%s/travelocity.com/home.jsp" % (cluster_hostname, tomcat_http_port)
+        saml_callback_entry = {"key": "CALLBACK_URL", "values": [ callback_url ]}
+        issuer_entry = {"key": "SSO_ISSUER", "values": [ "travelocity.com" ]}
+        #properties_data = [saml_callback_entry, issuer_entry]
+        #publish_data.properties = properties_data
+
+        mdsclient.put(saml_callback_entry, app=True)
+        mdsclient.put(issuer_entry, app=True)
+
+        log.info("Published values to metadata API: CALLBACK_URL: %s, SSO_ISSUER: travelocity.com" % callback_url)
+        log.info("Tomcat metadata publisher completed")
 
 
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/4991fa18/tools/docker-images/cartridge-docker-images/service-images/wso2is-saml-sso/packs/plugins/WSO2ISMetaDataHandler.py
----------------------------------------------------------------------
diff --git a/tools/docker-images/cartridge-docker-images/service-images/wso2is-saml-sso/packs/plugins/WSO2ISMetaDataHandler.py b/tools/docker-images/cartridge-docker-images/service-images/wso2is-saml-sso/packs/plugins/WSO2ISMetaDataHandler.py
index 1b7ea7a..0860328 100644
--- a/tools/docker-images/cartridge-docker-images/service-images/wso2is-saml-sso/packs/plugins/WSO2ISMetaDataHandler.py
+++ b/tools/docker-images/cartridge-docker-images/service-images/wso2is-saml-sso/packs/plugins/WSO2ISMetaDataHandler.py
@@ -29,6 +29,8 @@ class WSO2ISMetaDataHandler(ICartridgeAgentPlugin):
 
     def run_plugin(self, values):
         log = LogFactory().get_log(__name__)
+        log.info("Starting wso2is metadata handler...")
+
         # read tomcat app related values from metadata
         mds_response = None
         while mds_response is None:
@@ -166,3 +168,5 @@ class WSO2ISMetaDataHandler(ICartridgeAgentPlugin):
         p = subprocess.Popen(wso2is_start_command, env=env_var, shell=True)
         output, errors = p.communicate()
         log.debug("WSO2 IS server started")
+
+        log.info("wso2is metadata handler completed")