aquarium
11 years agoFixed RabbitMQProducer. Now it is fully reliable.
Prodromos Gerakios [Tue, 21 Aug 2012 13:51:08 +0000 (16:51 +0300)]
Fixed RabbitMQProducer. Now it is fully reliable.

11 years agoTowards a perfect RabbitMQProducer -> actor not receiving msgs
Prodromos Gerakios [Tue, 21 Aug 2012 13:26:11 +0000 (16:26 +0300)]
Towards a perfect RabbitMQProducer -> actor not receiving msgs

11 years agoFixed ping.sh
Prodromos Gerakios [Mon, 20 Aug 2012 10:53:36 +0000 (13:53 +0300)]
Fixed ping.sh

11 years agoadded ping.sh
Prodromos Gerakios [Mon, 20 Aug 2012 08:54:33 +0000 (11:54 +0300)]
added ping.sh

12 years agoChange var to val
Christos KK Loverdos [Fri, 17 Aug 2012 14:16:14 +0000 (17:16 +0300)]
Change var to val

12 years agoAdhere to existing naming conventions
Christos KK Loverdos [Fri, 17 Aug 2012 14:10:58 +0000 (17:10 +0300)]
Adhere to existing naming conventions

NOTE: Test integration with the receiving system (Astakos).

12 years agoWIP charging behavior
Christos KK Loverdos [Fri, 17 Aug 2012 13:37:40 +0000 (16:37 +0300)]
WIP charging behavior

12 years agoMinor fixes in UserActor, BillEntry and RabbitMQProducer
Prodromos Gerakios [Fri, 17 Aug 2012 06:15:53 +0000 (09:15 +0300)]
Minor fixes in UserActor, BillEntry and RabbitMQProducer

12 years agoMerge branch 'master' of https://code.grnet.gr/git/aquarium
Prodromos Gerakios [Fri, 17 Aug 2012 05:48:42 +0000 (08:48 +0300)]
Merge branch 'master' of https://code.grnet.gr/git/aquarium

12 years agoFinished Bill implementation. Added bill.sh to automatically send events and print...
Prodromos Gerakios [Fri, 17 Aug 2012 05:46:28 +0000 (08:46 +0300)]
Finished Bill implementation. Added bill.sh to automatically send events and print the resulting bill

12 years agoMerge selectors into master
Christos KK Loverdos [Thu, 16 Aug 2012 13:18:21 +0000 (16:18 +0300)]
Merge selectors into master

NOTE: master was in DNC state (Does Not Compile).

12 years agoHook selectors into the price computation path selectors
Christos KK Loverdos [Thu, 16 Aug 2012 12:58:33 +0000 (15:58 +0300)]
Hook selectors into the price computation path

12 years agoUse full type hints for json
Christos KK Loverdos [Thu, 16 Aug 2012 06:47:31 +0000 (09:47 +0300)]
Use full type hints for json

12 years agoEnable incremental compilation
Christos KK Loverdos [Thu, 16 Aug 2012 06:35:35 +0000 (09:35 +0300)]
Enable incremental compilation

12 years agoUpgrade scala-maven-plugin
Christos KK Loverdos [Thu, 16 Aug 2012 06:31:26 +0000 (09:31 +0300)]
Upgrade scala-maven-plugin

12 years agoRabbitMQProducer handles Nacks. UserActor accepts user balance additions from Astakos...
Prodromos Gerakios [Tue, 7 Aug 2012 13:55:23 +0000 (16:55 +0300)]
RabbitMQProducer handles Nacks. UserActor accepts user balance additions from Astakos. Timeslot.align has been fixed. Details Pings have been implemented.

12 years agoReliable message passing for RabbitMQProducer
Prodromos Gerakios [Mon, 6 Aug 2012 12:25:55 +0000 (15:25 +0300)]
Reliable message passing for RabbitMQProducer

