You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2016/11/04 15:35:58 UTC
[5/5] airavata git commit: cleaning modules
cleaning modules
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/a82e34ec
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/a82e34ec
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/a82e34ec
Branch: refs/heads/develop
Commit: a82e34ec016dd85caebad0192f46ff9bee7bd925
Parents: cdce06d
Author: scnakandala <su...@gmail.com>
Authored: Fri Nov 4 11:35:49 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Fri Nov 4 11:35:49 2016 -0400
----------------------------------------------------------------------
modules/amqpwstunnel/python/amqpwstunnel.py | 583 --------
modules/amqpwstunnel/python/config.json | 10 -
modules/amqpwstunnel/wstest.html | 157 ---
modules/simstream/README.md | 18 -
modules/simstream/example/README.md | 9 -
.../simstream/example/logfile_checker/README.md | 23 -
.../example/logfile_checker/generate_logs.sh | 22 -
.../example/logfile_checker/log_consumer.py | 43 -
.../example/logfile_checker/log_streamer.py | 111 --
.../example/logfile_checker/remote_log.slurm | 21 -
.../simstream/example/logfile_checker/test.txt | 657 ---------
.../simstream/example/mem_streamer/README.md | 17 -
.../example/mem_streamer/memory_consumption.py | 83 --
.../example/mem_streamer/memory_streamer.py | 46 -
.../simstream/example/openmm_example/README.md | 33 -
.../application/alanine_dipeptide.py | 55 -
.../openmm_example/application/input.pdb | 24 -
.../openmm_example/application/trajectory.dcd | 0
.../example/openmm_example/openmm_consumer.py | 8 -
.../openmm_example/openmm_log_consumer.py | 32 -
.../openmm_example/openmm_rmsd_consumer.py | 36 -
.../example/openmm_example/openmm_stream.slurm | 19 -
.../example/openmm_example/openmm_streamer.py | 130 --
.../simstream/example/openmm_example/test.txt | 0
modules/simstream/example/settings.json | 6 -
modules/simstream/setup.py | 19 -
modules/simstream/simstream/__init__.py | 11 -
modules/simstream/simstream/datacollector.py | 110 --
modules/simstream/simstream/datareporter.py | 169 ---
modules/simstream/simstream/eventhandler.py | 17 -
modules/simstream/simstream/eventmonitor.py | 46 -
.../simstream/simstream/pikaasyncconsumer.py | 203 ---
modules/simstream/simstream/pikaproducer.py | 202 ---
modules/simstream/simstream/simstream.py | 167 ---
modules/xbaya/pom.xml | 329 -----
.../src/main/java/org/airavata/xbaya/App.java | 32 -
.../org/airavata/xbaya/ui/home/HomeWindow.java | 42 -
.../src/main/resources/images/airavata-2.png | Bin 5582 -> 0 bytes
.../main/resources/images/airavata-config.png | Bin 1297 -> 0 bytes
.../src/main/resources/images/airavata-icon.png | Bin 584 -> 0 bytes
.../main/resources/images/airavata-icon2.png | Bin 981 -> 0 bytes
.../src/main/resources/images/airavata-name.png | Bin 8261 -> 0 bytes
.../resources/images/airavata-title-text.png | Bin 16438 -> 0 bytes
.../src/main/resources/images/airavata.png | Bin 17280 -> 0 bytes
.../src/main/resources/images/application.png | Bin 894 -> 0 bytes
.../src/main/resources/images/applications.png | Bin 657 -> 0 bytes
.../xbaya/src/main/resources/images/closed.gif | Bin 923 -> 0 bytes
.../xbaya/src/main/resources/images/cloud.png | Bin 573 -> 0 bytes
.../src/main/resources/images/experiment.png | Bin 543 -> 0 bytes
.../src/main/resources/images/experiments.png | Bin 1142 -> 0 bytes
.../src/main/resources/images/gfac_url.png | Bin 739 -> 0 bytes
.../src/main/resources/images/gfac_urls.png | Bin 816 -> 0 bytes
.../xbaya/src/main/resources/images/host.png | Bin 652 -> 0 bytes
.../xbaya/src/main/resources/images/hosts.png | Bin 671 -> 0 bytes
.../src/main/resources/images/input_para.png | Bin 428 -> 0 bytes
.../src/main/resources/images/jcr-repo.png | Bin 1010 -> 0 bytes
.../xbaya/src/main/resources/images/leaf.gif | Bin 906 -> 0 bytes
.../src/main/resources/images/menu/jcr.png | Bin 1158 -> 0 bytes
.../src/main/resources/images/menu/new2.png | Bin 1175 -> 0 bytes
.../src/main/resources/images/menu/open1.png | Bin 925 -> 0 bytes
.../src/main/resources/images/menu/open2.png | Bin 964 -> 0 bytes
.../src/main/resources/images/menu/open_dir.png | Bin 749 -> 0 bytes
.../src/main/resources/images/menu/pause1.png | Bin 1101 -> 0 bytes
.../resources/images/menu/pause_monitor1.png | Bin 873 -> 0 bytes
.../src/main/resources/images/menu/play3.png | Bin 1192 -> 0 bytes
.../src/main/resources/images/menu/play4.png | Bin 765 -> 0 bytes
.../images/menu/resume_monitoring1.png | Bin 957 -> 0 bytes
.../src/main/resources/images/menu/save1.png | Bin 1200 -> 0 bytes
.../src/main/resources/images/menu/stop.png | Bin 316 -> 0 bytes
.../xbaya/src/main/resources/images/opened.gif | Bin 917 -> 0 bytes
.../src/main/resources/images/output_para.png | Bin 490 -> 0 bytes
.../src/main/resources/images/parameter.png | Bin 544 -> 0 bytes
.../xbaya/src/main/resources/images/pause.jpeg | Bin 458 -> 0 bytes
.../xbaya/src/main/resources/images/play.jpeg | Bin 471 -> 0 bytes
.../src/main/resources/images/registry.png | Bin 3419 -> 0 bytes
.../xbaya/src/main/resources/images/service.png | Bin 871 -> 0 bytes
.../src/main/resources/images/services.png | Bin 899 -> 0 bytes
.../xbaya/src/main/resources/images/step.gif | Bin 211 -> 0 bytes
.../xbaya/src/main/resources/images/stop.jpeg | Bin 497 -> 0 bytes
.../src/main/resources/images/workflow.png | Bin 601 -> 0 bytes
.../resources/images/workflow_templates.png | Bin 710 -> 0 bytes
.../src/main/resources/images/workflows.png | Bin 778 -> 0 bytes
.../xbaya/src/main/resources/views/home.fxml | 587 --------
.../test/java/org/airavata/xbaya/AppTest.java | 58 -
pom.xml | 1301 +++++++++---------
sandbox/amqpwstunnel/python/amqpwstunnel.py | 583 ++++++++
sandbox/amqpwstunnel/python/config.json | 10 +
sandbox/amqpwstunnel/wstest.html | 157 +++
sandbox/simstream/README.md | 18 +
sandbox/simstream/example/README.md | 9 +
.../simstream/example/logfile_checker/README.md | 23 +
.../example/logfile_checker/generate_logs.sh | 22 +
.../example/logfile_checker/log_consumer.py | 43 +
.../example/logfile_checker/log_streamer.py | 111 ++
.../example/logfile_checker/remote_log.slurm | 21 +
.../simstream/example/logfile_checker/test.txt | 657 +++++++++
.../simstream/example/mem_streamer/README.md | 17 +
.../example/mem_streamer/memory_consumption.py | 83 ++
.../example/mem_streamer/memory_streamer.py | 46 +
.../simstream/example/openmm_example/README.md | 33 +
.../application/alanine_dipeptide.py | 55 +
.../openmm_example/application/input.pdb | 24 +
.../openmm_example/application/trajectory.dcd | 0
.../example/openmm_example/openmm_consumer.py | 8 +
.../openmm_example/openmm_log_consumer.py | 32 +
.../openmm_example/openmm_rmsd_consumer.py | 36 +
.../example/openmm_example/openmm_stream.slurm | 19 +
.../example/openmm_example/openmm_streamer.py | 130 ++
.../simstream/example/openmm_example/test.txt | 0
sandbox/simstream/example/settings.json | 6 +
sandbox/simstream/setup.py | 19 +
sandbox/simstream/simstream/__init__.py | 11 +
sandbox/simstream/simstream/datacollector.py | 110 ++
sandbox/simstream/simstream/datareporter.py | 169 +++
sandbox/simstream/simstream/eventhandler.py | 17 +
sandbox/simstream/simstream/eventmonitor.py | 46 +
.../simstream/simstream/pikaasyncconsumer.py | 203 +++
sandbox/simstream/simstream/pikaproducer.py | 202 +++
sandbox/simstream/simstream/simstream.py | 167 +++
119 files changed, 3738 insertions(+), 4785 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/amqpwstunnel/python/amqpwstunnel.py
----------------------------------------------------------------------
diff --git a/modules/amqpwstunnel/python/amqpwstunnel.py b/modules/amqpwstunnel/python/amqpwstunnel.py
deleted file mode 100644
index af5d68a..0000000
--- a/modules/amqpwstunnel/python/amqpwstunnel.py
+++ /dev/null
@@ -1,583 +0,0 @@
-import argparse
-import base64
-import functools
-import json
-import sys
-import uuid
-import weakref
-
-from threading import Thread, Lock
-
-try:
- from urllib.parse import urlencode
-except ImportError:
- from urllib import urlencode
-
-import pika
-import tornado.websocket
-import tornado.ioloop
-import tornado.auth
-import tornado.escape
-import tornado.concurrent
-
-
-SETTINGS = {}
-
-
-class Error(Exception):
- """Base error class for exceptions in this module"""
- pass
-
-class ConsumerConfigError(Error):
- """Raised when an issue with consumer configuration occurs"""
- def __init__(self, message):
- self.message = message
-
-class ConsumerKeyError(Error):
- def __init__(self, message, key):
- self.message = message
- self.key = key
-
-class AuthError(Error):
- """Raised when something went wrong during authentication"""
- def __init__(self, error, code):
- self.message = error
- self.code = code
-
-
-
-class PikaAsyncConsumer(Thread):
-
- """
- The primary entry point for routing incoming messages to the proper handler.
-
- """
-
- def __init__(self, rabbitmq_url, exchange_name, queue_name,
- exchange_type="direct", routing_key="#"):
- """
- Create a new instance of Streamer.
-
- Arguments:
- rabbitmq_url -- URL to RabbitMQ server
- exchange_name -- name of RabbitMQ exchange to join
- queue_name -- name of RabbitMQ queue to join
-
- Keyword Arguments:
- exchange_type -- one of 'direct', 'topic', 'fanout', 'headers'
- (default 'direct')
- routing_keys -- the routing key that this consumer listens for
- (default '#', receives all messages)
-
- """
- print("Creating new consumer")
- super(PikaAsyncConsumer, self).__init__(daemon=True)
- self._connection = None
- self._channel = None
- self._shut_down = False
- self._consumer_tag = None
- self._url = rabbitmq_url
- self._client_list = []
- self._lock = Lock()
-
- # The following are necessary to guarantee that both the RabbitMQ
- # server and Streamer know where to look for messages. These names will
- # be decided before dispatch and should be recorded in a config file or
- # else on a per-job basis.
- self._exchange = exchange_name
- self._exchange_type = exchange_type
- self._queue = queue_name
- self._routing_key = routing_key
-
- def add_client(self, client):
- """Add a new client to the recipient list.
-
- Arguments:
- client -- a reference to the client object to add
- """
- self._lock.acquire()
- # Create a weakref to ensure that cyclic references to WebSocketHandler
- # objects do not cause problems for garbage collection
- self._client_list.append(weakref.ref(client))
- self._lock.release()
-
- def remove_client(self, client):
- """Remove a client from the recipient list.
-
- Arguments:
- client -- a reference to the client object to remove
- """
- self._lock.acquire()
- for i in range(0, len(self._client_list)):
- # Parentheses after _client_list[i] to deference the weakref to its
- # strong reference
- if self._client_list[i]() is client:
- self._client_list.pop(i)
- break
- self._lock.release()
-
-
- def connect(self):
- """
- Create an asynchronous connection to the RabbitMQ server at URL.
-
- """
- return pika.SelectConnection(pika.URLParameters(self._url),
- on_open_callback=self.on_connection_open,
- on_close_callback=self.on_connection_close,
- stop_ioloop_on_close=False)
-
- def on_connection_open(self, unused_connection):
- """
- Actions to perform when the connection opens. This may not happen
- immediately, so defer action to this callback.
-
- Arguments:
- unused_connection -- the created connection (by this point already
- available as self._connection)
-
- """
- self._connection.channel(on_open_callback=self.on_channel_open)
-
- def on_connection_close(self, connection, code, text):
- """
- Actions to perform when the connection is unexpectedly closed by the
- RabbitMQ server.
-
- Arguments:
- connection -- the connection that was closed (same as self._connection)
- code -- response code from the RabbitMQ server
- text -- response body from the RabbitMQ server
-
- """
- self._channel = None
- if self._shut_down:
- self._connection.ioloop.stop()
- else:
- self._connection.add_timeout(5, self.reconnect)
-
- def reconnect(self):
- """
- Attempt to reestablish a connection with the RabbitMQ server.
- """
- self._connection.ioloop.stop() # Stop the ioloop to completely close
-
- if not self._shut_down: # Connect and restart the ioloop
- self._connection = self.connect()
- self._connection.ioloop.start()
-
- def on_channel_open(self, channel):
- """
- Store the opened channel for future use and set up the exchange and
- queue to be used.
-
- Arguments:
- channel -- the Channel instance opened by the Channel.Open RPC
- """
- self._channel = channel
- self._channel.add_on_close_callback(self.on_channel_close)
- self.declare_exchange()
-
-
- def on_channel_close(self, channel, code, text):
- """
- Actions to perform when the channel is unexpectedly closed by the
- RabbitMQ server.
-
- Arguments:
- connection -- the connection that was closed (same as self._connection)
- code -- response code from the RabbitMQ server
- text -- response body from the RabbitMQ server
- """
- self._connection.close()
-
- def declare_exchange(self):
- """
- Set up the exchange that will route messages to this consumer. Each
- RabbitMQ exchange is uniquely identified by its name, so it does not
- matter if the exchange has already been declared.
- """
- self._channel.exchange_declare(self.declare_exchange_success,
- self._exchange,
- self._exchange_type)
-
- def declare_exchange_success(self, unused_connection):
- """
- Actions to perform on successful exchange declaration.
- """
- self.declare_queue()
-
- def declare_queue(self):
- """
- Set up the queue that will route messages to this consumer. Each
- RabbitMQ queue can be defined with routing keys to use only one
- queue for multiple jobs.
- """
- self._channel.queue_declare(self.declare_queue_success,
- self._queue)
-
- def declare_queue_success(self, method_frame):
- """
- Actions to perform on successful queue declaration.
- """
- self._channel.queue_bind(self.munch,
- self._queue,
- self._exchange,
- self._routing_key
- )
-
- def munch(self, unused):
- """
- Begin consuming messages from the Airavata API server.
- """
- self._channel.add_on_cancel_callback(self.cancel_channel)
- self._consumer_tag = self._channel.basic_consume(self._process_message)
-
- def cancel_channel(self, method_frame):
- if self._channel is not None:
- self._channel._close()
-
- def _process_message(self, ch, method, properties, body):
- """
- Receive and verify a message, then pass it to the router.
-
- Arguments:
- ch -- the channel that routed the message
- method -- delivery information
- properties -- message properties
- body -- the message
- """
- print("Received Message: %s" % body)
- self._lock.acquire()
- for client in self._client_list:
- # Parentheses after client to deference the weakref to its
- # strong reference
- client().write_message(body)
- self._lock.release()
- self._channel.basic_ack(delivery_tag=method.delivery_tag)
-
- def stop_consuming(self):
- """
- Stop the consumer if active.
- """
- if self._channel:
- self._channel.basic_cancel(self.close_channel, self._consumer_tag)
-
- def close_channel(self, unused):
- """
- Close the channel to shut down the consumer and connection.
- """
- self._channel.queue_delete(queue=self._queue)
- self._channel.close()
-
- def run(self):
- """
- Start a connection with the RabbitMQ server.
- """
- self._connection = self.connect()
- self._connection.ioloop.start()
-
- def stop(self):
- """
- Stop an active connection with the RabbitMQ server.
- """
- self._closing = True
- self.stop_consuming()
-
-
-class Wso2OAuth2Mixin(tornado.auth.OAuth2Mixin):
- _OAUTH_AUTHORIZE_URL = "https://idp.scigap.org:9443/oauth2/authorize"
- _OAUTH_ACCESS_TOKEN_URL = "https://idp.scigap.org:9443/oauth2/token"
-
- @tornado.auth._auth_return_future
- def get_authenticated_user(self, username, password, callback=None):
- print("Authenticating user %s" % (username))
- http = self.get_auth_http_client()
- body = urlencode({
- "client_id": SETTINGS["oauth_client_key"],
- "client_secret": SETTINGS["oauth_client_secret"],
- "grant_type": SETTINGS["oauth_grant_type"],
- "username": username,
- "password": password
- })
- http.fetch(self._OAUTH_ACCESS_TOKEN_URL, functools.partial(self._on_access_token, callback), method="POST", body=body)
-
- def _on_access_token(self, future, response):
- if response.error:
- print(str(response))
- print(response.body)
- print(response.error)
- future.set_exception(AuthError(response.error, response.code))
- return
-
- print(response.body)
- future.set_result(tornado.escape.json_decode(response.body))
-
-class AuthHandler(tornado.web.RequestHandler, Wso2OAuth2Mixin):
- def get_current_user(self):
- expires_in = self.get_secure_cookie("expires-in", max_age_days=SETTINGS['maximum_cookie_age'])
- print(expires_in)
- if expires_in:
- return self.get_secure_cookie("ws-auth-token", max_age_days=float(expires_in))
- return None
-
- def set_default_headers(self):
- self.set_header("Content-Type", "text/plain")
- self.set_header("Access-Control-Allow-Origin", "*")
- self.set_header("Access-Control-Allow-Headers", "x-requested-with")
- self.set_header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS')
-
- def get(self):
- if self.get_current_user():
- self.set_status(200)
- print("Authenticated")
- self.write("Authenticated")
-
- else:
- self.set_status(403)
- print("Not Authenticated")
- self.write("Not Authenticated")
-
- @tornado.gen.coroutine
- def post(self):
- try:
- username = self.get_body_argument("username")
- password = self.get_body_argument("password")
- redirect = self.get_body_argument("redirect")
- if username == "" or password == "":
- raise tornado.web.MissingArgumentError
-
- access = yield self.get_authenticated_user(username, password)
- days = (access["expires_in"] / 3600) / 24 # Convert to days
- print(days)
- self.set_secure_cookie("ws-auth-token",
- access["access_token"],
- expires_days=days)
- self.set_secure_cookie("expires-in",
- str(1),
- expires_days=SETTINGS['maximum_cookie_age'])
- self.write("Success")
- except tornado.web.MissingArgumentError:
- print("Missing an argument")
- self.set_status(400)
- self.write("Authentication information missing")
- except AuthError as e:
- print("The future freaks me out")
- self.set_status(access.code)
- self.set_header("Content-Type", "text/html")
- self.write(access.message)
-
- success_code = """<p>Redirecting to <a href="%(url)s">%(url)s</a></p>
-<script type="text/javascript">
-window.location = %(url)s;
-</script>
- """ % { 'url': redirect}
- self.set_status(200)
- self.redirect(redirect)
- #return self.render_string(success_code)
-
-
-
-class AMQPWSHandler(tornado.websocket.WebSocketHandler):#, Wso2OAuth2Mixin):
-
- """
- Pass messages to a connected WebSockets client.
-
- A subclass of the Tornado WebSocketHandler class, this class takes no
- action when receiving a message from the client. Instead, it is associated
- with an AMQP consumer and writes a message to the client each time one is
- consumed in the queue.
- """
-
- # def set_default_headers(self):
- # self.set_header("Access-Control-Allow-Origin", "*")
- # self.set_header("Access-Control-Allow-Headers", "x-requested-with")
- # self.set_header('Access-Control-Allow-Methods', 'POST, GET, OPTIONS')
-
- def check_origin(self, origin):
- """Check the domain origin of the connection request.
-
- This can be made more robust to ensure that connections are only
- accepted from verified PGAs.
-
- Arguments:
- origin -- the value of the Origin HTTP header
- """
- return True
-
- def open(self, resource_type, resource_id):
- """Associate a new connection with a consumer.
-
- When a new connection is opened, it is a request to retrieve data
- from an AMQP queue. The open operation should also do some kind of
- authentication.
-
- Arguments:
- resource_type -- "experiment" or "project" or "data"
- resource_id -- the Airavata id for the resource
- """
- self.stream.set_nodelay(True)
- self.resource_id = resource_id
- self.write_message("Opened the connection")
-
- self.add_to_consumer()
-
- # expires_in = self.get_secure_cookie("expires_in", max_age_days=SETTINGS["maximum_cookie_age"])
- # if expires_in is not None and self.get_secure_cookie("ws-auth-token", max_age_days=float(expires_in)):
- # print("Found secure cookie")
- # self.write_message("Authenticated")
- # self.add_to_consumer()
- # else:
- # print("Closing connection")
- # self.close()
-
- def on_message(self, message):
- """Handle incoming messages from the client.
-
- Tornado requires subclasses to override this method, however in this
- case we do not wish to take any action when receiving a message from
- the client. The purpose of this class is only to push messages to the
- client.
- """
- print(message)
- message = tornado.escape.json_decode(message)
- access = yield self.get_authenticated_user(message["username"], message["password"])
- access = access
- days = (access["expires_in"] / 3600) / 24 # Convert to days
- print(days)
- self.set_secure_cookie("ws-auth-token",
- access["access_token"],
- expires_days=days)
- self.set_secure_cookie("expires_in",
- str(days),
- expires_days=SETTINGS['maximum_cookie_age'])
-
-
- def on_close(self):
- try:
- print("Closing connection")
- self.application.remove_client_from_consumer(self.resource_id, self)
- except KeyError:
- print("Error: resource %s does not exist" % self.resource_id)
- finally:
- self.close()
-
- def add_to_consumer(self):
- try:
- self.application.add_client_to_consumer(self.resource_id, self)
- except AttributeError as e:
- print("Error: tornado.web.Application object is not AMQPWSTunnel")
- print(e)
-
-
-class AMQPWSTunnel(tornado.web.Application):
-
- """
- Send messages from an AMQP queue to WebSockets clients.
-
- In addition to the standard Tornado Application class functionality, this
- class maintains a list of active AMQP consumers and maps WebSocketHandlers
- to the correct consumers.
- """
-
- def __init__(self, consumer_list=None, consumer_config=None, handlers=None,
- default_host='', transforms=None, **settings):
- print("Starting AMQP-WS-Tunnel application")
- super(AMQPWSTunnel, self).__init__(handlers=handlers,
- default_host=default_host,
- transforms=transforms,
- **settings)
-
- self.consumer_list = {} if consumer_list is None else consumer_list
- if consumer_config is None:
- raise ConsumerConfigError("No consumer configuration provided")
- self.consumer_config = consumer_config
-
- def consumer_exists(self, resource_id):
- """Determine if a consumer exists for a particular resource.
-
- Arguments:
- resource_id -- the consumer to find
- """
- return resource_id in self.consumer_list
-
- def add_client_to_consumer(self, resource_id, client):
- """Add a new client to a consumer's messaging list.
-
- Arguments:
- resource_id -- the consumer to add to
- client -- the client to add
- """
- if not self.consumer_exists(resource_id):
- print("Creating new consumer")
- print(self.consumer_config)
- consumer = PikaAsyncConsumer(self.consumer_config["rabbitmq_url"],
- self.consumer_config["exchange_name"],
- self.consumer_config["queue_name"],
- exchange_type=self.consumer_config["exchange_type"],
- routing_key=resource_id)
- print("Adding to consumer list")
- self.consumer_list[resource_id] = consumer
- print("Starting consumer")
- consumer.start()
-
- print("Adding new client to %s" % (resource_id))
- consumer = self.consumer_list[resource_id]
- consumer.add_client(client)
-
- def remove_client_from_consumer(self, resource_id, client):
- """Remove a client from a consumer's messaging list.
-
- Arguments:
- resource_id -- the consumer to remove from
- client -- the client to remove
- """
- if self.consumer_exists(resource_id):
- print("Removing client from %s" % (resource_id))
- self.consumer_list[resource_id].remove_client(client)
- #else:
- # raise ConsumerKeyError("Trying to remove client from nonexistent consumer", resource_id)
-
- def shutdown(self):
- """Shut down the application and release all resources.
-
-
- """
- for name, consumer in self.consumer_list.items():
- consumer.stop()
- #consumer.join()
- #self.consumer_list[name] = None
-
- #self.consumer_list = {}
-
-
-
-if __name__ == "__main__":
- i = open(sys.argv[1])
- config = json.load(i)
- i.close()
-
- SETTINGS["oauth_client_key"] = config["oauth_client_key"]
- SETTINGS["oauth_client_secret"] = config["oauth_client_secret"]
- SETTINGS["oauth_grant_type"] = config["oauth_grant_type"]
- SETTINGS["maximum_cookie_age"] = config["maximum_cookie_age"]
-
- settings = {
- "cookie_secret": base64.b64encode(uuid.uuid4().bytes + uuid.uuid4().bytes),
- #"xsrf_cookies": True
- }
-
- application = AMQPWSTunnel(handlers=[
- (r"/auth", AuthHandler),
- (r"/(experiment)/(.+)", AMQPWSHandler)
- ],
- consumer_config=config,
- debug=True,
- **settings)
-
- application.listen(8888)
-
- try:
- tornado.ioloop.IOLoop.current().start()
- except KeyboardInterrupt:
- application.shutdown()
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/amqpwstunnel/python/config.json
----------------------------------------------------------------------
diff --git a/modules/amqpwstunnel/python/config.json b/modules/amqpwstunnel/python/config.json
deleted file mode 100644
index b092001..0000000
--- a/modules/amqpwstunnel/python/config.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "rabbitmq_url": "amqp://airavata:airavata@gw56.iu.xsede.org:5672/messaging",
- "exchange_name": "simstream",
- "queue_name": "test",
- "exchange_type": "direct",
- "oauth_client_key": "y7xgdnNUx6ifOswJTPcqtzw4aOEa",
- "oauth_client_secret": "CgfbuupAPhaOBSBPSScZUWHNANwa",
- "oauth_grant_type": "password",
- "maximum_cookie_age": 1
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/amqpwstunnel/wstest.html
----------------------------------------------------------------------
diff --git a/modules/amqpwstunnel/wstest.html b/modules/amqpwstunnel/wstest.html
deleted file mode 100644
index eedbf78..0000000
--- a/modules/amqpwstunnel/wstest.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<!DOCTYPE html>
-
-<html lang="en">
-
-<head>
- <meta charset="utf-8" />
- <title>AMQP Websockets Test</title>
-
- <style>
- #content {
- width: 100%;
- min-height: 250px;
- }
-
- #ws-url-label, #ws-url-input, #ws-connect-button {
- display: inline;
- float: left;
- margin-right: 10px;
- }
-
- #logs {
- background-color: #888888;
- width: 50%;
- overflow-y: auto;
- list-style: none;
- padding: 3px;
- margin-left: auto;
- margin-right: auto;
- text-align: center;
- }
-
- .log {
- background-color: #cccccc;
- display: inline-block;
- min-height: 30px;
- width: 90%;
- border: 1px solid #000000;
- padding: 3px;
- margin-left: auto;
- margin-right: auto;
- margin-bottom: 5px;
- text-align: left;
- }
- </style>
-</head>
-
-<body>
-
-<div id="content">
- <div id="ws-url">
- <label id="ws-url-label" for="ws-url-input">WebSockets URL</label>
- <input type="text" name="ws-url-input" id="ws-url-input" />
- <input type="text" name="username" id="username" placeholder="Username" />
- <input type="password" name="password" id="password" placeholder="Password" />
- <button id="ws-connect-button" class="open">Connect</button>
- <button id="ws-send-credentials">Send</button><br />
- <frame>
- <form action="http://localhost:8888/auth" method="post">
- <input type="text" name="username" id="username" placeholder="Username" />
- <input type="password" name="password" id="password" placeholder="Password" />
- <input type="hidden" name="redirect" id="redirect" value="file:///Users/jeffkinnison/development/amqp-ws-tunnel/wstest.html" />
- <input type="submit" value="Auth" />
- </form>
- </frame>
- </div>
-
- <ul id="logs"><p>Logs</p></ul>
-</div>
-
-<script src="https://code.jquery.com/jquery-3.1.0.min.js"
- integrity="sha256-cCueBR6CsyA4/9szpPfrX3s49M9vUU5BgtiJj06wt/s="
- crossorigin="anonymous"></script>
-<script type="text/javascript">
- var ws, open_handler, message_handler, error_handler, close_handler;
-
- console.log(document.cookie);
-
- $("#ws-connect-button").on("click", function() {
- ws = new WebSocket("ws://localhost:8888/experiment/test");
-
- ws.onopen = function() {
- var username, password;
- $("#ws-connect-button").toggleClass("open close").text("Disconnect");
- $("#ws-url-input").prop("disabled", true);
- ws.send("hi");
- // username = $("#username").val();
- // password = $("#password").val();
- // ws.send(JSON.stringify({username: username, password: password}));
- }
-
- ws.onmessage = function(e) {
- var msg;
-
- console.log(e.data);
-
- //msg = JSON.parse(e.data);
- // if (msg.hasOwnProperty("logs")) {
- // for (log in msg.logs) {
- // if (msg.logs.hasOwnProperty(log)) {
- // $("#logs").append($('<li class="log">' + log + '</li>'));
- // }
- // }
- // }
- }
-
- ws.onclose = function(e) {
- $("#ws-connect-button").toggleClass("open close").text("Connect");
- $("#ws-url-input").prop("disabled", false);
- }
- });
-
- $("#ws-send-credentials").on("click", function(e) {
- uname = $("#username").val();
- pass = $("#password").val();
- console.log("Sending credentials");
- //ws.send("moop");
- //ws.send(JSON.stringify({username: uname, password: pass}));
- $.ajax({
- url: "http://localhost:8888/auth",
- method: "post",
- data: {username: uname, password: pass},
- crossDomain: true,
- success: function(data) {
- console.log("Success");
- console.log(document.cookie);
- },
- error: function(e) {
- console.log(e);
- },
- complete: function() {
- $.ajax({
- url: "http://localhost:8888/auth",
- method: "get",
- crossDomain: true,
- xhrHeaders: {
-
- },
- success: function(data) {
- console.log(data);
- },
- error: function(xhr) {
- console.log(xhr);
- }
- });
- }
- });
- });
-
- // $("form").on("submit", function(e) {
- // e.preventDefault();
- // });
-
-</script>
-
-</body>
-
-</html>
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/README.md
----------------------------------------------------------------------
diff --git a/modules/simstream/README.md b/modules/simstream/README.md
deleted file mode 100755
index 9ab1379..0000000
--- a/modules/simstream/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# simstream
-A utility for user-defined remote system and simulation data monitoring.
-
-## Dependencies
-* pika >= 0.10.0 (`pip install pika`)
-* A running, accessible instance of RabbitMQ server
-
-## Installation
-1. Clone this repository
-2. `python setup.py install`
-
-## Running the Example
-The example runs a simple collector that records the maximum memory used by the server (MB) and a timestamp. It also generates a plot of the results.
-
-1. Edit `example/memory_consumption.py` and `example/memory_streamer.py` with the correct RabbitMQ settings
-2. From the repository root, run `python example/memory_consumption.py`
-3. Open a new terminal session and run `python example/memory_streamer.py`
-4. Memory usage information should now be collected in the current terminal and received in the original terminal
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/README.md
----------------------------------------------------------------------
diff --git a/modules/simstream/example/README.md b/modules/simstream/example/README.md
deleted file mode 100755
index 23f36d5..0000000
--- a/modules/simstream/example/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# SimStream Examples
-
-This directory contains several examples showcasing the functionality of SimStream. To run them, download and install Python 2.7/3.5, install SimStream using setup.py, and modify the settings.json file to match your RabbitMQ server settings.
-
-## The Examples
-
-* mem_streamer: Stream max RSS memory consumed by a basic SimStream utility
-* logfile_checker: Collect, filter, and stream tagged log file entries
-* openmm_example: Run a molecular dynamics simulation and return log information and system state measured by root mean squared deviation
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/logfile_checker/README.md
----------------------------------------------------------------------
diff --git a/modules/simstream/example/logfile_checker/README.md b/modules/simstream/example/logfile_checker/README.md
deleted file mode 100755
index 30ed071..0000000
--- a/modules/simstream/example/logfile_checker/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# SimStream Example: Logfile Streaming
-
-This example filters log file entries by starting tag and sends them to a remote listener. The listener prints the logs it receives to terminal.
-
-## Instructions
-
-### Start the Publisher
-1. Open a terminal
-2. `cd path/to/simstream/examples/logfile_checker`
-3. `python log_streamer.py`
-
-### Start the Consumer
-1. Open a terminal
-2. `cd path/to/simstream/examples/logfile_checker`
-3. `python log_consumer.py`
-
-### Write Some Logs
-1. Open a terminal
-2. `cd path/to/simstream/examples/logfile_checker`
-3. `chmod 700 generate_logs.sh`
-4. `./generate_logs.sh`
-
-This will write logs to `test.txt`. The Publisher will continuously check for new logs, filter based on the [STATUS] and [ERROR] tags, and send the filtered results to the RabbitMQ server. The Consumer will receive the filtered log entries and print them to the terminal.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/logfile_checker/generate_logs.sh
----------------------------------------------------------------------
diff --git a/modules/simstream/example/logfile_checker/generate_logs.sh b/modules/simstream/example/logfile_checker/generate_logs.sh
deleted file mode 100755
index 5fb7aa0..0000000
--- a/modules/simstream/example/logfile_checker/generate_logs.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/env bash
-
-outfile="test.txt"
-
-echo "[STATUS] Starting logfile generator" >> $outfile
-
-sleep 2
-
-echo "[STATUS] Doing stuff" >> $outfile
-echo "Stuff that doesn't need to be reported" >> $outfile
-echo "Stuff that also doesn't need to be reported" >> $outfile
-echo "[DATA] 7.267" >> $outfile
-
-sleep 2
-
-echo "[STATUS] Doing more stuff" >> $outfile
-echo "Yet more stuff that doesn't need to be reported" >> $outfile
-echo "[ERROR] Some non-fatal error that the user should know about" >> $outfile
-
-sleep 2
-
-echo "[STATUS] Finished generating logs" >> $outfile
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/logfile_checker/log_consumer.py
----------------------------------------------------------------------
diff --git a/modules/simstream/example/logfile_checker/log_consumer.py b/modules/simstream/example/logfile_checker/log_consumer.py
deleted file mode 100755
index bf3beac..0000000
--- a/modules/simstream/example/logfile_checker/log_consumer.py
+++ /dev/null
@@ -1,43 +0,0 @@
-import json
-from simstream import PikaAsyncConsumer
-
-#settings = {
-# "url": "amqp://guest:guest@localhost:5672",
-# "exchange": "simstream",
-# "queue": "test",
-# "routing_key": "logfile",
-# "exchange_type": "topic"
-#}
-
-settings = {}
-
-with open("../settings.json", 'r') as f:
- settings = json.load(f)
- settings["routing_key"] = "memory"
-
-def print_log_line(body):
- try:
- lines = json.loads(body.decode())
- if lines is not None:
- for line in lines:
- print(line)
- except json.decoder.JSONDecodeError as e:
- print("[Error]: Could not decode %s" % (body))
- except UnicodeError as e:
- print("[Error]: Could not decode from bytes to string: %s" % (e.reason))
-
-
-consumer = PikaAsyncConsumer(
- settings["url"],
- settings["exchange"],
- settings["queue"],
- print_log_line,
- exchange_type=settings["exchange_type"],
- routing_key=settings["routing_key"]
- )
-
-if __name__ == "__main__":
- try:
- consumer.start()
- except KeyboardInterrupt:
- consumer.stop()
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/logfile_checker/log_streamer.py
----------------------------------------------------------------------
diff --git a/modules/simstream/example/logfile_checker/log_streamer.py b/modules/simstream/example/logfile_checker/log_streamer.py
deleted file mode 100755
index 65f84f0..0000000
--- a/modules/simstream/example/logfile_checker/log_streamer.py
+++ /dev/null
@@ -1,111 +0,0 @@
-from simstream import SimStream, DataReporter
-
-import sys, json
-
-class LogMonitor(object):
- """
- A callable class that returns unprocessed lines in an open logfile.
-
- Instance Variables:
- logfile -- the path to the logfile to monitor
- """
-
- def __init__(self, logfile):
- """
- Set up a monitor for a logfile.
-
- Arguments:
- logfile -- the path to the logfile to monitor
- """
- self.logfile = logfile
- self._generator = None
- self._version = sys.version_info[0]
-
- def __call__(self):
- """
- Get the next line from the logfile.
- """
- if not self._generator:
- self._generator = self._monitor_logfile()
-
- lines = []
-
- line = self._next()
- while line is not None:
- lines.append(line)
- line = self._next()
-
- return lines
-
- def _monitor_logfile(self):
- """
- Yield the next set of lines from the logfile.
- """
- try:
- # Make the file persistent for the lifetime of the generator
- with open(self.logfile) as f:
- f.seek(0,2) # Move to the end of the file
- while True:
- # Get the next line or indicate the end of the file
- line = f.readline()
- if line:
- yield line.strip()
- else:
- yield None
-
- except EnvironmentError as e:
- # Handle I/O exceptions in an OS-agnostic way
- print("Error: Could not open file %s: %s" % (self.logfile, e))
-
- def _next(self):
- """
- Python 2/3 agnostic retrieval of generator values.
- """
- return self._generator.__next__() if self._version == 3 else self._generator.next()
-
-
-def get_relevant_log_lines(log_lines):
- import re
- relevant_lines = []
- pattern = r'^\[(STATUS|ERROR)\]'
- for line in log_lines:
- if re.match(pattern, line) is not None:
- relevant_lines.append(line)
- return relevant_lines
-
-
-#settings = {
-# "url": "amqp://guest:guest@localhost:5672",
-# "exchange": "simstream",
-# "queue": "test",
-# "routing_key": "logfile",
-# "exchange_type": "topic"
-#}
-
-settings = {}
-
-with open("../settings.json", 'r') as f:
- settings = json.load(f)
- settings["routing_key"] = "memory"
-
-if __name__ == "__main__":
- logfile = sys.argv[1]
- log_reporter = DataReporter()
- log_reporter.add_collector("logger",
- LogMonitor(logfile),
- settings["url"],
- settings["exchange"],
- limit=10,
- interval=2,
- exchange_type=settings["exchange_type"],
- postprocessor=get_relevant_log_lines)
-
- log_reporter.start_streaming("logger", settings["routing_key"])
-
- streamer = SimStream(config=settings, reporters={"log_reporter": log_reporter})
- streamer.setup()
-
- try:
- streamer.start()
- except KeyboardInterrupt:
- streamer.stop()
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/logfile_checker/remote_log.slurm
----------------------------------------------------------------------
diff --git a/modules/simstream/example/logfile_checker/remote_log.slurm b/modules/simstream/example/logfile_checker/remote_log.slurm
deleted file mode 100644
index 55834e9..0000000
--- a/modules/simstream/example/logfile_checker/remote_log.slurm
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env bash
-
-#SBATCH -J remote_logger # Job name
-#SBATCH -o remote_logger.o%j # Name of stdout output file(%j expands to jobId)
-#SBATCH -e remote_logger.o%j # Name of stderr output file(%j expands to jobId)
-#SBATCH -p development # large queue for jobs > 256 nodes
-#SBATCH -t 00:10:00 # Run time (hh:mm:ss) - 1.5 hours
-#SBATCH -n 1 # Nodes to use
-
-module use "/home1/03947/tg832463/modulefiles"
-module load openmm
-
-touch test.txt
-
-python log_streamer.py test.txt &
-
-while true; do
- bash generate_logs.sh
- sleep 5
-done
-
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/logfile_checker/test.txt
----------------------------------------------------------------------
diff --git a/modules/simstream/example/logfile_checker/test.txt b/modules/simstream/example/logfile_checker/test.txt
deleted file mode 100755
index 2ffb48c..0000000
--- a/modules/simstream/example/logfile_checker/test.txt
+++ /dev/null
@@ -1,657 +0,0 @@
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
-[STATUS] Starting logfile generator
-[STATUS] Doing stuff
-Stuff that doesn't need to be reported
-Stuff that also doesn't need to be reported
-[DATA] 7.267
-[STATUS] Doing more stuff
-Yet more stuff that doesn't need to be reported
-[ERROR] Some non-fatal error that the user should know about
-[STATUS] Finished generating logs
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/mem_streamer/README.md
----------------------------------------------------------------------
diff --git a/modules/simstream/example/mem_streamer/README.md b/modules/simstream/example/mem_streamer/README.md
deleted file mode 100755
index 897b77a..0000000
--- a/modules/simstream/example/mem_streamer/README.md
+++ /dev/null
@@ -1,17 +0,0 @@
-# SimStream Example: Memory Usage Streamer
-
-This example collects data on the memory used by the Publisher and sends that data to the Consumer.
-
-## Instructions
-
-### Start the Consumer
-1. Open a terminal
-2. `cd path/to/simstream/examples/logfile_checker`
-3. `python log_consumer.py`
-
-### Starting the Consumer
-1. Open a new terminal
-2. `cd path/to/simstream/examples/mem_streamer`
-3. `python memory_consumer.py
-
-The Consumer should receive the memory used by the Publisher (KB) and the time that the data was collected (s since UNIX epoch) at a 2-second interval.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/mem_streamer/memory_consumption.py
----------------------------------------------------------------------
diff --git a/modules/simstream/example/mem_streamer/memory_consumption.py b/modules/simstream/example/mem_streamer/memory_consumption.py
deleted file mode 100755
index b67e975..0000000
--- a/modules/simstream/example/mem_streamer/memory_consumption.py
+++ /dev/null
@@ -1,83 +0,0 @@
-import tornado.ioloop
-import tornado.web
-import tornado.websocket
-
-import json
-
-from simstream import PikaAsyncConsumer, PikaProducer
-
-#settings = {
-# "url": "amqp://localhost:5672",
-# "exchange": "simstream",
-# "queue": "remote_node",
-# "routing_key": "test",
-# "exchange_type": "topic"
-#}
-
-settings = {}
-
-with open("../settings.json", 'r') as f:
- settings = json.load(f)
- settings["routing_key"] = "memory"
-
-
-def print_result(body):
- try:
- data = json.loads(body.decode())
- print("%s: %s" % (data["x"], data["y"]))
- except json.decoder.JSONDecodeError as e:
- print("[ERROR] Could not decode JSON %s: %s", (body, e))
- except UnicodeError as e:
- print("[ERROR] Could not decode message %s: %s" % (body, e.reason))
-
-consumer = PikaAsyncConsumer(settings['url'],
- settings['exchange'],
- settings['queue'],
- print_result,
- exchange_type=settings['exchange_type'],
- routing_key=settings['routing_key'])
-
-consumer.start()
-
-# class PlotHandler(tornado.web.RequestHandler):
-
-# def get(self):
-# pass
-
-
-# class StreamingHandler(tornado.websocket.WebSocketHandler):
-
-# def open(self):
-# self.consumer = PikaAsyncConsumer(settings.url,
-# settings.exchange,
-# settings.queue,
-# self.send_data,
-# routing_keys=settings.routing_key,
-# exchange_type=settings.exchange_type
-# )
-# self.producer = PikaProducer("",
-# remote_settings.url,
-# remote_settings.exchange,
-# remote_settings.queue,
-# remote_settings.routing_key)
-
-# def on_message(self, message):
-# if hasattr(self, producer) and producer is not None:
-# self.producer.send_data(message)
-
-# def on_close(self):
-# self.consumer.stop()
-# self.producer.shutdown()
-# self.consumer = None
-# self.producer = None
-
-# def send_data(self, ch, method, properties, body):
-# self.write_message(body)
-
-# if __name__ == "__main__":
-# app = tornado.web.Application([
-# (r"/plot/(.*)", )
-# (r"/stream/(.*)", StreamingHandler)
-# ])
-# app.listen(8888)
-# tornado.ioloop.IOLoop.current().start()
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/mem_streamer/memory_streamer.py
----------------------------------------------------------------------
diff --git a/modules/simstream/example/mem_streamer/memory_streamer.py b/modules/simstream/example/mem_streamer/memory_streamer.py
deleted file mode 100755
index 88f0d9a..0000000
--- a/modules/simstream/example/mem_streamer/memory_streamer.py
+++ /dev/null
@@ -1,46 +0,0 @@
-import resource
-import time
-import json
-
-from simstream import SimStream, DataReporter, DataCollector
-
-#settings = {
-# "url": "amqp://localhost:5672",
-# "exchange": "simstream",
-# "queue": "remote_node",
-# "routing_key": "stream_sender",
-# "exchange_type": "topic"
-#}
-
-settings = {}
-
-with open("../settings.json", 'r') as f:
- settings = json.load(f)
- settings["routing_key"] = "memory"
-
-def mem_callback():
- return {'x': time.time() * 1000,
- 'y': resource.getrusage(resource.RUSAGE_SELF).ru_maxrss}
-
-
-def mem_postprocessor(rss):
- rss.y = rss.y / 1000000
- return rss
-
-mem_reporter = DataReporter()
-mem_reporter.add_collector("rss",
- mem_callback,
- settings["url"],
- settings["exchange"],
- limit=100,
- interval=2,
- postprocessor=mem_postprocessor,
- )
-
-mem_reporter.start_streaming("rss", "test")
-
-if __name__ == "__main__":
- resource_streamer = SimStream(reporters={"memory": mem_reporter},
- config=settings)
- resource_streamer.setup()
- resource_streamer.start()
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/openmm_example/README.md
----------------------------------------------------------------------
diff --git a/modules/simstream/example/openmm_example/README.md b/modules/simstream/example/openmm_example/README.md
deleted file mode 100644
index 59a0588..0000000
--- a/modules/simstream/example/openmm_example/README.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# SimStream Example: Simulating Alanine Dipeptide
-
-This example runs a simulation of the small molecule Alanine Dipeptide and streams logs and RMSD. RMSD is a metric for judging how similar two molecular states are for the same model.
-
-## Instructions
-
-### Installing OpenMM
-The easiest way to install OpenMM is to use the Anaconda distribution of Python and run
-`conda install -c https://conda.anaconda.org/omnia openmm`
-
-If you do not wish to use Anaconda, install OpenMM from source by following the instructions in the [OpenMM docs](http://docs.openmm.org/7.0.0/userguide/application.html#installing-openmm "OpenMM documentation")
-
-### Start the Logfile Consumer
-1. Open a terminal
-2. `cd path/to/simstream/examples/openmm_example`
-3. `python openmm_log_consumer.py`
-
-### Start the RMSD Consumer
-1. Open a terminal
-2. `cd path/to/simstream/examples/openmm_example`
-3. `python openmm_rmsd_consumer.py`
-
-### Starting the Producer
-1. Open a new terminal
-2. `cd path/to/simstream/examples/openmm_example`
-3. `python openmm_streamer.py application/sim.out application/trajectory.dcd application/input.pdb application/input.pdb`
-
-### Starting the Simulation
-1. Open a new terminal
-2. `cd path/to/simstream/examples/openmm_example/application`
-3. `python alanine_dipeptide.py > sim.out`
-
-The Logfile Consumer should now be printing tagged log entries to the screen; the RMSD Consumer should be printing the calculated RMSD each time the trajectory file is written.
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/openmm_example/application/alanine_dipeptide.py
----------------------------------------------------------------------
diff --git a/modules/simstream/example/openmm_example/application/alanine_dipeptide.py b/modules/simstream/example/openmm_example/application/alanine_dipeptide.py
deleted file mode 100644
index 8b22b16..0000000
--- a/modules/simstream/example/openmm_example/application/alanine_dipeptide.py
+++ /dev/null
@@ -1,55 +0,0 @@
-##########################################################################
-# this script was generated by openmm-builder. to customize it further,
-# you can save the file to disk and edit it with your favorite editor.
-##########################################################################
-
-from __future__ import print_function
-from simtk.openmm import app
-import simtk.openmm as mm
-from simtk import unit
-from sys import stdout
-
-print("[START] Application is now running")
-
-pdb = app.PDBFile('input.pdb')
-print("[STATUS] Loaded model")
-forcefield = app.ForceField('amber03.xml', 'amber03_obc.xml')
-print("[STATUS] Loaded force field")
-
-system = forcefield.createSystem(pdb.topology, nonbondedMethod=app.NoCutoff,
- constraints=None, rigidWater=False)
-print("[STATUS] Created system")
-integrator = mm.LangevinIntegrator(300*unit.kelvin, 91/unit.picoseconds,
- 1.0*unit.femtoseconds)
-print("[STATUS] Created integrator")
-
-try:
- platform = mm.Platform.getPlatformByName('CPU')
-except Exception as e:
- print("[ERROR] Could not load platform CPU. Running Reference")
- platform = mm.Platform.getPlatformByName("Reference")
-
-simulation = app.Simulation(pdb.topology, system, integrator, platform)
-print("[STATUS] Set up compute platform")
-simulation.context.setPositions(pdb.positions)
-print("[STATUS] Set atomic positions")
-
-print('[STATUS] Minimizing...')
-simulation.minimizeEnergy()
-print('[STATUS] Equilibrating...')
-simulation.step(100)
-
-simulation.reporters.append(app.DCDReporter('trajectory.dcd', 1000))
-simulation.reporters.append(app.StateDataReporter(stdout, 1000, step=True,
- potentialEnergy=True, totalEnergy=True, temperature=True, separator='\t'))
-print("[STATUS] Set up reporters")
-
-print('[STATUS] Running Production...')
-
-increment = 1000
-
-for i in range(0,100000,increment):
- print("[STATUS] Step %s" % (i))
- simulation.step(increment)
-
-print('[END] Done!')
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/openmm_example/application/input.pdb
----------------------------------------------------------------------
diff --git a/modules/simstream/example/openmm_example/application/input.pdb b/modules/simstream/example/openmm_example/application/input.pdb
deleted file mode 100644
index a47f196..0000000
--- a/modules/simstream/example/openmm_example/application/input.pdb
+++ /dev/null
@@ -1,24 +0,0 @@
-ATOM 1 1HH3 ACE 1 4.300 13.100 8.600 1.00 0.00
-ATOM 2 CH3 ACE 1 5.200 13.600 8.800 1.00 0.00
-ATOM 3 2HH3 ACE 1 4.900 14.300 9.600 1.00 0.00
-ATOM 4 3HH3 ACE 1 5.600 14.200 7.900 1.00 0.00
-ATOM 5 C ACE 1 6.100 12.500 9.400 1.00 0.00
-ATOM 6 O ACE 1 6.400 12.500 10.600 1.00 0.00
-ATOM 7 N ALA 2 6.600 11.600 8.500 1.00 0.00
-ATOM 8 H ALA 2 6.500 11.600 7.500 1.00 0.00
-ATOM 9 CA ALA 2 7.300 10.400 9.100 1.00 0.00
-ATOM 10 HA ALA 2 7.900 10.700 10.000 1.00 0.00
-ATOM 11 CB ALA 2 6.200 9.500 9.600 1.00 0.00
-ATOM 12 HB1 ALA 2 5.700 9.100 8.800 1.00 0.00
-ATOM 13 HB2 ALA 2 6.600 8.700 10.200 1.00 0.00
-ATOM 14 HB3 ALA 2 5.400 10.000 10.200 1.00 0.00
-ATOM 15 C ALA 2 8.400 9.800 8.200 1.00 0.00
-ATOM 16 O ALA 2 8.400 9.900 7.000 1.00 0.00
-ATOM 17 N NME 3 9.300 9.000 8.800 1.00 0.00
-ATOM 18 H NME 3 9.100 9.000 9.800 1.00 0.00
-ATOM 19 CH3 NME 3 10.500 8.400 8.300 1.00 0.00
-ATOM 20 1HH3 NME 3 10.700 7.700 9.100 1.00 0.00
-ATOM 21 2HH3 NME 3 10.400 8.000 7.300 1.00 0.00
-ATOM 22 3HH3 NME 3 11.300 9.100 8.300 1.00 0.00
-TER
-ENDMDL
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/openmm_example/application/trajectory.dcd
----------------------------------------------------------------------
diff --git a/modules/simstream/example/openmm_example/application/trajectory.dcd b/modules/simstream/example/openmm_example/application/trajectory.dcd
deleted file mode 100644
index e69de29..0000000
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/openmm_example/openmm_consumer.py
----------------------------------------------------------------------
diff --git a/modules/simstream/example/openmm_example/openmm_consumer.py b/modules/simstream/example/openmm_example/openmm_consumer.py
deleted file mode 100644
index 4ba2763..0000000
--- a/modules/simstream/example/openmm_example/openmm_consumer.py
+++ /dev/null
@@ -1,8 +0,0 @@
-import json
-from simstream import PikaAsyncConsumer
-
-def recv_log(body):
- try:
- logs = json.loads(body.decode())
- for log in logs:
- print(log)
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/openmm_example/openmm_log_consumer.py
----------------------------------------------------------------------
diff --git a/modules/simstream/example/openmm_example/openmm_log_consumer.py b/modules/simstream/example/openmm_example/openmm_log_consumer.py
deleted file mode 100644
index e28043f..0000000
--- a/modules/simstream/example/openmm_example/openmm_log_consumer.py
+++ /dev/null
@@ -1,32 +0,0 @@
-import json
-from simstream import PikaAsyncConsumer
-
-settings = {}
-
-with open("../settings.json", 'r') as f:
- settings = json.load(f)
-settings["routing_key"] = "openmm.log"
-
-def print_log_line(body):
- try:
- lines = json.loads(body.decode())
- if lines is not None:
- for line in lines:
- print(line)
- except json.decoder.JSONDecodeError as e:
- print("[Error]: Could not decode %s" % (body))
- except UnicodeError as e:
- print("[Error]: Could not decode from bytes to string: %s" % (e.reason))
-
-consumer = PikaAsyncConsumer(settings["url"],
- settings["exchange"],
- "openmm.log", # settings["queue"],
- message_handler=print_log_line,
- routing_key=settings["routing_key"],
- exchange_type=settings["exchange_type"])
-
-if __name__ == "__main__":
- try:
- consumer.start()
- except KeyboardInterrupt:
- consumer.stop()
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/openmm_example/openmm_rmsd_consumer.py
----------------------------------------------------------------------
diff --git a/modules/simstream/example/openmm_example/openmm_rmsd_consumer.py b/modules/simstream/example/openmm_example/openmm_rmsd_consumer.py
deleted file mode 100644
index f5d87c6..0000000
--- a/modules/simstream/example/openmm_example/openmm_rmsd_consumer.py
+++ /dev/null
@@ -1,36 +0,0 @@
-import json
-from simstream import PikaAsyncConsumer
-
-settings = {}
-
-with open("../settings.json", 'r') as f:
- settings = json.load(f)
-settings["routing_key"] = "openmm.rmsd"
-
-def print_rmsd(body):
- try:
- lines = json.loads(body.decode())
- if lines is not None:
- for line in lines:
- print(line[0])
- except json.decoder.JSONDecodeError as e:
- print("[Error]: Could not decode %s" % (body))
- except UnicodeError as e:
- print("[Error]: Could not decode from bytes to string: %s" % (e.reason))
- except IndexError as e:
- print("[Error]: List is empty")
- except KeyError:
- print(lines)
-
-consumer = PikaAsyncConsumer(settings["url"],
- settings["exchange"],
- "openmm.rmsd", # settings["queue"],
- message_handler=print_rmsd,
- routing_key=settings["routing_key"],
- exchange_type=settings["exchange_type"])
-
-if __name__ == "__main__":
- try:
- consumer.start()
- except KeyboardInterrupt:
- consumer.stop()
http://git-wip-us.apache.org/repos/asf/airavata/blob/a82e34ec/modules/simstream/example/openmm_example/openmm_stream.slurm
----------------------------------------------------------------------
diff --git a/modules/simstream/example/openmm_example/openmm_stream.slurm b/modules/simstream/example/openmm_example/openmm_stream.slurm
deleted file mode 100644
index 837e4d4..0000000
--- a/modules/simstream/example/openmm_example/openmm_stream.slurm
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env bash
-
-#SBATCH -J remote_logger # Job name
-#SBATCH -o remote_logger.o%j # Name of stdout output file(%j expands to jobId)
-#SBATCH -e remote_logger.o%j # Name of stderr output file(%j expands to jobId)
-#SBATCH -p development # large queue for jobs > 256 nodes
-#SBATCH -t 00:10:00 # Run time (hh:mm:ss) - 1.5 hours
-#SBATCH -n 1 # Nodes to use
-
-#module use "/home1/03947/tg832463/modulefiles"
-#module load openmm
-
-touch test.txt
-
-python openmm_streamer.py ./application/sim.out ./application/trajectory.dcd ./application/input.pdb ./application/input.pdb &
-
-cd application
-python alanine_dipeptide.py > sim.out
-sleep 5