Skip to content

Commit

Permalink
chore: remove unneeded owner param
Browse files Browse the repository at this point in the history
  • Loading branch information
kian99 committed Jan 27, 2025
1 parent b03285b commit 9d6146e
Show file tree
Hide file tree
Showing 10 changed files with 12 additions and 27 deletions.
3 changes: 1 addition & 2 deletions cmd/jimmctl/cmd/importmodel.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2024 Canonical.
// Copyright 2025 Canonical.

package cmd

Expand Down Expand Up @@ -64,7 +64,6 @@ func (c *importModelCommand) Info() *cmd.Info {
// SetFlags implements Command.SetFlags.
func (c *importModelCommand) SetFlags(f *gnuflag.FlagSet) {
c.CommandBase.SetFlags(f)
f.StringVar(&c.req.Owner, "owner", "", "switch the model owner to the desired user")
}

// Init implements the cmd.Command interface.
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ require (
github.com/juju/schema v1.2.0 // indirect
github.com/juju/txn/v3 v3.0.2 // indirect
github.com/juju/usso v1.0.1 // indirect
github.com/juju/utils/v3 v3.2.0 // indirect
github.com/juju/utils/v3 v3.2.0
github.com/juju/viddy v0.0.0-beta5 // indirect
github.com/juju/webbrowser v1.0.0 // indirect
github.com/juju/worker/v3 v3.5.0 // indirect
Expand Down
3 changes: 1 addition & 2 deletions internal/dbmodel/model.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2024 Canonical.
// Copyright 2025 Canonical.

package dbmodel

Expand Down Expand Up @@ -146,7 +146,6 @@ func (m Model) MergeModelSummaryFromController(modelSummaryFromController *jujup
modelSummaryFromController.ProviderType = m.CloudRegion.Cloud.Type
modelSummaryFromController.CloudTag = m.CloudRegion.Cloud.Tag().String()
modelSummaryFromController.CloudRegion = m.CloudRegion.Name
// modelSummaryFromController.CloudCredentialTag = m.CloudCredential.Tag().String()
modelSummaryFromController.OwnerTag = m.Owner.Tag().String()
modelSummaryFromController.Life = life.Value(m.Life)
modelSummaryFromController.UserAccess = access
Expand Down
2 changes: 1 addition & 1 deletion internal/jimm/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -535,7 +535,7 @@ func (m *modelImporter) save(ctx context.Context) error {

// ImportModel imports a model and existing offers into JIMM. A new owner must be set to
// represent the external user who will own this model (if the original owner is a local user).
func (j *JIMM) ImportModel(ctx context.Context, user *openfga.User, controllerName string, modelTag names.ModelTag, newOwner string) error {
func (j *JIMM) ImportModel(ctx context.Context, user *openfga.User, controllerName string, modelTag names.ModelTag) error {
const op = errors.Op("jimm.ImportModel")

if err := j.checkJimmAdmin(user); err != nil {
Expand Down
11 changes: 1 addition & 10 deletions internal/jimm/controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -537,7 +537,6 @@ func TestImportModel(t *testing.T) {
controllerName string
modelUUID string
modelInfo func(context.Context, *jujuparams.ModelInfo) error
newOwner string
jimmAdmin bool
expectedModel dbmodel.Model
expectedError string
Expand All @@ -547,7 +546,6 @@ func TestImportModel(t *testing.T) {
about: "model imported",
user: "[email protected]",
controllerName: "test-controller",
newOwner: "",
modelUUID: "00000002-0000-0000-0000-000000000001",
jimmAdmin: true,
modelInfo: func(_ context.Context, info *jujuparams.ModelInfo) error {
Expand Down Expand Up @@ -677,7 +675,6 @@ func TestImportModel(t *testing.T) {
about: "model from local user imported",
user: "[email protected]",
controllerName: "test-controller",
newOwner: "local-user",
modelUUID: "00000002-0000-0000-0000-000000000001",
jimmAdmin: true,
modelInfo: func(_ context.Context, info *jujuparams.ModelInfo) error {
Expand Down Expand Up @@ -751,7 +748,6 @@ func TestImportModel(t *testing.T) {
about: "model not found",
user: "[email protected]",
controllerName: "test-controller",
newOwner: "",
modelUUID: "00000002-0000-0000-0000-000000000001",
jimmAdmin: true,
modelInfo: func(_ context.Context, info *jujuparams.ModelInfo) error {
Expand All @@ -762,7 +758,6 @@ func TestImportModel(t *testing.T) {
about: "cloud credentials not found",
user: "[email protected]",
controllerName: "test-controller",
newOwner: "",
modelUUID: "00000002-0000-0000-0000-000000000001",
jimmAdmin: true,
modelInfo: func(_ context.Context, info *jujuparams.ModelInfo) error {
Expand All @@ -783,7 +778,6 @@ func TestImportModel(t *testing.T) {
about: "cloud region not found",
user: "[email protected]",
controllerName: "test-controller",
newOwner: "",
modelUUID: "00000002-0000-0000-0000-000000000001",
jimmAdmin: true,
modelInfo: func(_ context.Context, info *jujuparams.ModelInfo) error {
Expand All @@ -804,7 +798,6 @@ func TestImportModel(t *testing.T) {
about: "not allowed if not superuser",
user: "[email protected]",
controllerName: "test-controller",
newOwner: "",
modelUUID: "00000002-0000-0000-0000-000000000001",
jimmAdmin: false,
modelInfo: func(_ context.Context, info *jujuparams.ModelInfo) error {
Expand All @@ -825,7 +818,6 @@ func TestImportModel(t *testing.T) {
about: "model already exists",
user: "[email protected]",
controllerName: "test-controller",
newOwner: "",
modelUUID: "00000002-0000-0000-0000-000000000002",
jimmAdmin: true,
modelInfo: func(_ context.Context, info *jujuparams.ModelInfo) error {
Expand All @@ -846,7 +838,6 @@ func TestImportModel(t *testing.T) {
about: "import model with offers",
user: "[email protected]",
controllerName: "test-controller",
newOwner: "",
modelUUID: "00000002-0000-0000-0000-000000000001",
jimmAdmin: true,
modelInfo: func(_ context.Context, info *jujuparams.ModelInfo) error {
Expand Down Expand Up @@ -956,7 +947,7 @@ func TestImportModel(t *testing.T) {
user := openfga.NewUser(&dbUser, j.OpenFGAClient)
user.JimmAdmin = test.jimmAdmin

err := j.ImportModel(ctx, user, test.controllerName, names.NewModelTag(test.modelUUID), test.newOwner)
err := j.ImportModel(ctx, user, test.controllerName, names.NewModelTag(test.modelUUID))
if test.expectedError == "" {
c.Assert(err, qt.IsNil)

Expand Down
2 changes: 1 addition & 1 deletion internal/jujuapi/jimm.go
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ func (r *controllerRoot) ImportModel(ctx context.Context, req apiparams.ImportMo
return errors.E(op, err, errors.CodeBadRequest)
}

err = r.jimm.ImportModel(ctx, r.user, req.Controller, mt, req.Owner)
err = r.jimm.ImportModel(ctx, r.user, req.Controller, mt)
if err != nil {
return errors.E(op, err)
}
Expand Down
1 change: 0 additions & 1 deletion internal/jujuapi/jimm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -604,7 +604,6 @@ func (s *jimmSuite) TestImportModel(c *gc.C) {
req := apiparams.ImportModelRequest{
Controller: "controller-1",
ModelTag: s.Model2.Tag().String(),
Owner: "",
}
err = conn.APICall("JIMM", 4, "", "ImportModel", &req, nil)
c.Assert(err, gc.ErrorMatches, `unauthorized \(unauthorized access\)`)
Expand Down
2 changes: 1 addition & 1 deletion internal/jujuapi/modelmanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ type ModelManager interface {
ForEachUserModel(ctx context.Context, u *openfga.User, f func(*dbmodel.Model, jujuparams.UserAccessPermission) error) error
FullModelStatus(ctx context.Context, user *openfga.User, modelTag names.ModelTag, patterns []string) (*jujuparams.FullStatus, error)
GetModel(ctx context.Context, uuid string) (dbmodel.Model, error)
ImportModel(ctx context.Context, user *openfga.User, controllerName string, modelTag names.ModelTag, newOwner string) error
ImportModel(ctx context.Context, user *openfga.User, controllerName string, modelTag names.ModelTag) error
ModelDefaultsForCloud(ctx context.Context, user *dbmodel.Identity, cloudTag names.CloudTag) (jujuparams.ModelDefaultsResult, error)
ModelInfo(ctx context.Context, u *openfga.User, mt names.ModelTag) (*jujuparams.ModelInfo, error)
ListModelSummaries(ctx context.Context, user *openfga.User, maskingControllerUUID string) (jujuparams.ModelSummaryResults, error)
Expand Down
9 changes: 5 additions & 4 deletions internal/testutils/jimmtest/mocks/model.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// Copyright 2024 Canonical.
// Copyright 2025 Canonical.

package mocks

import (
Expand Down Expand Up @@ -27,7 +28,7 @@ type ModelManager struct {
FullModelStatus_ func(ctx context.Context, user *openfga.User, modelTag names.ModelTag, patterns []string) (*jujuparams.FullStatus, error)
ListModelSummaries_ func(ctx context.Context, user *openfga.User, maskingControllerUUID string) (jujuparams.ModelSummaryResults, error)
GetModel_ func(ctx context.Context, uuid string) (dbmodel.Model, error)
ImportModel_ func(ctx context.Context, user *openfga.User, controllerName string, modelTag names.ModelTag, newOwner string) error
ImportModel_ func(ctx context.Context, user *openfga.User, controllerName string, modelTag names.ModelTag) error
IdentityModelDefaults_ func(ctx context.Context, user *dbmodel.Identity) (map[string]interface{}, error)
ModelDefaultsForCloud_ func(ctx context.Context, user *dbmodel.Identity, cloudTag names.CloudTag) (jujuparams.ModelDefaultsResult, error)
ModelInfo_ func(ctx context.Context, u *openfga.User, mt names.ModelTag) (*jujuparams.ModelInfo, error)
Expand Down Expand Up @@ -102,11 +103,11 @@ func (j *ModelManager) GetModel(ctx context.Context, uuid string) (dbmodel.Model
return j.GetModel_(ctx, uuid)
}

func (j *ModelManager) ImportModel(ctx context.Context, user *openfga.User, controllerName string, modelTag names.ModelTag, newOwner string) error {
func (j *ModelManager) ImportModel(ctx context.Context, user *openfga.User, controllerName string, modelTag names.ModelTag) error {
if j.ImportModel_ == nil {
return errors.E(errors.CodeNotImplemented)
}
return j.ImportModel_(ctx, user, controllerName, modelTag, newOwner)
return j.ImportModel_(ctx, user, controllerName, modelTag)
}

func (j *ModelManager) ModelDefaultsForCloud(ctx context.Context, user *dbmodel.Identity, cloudTag names.CloudTag) (jujuparams.ModelDefaultsResult, error) {
Expand Down
4 changes: 0 additions & 4 deletions pkg/api/params/params.go
Original file line number Diff line number Diff line change
Expand Up @@ -262,10 +262,6 @@ type ImportModelRequest struct {

// ModelTag is the tag of the model that is to be imported.
ModelTag string `json:"model-tag"`

// Owner specifies the new owner of the model after import.
// Can be empty to skip switching the owner.
Owner string `json:"owner"`
}

// Authorisation request parameters / responses:
Expand Down

0 comments on commit 9d6146e

Please sign in to comment.