aquarium
11 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

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

11 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

11 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)

11 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

11 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.

11 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

11 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().

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

11 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

11 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).

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

11 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

11 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

11 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

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

11 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

11 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.

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

11 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

11 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)

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

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

11 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

11 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

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

11 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

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

11 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

11 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

11 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.

11 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

11 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

11 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'

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

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

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

11 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)

11 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

11 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'

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

11 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

11 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

11 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.

11 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).

11 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/

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

11 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'

11 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!

11 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.

11 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

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

11 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.

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

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

11 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

11 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.

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

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

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

11 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

11 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

11 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

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

11 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

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

11 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.

11 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

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

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

11 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.

11 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

11 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.

11 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

11 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

11 years agoRemove reference to test.sh from make-dist.sh
Christos KK Loverdos [Mon, 11 Jun 2012 12:24:40 +0000 (15:24 +0300)]
Remove reference to test.sh from make-dist.sh

11 years agoAdd some header to aquarium script, needed for the init.d service
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

11 years agoRemove obsolete test script
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.

11 years agoOrganize a few rest paths
Christos KK Loverdos [Mon, 11 Jun 2012 08:51:03 +0000 (11:51 +0300)]
Organize a few rest paths

11 years agoIntroduce error tags
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.

11 years agoAdd two more REST internal calls
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

11 years agoInternal REST calls go through a header check
Christos KK Loverdos [Fri, 8 Jun 2012 13:36:15 +0000 (16:36 +0300)]
Internal REST calls go through a header check

11 years agoExpose via REST some useful info
Christos KK Loverdos [Fri, 8 Jun 2012 12:52:33 +0000 (15:52 +0300)]
Expose via REST some useful info

11 years agoWIP Resource event handling
Christos KK Loverdos [Fri, 8 Jun 2012 12:11:50 +0000 (15:11 +0300)]
WIP Resource event handling

11 years agoWIP Resource event handling
Christos KK Loverdos [Thu, 7 Jun 2012 14:03:59 +0000 (17:03 +0300)]
WIP Resource event handling

11 years agoWIP Resource event handling
Christos KK Loverdos [Wed, 6 Jun 2012 15:28:53 +0000 (18:28 +0300)]
WIP Resource event handling

11 years agoBeing devops-friendly until a user creation event arrives
Christos KK Loverdos [Tue, 5 Jun 2012 07:36:10 +0000 (10:36 +0300)]
Being devops-friendly until a user creation event arrives

11 years agoSmall doc: We ignore everything except serious errors
Christos KK Loverdos [Tue, 5 Jun 2012 07:34:03 +0000 (10:34 +0300)]
Small doc: We ignore everything except serious errors

11 years agoRework billing month info
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.

11 years agoAdd one more logging utility method
Christos KK Loverdos [Mon, 4 Jun 2012 13:27:35 +0000 (16:27 +0300)]
Add one more logging utility method

11 years agoSmall clarification regarding loading logging configuration
Christos KK Loverdos [Mon, 4 Jun 2012 13:27:02 +0000 (16:27 +0300)]
Small clarification regarding loading logging configuration

11 years agoAdjust default aquarium.properties
Christos KK Loverdos [Fri, 1 Jun 2012 13:48:36 +0000 (16:48 +0300)]
Adjust default aquarium.properties