Hi Udara,

You don't have to read the payload parameter file from the plugins. When
subclassing from the plugin contract class  ICartridgeAgentPlugin in
plugins/contracts.py and overriding run_plugin() method, you receive the
payload parameters as a dictionary in the argument "values".

Following is a brief example of a plugin, CustomPlugin, which reads a value
from the meta data service and the payload parameters. I hope the code is
self-describable.


import mdsclient
from plugins.contracts import ICartridgeAgentPlugin
import time
from modules.util.log import LogFactory
import os


class CustomPlugin(ICartridgeAgentPlugin):

    def run_plugin(self, values):
        log = LogFactory().get_log(__name__)
        # wait till SOME_VALUE becomes available
        mds_response = None
        while mds_response is None:
            time.sleep(5)
            mds_response = mdsclient.get(app=True)
            if mds_response is not None and
mds_response.properties.get("SOME_VALUE") is None:
                mds_response =

        env_var["STRATOS_HOST_NAME"] = values["HOST_NAME"]
        payload_ports = values["PORT_MAPPINGS"].split("|")

On Apr 22, 2015 9:39 AM, "Udara Liyanage" <ud...@wso2.com> wrote:

> Hi,
>
> Is there a util method to read payload parameters in Python Cartridge agent? 
> I am writing a plugin/extension which needs to read payload parameters to 
> function.
>
> Currently I am reading the file and access the properties
>
>
> launch_params_file = 
> os.path.abspath(os.path.dirname(__file__)).split("extensions")[0] + 
> "payload/launch-params"
> metadata_file = open(launch_params_file, "r")
> properties = {}
> for param in metadata_payload_content.split(","):
>     if param.strip() != "":
>         param_value = param.strip().split("=")
>         properties[param_value[0]] = param_value[1]
>
> token = properties['TOKEN']
>
> Udara Liyanage
> Software Engineer
> WSO2, Inc.: http://wso2.com
> lean. enterprise. middleware
>
> web: http://udaraliyanage.wordpress.com
> phone: +94 71 443 6897
>

Reply via email to