Skip to content

Commit d83a6b4

Browse files
authored
Remove dead code from production and test infrastructure (#1083)
Signed-off-by: Aravindhan Ayyanathan <aravindhan.a@est.tech>
1 parent b655476 commit d83a6b4

26 files changed

Lines changed: 63 additions & 592 deletions

File tree

func/internal/podevaluator_podmanager_test.go

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import (
3535
"github.com/stretchr/testify/require"
3636
"google.golang.org/grpc"
3737
"google.golang.org/grpc/credentials/insecure"
38-
"gopkg.in/yaml.v3"
3938
corev1 "k8s.io/api/core/v1"
4039
"k8s.io/apimachinery/pkg/api/errors"
4140
apierrors "k8s.io/apimachinery/pkg/api/errors"
@@ -815,35 +814,6 @@ func TestMultipleEndpointsWithStuckPod(t *testing.T) {
815814
}
816815
}
817816

818-
// Fake client handles pod patches incorrectly in case the pod doesn't exist
819-
//
820-
//nolint:unused
821-
func fakeClientPatchFixInterceptor(ctx context.Context, kubeClient client.WithWatch, obj client.Object, patch client.Patch, opts ...client.PatchOption) error {
822-
if obj.GetObjectKind().GroupVersionKind().Kind == "Pod" {
823-
var canary corev1.Pod
824-
err := kubeClient.Get(ctx, client.ObjectKeyFromObject(obj), &canary)
825-
if err != nil {
826-
if apierrors.IsNotFound(err) {
827-
err = kubeClient.Create(ctx, obj)
828-
if err != nil {
829-
return err
830-
}
831-
return nil
832-
}
833-
return err
834-
}
835-
}
836-
return nil
837-
}
838-
839-
func marshalToYamlOrPanic(obj interface{}) []byte {
840-
data, err := yaml.Marshal(obj)
841-
if err != nil {
842-
panic(err)
843-
}
844-
return data
845-
}
846-
847817
func deepCopyObject(in, out interface{}) {
848818
buf := bytes.Buffer{}
849819
if err := gob.NewEncoder(&buf).Encode(in); err != nil {

internal/cliutils/client.go

Lines changed: 1 addition & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2022 The kpt Authors
1+
// Copyright 2022, 2026 The kpt Authors
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -15,16 +15,13 @@
1515
package porch
1616

1717
import (
18-
"context"
19-
2018
porchapi "github.com/kptdev/porch/api/porch/v1alpha1"
2119
configapi "github.com/kptdev/porch/api/porchconfig/v1alpha1"
2220
coreapi "k8s.io/api/core/v1"
2321
"k8s.io/apimachinery/pkg/api/meta"
2422
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2523
"k8s.io/apimachinery/pkg/runtime"
2624
"k8s.io/apimachinery/pkg/runtime/schema"
27-
"k8s.io/apimachinery/pkg/runtime/serializer"
2825
"k8s.io/cli-runtime/pkg/genericclioptions"
2926
"k8s.io/client-go/rest"
3027
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -56,51 +53,6 @@ func CreateClientWithFlags(flags *genericclioptions.ConfigFlags) (client.Client,
5653
return CreateClient(config)
5754
}
5855

59-
func CreateDynamicClient(flags *genericclioptions.ConfigFlags) (client.WithWatch, error) {
60-
config, err := flags.ToRESTConfig()
61-
if err != nil {
62-
return nil, err
63-
}
64-
65-
scheme, err := createScheme()
66-
if err != nil {
67-
return nil, err
68-
}
69-
70-
c, err := client.NewWithWatch(config, client.Options{
71-
Scheme: scheme,
72-
})
73-
if err != nil {
74-
return nil, err
75-
}
76-
77-
return c, nil
78-
}
79-
80-
// controller-runtime does not support subresources so we use REST client directly.
81-
// TODO: Separate Porch clientset into its own module (similar to k8s clientsets) to use it
82-
// without causing circular reference.
83-
func CreateRESTClient(flags *genericclioptions.ConfigFlags) (rest.Interface, error) {
84-
config, err := flags.ToRESTConfig()
85-
if err != nil {
86-
return nil, err
87-
}
88-
89-
scheme, err := createScheme()
90-
if err != nil {
91-
return nil, err
92-
}
93-
94-
codecs := serializer.NewCodecFactory(scheme)
95-
96-
gv := porchapi.SchemeGroupVersion
97-
config.GroupVersion = &gv
98-
config.APIPath = "/apis"
99-
config.NegotiatedSerializer = codecs.WithoutConversion()
100-
101-
return rest.RESTClientFor(config)
102-
}
103-
10456
func createScheme() (*runtime.Scheme, error) {
10557
scheme := runtime.NewScheme()
10658

@@ -146,7 +98,3 @@ func createRESTMapper() meta.RESTMapper {
14698

14799
return rm
148100
}
149-
150-
func Apply(ctx context.Context, api client.Client, obj client.Object) error {
151-
return api.Patch(ctx, obj, client.Apply, client.FieldOwner("kubectl"))
152-
}

internal/telemetry/metrics_test.go

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,6 @@ import (
2626
"go.opentelemetry.io/otel/sdk/metric/metricdata"
2727
)
2828

29-
type fakePackageRevision struct {
30-
repository.PackageRevision
31-
key repository.PackageRevisionKey
32-
namespace string
33-
}
34-
35-
func (f *fakePackageRevision) KubeObjectNamespace() string { return f.namespace }
36-
func (f *fakePackageRevision) Key() repository.PackageRevisionKey { return f.key }
37-
3829
// Remaining interface methods are not called by RecordPackageRevisionResourcesSize,
3930
// so they can panic if invoked unexpectedly.
4031

internal/telemetry/otel.go

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -87,14 +87,6 @@ func (r *OTelResources) ShutdownWithTimeout(timeout time.Duration) error {
8787
return r.Shutdown(ctx)
8888
}
8989

90-
// Flush forces a flush of the meter provider, useful in tests.
91-
func (r *OTelResources) Flush() error {
92-
if r.meterProvider != nil {
93-
return r.meterProvider.ForceFlush(context.Background())
94-
}
95-
return nil
96-
}
97-
9890
// SetupOpenTelemetry is the single entry point for all OpenTelemetry setup.
9991
// It configures tracing, metrics (including the Prometheus HTTP server if
10092
// OTEL_EXPORTER_PROMETHEUS_HOST and OTEL_EXPORTER_PROMETHEUS_PORT are set),

pkg/cache/dbcache/dbpackagerevisionresourcessql.go

Lines changed: 0 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -84,28 +84,6 @@ func pkgRevResourcesReadFromDB(ctx context.Context, prk repository.PackageRevisi
8484
return resources, nil
8585
}
8686

87-
func pkgRevResourceWriteToDB(ctx context.Context, prk repository.PackageRevisionKey, resKey, resVal string) error {
88-
_, span := tracer.Start(ctx, "dbpackagerevisionresourcessql::pkgRevResourceWriteToDB", trace.WithAttributes())
89-
defer span.End()
90-
91-
klog.V(5).Infof("pkgRevResourceWriteToDB: writing package revision resource %+v=%q for %q", resKey, resVal, prk)
92-
93-
sqlStatement := `
94-
INSERT INTO resources (k8s_name_space, k8s_name, revision, resource_key, resource_value)
95-
VALUES ($1, $2, $3, $4, $5)
96-
ON CONFLICT (k8s_name_space, k8s_name, resource_key)
97-
DO UPDATE SET resource_value = EXCLUDED.resource_value`
98-
99-
klog.V(6).Infof("pkgRevResourceWriteToDB: running query %q on package revision %+v", sqlStatement, prk)
100-
if _, err := GetDB().db.Exec(ctx, sqlStatement, prk.K8SNS(), prk.K8SName(), prk.Revision, resKey, resVal); err == nil {
101-
klog.V(5).Infof("pkgRevResourceWriteToDB: query succeeded, row created/updated")
102-
return nil
103-
} else {
104-
klog.Warningf("pkgRevResourceWriteToDB: query failed on package revision %+v: %q", prk, err)
105-
return err
106-
}
107-
}
108-
10987
func pkgRevResourcesWriteToDB(ctx context.Context, pr *dbPackageRevision) error {
11088
_, span := tracer.Start(ctx, "dbpackagerevisionresourcessql::pkgRevResourcesWriteToDB", trace.WithAttributes())
11189
defer span.End()
@@ -166,23 +144,3 @@ func pkgRevResourcesDeleteFromDB(ctx context.Context, prk repository.PackageRevi
166144
}
167145
return err
168146
}
169-
170-
func pkgRevResourceDeleteFromDB(ctx context.Context, prk repository.PackageRevisionKey, resKey string) error {
171-
_, span := tracer.Start(ctx, "dbpackagerevisionresourcessql::pkgRevResourceDeleteFromDB", trace.WithAttributes())
172-
defer span.End()
173-
174-
klog.V(5).Infof("pkgRevResourceDeleteFromDB: deleting package revision resource %q from %+v", resKey, prk)
175-
176-
sqlStatement := `DELETE FROM resources WHERE k8s_name_space=$1 AND k8s_name=$2 AND resource_key=$3`
177-
178-
klog.V(6).Infof("pkgRevResourceDeleteFromDB: running query %q on package revision %+v", sqlStatement, prk)
179-
_, err := GetDB().db.Exec(ctx, sqlStatement, prk.K8SNS(), prk.K8SName(), resKey)
180-
181-
if err == nil {
182-
klog.V(5).Infof("pkgRevResourceDeleteFromDB: deleted package revision resource %q from %+v", resKey, prk)
183-
} else {
184-
klog.Warningf("pkgRevResourceDeleteFromDB: deletion of package revision resource %q from %+v failed", resKey, prk)
185-
}
186-
187-
return err
188-
}

pkg/cache/dbcache/dbpackagerevisionsql_test.go

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2025 The kpt Authors
1+
// Copyright 2025-2026 The kpt Authors
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -240,6 +240,10 @@ func (t *DbTestSuite) TestPackageRevisionLatest() {
240240
}
241241

242242
func (t *DbTestSuite) TestPackageRevisionResources() {
243+
mockCache := mockcachetypes.NewMockCache(t.T())
244+
cachetypes.CacheInstance = mockCache
245+
mockCache.EXPECT().GetRepository(mock.Anything).Return(&dbRepository{})
246+
243247
dbRepo := t.createTestRepo("my-ns", "my-repo")
244248
dbPkg := t.createTestPkg(dbRepo.Key(), "my-package")
245249
dbPkg.repo = dbRepo
@@ -263,41 +267,51 @@ func (t *DbTestSuite) TestPackageRevisionResources() {
263267
t.Equal("Goodbye.txt", resKey)
264268
t.Equal("Goodbye", resVal)
265269

266-
err = pkgRevResourceDeleteFromDB(t.Context(), dbPR.Key(), "Goodbye.txt")
267-
t.Require().NoError(err)
268-
269-
err = pkgRevResourceDeleteFromDB(t.Context(), dbPR.Key(), "Goodbye.txt")
270+
// Remove "Goodbye.txt" by rewriting resources without it
271+
dbPR.resources = map[string]string{"Hello.txt": "Hello"}
272+
err = pkgRevResourcesWriteToDB(t.Context(), &dbPR)
270273
t.Require().NoError(err)
271274

272275
_, _, err = pkgRevResourceReadFromDB(t.Context(), dbPR.Key(), "Goodbye.txt")
273276
t.Require().ErrorContains(err, "no rows in result set")
274277

275-
err = pkgRevResourceWriteToDB(t.Context(), dbPR.Key(), "Goodbye.txt", "So long")
278+
// Write "Goodbye.txt" back with a new value
279+
dbPR.resources = map[string]string{"Hello.txt": "Hello", "Goodbye.txt": "So long"}
280+
err = pkgRevResourcesWriteToDB(t.Context(), &dbPR)
276281
t.Require().NoError(err)
277282

278283
resKey, resVal, err = pkgRevResourceReadFromDB(t.Context(), dbPR.Key(), "Goodbye.txt")
279284
t.Require().NoError(err)
280285
t.Equal("Goodbye.txt", resKey)
281286
t.Equal("So long", resVal)
282287

283-
err = pkgRevResourceWriteToDB(t.Context(), dbPR.Key(), "Goodbye.txt", "See ya later")
288+
// Update "Goodbye.txt" value again
289+
dbPR.resources = map[string]string{"Hello.txt": "Hello", "Goodbye.txt": "See ya later"}
290+
err = pkgRevResourcesWriteToDB(t.Context(), &dbPR)
284291
t.Require().NoError(err)
285292

286293
resKey, resVal, err = pkgRevResourceReadFromDB(t.Context(), dbPR.Key(), "Goodbye.txt")
287294
t.Require().NoError(err)
288295
t.Equal("Goodbye.txt", resKey)
289296
t.Equal("See ya later", resVal)
290297

291-
err = pkgRevResourceWriteToDB(t.Context(), dbPR.Key(), "Grand.txt", "Grand")
298+
// Add a new resource "Grand.txt"
299+
dbPR.resources = map[string]string{"Hello.txt": "Hello", "Goodbye.txt": "See ya later", "Grand.txt": "Grand"}
300+
err = pkgRevResourcesWriteToDB(t.Context(), &dbPR)
292301
t.Require().NoError(err)
293302

294303
resKey, resVal, err = pkgRevResourceReadFromDB(t.Context(), dbPR.Key(), "Grand.txt")
295304
t.Require().NoError(err)
296305
t.Equal("Grand.txt", resKey)
297306
t.Equal("Grand", resVal)
298307

299-
dbPR.pkgRevKey.WorkspaceName = "bad"
300-
err = pkgRevResourceWriteToDB(t.Context(), dbPR.Key(), "Grand.txt", "Grand")
308+
// Verify that writing resources for a non-existent package revision fails with FK constraint violation
309+
badPR := dbPackageRevision{
310+
pkgRevKey: dbPR.pkgRevKey,
311+
resources: map[string]string{"Bad.txt": "Bad"},
312+
}
313+
badPR.pkgRevKey.WorkspaceName = "non-existent"
314+
err = pkgRevResourcesWriteToDB(t.Context(), &badPR)
301315
t.Require().ErrorContains(err, "violates foreign key constraint")
302316

303317
err = repoDeleteFromDB(t.Context(), dbRepo.Key())

pkg/cli/commands/util/factory.go

Lines changed: 0 additions & 99 deletions
This file was deleted.

0 commit comments

Comments
 (0)