GitHub PushEvent at 2014-03-24 21:55:09
Repository: asgard
Actor: joesondow
Payload: {"shas":[["99be82a381267b8db9f5386a5830570bd587d9c1","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Fixed IDE warnings, added better return types, added missing GroovyDocs","Joe Sondow",false],["f370dceb8146550852980d6030ee81c807bf488c","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Worked around grails reloading issue for certain services at development time","Joe Sondow",false],["1ceee2ea3a4b8b0c0afe6bff8d21761f05a0255f","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Slowed down ajax poller for task screen, now that some tasks will require slow remote calls across two Asgard machines","Joe Sondow",false],["b965fe9ed23087785a593ee58a3ab007df1b3016","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Refactored, documented, and unit tested RestClientService\n\nReduced repetitive code and to use objects and variables to encapsulate important values.\nRemoved legacy unused optional parameter swallowException.","Joe Sondow",false],["968587a78885deea45b3eb80f653fbaaff39f4a6","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Created unit test for ServerController.runningTaskCount","Joe Sondow",false],["2aa7cdd10dae2e7f37dee7ae3f6bd2483a9a6834","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Renamed a method to be more specific, and added unit tests\n\nChanged TaskService method getRunningInMemory to getLocalRunningInMemory. This is in preparation for creating methods like getRemoteRunningInMemory for tasks on other Asgard instances in the same cluster.","Joe Sondow",false],["ac0cab8f85b60188547beb55b305a8a3a566bb8c","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Made it possible to configure otherServers for local development of multiple Asgards, or for data center Asgard deployments that should share an in-memory task list.\n\nAlso enabled the overriding of the port choice for other servers in the same cluster, in case the port cannot be gotten from Eureka.","Joe Sondow",false],["57f59a3b916a29ab3132e33e82f7c950157e15e5","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Added unit test for creating GroupedInstance","Joe Sondow",false],["12345cd363f8486cf1fd1fccaee335fd18952239","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Added multiple ways to find a callable server name or IP for a GroupedInstance\n\nRefactored to reduce Cyclomatic complexity in CodeNarc's eyes","Joe Sondow",false],["c5c3b4062fdb609ddf45acb917c3bc5a4a53be50","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Created EnvironmentService to enabling mocking of the environment for unit tests","Joe Sondow",false],["711a8f35a47aa0da5fe22c870679f703ae23fe54","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Exposed region environment variable key for reuse.","Joe Sondow",false],["e06d94926b89963271f5d786de2d24d0d0eafcee","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Made it possible to list all other servers sharing a logical cluster with the current Asgard instance.\n\nThis will allow any one Asgard instance to figure out the server names of all the other Asgard instances that should be sharing visible state, such as a task list merged from all the in-memory task lists of all the Asgard instances in the cluster.\n\nThe cluster can also be determined a system property like -DotherServers=localhost:8081,localhost:8082 for testing and -DotherServers=asgard102:80 for logical clustering in a data center.","Joe Sondow",false],["9a9aa9b936ec8fae754221aa32605c1f0272d888","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Refactored several unit tests from JUnit to Spock","Joe Sondow",false],["535d12ae85c28e650510c5bd1fbf26c937b547ad","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Enabled parsing of a UserContext json blob by Jackson","Joe Sondow",false],["ecc82ed9e15a313f5650773e7283a3c40f3a3c97","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Enabled Jackson serialization and deserialization of Region objects with backward compatibility.\n\nJackson will now serialize Region objects to code values like \"us-east-1\".\n\nJackson will now deserialize Region objects from either code values like \"us-east-1\" or enum names like \"US_EAST_1\". This means existing JSON blobs with Region enum names in SWF workflow execution tags can still be deserialized, and so can the preferred newer style of serialized blob that uses an AWS region code.","Joe Sondow",false],["17de8cff68480befe31b084548aea95ec41bd67b","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Omitted closure fields from toString of EntityType, for easier comparisons in unit test failures","Joe Sondow",false],["0a8155104a61cf97fe24934b8c2715c7b4bf4df5","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Enabled Jackson to create a Task from a JSON blob\n\nOmitted non-field getters from Jackson serialization on Task.\nAdded a unit test for round-trip serialization and deserialization of a list of Task objects.\nMade JSON parsing tolerant of unknown and missing fields for Task and UserContext.","Joe Sondow",false],["9677529c759f5454bb278253db6b338c42cd0fe3","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","Declared a Spring-managed Jackson ObjectMapper for reuse by other beans","Joe Sondow",false],["3fcd8aced944ce106781dd3333c35e6d7d0b75c7","d40a4dcd1e9fd986f7328710caf329fad64075a9@netflix.com","ASGARD-1188 - Task list and task detail should pull data from local Asgard plus all other Asgards in cluster\n\nTo make it possible to deploy a new Asgard machine without waiting for the running task count to drop to zero, Asgard's running task list and task detail screen (with Ajax updating of fields) need to pull from a combination of the local Asgard instance and all other Asgard instances in the same cluster.\n\nFor local testing, it would also be helpful to be able to specify a configured list of port numbers for the multiple Asgard instances that could be running on the local workstation.\n\nThis change is part of the solution to enable us to deploy Asgard whenever we want whether it's in use or not. If we don't do this, then instead we would need a very complicated deployment script that reimplements some of the unfortunate concepts in the old data center deployment script.\n\nWe have data center oriented deploy scripts and traffic switching functionality for safely deploying Asgard while it's still stateful, and while people are still using it, without any downtime. Because Asgard is still stateful but still needs to be available during deployment time, we need to create new functionality to create new ASGs and switch traffic intelligently in the cloud using ASGs and ELBs at the right moment (when in-memory task count reaches zero) rather than sending SSH messages to the data center Citrix load balancer to switch traffic.","Joe Sondow",false],["b2d19416914e6af452ef1b1b9c80084e0370144f","16a9a54ddf4259952e3c118c763138e83693d7fd@sondow.com","Merge pull request #517 from joesondow/ASGARD-1188-local-and-remote-in-memory-tasks-merged\n\nASGARD-1188 - In-memory task interactions across clustered Asgard instances","Joe Sondow",true]],"size":20,"ref":"refs/heads/master","head":"b2d19416914e6af452ef1b1b9c80084e0370144f"}