12 years agoAdded REST functionality for the Bill. RabbitMQProducer was refined. UserActor sends...
Prodromos Gerakios [Fri, 3 Aug 2012 11:21:05 +0000 (14:21 +0300)]
Added REST functionality for the Bill. RabbitMQProducer was refined. UserActor sends message only when state changes

12 years agoSelector simplifications
Christos KK Loverdos [Fri, 27 Jul 2012 14:22:24 +0000 (17:22 +0300)]
Selector simplifications

12 years agoMerge branch 'master' into merged_master_selectors
Christos KK Loverdos [Fri, 27 Jul 2012 10:21:06 +0000 (13:21 +0300)]
Merge branch 'master' into merged_master_selectors

12 years agominor fix in JSON message (UserActor-->Astakos , user balance)
Prodromos Gerakios [Fri, 27 Jul 2012 10:17:03 +0000 (13:17 +0300)]
minor fix in JSON message (UserActor-->Astakos , user balance)

12 years agoRabbitMQ producer sends user balance >= 0 to astakos
Prodromos Gerakios [Fri, 27 Jul 2012 10:12:27 +0000 (13:12 +0300)]
RabbitMQ producer sends user balance >= 0 to astakos

12 years agoFirst cut of selectors.
Christos KK Loverdos [Thu, 26 Jul 2012 11:50:38 +0000 (14:50 +0300)]
First cut of selectors.

Pandora's box. Too simple. Too flexible.

12 years agoAdded RabbitMQProducer.scala. The code has been tests and works. "rabbitmq.imevents...
Prodromos Gerakios [Wed, 25 Jul 2012 14:27:27 +0000 (17:27 +0300)]
Added RabbitMQProducer.scala. The code has been tests and works. "rabbitmq.imevents.credit=astakos:astakos-events-credit" must be added in aquarium.properties

12 years agoFix bad handling of IMEvent from the UserActor.
Christos KK Loverdos [Mon, 23 Jul 2012 15:36:08 +0000 (18:36 +0300)]
Fix bad handling of IMEvent from the UserActor.

Upon arrival of the first IMEvent and after some ResourceEvents had
already arrived at the UserActor, we got an exception due to user
agreements beeing empty (being empty is reasonable, since there were no
IMEvent previously).

The correct behavior is to check for this case and then run
initializeStateOfIMEvents().

12 years agoRemoved timeslot computations print statements
Prodromos Gerakios [Mon, 23 Jul 2012 13:28:53 +0000 (16:28 +0300)]
Removed timeslot computations print statements

12 years agoFixed data race in caching polict store. Restored some code from timeslot computations
Prodromos Gerakios [Mon, 23 Jul 2012 12:59:36 +0000 (15:59 +0300)]
Fixed data race in caching polict store. Restored some code from timeslot computations

12 years agoWallets go REST
Christos KK Loverdos [Fri, 20 Jul 2012 09:21:42 +0000 (12:21 +0300)]
Wallets go REST

There is a bug related to the timeslot computations, so I had to disable
every piece that computes fine-grained timeslots and their corresponing
stuff (agreement).

12 years agoAdd a UserStateModelSkeleton
Christos KK Loverdos [Thu, 19 Jul 2012 22:06:48 +0000 (01:06 +0300)]
Add a UserStateModelSkeleton

12 years agoUnimplemented operations on PolicyStore return safe results
Christos KK Loverdos [Thu, 19 Jul 2012 21:08:19 +0000 (00:08 +0300)]
Unimplemented operations on PolicyStore return safe results

12 years agoBetter handling of billing month info
Christos KK Loverdos [Thu, 19 Jul 2012 18:51:34 +0000 (21:51 +0300)]
Better handling of billing month info

12 years agoEnsure the cache is loaded before inserting
Christos KK Loverdos [Thu, 19 Jul 2012 18:27:34 +0000 (21:27 +0300)]
Ensure the cache is loaded before inserting

