You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2018/10/26 22:04:53 UTC
[camel-k] 02/02: use a shorter refresh period in the CLI
This is an automated email from the ASF dual-hosted git repository.
lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git
commit 980baca145d7169853c1247472b2cb39ee110a72
Author: nferraro <ni...@gmail.com>
AuthorDate: Fri Oct 26 23:37:35 2018 +0200
use a shorter refresh period in the CLI
---
Gopkg.lock | 7 ++++---
Gopkg.toml | 10 +++++-----
pkg/client/cmd/root.go | 8 ++++++--
.../operator-framework/operator-sdk/pkg/k8sclient/client.go | 8 +++++++-
4 files changed, 22 insertions(+), 11 deletions(-)
diff --git a/Gopkg.lock b/Gopkg.lock
index d82a832..b96c088 100644
--- a/Gopkg.lock
+++ b/Gopkg.lock
@@ -278,7 +278,8 @@
version = "v3.9.0"
[[projects]]
- digest = "1:ce6ed8da0816d327c1d586722a13c05a3fd26cf9b8649cdcda300c16f026feca"
+ branch = "v0.0.7-custom"
+ digest = "1:8f0bbe43f11ba62deaae454383b93f9b8b58a1e4b68f9b39ee93f4a9633ec52a"
name = "github.com/operator-framework/operator-sdk"
packages = [
"pkg/k8sclient",
@@ -288,8 +289,8 @@
"version",
]
pruneopts = "NUT"
- revision = "e5a0ab096e1a7c0e6b937d2b41707eccb82c3c77"
- version = "v0.0.7"
+ revision = "450f0742059bb08f2f0c041154435e340a7829a2"
+ source = "https://github.com/nicolaferraro/operator-sdk.git"
[[projects]]
branch = "master"
diff --git a/Gopkg.toml b/Gopkg.toml
index 4102eb3..c627513 100644
--- a/Gopkg.toml
+++ b/Gopkg.toml
@@ -48,9 +48,9 @@ required = [
[[constraint]]
name = "github.com/operator-framework/operator-sdk"
- ## Using fork to customize the Kubernetes rest config
- #source = "https://github.com/nicolaferraro/operator-sdk.git"
- #branch = "custom-init"
- # The version rule is used for a specific release and the master branch for in between releases.
+ # Using fork to customize the Kubernetes rest config
+ source = "https://github.com/nicolaferraro/operator-sdk.git"
+ branch = "v0.0.7-custom"
+ ## The version rule is used for a specific release and the master branch for in between releases.
#branch = "master"
- version = "=v0.0.7"
+ #version = "=v0.0.7"
diff --git a/pkg/client/cmd/root.go b/pkg/client/cmd/root.go
index 69920e7..58cc58a 100644
--- a/pkg/client/cmd/root.go
+++ b/pkg/client/cmd/root.go
@@ -18,9 +18,10 @@ limitations under the License.
package cmd
import (
- "os"
-
"context"
+ "github.com/operator-framework/operator-sdk/pkg/k8sclient"
+ "os"
+ "time"
"github.com/apache/camel-k/pkg/util/kubernetes"
"github.com/pkg/errors"
@@ -66,6 +67,9 @@ func NewKamelCommand(ctx context.Context) (*cobra.Command, error) {
cmd.Flag("namespace").Value.Set(current)
}
+ // Let's use a fast refresh period when running with the CLI
+ k8sclient.ResetCacheEvery(2 * time.Second)
+
// Initialize the Kubernetes client to allow using the operator-sdk
err := kubernetes.InitKubeClient(options.KubeConfig)
if err != nil {
diff --git a/vendor/github.com/operator-framework/operator-sdk/pkg/k8sclient/client.go b/vendor/github.com/operator-framework/operator-sdk/pkg/k8sclient/client.go
index 466bd3b..d9f9b0b 100644
--- a/vendor/github.com/operator-framework/operator-sdk/pkg/k8sclient/client.go
+++ b/vendor/github.com/operator-framework/operator-sdk/pkg/k8sclient/client.go
@@ -43,6 +43,7 @@ var (
// this stores the singleton in a package local
singletonFactory *resourceClientFactory
once sync.Once
+ cacheResetPeriod = 1 * time.Minute
)
// Private constructor for once.Do
@@ -63,7 +64,7 @@ func newSingletonFactory() {
dynamicClient: dynamicClient,
restMapper: restMapper,
}
- singletonFactory.runBackgroundCacheReset(1 * time.Minute)
+ singletonFactory.runBackgroundCacheReset(cacheResetPeriod)
}
// GetResourceClient returns the resource client using a singleton factory
@@ -106,6 +107,11 @@ func (c *resourceClientFactory) GetResourceClient(apiVersion, kind, namespace st
return resourceClient, pluralName, nil
}
+// ResetCacheEvery sets the period of refresh of the client caches
+func ResetCacheEvery(duration time.Duration) {
+ cacheResetPeriod = duration
+}
+
// apiResource consults the REST mapper to translate an <apiVersion, kind, namespace> tuple to a GroupVersionResource
func gvkToGVR(gvk schema.GroupVersionKind, restMapper *restmapper.DeferredDiscoveryRESTMapper) (*schema.GroupVersionResource, error) {
mapping, err := restMapper.RESTMapping(gvk.GroupKind(), gvk.Version)