LogDog Coordinator's frontend service runs in a Managed VM environment. MVMs are being deprecated actively, so the frontend needs to be moved somewhere else. AppEngine Flex environment has similar operational constraints. More info: https://docs.google.com/document/d/1cbC5bvRJ12bc_J5mi5F6F6yC1CfaSvnIadpYzsOX9pQ/edit
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/ae956245b52404616e565c31f70a4fe051b31e17 commit ae956245b52404616e565c31f70a4fe051b31e17 Author: Dan Jacques <dnj@google.com> Date: Wed Aug 09 23:30:54 2017 [lru] Update, notably expiration. Update the LRU cache implementation to allow for item expiration. This, in turn, updates the function signatures of most of the cache functions to include a Context and introduces a Clock dependency. We additionally update Mutate to operate on a special cache Item, since the function signature was getting confusing and unruly. This prepares LRU for wider use as a manageable alternative to other expiring caches, notably memcache. BUG= chromium:753846 TEST=unit Change-Id: I229540f03d6e905309cf3737bcbb5f4d7e4a9a1b Reviewed-on: https://chromium-review.googlesource.com/609082 Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> Commit-Queue: Daniel Jacques <dnj@chromium.org> [delete] https://crrev.com/edf449808173d18a6f1fbf81ed91d185e673ed01/common/data/caching/lru/locker.go [modify] https://crrev.com/ae956245b52404616e565c31f70a4fe051b31e17/common/data/caching/lru/lru.go [modify] https://crrev.com/ae956245b52404616e565c31f70a4fe051b31e17/common/data/caching/lru/lru_test.go [modify] https://crrev.com/ae956245b52404616e565c31f70a4fe051b31e17/logdog/server/collector/coordinator/cache.go [modify] https://crrev.com/ae956245b52404616e565c31f70a4fe051b31e17/server/auth/cache.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/f084fa204984dfa85228d7748bd952d3c34d307c commit f084fa204984dfa85228d7748bd952d3c34d307c Author: Dan Jacques <dnj@google.com> Date: Thu Aug 10 00:14:43 2017 [server/auth] Define types for function signatures Modify the struct definition to define types for its function signatures. This makes them easier to reference and wrap. BUG= chromium:753846 TEST=None Change-Id: Ic40a4288b5a86469258699329474c6994b79493b Reviewed-on: https://chromium-review.googlesource.com/609084 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/f084fa204984dfa85228d7748bd952d3c34d307c/server/auth/config.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/918cc42b3cf43dd280bea8600b1755aed0dac69a commit 918cc42b3cf43dd280bea8600b1755aed0dac69a Author: Dan Jacques <dnj@google.com> Date: Thu Aug 10 03:05:45 2017 [server/auth] Export MemoryCache. Make the MemoryCache in-memory LRU caching struct public. This allows it to be selectively used outside of the auth package, as well as for arbitrary LRU caches to be plugged into it. The cache was previously used just for tests, but will see expanded use in environments without built-in caches such as AppEngine Flex. Riding on this, update the call signature of "fetchOrMintToken" to make the error the last return value so that it passes linting checks. BUG= chromium:753846 TEST=None Change-Id: I8b35e351f07d0187de94ff1bd5b2682c3d7c17e3 Reviewed-on: https://chromium-review.googlesource.com/609110 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/918cc42b3cf43dd280bea8600b1755aed0dac69a/logdog/server/service/service.go [modify] https://crrev.com/918cc42b3cf43dd280bea8600b1755aed0dac69a/server/auth/actor.go [modify] https://crrev.com/918cc42b3cf43dd280bea8600b1755aed0dac69a/server/auth/actor_test.go [modify] https://crrev.com/918cc42b3cf43dd280bea8600b1755aed0dac69a/server/auth/cache.go [modify] https://crrev.com/918cc42b3cf43dd280bea8600b1755aed0dac69a/server/auth/cache_test.go [modify] https://crrev.com/918cc42b3cf43dd280bea8600b1755aed0dac69a/server/auth/delegation.go [modify] https://crrev.com/918cc42b3cf43dd280bea8600b1755aed0dac69a/server/auth/delegation_test.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/5139ec72ee137a8524901ebd624bdb57bc7a5c38 commit 5139ec72ee137a8524901ebd624bdb57bc7a5c38 Author: Dan Jacques <dnj@google.com> Date: Thu Aug 10 03:13:54 2017 [luci_config] Replace proccache with LRU. Add an LRU-based caching mechanism. This cache uses an underlying LRU structure to store configurations. Because we're using an LRU instead of a proccache, we can comfortably store individually-authenticated configuration results in the cache as well. Replace the proccache caching backend with an LRU-based cache. This adds more versatility, as callers can supply LRUs with different constraints. BUG= chromium:753846 TEST=unit Change-Id: I679c783d0c13b6950ed6a2c6c5349161488036e1 Reviewed-on: https://chromium-review.googlesource.com/609210 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/5139ec72ee137a8524901ebd624bdb57bc7a5c38/logdog/server/service/config/opts.go [modify] https://crrev.com/5139ec72ee137a8524901ebd624bdb57bc7a5c38/luci_config/appengine/gaeconfig/default.go [add] https://crrev.com/5139ec72ee137a8524901ebd624bdb57bc7a5c38/luci_config/server/cfgclient/backend/caching/lru.go [rename] https://crrev.com/5139ec72ee137a8524901ebd624bdb57bc7a5c38/luci_config/server/cfgclient/backend/caching/lru_test.go [delete] https://crrev.com/918cc42b3cf43dd280bea8600b1755aed0dac69a/luci_config/server/cfgclient/backend/caching/proccache.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/dacb9517c96180f07e235c0d7ab8414f0ba6aa1d commit dacb9517c96180f07e235c0d7ab8414f0ba6aa1d Author: Dan Jacques <dnj@google.com> Date: Fri Aug 11 03:53:08 2017 [lru] Add GetOrCreate. Add GetOrCreate, a function which locks around a single key and retrieves it, creating it if it's not available, without locking the entire cache. This is a useful pattern for cache value generation. BUG= chromium:753846 TEST=unit Change-Id: I8bfa3a17e707c90890b1d55f6380ed1d605b3353 Reviewed-on: https://chromium-review.googlesource.com/609454 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Robbie Iannucci <iannucci@chromium.org> [modify] https://crrev.com/dacb9517c96180f07e235c0d7ab8414f0ba6aa1d/common/data/caching/lru/lru.go [modify] https://crrev.com/dacb9517c96180f07e235c0d7ab8414f0ba6aa1d/common/data/caching/lru/lru_test.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/infra/+/0b61fc7579642bc1b4531caf20b7d2aa0c140ab5 commit 0b61fc7579642bc1b4531caf20b7d2aa0c140ab5 Author: Dan Jacques <dnj@google.com> Date: Fri Aug 11 05:59:00 2017 [DEPS] Roll luci-go. infra/go/src/go.chromium.org/luci: dacb9517 [lru] Add GetOrCreate. 8635490a auth: Add authdb.Revision(db) helper function that returns auth DB revision. e3e460c8 tokenserver: Split MintOAuthTokenGrant a little bit. TBR=iannucci@chromium.org BUG= chromium:753846 TEST=None Change-Id: I6829baaf7dab3d98e0f92bfb7ffdaeda18dce37a Reviewed-on: https://chromium-review.googlesource.com/611961 Reviewed-by: Daniel Jacques <dnj@chromium.org> Commit-Queue: Daniel Jacques <dnj@chromium.org> [modify] https://crrev.com/0b61fc7579642bc1b4531caf20b7d2aa0c140ab5/DEPS
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/gae/+/ae4570c9f14f9da3ddc5b8362895169ca3d159ef commit ae4570c9f14f9da3ddc5b8362895169ca3d159ef Author: Dan Jacques <dnj@google.com> Date: Tue Aug 15 22:46:52 2017 [cloud] Implement more complete Flex support. Implement more complete AppEngine Flex Environment support. This restructures how the Cloud environment is defined. The Config struct now contains a large series of process-global parameters that can be used to populate the Cloud implementation. These globals are all optional, and the services that depend on them will accordingly tolerate their absence. This includes the exposure of various system facilities, including a process-wide caching service. Because flex doesn't currently have a memcache service, this includes a per-process caching service in its place. The per-process cache is distinct from a memcache implementation because it doesn't have the same 'fleetwide' synchronization properties that a real memcache implementation has. This includes an environment prober to easily generate a Flex Config object. Implement a Logger service that logs to Cloud Logging. This service is aware of the details necessary to perform request-clustering logging, and implements this when possible. Implement many more of Info service's capabilities for a flex environment. This includes: - Data fields for all of the new Config parameters. - Ability to fetch and cache the service's public certificates from Google's public certificate service endpoint. - Ability to generate and cache access tokens for the service. - Ability to sign blobs using IAM SignBlob API. BUG= chromium:753846 TEST=None Change-Id: I8b66d707573b4693ad8cfa8bd4f2936796e2c460 Reviewed-on: https://chromium-review.googlesource.com/608826 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> Reviewed-by: Robbie Iannucci <iannucci@chromium.org> [modify] https://crrev.com/ae4570c9f14f9da3ddc5b8362895169ca3d159ef/impl/prod/logger.go [modify] https://crrev.com/ae4570c9f14f9da3ddc5b8362895169ca3d159ef/impl/cloud/info_test.go [add] https://crrev.com/ae4570c9f14f9da3ddc5b8362895169ca3d159ef/impl/cloud/google.go [modify] https://crrev.com/ae4570c9f14f9da3ddc5b8362895169ca3d159ef/impl/cloud/datastore_test.go [modify] https://crrev.com/ae4570c9f14f9da3ddc5b8362895169ca3d159ef/impl/cloud/context.go [modify] https://crrev.com/ae4570c9f14f9da3ddc5b8362895169ca3d159ef/impl/cloud/memcache_test.go [add] https://crrev.com/ae4570c9f14f9da3ddc5b8362895169ca3d159ef/impl/cloud/serviceprovider.go [modify] https://crrev.com/ae4570c9f14f9da3ddc5b8362895169ca3d159ef/impl/cloud/info.go [add] https://crrev.com/ae4570c9f14f9da3ddc5b8362895169ca3d159ef/impl/cloud/flex.go [add] https://crrev.com/ae4570c9f14f9da3ddc5b8362895169ca3d159ef/impl/cloud/logger.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/63d021f683f534c0260a5b6f711d0593304fb91e commit 63d021f683f534c0260a5b6f711d0593304fb91e Author: Dan Jacques <dnj@google.com> Date: Thu Aug 17 00:31:00 2017 [luci_config/appengine] Add flex config. Update the "luci_config" AppEngine configuration logic to include support for AppEngine flex environment. To enable this, the process by which "luci_config" is installed into a Context has been updated. Rather than have a single function sequence with boolean-controlled paths, we now define a larger CacheConfig struct that describes how any given environment should have caching integrated into it. Classic and Classic/Backend configurations have been ported to CacheConfig, and a new CacheConfig entry has been created for AppEngine Flex environment. BUG= chromium:753846 TEST=unit Change-Id: I733ab3847aac81733cd87eb0f1e029c833615cfd Reviewed-on: https://chromium-review.googlesource.com/609215 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/63d021f683f534c0260a5b6f711d0593304fb91e/luci_config/appengine/gaeconfig/default.go [modify] https://crrev.com/63d021f683f534c0260a5b6f711d0593304fb91e/luci_config/appengine/gaeconfig/default_test.go [modify] https://crrev.com/63d021f683f534c0260a5b6f711d0593304fb91e/luci_config/appengine/gaeconfig/settings.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b commit 9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b Author: Dan Jacques <dnj@google.com> Date: Thu Aug 17 00:39:30 2017 [logdog] Update Storage to take Context. LogDog Storage instances currently bind Context at creation time, not at invocation for each call. This means that the Context used at creation will govern invocation calls, which is limiting. Additionally, restructure BigTable Storage to accept a BigTable Client, not create its own. This simplifies creation and ownership parameters and opens the Storage option up to using a global Client rather than a per-Storage-instance Client, which will be useful in Flex environments. BUG= chromium:753846 TEST=unit Change-Id: I3ee0ea72f56f697b977da8ea6c94fe65d310586f Reviewed-on: https://chromium-review.googlesource.com/608575 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/appengine/coordinator/coordinatorTest/context.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/appengine/coordinator/coordinatorTest/storage.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/appengine/coordinator/endpoints/logs/get.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/appengine/coordinator/endpoints/logs/get_test.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/appengine/coordinator/service.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/archive/logdog_archive_test/main.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/archive/storage.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/archive/storage_test.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/bigtable/bigtable.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/bigtable/bigtable_test.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/bigtable/initialize.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/bigtable/logdog_bigtable_test/main.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/bigtable/storage.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/bigtable/storage_test.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/bigtable/testing.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/memory/memory.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/memory/memory_test.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/storage.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/server/archivist/archivist.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/server/archivist/archivist_test.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/server/archivist/storageSource.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/server/collector/collector.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/server/collector/utils_test.go [modify] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/server/service/service.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/0777502cb330c3b15dd07b439fe4e72d108ff820 commit 0777502cb330c3b15dd07b439fe4e72d108ff820 Author: Dan Jacques <dnj@google.com> Date: Thu Aug 17 01:01:51 2017 [logdog] Update Storage caching mechanism. The current Storage caching mechanism is built around memcache. Update the storage to store arbitrary bytes, instead of items. Additionally, update the cache to operate on individual items, since adding multiple items results in more complex code and isn't used in practice. BUG= chromium:753846 TEST=None Change-Id: I4809333cfe304b4f90892b9ae3b16265befe5996 Reviewed-on: https://chromium-review.googlesource.com/609096 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/appengine/coordinator/coordinatorTest/storage.go [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/appengine/coordinator/service.go [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/appengine/coordinator/storage_cache.go [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/appengine/coordinator/storage_cache_test.go [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/common/storage/archive/cache.go [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/common/storage/archive/storage.go [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/common/storage/bigtable/cache.go [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/common/storage/bigtable/storage.go [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/common/storage/bigtable/testing.go [rename] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/common/storage/cache.go [delete] https://crrev.com/9eb5e16a517790e4bd6f2e69b8e4c2772bcfaa2b/logdog/common/storage/caching/doc.go [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/common/storage/memory/cache.go [modify] https://crrev.com/0777502cb330c3b15dd07b439fe4e72d108ff820/logdog/common/storage/memory/memory.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/124300354e788e66a970b4c339468aff3ff90cec commit 124300354e788e66a970b4c339468aff3ff90cec Author: Dan Jacques <dnj@google.com> Date: Thu Aug 17 02:54:00 2017 [server] Add request and global caches. Add request and process-global object caching to context. These mechanisms can be used by services and their support libraries to store information. Request caching installs a cache into the Context that exists for the lifetime of a single HTTP request. Global caching is a fixed-size LRU that survives for the lifetime of the process. Nothing uses these yet, but future CLs will migrate existing cache usage to the new semantics. BUG= chromium:753846 TEST=None Change-Id: I1dc66516e73596d63e9b5e5dbea1b430b6c30435 Reviewed-on: https://chromium-review.googlesource.com/609369 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [add] https://crrev.com/124300354e788e66a970b4c339468aff3ff90cec/server/caching/context.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/2385d6a3a01def02d56d98ce3afbad2e77ab61f5 commit 2385d6a3a01def02d56d98ce3afbad2e77ab61f5 Author: Dan Jacques <dnj@google.com> Date: Thu Aug 17 03:05:30 2017 [gaeauth] Use server package request cache. Employ the server package's new request cache for local caching. BUG= chromium:753846 TEST=None Change-Id: I343b8b6a6e858f740afa6344c35375eeb6d5f227 Reviewed-on: https://chromium-review.googlesource.com/609370 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/2385d6a3a01def02d56d98ce3afbad2e77ab61f5/appengine/gaeauth/server/cache.go [modify] https://crrev.com/2385d6a3a01def02d56d98ce3afbad2e77ab61f5/appengine/gaeauth/server/cache_test.go [modify] https://crrev.com/2385d6a3a01def02d56d98ce3afbad2e77ab61f5/appengine/gaemiddleware/context.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/050e243c4d54e50a98fb3baeceea09056b50600a commit 050e243c4d54e50a98fb3baeceea09056b50600a Author: Dan Jacques <dnj@google.com> Date: Thu Aug 17 17:27:37 2017 [gaeauth/server] Split off OAuth2 method. The OAuth2 method is currently implemented as a private fallback for development server executions. Restructure things a bit to expose it as a standalone method. This method will be useful when verifying tokens from a Flex environment. BUG= chromium:753846 TEST=None Change-Id: I0d8616826ab51caf0da5e1521c4f187047fb6bab Reviewed-on: https://chromium-review.googlesource.com/609265 Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> Commit-Queue: Daniel Jacques <dnj@chromium.org> [modify] https://crrev.com/050e243c4d54e50a98fb3baeceea09056b50600a/appengine/gaeauth/server/oauth.go [modify] https://crrev.com/050e243c4d54e50a98fb3baeceea09056b50600a/server/auth/actor.go [modify] https://crrev.com/050e243c4d54e50a98fb3baeceea09056b50600a/server/auth/auth.go [modify] https://crrev.com/050e243c4d54e50a98fb3baeceea09056b50600a/server/auth/cache.go [modify] https://crrev.com/050e243c4d54e50a98fb3baeceea09056b50600a/server/auth/config.go [add] https://crrev.com/050e243c4d54e50a98fb3baeceea09056b50600a/server/auth/oauth.go [rename] https://crrev.com/050e243c4d54e50a98fb3baeceea09056b50600a/server/auth/oauth_test.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/59385f464a35f32590ef3becce102c35639fc599 commit 59385f464a35f32590ef3becce102c35639fc599 Author: Dan Jacques <dnj@google.com> Date: Fri Aug 18 19:45:17 2017 [gaemiddleware] Split standard environment. Update the "gaemiddleware" package and its users to explicitly install a "AppEngine Standard" environment, and to leave room for other environments (e.g., Flex) to be defined. The "gaemiddleware" package is a starting point for application setup. However, it is very specific to Standard AppEngine environments. Most of the code in the package is precise and generally-useful, but it is interleaved with AppEngine Standard requirements. Update the package to define a generic Environment, which is a skeleton for specific instantiations. Create a "standard" sub-package that implements that skeleton for AppEngine Standard environments, and update callers to use the "standard" package. BUG= chromium:753846 TEST=None Change-Id: Icfecfd8c65bcacdaa2ece73a330c286aa2361162 Reviewed-on: https://chromium-review.googlesource.com/608806 Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> Commit-Queue: Daniel Jacques <dnj@chromium.org> [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/appengine/gaemiddleware/context.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/appengine/gaemiddleware/doc.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/appengine/gaemiddleware/routes.go [add] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/appengine/gaemiddleware/standard/env.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/dm/appengine/frontend/init.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/examples/appengine/helloworld_standard/frontend/handler.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/grpc/prpc/talk/buildbot/frontend/handler.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/grpc/prpc/talk/helloworld/frontend/handler.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/logdog/appengine/cmd/coordinator/backend/main.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/logdog/appengine/cmd/coordinator/services/main.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/logdog/appengine/cmd/coordinator/vmuser/main.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/milo/frontend/middleware.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/milo/frontend/routes.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/scheduler/appengine/engine/cron/demo/main.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/scheduler/appengine/frontend/handler.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/tokenserver/appengine/backend/main.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/tokenserver/appengine/frontend/main.go [modify] https://crrev.com/59385f464a35f32590ef3becce102c35639fc599/tokenserver/appengine/impl/utils/bqlog/gae-test/gae-test/main.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/c79515e0d5ba8f8b11edebd4ffb54e02097238c7 commit c79515e0d5ba8f8b11edebd4ffb54e02097238c7 Author: Dan Jacques <dnj@chromium.org> Date: Tue Aug 22 02:58:34 2017 [logdog] Move microservices to Alpine Linux. Alpine Linux offers a smaller image footprint. BUG= chromium:753846 TEST=dev Change-Id: I22b3da64f596ddfec19c1f9f8f31f0d3d28b5e86 Reviewed-on: https://chromium-review.googlesource.com/625416 Reviewed-by: Robbie Iannucci <iannucci@chromium.org> Commit-Queue: Robbie Iannucci <iannucci@chromium.org> [add] https://crrev.com/c79515e0d5ba8f8b11edebd4ffb54e02097238c7/logdog/server/cmd/.gitignore [modify] https://crrev.com/c79515e0d5ba8f8b11edebd4ffb54e02097238c7/logdog/server/cmd/logdog_archivist/Dockerfile [modify] https://crrev.com/c79515e0d5ba8f8b11edebd4ffb54e02097238c7/logdog/server/cmd/logdog_collector/Dockerfile
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/adf70fae5e8ce119992dfaca1e58f7c4d8076bac commit adf70fae5e8ce119992dfaca1e58f7c4d8076bac Author: Dan Jacques <dnj@chromium.org> Date: Tue Aug 22 17:35:10 2017 [lru] Fix GetOrCreate, add Create. GetOrCreate required a lock on an item's key before it would check for the item's existence. This breaks the case where an item is already in the cache, but another coroutine chooses to generate a new one while the item is still valid (e.g., preemptively refreshing tokens). As-is, the "create" attempt would cause valid "get" to block, undermining the purpose of this model. Make "GetOrCreate" perform the "get" part of the call unlocked. This allows a valid item to be returned. Additionally, introduce "Create", which will always regenerate the item under lock. If the "-OrCreate" part of "GetOrCreate" is hit, it will serialize with Create. BUG= chromium:753846 TEST=unit Change-Id: I0a3c911153ab13cb6702cd2bd7b75dc56f0f6f75 Reviewed-on: https://chromium-review.googlesource.com/622948 Reviewed-by: Robbie Iannucci <iannucci@chromium.org> Commit-Queue: Daniel Jacques <dnj@chromium.org> [modify] https://crrev.com/adf70fae5e8ce119992dfaca1e58f7c4d8076bac/common/data/caching/lru/lru.go [modify] https://crrev.com/adf70fae5e8ce119992dfaca1e58f7c4d8076bac/common/data/caching/lru/lru_test.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/e393c20252e357ad49e31eea1cbc25b892473886 commit e393c20252e357ad49e31eea1cbc25b892473886 Author: Dan Jacques <dnj@chromium.org> Date: Tue Aug 22 18:26:41 2017 [caching] Server requires process cache. Require process cache with server- methods. BUG= chromium:753846 TEST=None Change-Id: I30abe21d8a9ef7da0b7709954173b6887729328c Reviewed-on: https://chromium-review.googlesource.com/622749 Reviewed-by: Robbie Iannucci <iannucci@chromium.org> Commit-Queue: Daniel Jacques <dnj@chromium.org> [modify] https://crrev.com/e393c20252e357ad49e31eea1cbc25b892473886/appengine/gaeauth/server/cache_test.go [modify] https://crrev.com/e393c20252e357ad49e31eea1cbc25b892473886/appengine/gaemiddleware/context.go [modify] https://crrev.com/e393c20252e357ad49e31eea1cbc25b892473886/logdog/server/service/config/cache.go [modify] https://crrev.com/e393c20252e357ad49e31eea1cbc25b892473886/logdog/server/service/service.go [modify] https://crrev.com/e393c20252e357ad49e31eea1cbc25b892473886/server/caching/context.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/c259de1ae49f2d0ba655749918b3f4137b62ec12 commit c259de1ae49f2d0ba655749918b3f4137b62ec12 Author: Dan Jacques <dnj@chromium.org> Date: Mon Aug 28 23:30:57 2017 Replace proccache uses with LRU. Now that LRU does time-based expiration and supports decorator-style functions, uses of proccache can be moved to LRU for unification. LRU has one additional advantage in that it can be used more liberally than proccache, since it can prune itself. BUG= chromium:753846 TEST=unit Change-Id: Ia8b7deef6a008d2d563a2710780a68172409b8db Reviewed-on: https://chromium-review.googlesource.com/622988 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/appengine/gaeauth/client/client.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/appengine/gaeauth/client/client_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/appengine/gaeauth/server/gaesigner/signer.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/appengine/gaemiddleware/context.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/appengine/gaesecrets/gaesecrets.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/appengine/gaesecrets/gaesecrets_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/appengine/gaetesting/middleware.go [delete] https://crrev.com/5e25152f3829a5b7f00047964d4493096d2dac71/common/data/caching/proccache/proccache.go [delete] https://crrev.com/5e25152f3829a5b7f00047964d4493096d2dac71/common/data/caching/proccache/proccache_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/logdog/server/service/config/cache.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/logdog/server/service/config/opts.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/luci_config/appengine/gaeconfig/default.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/luci_config/appengine/gaeconfig/default_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/luci_config/server/cfgclient/backend/caching/doc.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/luci_config/server/cfgclient/backend/caching/lru.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/luci_config/server/cfgclient/backend/caching/lru_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/milo/buildsource/buildbot/master_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/milo/buildsource/buildbot/pubsub_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/milo/buildsource/buildbucket/builder_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/milo/common/config.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/milo/common/config_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/server/auth/authdb/snapshot_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/server/auth/handlers_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/server/auth/openid/method_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/server/auth/openid/protocol.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/server/auth/service/service_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/server/auth/signing/certs.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/server/auth/signing/certs_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/server/auth/signing/info.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/server/auth/signing/info_test.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/tokenserver/appengine/impl/certchecker/certchecker.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/tokenserver/appengine/impl/certconfig/ca.go [modify] https://crrev.com/c259de1ae49f2d0ba655749918b3f4137b62ec12/tokenserver/appengine/impl/certconfig/ca_test.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/5da815ad08bccbfca933b7cf53ed58f206ff2141 commit 5da815ad08bccbfca933b7cf53ed58f206ff2141 Author: Dan Jacques <dnj@google.com> Date: Wed Sep 06 21:19:54 2017 [gaemiddleware] Implement Flex environment. Implement a "gaemiddleware" configuration for an AppEngine Flex environment. This uses "luci/gae"'s cloud implementation and its Flex services probing to generate a Flex environment. It additionally deviates from the Classic environment in that it uses local in-process caching instead of memory caching. BUG= chromium:753846 TEST=None Change-Id: Ie9662e9da70cbb5d2da76daef947602352147336 Reviewed-on: https://chromium-review.googlesource.com/608811 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> [add] https://crrev.com/5da815ad08bccbfca933b7cf53ed58f206ff2141/appengine/gaemiddleware/flex/context.go [add] https://crrev.com/5da815ad08bccbfca933b7cf53ed58f206ff2141/appengine/gaemiddleware/flex/env.go [copy] https://crrev.com/5da815ad08bccbfca933b7cf53ed58f206ff2141/appengine/gaemiddleware/flex/prpc.go [rename] https://crrev.com/5da815ad08bccbfca933b7cf53ed58f206ff2141/appengine/gaemiddleware/standard/prpc.go [modify] https://crrev.com/5da815ad08bccbfca933b7cf53ed58f206ff2141/milo/logs/main.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/2fd5ade1e7a45a0b60d5075a877b007db34326c2 commit 2fd5ade1e7a45a0b60d5075a877b007db34326c2 Author: Dan Jacques <dnj@google.com> Date: Thu Sep 07 17:39:35 2017 [logdog] Endpoints code into endpoints package. Move code to support endpoints into the "endpoints" sub-package. Split out common configuration fetching / caching functionality into a base package service, ConfigProvider, and have the endpoints service implement it. Ultimately, this will be split into GAE Classic endpoints code and GAE Flex endpoints code when the logs endpoint is moved to flex environment. The Flex enviornment will use the same ConfigProvider base and interface. BUG= chromium:753846 TEST=unit Change-Id: I246bf560be545e425d1c459a9e27645134e47877 Reviewed-on: https://chromium-review.googlesource.com/618347 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Nodir Turakulov <nodir@chromium.org> [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/api/endpoints/coordinator/logs/v1/fakelogs/client.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/cmd/coordinator/backend/main.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/cmd/coordinator/services/main.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/cmd/coordinator/vmuser/main.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/archivalPublisher.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/auth.go [add] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/configservice.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/context.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/context_test.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/coordinatorTest/context.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/coordinatorTest/service.go [add] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/endpoints/context.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/endpoints/logs/get.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/endpoints/registration/registerPrefix.go [rename] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/endpoints/services.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/endpoints/services/getConfig.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/endpoints/services/registerStream.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/endpoints/services/terminateStream.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/endpoints/services/terminateStream_test.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/mutations/createArchiveTask.go [modify] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/project.go [add] https://crrev.com/2fd5ade1e7a45a0b60d5075a877b007db34326c2/logdog/appengine/coordinator/storage.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/fcb9f921f621bc56b9456298c2dccb766272a847 commit fcb9f921f621bc56b9456298c2dccb766272a847 Author: Dan Jacques <dnj@google.com> Date: Thu Sep 21 17:43:59 2017 [logdog] Move Coordinator frontend over to Flex. Switch the LogDog Coordinator frontend from GAE Classic to GAE Flex. This includes refactoring of some of its clients to be global and movement of its endpoints into a new "flex/" package with "flex"-style Services. Because Flex functions, in many ways, fundamentally differently than classic, it is necessary to draw boundaries between code intended to operate in a Flex environment and code for a GAE Classic environment. Because Flex allows connections to persist outside of the scope of individual HTTP request handling, a Flex enviornment is generally simpler. BUG= chromium:753846 TEST=unit Change-Id: Iafe0244ba9ead05c7be191049f0303f76b9ec290 Reviewed-on: https://chromium-review.googlesource.com/618351 Commit-Queue: Daniel Jacques <dnj@chromium.org> Reviewed-by: Robbie Iannucci <iannucci@chromium.org> [modify] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/api/endpoints/coordinator/logs/v1/fakelogs/client.go [modify] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/cmd/coordinator/Makefile.common [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/cmd/coordinator/frontend/app.yaml [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/cmd/coordinator/frontend/cron.yaml [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/cmd/coordinator/frontend/dispatch.yaml [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/cmd/coordinator/frontend/doc.go [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/cmd/coordinator/frontend/index.yaml [add] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/cmd/coordinator/frontend/main.go [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/cmd/coordinator/frontend/queue.yaml [delete] https://crrev.com/05bb0acd7039cf89a0ebdd1909ba49bbac487527/logdog/appengine/cmd/coordinator/vmuser/main.go [modify] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/coordinatorTest/context.go [modify] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/coordinatorTest/service.go [modify] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/endpoints/services.go [add] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/flex/context.go [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/flex/logs/get.go [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/flex/logs/get_test.go [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/flex/logs/query.go [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/flex/logs/query_test.go [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/flex/logs/service.go [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/flex/logs/util.go [add] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/flex/services.go [add] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/flex/storage_cache.go [rename] https://crrev.com/fcb9f921f621bc56b9456298c2dccb766272a847/logdog/appengine/coordinator/flex/storage_cache_test.go [delete] https://crrev.com/05bb0acd7039cf89a0ebdd1909ba49bbac487527/logdog/appengine/coordinator/storage_cache.go
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-py.git/+/dd1a61a44d7c6c50be5607dd40a7c561d66ccb16 commit dd1a61a44d7c6c50be5607dd40a7c561d66ccb16 Author: Dan Jacques <dnj@chromium.org> Date: Mon Sep 25 19:18:41 2017 [gae.py] Support Flex environment. Allow "gae.py" to upload Flex environment instances when using "gcloud". This is a trivial change, merely removing a client-side check. BUG= chromium:753846 TEST=prod - Used this to deploy several Flex instances. R=maruel@chromium.org, nodir@chromium.org, vadimsh@chromium.org Change-Id: I9788b82a05b8c367b63cde04a6d5360d791669ea Reviewed-on: https://chromium-review.googlesource.com/681851 Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> Commit-Queue: Daniel Jacques <dnj@chromium.org> [modify] https://crrev.com/dd1a61a44d7c6c50be5607dd40a7c561d66ccb16/appengine/components/tool_support/gae_sdk_utils.py
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/69cf6dc7d044074ad09eb72cadcd2921b2d421d3 commit 69cf6dc7d044074ad09eb72cadcd2921b2d421d3 Author: Dan Jacques <dnj@chromium.org> Date: Tue Sep 26 17:43:11 2017 [logdog] Add warmup handlers. In order to use the "switch" application command, all instances must have warmup handlers. Define warmup handlers for all instances, and include a basic useless handler for the static module. Fix "switch" command to switch *all* modules. Apparently specifying individual services only applies to the last-specified one. BUG= chromium:753846 TEST=local Change-Id: I4d2555de2cd775d106930be657ede735456cea02 Reviewed-on: https://chromium-review.googlesource.com/684656 Reviewed-by: Robbie Iannucci <iannucci@chromium.org> Commit-Queue: Daniel Jacques <dnj@chromium.org> [modify] https://crrev.com/69cf6dc7d044074ad09eb72cadcd2921b2d421d3/logdog/appengine/cmd/coordinator/Makefile.common [modify] https://crrev.com/69cf6dc7d044074ad09eb72cadcd2921b2d421d3/logdog/appengine/cmd/coordinator/backend/module-backend.yaml [modify] https://crrev.com/69cf6dc7d044074ad09eb72cadcd2921b2d421d3/logdog/appengine/cmd/coordinator/frontend/app.yaml [modify] https://crrev.com/69cf6dc7d044074ad09eb72cadcd2921b2d421d3/logdog/appengine/cmd/coordinator/services/module-services.yaml [modify] https://crrev.com/69cf6dc7d044074ad09eb72cadcd2921b2d421d3/logdog/appengine/cmd/coordinator/static/main.go [modify] https://crrev.com/69cf6dc7d044074ad09eb72cadcd2921b2d421d3/logdog/appengine/cmd/coordinator/static/module-static.yaml
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/2a2d6c933c5eb918dc7de547971f18709f724a80 commit 2a2d6c933c5eb918dc7de547971f18709f724a80 Author: Dan Jacques <dnj@chromium.org> Date: Thu Oct 05 00:09:41 2017 LogDog: Default instance is AppEngine Classic. At the moment, Flex enviornment is not capable of meeting the expectations of several LUCI modules. This change creates a new LogDog service, "logs", and moves the Flex Logs endpoint to this service. The default service is replaced with a basic stub. This stub hosts the standard LUCI endpoint set that is expected by LUCI services and middleware. Because it is a Standard environment, it is capable of serving "/_ah/..." pages, which AppEngine authentication (notably the /admin/settings endpoint) relies on. BUG= chromium:753846 TEST=dev Change-Id: I5e8a78e91fb2f231240f2becbf7034715dedc140 Reviewed-on: https://chromium-review.googlesource.com/701236 Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> Reviewed-by: Robbie Iannucci <iannucci@chromium.org> Commit-Queue: Daniel Jacques <dnj@chromium.org> [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/appengine/gaeauth/server/doc.go [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/appengine/gaemiddleware/context.go [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/appengine/gaemiddleware/doc.go [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/appengine/gaemiddleware/flex/env.go [delete] https://crrev.com/40a99a0b3b09d1dbf38ef206c2c0922ba9a72d7e/appengine/gaemiddleware/routes.go [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/appengine/gaemiddleware/standard/env.go [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/appengine/gaesettings/gaesettings.go [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/Makefile.common [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/README.md [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/backend/module-backend.yaml [copy] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/default/app.yaml [rename] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/default/cron.yaml [rename] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/default/dispatch.yaml [rename] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/default/index.yaml [add] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/default/main.go [rename] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/default/queue.yaml [rename] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/logs/doc.go [rename] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/logs/main.go [rename] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/cmd/coordinator/logs/module-logs.yaml [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/logdog/appengine/coordinator/coordinatorTest/context.go [modify] https://crrev.com/2a2d6c933c5eb918dc7de547971f18709f724a80/scheduler/appengine/frontend/handler.go
Things are looking good here. I think this is done.
The following revision refers to this bug: https://chromium.googlesource.com/infra/luci/luci-go.git/+/6e6b581037d0864d65ce421e97682a7bcda392fa commit 6e6b581037d0864d65ce421e97682a7bcda392fa Author: Dan Jacques <dnj@chromium.org> Date: Thu Oct 05 19:31:02 2017 [logdog] Fix default root redirection. After switching "logs" and "default" modules, the default root redirection was not transferred. TBR=vadimsh@chromium.org BUG= chromium:753846 TEST=None Change-Id: Ic84efd331a80f7db28431e1449b49605514ca0b6 Reviewed-on: https://chromium-review.googlesource.com/703254 Reviewed-by: Daniel Jacques <dnj@chromium.org> Reviewed-by: Vadim Shtayura <vadimsh@chromium.org> Commit-Queue: Daniel Jacques <dnj@chromium.org> [modify] https://crrev.com/6e6b581037d0864d65ce421e97682a7bcda392fa/logdog/appengine/cmd/coordinator/default/main.go [modify] https://crrev.com/6e6b581037d0864d65ce421e97682a7bcda392fa/logdog/appengine/cmd/coordinator/logs/main.go
Comment 1 by bugdroid1@chromium.org
, Aug 9 2017