12 years agoSlash'em high
Christos KK Loverdos [Thu, 19 Jul 2012 18:19:58 +0000 (21:19 +0300)]
Slash'em high

12 years agoFix NPE with initial user state
Christos KK Loverdos [Thu, 19 Jul 2012 14:57:54 +0000 (17:57 +0300)]
Fix NPE with initial user state

12 years agoInitializing the policy store the very first time
Christos KK Loverdos [Thu, 19 Jul 2012 14:28:42 +0000 (17:28 +0300)]
Initializing the policy store the very first time

If the DB is empty, then we insert the default policy, as given in the
policy.json file.

12 years agoTimerService is concrete now
Christos KK Loverdos [Thu, 19 Jul 2012 13:44:54 +0000 (16:44 +0300)]
TimerService is concrete now

12 years agoApplying the new policy semantics everywhere
Christos KK Loverdos [Thu, 19 Jul 2012 13:06:04 +0000 (16:06 +0300)]
Applying the new policy semantics everywhere

12 years agoadded implementation for MemStoreProvider (PolicyStore methods)
Prodromos Gerakios [Thu, 19 Jul 2012 12:54:15 +0000 (15:54 +0300)]
added implementation for MemStoreProvider (PolicyStore methods)

12 years agofixed make-dist.sh
Prodromos Gerakios [Wed, 18 Jul 2012 08:50:43 +0000 (11:50 +0300)]
fixed make-dist.sh

12 years agoTest cases for EffectUnitPrice
Prodromos Gerakios [Mon, 16 Jul 2012 08:24:23 +0000 (11:24 +0300)]
Test cases for EffectUnitPrice

12 years agopolicyStore is now a val ! Not a def
Prodromos Gerakios [Fri, 13 Jul 2012 10:10:50 +0000 (13:10 +0300)]
policyStore is now a val ! Not a def

12 years agoImplemented PolicyHistory.scala (a cache that wraps Database calls) and modified...
Prodromos Gerakios [Fri, 13 Jul 2012 10:06:53 +0000 (13:06 +0300)]
Implemented PolicyHistory.scala (a cache that wraps Database calls) and modified various bits and pieces

12 years agoManually revert to ddd366d
Christos KK Loverdos [Fri, 13 Jul 2012 09:16:56 +0000 (12:16 +0300)]
Manually revert to ddd366d

12 years agoMerge remote-tracking branch 'origin/master'
Prodromos Gerakios [Thu, 12 Jul 2012 14:30:45 +0000 (17:30 +0300)]
Merge remote-tracking branch 'origin/master'

Conflicts:
src/test/scala/gr/grnet/aquarium/logic/test/DSLTimeFrameTest.scala

12 years agomore test cases
Prodromos Gerakios [Thu, 12 Jul 2012 07:54:36 +0000 (10:54 +0300)]
more test cases

12 years agoWIP: Keeping aquarum policies in memory
Christos KK Loverdos [Wed, 11 Jul 2012 15:53:51 +0000 (18:53 +0300)]
WIP: Keeping aquarum policies in memory

12 years agoUpgrade guava libraries to 12.0.1
Christos KK Loverdos [Wed, 11 Jul 2012 14:55:54 +0000 (17:55 +0300)]
Upgrade guava libraries to 12.0.1

12 years agoStores are always retrieved from the store provider
Christos KK Loverdos [Wed, 11 Jul 2012 13:48:35 +0000 (16:48 +0300)]
Stores are always retrieved from the store provider

Previously they could be overriden by adhoc implementations. The new
design is simpler.

12 years agoInitial aquarium policy is now in JSON
Christos KK Loverdos [Wed, 11 Jul 2012 12:18:32 +0000 (15:18 +0300)]
Initial aquarium policy is now in JSON

12 years agoTest case for new policy configuration
Christos KK Loverdos [Wed, 11 Jul 2012 11:46:00 +0000 (14:46 +0300)]
Test case for new policy configuration

