Skip to content

Commit

Permalink
chore(*) cluster scope mesh in install, revert default mesh changes
Browse files Browse the repository at this point in the history
  • Loading branch information
jakubdyszkiewicz committed Nov 26, 2019
1 parent e0d8f4a commit 7c908c5
Show file tree
Hide file tree
Showing 9 changed files with 21 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -889,7 +889,7 @@ spec:
names:
kind: Mesh
plural: meshes
scope: ""
scope: Cluster
validation:
openAPIV3Schema:
description: Mesh is the Schema for the meshes API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -889,7 +889,7 @@ spec:
names:
kind: Mesh
plural: meshes
scope: ""
scope: Cluster
validation:
openAPIV3Schema:
description: Mesh is the Schema for the meshes API
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ spec:
names:
kind: Mesh
plural: meshes
scope: ""
scope: Cluster
validation:
openAPIV3Schema:
description: Mesh is the Schema for the meshes API
Expand Down
16 changes: 8 additions & 8 deletions app/kumactl/pkg/install/k8s/control-plane/templates_vfsdata.go

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion pkg/core/bootstrap/bootstrap.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ func createDefaultMesh(runtime core_runtime.Runtime) error {
// default Mesh on Kubernetes is managed by a Controller
return nil
case config_core.UniversalEnvironment:
return mesh_managers.CreateDefaultMesh(runtime.ResourceManager(), core_model.DefaultMesh, runtime.Config().Defaults.MeshProto())
return mesh_managers.CreateDefaultMesh(runtime.ResourceManager(), runtime.Config().Defaults.MeshProto())
default:
return errors.Errorf("unknown environment type %s", env)
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/core/bootstrap/bootstrap_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,15 +61,15 @@ var _ = Describe("Bootstrap", func() {
template := runtime.Config().Defaults.MeshProto()

// when
Expect(mesh_managers.CreateDefaultMesh(runtime.ResourceManager(), core_model.DefaultMesh, template)).To(Succeed())
Expect(mesh_managers.CreateDefaultMesh(runtime.ResourceManager(), template)).To(Succeed())

// then mesh exists
getOpts := core_store.GetByKey(core_model.DefaultMesh, core_model.DefaultMesh)
err = runtime.ResourceManager().Get(context.Background(), &mesh.MeshResource{}, getOpts)
Expect(err).ToNot(HaveOccurred())

// when createDefaultMesh is called once mesh already exist
err = mesh_managers.CreateDefaultMesh(runtime.ResourceManager(), core_model.DefaultMesh, template)
err = mesh_managers.CreateDefaultMesh(runtime.ResourceManager(), template)

// then
Expect(err).ToNot(HaveOccurred())
Expand Down
6 changes: 3 additions & 3 deletions pkg/core/managers/apis/mesh/mesh_helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ import (
"github.com/pkg/errors"
)

func CreateDefaultMesh(resManager core_manager.ResourceManager, name string, template mesh_proto.Mesh) error {
func CreateDefaultMesh(resManager core_manager.ResourceManager, template mesh_proto.Mesh) error {
defaultMesh := mesh_core.MeshResource{}

key := core_model.ResourceKey{Mesh: name, Name: name}
key := core_model.ResourceKey{Mesh: core_model.DefaultMesh, Name: core_model.DefaultMesh}

if err := resManager.Get(context.Background(), &defaultMesh, core_store.GetBy(key)); err != nil {
if core_store.IsResourceNotFound(err) {
defaultMesh.Spec = template
core.Log.WithName("bootstrap").Info("Creating default mesh from the settings", "mesh", defaultMesh.Spec, "name", name)
core.Log.WithName("bootstrap").Info("Creating default mesh from the settings", "mesh", defaultMesh.Spec)

if err := resManager.Create(context.Background(), &defaultMesh, core_store.CreateBy(key)); err != nil {
return errors.Wrapf(err, "Failed to create `default` Mesh resource in a given resource store")
Expand Down
7 changes: 2 additions & 5 deletions pkg/plugins/runtime/k8s/controllers/mesh_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ import (
mesh_core "github.com/Kong/kuma/pkg/core/resources/apis/mesh"
k8s_resources "github.com/Kong/kuma/pkg/plugins/resources/k8s"
mesh_k8s "github.com/Kong/kuma/pkg/plugins/resources/k8s/native/api/v1alpha1"
util_k8s "github.com/Kong/kuma/pkg/util/k8s"

kube_core "k8s.io/api/core/v1"
kube_apierrs "k8s.io/apimachinery/pkg/api/errors"
kube_runtime "k8s.io/apimachinery/pkg/runtime"
Expand Down Expand Up @@ -42,10 +40,9 @@ func (r *MeshReconciler) Reconcile(req kube_ctrl.Request) (kube_ctrl.Result, err

// Fetch the Mesh instance
mesh := &mesh_k8s.Mesh{}
coreName := util_k8s.K8sNamespacedNameToCoreName(req.Name, req.Namespace)
if err := r.Get(ctx, req.NamespacedName, mesh); err != nil {
if kube_apierrs.IsNotFound(err) {
err := r.ResourceManager.Delete(ctx, &mesh_core.MeshResource{}, store.DeleteByKey(coreName, coreName))
err := r.ResourceManager.Delete(ctx, &mesh_core.MeshResource{}, store.DeleteByKey(req.Name, req.Name))
return kube_ctrl.Result{}, err
}
log.Error(err, "unable to fetch Mesh")
Expand All @@ -67,7 +64,7 @@ func (r *MeshReconciler) Reconcile(req kube_ctrl.Request) (kube_ctrl.Result, err
return kube_ctrl.Result{}, err
}

secretName := kube_types.NamespacedName{Namespace: r.SystemNamespace, Name: r.BuiltinCaManager.GetSecretName(coreName)}
secretName := kube_types.NamespacedName{Namespace: r.SystemNamespace, Name: r.BuiltinCaManager.GetSecretName(req.Name)}

log = log.WithValues("secret", secretName)

Expand Down
7 changes: 2 additions & 5 deletions pkg/plugins/runtime/k8s/controllers/namespace_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ import (
core_manager "github.com/Kong/kuma/pkg/core/resources/manager"
core_model "github.com/Kong/kuma/pkg/core/resources/model"
mesh_k8s "github.com/Kong/kuma/pkg/plugins/resources/k8s/native/api/v1alpha1"
util_k8s "github.com/Kong/kuma/pkg/util/k8s"

kube_core "k8s.io/api/core/v1"
kube_apierrs "k8s.io/apimachinery/pkg/api/errors"
kube_types "k8s.io/apimachinery/pkg/types"
Expand Down Expand Up @@ -52,11 +50,10 @@ func (r *NamespaceReconciler) Reconcile(req kube_ctrl.Request) (kube_ctrl.Result

// Fetch default Mesh instance
mesh := &mesh_k8s.Mesh{}
name := kube_types.NamespacedName{Namespace: r.SystemNamespace, Name: core_model.DefaultMesh}
name := kube_types.NamespacedName{Namespace: "", Name: core_model.DefaultMesh}
if err := r.Get(ctx, name, mesh); err != nil {
if kube_apierrs.IsNotFound(err) {
coreMeshName := util_k8s.K8sNamespacedNameToCoreName(core_model.DefaultMesh, r.SystemNamespace)
err := mesh_managers.CreateDefaultMesh(r.ResourceManager, coreMeshName, r.DefaultMeshTemplate)
err := mesh_managers.CreateDefaultMesh(r.ResourceManager, r.DefaultMeshTemplate)
if err != nil {
log.Error(err, "unable to create default Mesh")
}
Expand Down

0 comments on commit 7c908c5

Please sign in to comment.