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
Prodromos Gerakios [Fri, 27 Jul 2012 10:17:03 +0000 (13:17 +0300)]
minor fix in JSON message (UserActor-->Astakos , user balance)
Prodromos Gerakios [Fri, 27 Jul 2012 10:12:27 +0000 (13:12 +0300)]
RabbitMQ producer sends user balance >= 0 to astakos
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
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().
Prodromos Gerakios [Mon, 23 Jul 2012 13:28:53 +0000 (16:28 +0300)]
Removed timeslot computations print statements
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
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).
Christos KK Loverdos [Thu, 19 Jul 2012 22:06:48 +0000 (01:06 +0300)]
Add a UserStateModelSkeleton
Christos KK Loverdos [Thu, 19 Jul 2012 21:08:19 +0000 (00:08 +0300)]
Unimplemented operations on PolicyStore return safe results
Christos KK Loverdos [Thu, 19 Jul 2012 18:51:34 +0000 (21:51 +0300)]
Better handling of billing month info
Christos KK Loverdos [Thu, 19 Jul 2012 18:27:34 +0000 (21:27 +0300)]
Ensure the cache is loaded before inserting
Christos KK Loverdos [Thu, 19 Jul 2012 18:19:58 +0000 (21:19 +0300)]
Slash'em high
Christos KK Loverdos [Thu, 19 Jul 2012 14:57:54 +0000 (17:57 +0300)]
Fix NPE with initial user state
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.
Christos KK Loverdos [Thu, 19 Jul 2012 13:44:54 +0000 (16:44 +0300)]
TimerService is concrete now
Christos KK Loverdos [Thu, 19 Jul 2012 13:06:04 +0000 (16:06 +0300)]
Applying the new policy semantics everywhere
Prodromos Gerakios [Thu, 19 Jul 2012 12:54:15 +0000 (15:54 +0300)]
added implementation for MemStoreProvider (PolicyStore methods)
Prodromos Gerakios [Wed, 18 Jul 2012 08:50:43 +0000 (11:50 +0300)]
fixed make-dist.sh
Prodromos Gerakios [Mon, 16 Jul 2012 08:24:23 +0000 (11:24 +0300)]
Test cases for EffectUnitPrice
Prodromos Gerakios [Fri, 13 Jul 2012 10:10:50 +0000 (13:10 +0300)]
policyStore is now a val ! Not a def
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
Christos KK Loverdos [Fri, 13 Jul 2012 09:16:56 +0000 (12:16 +0300)]
Manually revert to ddd366d
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
Prodromos Gerakios [Thu, 12 Jul 2012 07:54:36 +0000 (10:54 +0300)]
more test cases
Christos KK Loverdos [Wed, 11 Jul 2012 15:53:51 +0000 (18:53 +0300)]
WIP: Keeping aquarum policies in memory
Christos KK Loverdos [Wed, 11 Jul 2012 14:55:54 +0000 (17:55 +0300)]
Upgrade guava libraries to 12.0.1
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.
Christos KK Loverdos [Wed, 11 Jul 2012 12:18:32 +0000 (15:18 +0300)]
Initial aquarium policy is now in JSON
Christos KK Loverdos [Wed, 11 Jul 2012 11:46:00 +0000 (14:46 +0300)]
Test case for new policy configuration
Prodromos Gerakios [Mon, 9 Jul 2012 13:41:41 +0000 (16:41 +0300)]
Merge remote-tracking branch 'origin/master'
Prodromos Gerakios [Mon, 9 Jul 2012 13:41:30 +0000 (16:41 +0300)]
removed deprecated DSL*.scala files
Christos KK Loverdos [Mon, 9 Jul 2012 13:39:23 +0000 (16:39 +0300)]
Fix imports
Christos KK Loverdos [Mon, 9 Jul 2012 13:37:55 +0000 (16:37 +0300)]
Remove obsolete files
Christos KK Loverdos [Mon, 9 Jul 2012 13:24:51 +0000 (16:24 +0300)]
Fix a compilation error (did not implement a MemStore method)
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
Prodromos Gerakios [Mon, 9 Jul 2012 09:59:06 +0000 (12:59 +0300)]
Merge remote-tracking branch 'origin/master'
Christos KK Loverdos [Mon, 9 Jul 2012 09:43:05 +0000 (12:43 +0300)]
WIP chargeslot computations
Christos KK Loverdos [Mon, 9 Jul 2012 08:32:10 +0000 (11:32 +0300)]
Remove one redundant parameter in charging computations
Christos KK Loverdos [Mon, 9 Jul 2012 08:30:02 +0000 (11:30 +0300)]
Add correct prefix to a mongodb configuration parameter
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.
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).
Christos KK Loverdos [Wed, 4 Jul 2012 09:11:00 +0000 (12:11 +0300)]
Add support for travis-ci
See http://travis-ci.org/
Prodromos Gerakios [Tue, 3 Jul 2012 14:05:29 +0000 (17:05 +0300)]
Tests for DSLTimeFrame.intervalsOf method
Prodromos Gerakios [Mon, 2 Jul 2012 13:19:06 +0000 (16:19 +0300)]
Merge remote-tracking branch 'origin/master'
Prodromos Gerakios [Mon, 2 Jul 2012 13:18:16 +0000 (16:18 +0300)]
Timespecs should be working ok now!
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.
Christos KK Loverdos [Mon, 2 Jul 2012 11:31:17 +0000 (14:31 +0300)]
A bit more informative documentation
Christos KK Loverdos [Mon, 2 Jul 2012 11:20:26 +0000 (14:20 +0300)]
Remove unused statement
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.
Christos KK Loverdos [Mon, 2 Jul 2012 11:03:36 +0000 (14:03 +0300)]
Properly handle user actor eviction
Christos KK Loverdos [Mon, 2 Jul 2012 11:02:31 +0000 (14:02 +0300)]
Rename the functional interface of AquariumAware
Christos KK Loverdos [Mon, 2 Jul 2012 11:00:37 +0000 (14:00 +0300)]
More internal info exposed via the protected REST api
Christos KK Loverdos [Mon, 2 Jul 2012 10:39:22 +0000 (13:39 +0300)]
Configuring all new instances that are AquariumAware
Christos KK Loverdos [Mon, 2 Jul 2012 10:38:18 +0000 (13:38 +0300)]
Showing the available processors upon starting
Christos KK Loverdos [Mon, 2 Jul 2012 10:36:48 +0000 (13:36 +0300)]
Showing the propertied prefix of the configured instance
Christos KK Loverdos [Mon, 2 Jul 2012 10:34:15 +0000 (13:34 +0300)]
Preparing for jackson json stuff
Christos KK Loverdos [Fri, 29 Jun 2012 12:39:42 +0000 (15:39 +0300)]
Do not throw exceptions at the browser's face
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
Christos KK Loverdos [Fri, 29 Jun 2012 09:51:10 +0000 (12:51 +0300)]
To the point README
Christos KK Loverdos [Fri, 29 Jun 2012 09:08:50 +0000 (12:08 +0300)]
Properly rename the folder that contains the paper
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.
Christos KK Loverdos [Thu, 28 Jun 2012 11:56:19 +0000 (14:56 +0300)]
Remove spray configuration
Christos KK Loverdos [Thu, 28 Jun 2012 11:27:41 +0000 (14:27 +0300)]
Upgrade amqp client lib
Christos KK Loverdos [Thu, 28 Jun 2012 11:25:16 +0000 (14:25 +0300)]
Remove unused pinger actor
Christos KK Loverdos [Thu, 28 Jun 2012 11:19:01 +0000 (14:19 +0300)]
Return 404 when no user state is found
Christos KK Loverdos [Thu, 28 Jun 2012 11:15:00 +0000 (14:15 +0300)]
Configure aquarium when creating the user actor
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
Christos KK Loverdos [Mon, 25 Jun 2012 13:23:13 +0000 (16:23 +0300)]
Remove unused dependency
Christos KK Loverdos [Mon, 25 Jun 2012 10:33:14 +0000 (13:33 +0300)]
Remove imports that generate compilation warnings
Christos KK Loverdos [Fri, 22 Jun 2012 13:27:08 +0000 (16:27 +0300)]
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.
Prodromos Gerakios [Thu, 21 Jun 2012 14:09:50 +0000 (17:09 +0300)]
Several fixes and refactorings ins package logic.acounting.dsl
Christos KK Loverdos [Wed, 20 Jun 2012 09:20:11 +0000 (12:20 +0300)]
Welcome Prodromos!
Christos KK Loverdos [Mon, 18 Jun 2012 13:06:44 +0000 (16:06 +0300)]
Always calculate wallet entries
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.
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
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.
Christos KK Loverdos [Wed, 13 Jun 2012 13:45:42 +0000 (16:45 +0300)]
WIP Resource event handling
- Boundary conditions for first events
Christos KK Loverdos [Mon, 11 Jun 2012 15:38:40 +0000 (18:38 +0300)]
WIP Resource event handling and API cleanup
Christos KK Loverdos [Mon, 11 Jun 2012 12:24:40 +0000 (15:24 +0300)]
Remove reference to test.sh from make-dist.sh
Christos KK Loverdos [Mon, 11 Jun 2012 11:46:08 +0000 (14:46 +0300)]
Add some header to aquarium script, needed for the init.d service
Christos KK Loverdos [Mon, 11 Jun 2012 08:52:49 +0000 (11:52 +0300)]
Remove obsolete test script
We will provide some other means of testing aquarium. For example, we
already have the /ping URL served by aquarium's REST/HTTP subsystem.
Christos KK Loverdos [Mon, 11 Jun 2012 08:51:03 +0000 (11:51 +0300)]
Organize a few rest paths
Christos KK Loverdos [Mon, 11 Jun 2012 08:03:14 +0000 (11:03 +0300)]
Introduce error tags
The rationale is:
- To have a centralized view of what error conditions can appear in
Aquarium.
- To use consistent error descriptions, in case where an error condition
applies to more than one place.
This is of course an initial approach. Let's see how it goes.
Christos KK Loverdos [Fri, 8 Jun 2012 14:49:24 +0000 (17:49 +0300)]
Add two more REST internal calls
- Get rc event by id.
- Get im event by id.
Calls are protected by the admin.cookie property
Christos KK Loverdos [Fri, 8 Jun 2012 13:36:15 +0000 (16:36 +0300)]
Internal REST calls go through a header check
Christos KK Loverdos [Fri, 8 Jun 2012 12:52:33 +0000 (15:52 +0300)]
Expose via REST some useful info
Christos KK Loverdos [Fri, 8 Jun 2012 12:11:50 +0000 (15:11 +0300)]
WIP Resource event handling
Christos KK Loverdos [Thu, 7 Jun 2012 14:03:59 +0000 (17:03 +0300)]
WIP Resource event handling
Christos KK Loverdos [Wed, 6 Jun 2012 15:28:53 +0000 (18:28 +0300)]
WIP Resource event handling
Christos KK Loverdos [Tue, 5 Jun 2012 07:36:10 +0000 (10:36 +0300)]
Being devops-friendly until a user creation event arrives
Christos KK Loverdos [Tue, 5 Jun 2012 07:34:03 +0000 (10:34 +0300)]
Small doc: We ignore everything except serious errors
Christos KK Loverdos [Tue, 5 Jun 2012 07:32:31 +0000 (10:32 +0300)]
Rework billing month info
We are more JSON-friendly, without the need for custom type hints for
lift-json.
Christos KK Loverdos [Mon, 4 Jun 2012 13:27:35 +0000 (16:27 +0300)]
Add one more logging utility method
Christos KK Loverdos [Mon, 4 Jun 2012 13:27:02 +0000 (16:27 +0300)]
Small clarification regarding loading logging configuration
Christos KK Loverdos [Fri, 1 Jun 2012 13:48:36 +0000 (16:48 +0300)]
Adjust default aquarium.properties
Christos KK Loverdos [Fri, 1 Jun 2012 13:06:38 +0000 (16:06 +0300)]
Reenable custom logging configurarion loading
Christos KK Loverdos [Fri, 1 Jun 2012 12:36:38 +0000 (15:36 +0300)]
Print more logging info while starting up
Christos KK Loverdos [Fri, 1 Jun 2012 11:48:18 +0000 (14:48 +0300)]
Remove sbt build stuff