diff options
author | Dylan Griffith <dyl.griffith@gmail.com> | 2019-04-03 14:55:44 +1100 |
---|---|---|
committer | Dylan Griffith <dyl.griffith@gmail.com> | 2019-04-08 09:58:29 +1000 |
commit | 1ea1432e5e843e05d95abe784361b8fc9fd841bc (patch) | |
tree | 5f3daf62d09d34a4ee3edb67fc50310d440b76cb /lib | |
parent | b61df92d6a6ab409e96bc3c6bbe0cd2532aaf5f6 (diff) | |
download | gitlab-ce-59276-more-k8s-logging.tar.gz |
Log k8s namespace create events59276-more-k8s-logging
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/kubernetes/namespace.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/gitlab/kubernetes/namespace.rb b/lib/gitlab/kubernetes/namespace.rb index 919f19c86d7..8a3bea95a04 100644 --- a/lib/gitlab/kubernetes/namespace.rb +++ b/lib/gitlab/kubernetes/namespace.rb @@ -19,11 +19,40 @@ module Gitlab def create! resource = ::Kubeclient::Resource.new(metadata: { name: name }) + log_event(:begin_create) @client.create_namespace(resource) end def ensure_exists! exists? || create! + rescue ::Kubeclient::HttpError => error + log_create_failed(error) + raise + end + + private + + def log_create_failed(error) + logger.error({ + exception: error.class.name, + status_code: error.error_code, + namespace: name, + class_name: self.class.name, + event: :failed_to_create_namespace, + message: error.message + }) + end + + def log_event(event) + logger.info( + namespace: name, + class_name: self.class.name, + event: event + ) + end + + def logger + @logger ||= Gitlab::Kubernetes::Logger.build end end end |