12 years agoMerge remote-tracking branch 'origin/master'
Prodromos Gerakios [Mon, 9 Jul 2012 13:41:41 +0000 (16:41 +0300)]
Merge remote-tracking branch 'origin/master'

12 years agoremoved deprecated DSL*.scala files
Prodromos Gerakios [Mon, 9 Jul 2012 13:41:30 +0000 (16:41 +0300)]
removed deprecated DSL*.scala files

12 years agoFix imports
Christos KK Loverdos [Mon, 9 Jul 2012 13:39:23 +0000 (16:39 +0300)]
Fix imports

12 years agoRemove obsolete files
Christos KK Loverdos [Mon, 9 Jul 2012 13:37:55 +0000 (16:37 +0300)]
Remove obsolete files

12 years agoFix a compilation error (did not implement a MemStore method)
Christos KK Loverdos [Mon, 9 Jul 2012 13:24:51 +0000 (16:24 +0300)]
Fix a compilation error (did not implement a MemStore method)

12 years agoDSLUtils is now deprecated. Implemented the functionality of EffectivePriceUnit.scala...
Prodromos Gerakios [Mon, 9 Jul 2012 13:11:33 +0000 (16:11 +0300)]
DSLUtils is now deprecated. Implemented the functionality of EffectivePriceUnit.scala, added CronSpec.scala and moved a few methods from DSLUtils to TimeslotComputations.scala

12 years agoMerge remote-tracking branch 'origin/master'
Prodromos Gerakios [Mon, 9 Jul 2012 09:59:06 +0000 (12:59 +0300)]
Merge remote-tracking branch 'origin/master'

12 years agoWIP chargeslot computations
Christos KK Loverdos [Mon, 9 Jul 2012 09:43:05 +0000 (12:43 +0300)]
WIP chargeslot computations

12 years agoRemove one redundant parameter in charging computations
Christos KK Loverdos [Mon, 9 Jul 2012 08:32:10 +0000 (11:32 +0300)]
Remove one redundant parameter in charging computations

12 years agoAdd correct prefix to a mongodb configuration parameter
Christos KK Loverdos [Mon, 9 Jul 2012 08:30:02 +0000 (11:30 +0300)]
Add correct prefix to a mongodb configuration parameter

12 years agoSecond cut of the new policy configuration system
Christos KK Loverdos [Fri, 6 Jul 2012 11:36:56 +0000 (14:36 +0300)]
Second cut of the new policy configuration system

Major changes. Does not compile. Will need a third round.

12 years agoFirst cut of the new policy configuration system
Christos KK Loverdos [Wed, 4 Jul 2012 13:55:12 +0000 (16:55 +0300)]
First cut of the new policy configuration system

This is to replace the existing DSLXXX stuff for several reasons:

- Maps better to user requirements.
- Is simpler to state and implement and thus can be better tested.
- Is also flexible but with clearer semantics.
- Will be serialized/deserialed automatically (via JSON), without the
need to special YAML parsing and special YAML saving (in the store).

12 years agoAdd support for travis-ci
Christos KK Loverdos [Wed, 4 Jul 2012 09:11:00 +0000 (12:11 +0300)]
Add support for travis-ci

See http://travis-ci.org/

12 years agoTests for DSLTimeFrame.intervalsOf method
Prodromos Gerakios [Tue, 3 Jul 2012 14:05:29 +0000 (17:05 +0300)]
Tests for DSLTimeFrame.intervalsOf method

12 years agoMerge remote-tracking branch 'origin/master'
Prodromos Gerakios [Mon, 2 Jul 2012 13:19:06 +0000 (16:19 +0300)]
Merge remote-tracking branch 'origin/master'

12 years agoTimespecs should be working ok now!
Prodromos Gerakios [Mon, 2 Jul 2012 13:18:16 +0000 (16:18 +0300)]
Timespecs should be working ok now!

12 years agoRemove redundant call to AquariumAware
Christos KK Loverdos [Mon, 2 Jul 2012 11:33:19 +0000 (14:33 +0300)]
Remove redundant call to AquariumAware

This is automatically done inside newInstance() now.

12 years agoA bit more informative documentation
Christos KK Loverdos [Mon, 2 Jul 2012 11:31:17 +0000 (14:31 +0300)]
A bit more informative documentation

12 years agoRemove unused statement
Christos KK Loverdos [Mon, 2 Jul 2012 11:20:26 +0000 (14:20 +0300)]
Remove unused statement

12 years agoConsider a forgotten match case
Christos KK Loverdos [Mon, 2 Jul 2012 11:14:00 +0000 (14:14 +0300)]
Consider a forgotten match case

Note that the now two last cases can be merged to one like this:

- case _ => ...

but we keep them separate just to make it clear what is going on and to
easily change the response for each case if such a need arises.

12 years agoProperly handle user actor eviction
Christos KK Loverdos [Mon, 2 Jul 2012 11:03:36 +0000 (14:03 +0300)]
Properly handle user actor eviction

12 years agoRename the functional interface of AquariumAware
Christos KK Loverdos [Mon, 2 Jul 2012 11:02:31 +0000 (14:02 +0300)]
Rename the functional interface of AquariumAware

12 years agoMore internal info exposed via the protected REST api
Christos KK Loverdos [Mon, 2 Jul 2012 11:00:37 +0000 (14:00 +0300)]
More internal info exposed via the protected REST api

12 years agoConfiguring all new instances that are AquariumAware
Christos KK Loverdos [Mon, 2 Jul 2012 10:39:22 +0000 (13:39 +0300)]
Configuring all new instances that are AquariumAware

12 years agoShowing the available processors upon starting
Christos KK Loverdos [Mon, 2 Jul 2012 10:38:18 +0000 (13:38 +0300)]
Showing the available processors upon starting

12 years agoShowing the propertied prefix of the configured instance
Christos KK Loverdos [Mon, 2 Jul 2012 10:36:48 +0000 (13:36 +0300)]
Showing the propertied prefix of the configured instance

12 years agoPreparing for jackson json stuff
Christos KK Loverdos [Mon, 2 Jul 2012 10:34:15 +0000 (13:34 +0300)]
Preparing for jackson json stuff

12 years agoDo not throw exceptions at the browser's face
Christos KK Loverdos [Fri, 29 Jun 2012 12:39:42 +0000 (15:39 +0300)]
Do not throw exceptions at the browser's face

12 years agoFix a bug with class casting to the wrong future type
Christos KK Loverdos [Fri, 29 Jun 2012 11:40:15 +0000 (14:40 +0300)]
Fix a bug with class casting to the wrong future type

12 years agoTo the point README
Christos KK Loverdos [Fri, 29 Jun 2012 09:51:10 +0000 (12:51 +0300)]
To the point README

12 years agoProperly rename the folder that contains the paper
Christos KK Loverdos [Fri, 29 Jun 2012 09:08:50 +0000 (12:08 +0300)]
Properly rename the folder that contains the paper

12 years agoUpgrade Akka to 2.0.2
Christos KK Loverdos [Thu, 28 Jun 2012 16:02:07 +0000 (19:02 +0300)]
Upgrade Akka to 2.0.2

In the process, cleaned up code and make a few changes for more robust
actor cache handling.

12 years agoRemove spray configuration
Christos KK Loverdos [Thu, 28 Jun 2012 11:56:19 +0000 (14:56 +0300)]
Remove spray configuration

12 years agoUpgrade amqp client lib
Christos KK Loverdos [Thu, 28 Jun 2012 11:27:41 +0000 (14:27 +0300)]
Upgrade amqp client lib

12 years agoRemove unused pinger actor
Christos KK Loverdos [Thu, 28 Jun 2012 11:25:16 +0000 (14:25 +0300)]
Remove unused pinger actor

12 years agoReturn 404 when no user state is found
Christos KK Loverdos [Thu, 28 Jun 2012 11:19:01 +0000 (14:19 +0300)]
Return 404 when no user state is found

12 years agoConfigure aquarium when creating the user actor
Christos KK Loverdos [Thu, 28 Jun 2012 11:15:00 +0000 (14:15 +0300)]
Configure aquarium when creating the user actor

12 years agoUse finagle instead of spray for the REST functionality
Christos KK Loverdos [Wed, 27 Jun 2012 22:56:44 +0000 (01:56 +0300)]
Use finagle instead of spray for the REST functionality

Not tested yet

12 years agoRemove unused dependency
Christos KK Loverdos [Mon, 25 Jun 2012 13:23:13 +0000 (16:23 +0300)]
Remove unused dependency

12 years agoRemove imports that generate compilation warnings
Christos KK Loverdos [Mon, 25 Jun 2012 10:33:14 +0000 (13:33 +0300)]
Remove imports that generate compilation warnings

12 years agoMerge commit '695c71e20f5a068757525453e76792914b15b2bd'
Christos KK Loverdos [Fri, 22 Jun 2012 13:27:08 +0000 (16:27 +0300)]
Merge commit '695c71e20f5a068757525453e76792914b15b2bd'

12 years agoRefactor Aquarium to make it more configurable
Christos KK Loverdos [Fri, 22 Jun 2012 13:07:56 +0000 (16:07 +0300)]
Refactor Aquarium to make it more configurable

- No Aquarium singleton any more.
- Aquarium is bootstrapped and configured using a builder.
- Services are wired a bit differently right now. Needs more testing, in
order to reach previous runtime stability.

12 years agoSeveral fixes and refactorings ins package logic.acounting.dsl
Prodromos Gerakios [Thu, 21 Jun 2012 14:09:50 +0000 (17:09 +0300)]
Several fixes and refactorings ins package logic.acounting.dsl

12 years agoWelcome Prodromos!
Christos KK Loverdos [Wed, 20 Jun 2012 09:20:11 +0000 (12:20 +0300)]
Welcome Prodromos!

12 years agoAlways calculate wallet entries
Christos KK Loverdos [Mon, 18 Jun 2012 13:06:44 +0000 (16:06 +0300)]
Always calculate wallet entries

12 years agoCost policy generalizations
Christos KK Loverdos [Mon, 18 Jun 2012 12:53:52 +0000 (15:53 +0300)]
Cost policy generalizations

Use the whole event instead of tis value for decision making and
computations. This was long in the todo list, time to apply it now.

12 years agoTrimming down the interface of cost policy
Christos KK Loverdos [Mon, 18 Jun 2012 11:39:06 +0000 (14:39 +0300)]
Trimming down the interface of cost policy

I accidentally committed on the debian branch. Cherry-picking the latest
commit here generated some conflicts.

Conflicts:
src/main/scala/gr/grnet/aquarium/logic/accounting/dsl/DSLCostPolicy.scala

12 years agoFix policy effectiveness period
Christos KK Loverdos [Thu, 14 Jun 2012 13:40:43 +0000 (16:40 +0300)]
Fix policy effectiveness period

Previously, the policy loaded from policy.yaml was taken to be effective
starting from the time the loading happended. Normally, we need to set
a proper effectivess period for the policy. Until then and in order for
some other test cases to proceed, we consider a better starting time.

12 years agoWIP Resource event handling
Christos KK Loverdos [Wed, 13 Jun 2012 13:45:42 +0000 (16:45 +0300)]
WIP Resource event handling

- Boundary conditions for first events

12 years agoWIP Resource event handling and API cleanup
Christos KK Loverdos [Mon, 11 Jun 2012 15:38:40 +0000 (18:38 +0300)]
WIP Resource event handling and API cleanup