Skip to content

Commit

Permalink
fixes issue with editing knative service created via cli
Browse files Browse the repository at this point in the history
  • Loading branch information
invincibleJai committed Feb 25, 2020
1 parent ccdee0e commit c2fd983
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 50 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -266,42 +266,50 @@ export const getGitAndDockerfileInitialValues = (
return initialValues;
};

const deployImageInitialValues = {
searchTerm: '',
registry: 'external',
imageStream: {
image: '',
tag: '',
namespace: '',
},
isi: {
name: '',
image: {},
tag: '',
status: { metadata: {}, status: '' },
ports: [],
},
image: {
name: '',
image: {},
tag: '',
status: { metadata: {}, status: '' },
ports: [],
},
build: {
env: [],
triggers: {},
strategy: '',
},
isSearchingForImage: false,
};

export const getExternalImageInitialValues = (imageStream: K8sResourceKind) => {
if (_.isEmpty(imageStream)) {
return {};
}
const name = _.get(imageStream, 'spec.tags[0].from.name');
const deployImageInitialValues = {
return {
...deployImageInitialValues,
searchTerm: name,
registry: 'external',
imageStream: {
image: '',
tag: '',
namespace: '',
...deployImageInitialValues.imageStream,
grantAccess: true,
},
isi: {
name: '',
image: {},
tag: '',
status: { metadata: {}, status: '' },
ports: [],
},
image: {
name: '',
image: {},
tag: '',
status: { metadata: {}, status: '' },
ports: [],
},
build: {
env: [],
triggers: {},
strategy: '',
},
isSearchingForImage: false,
};
return deployImageInitialValues;
};

export const getInternalImageInitialValues = (editAppResource: K8sResourceKind) => {
Expand All @@ -316,36 +324,31 @@ export const getInternalImageInitialValues = (editAppResource: K8sResourceKind)
'metadata.labels["app.openshift.io/runtime-version"]',
'',
);
const deployImageInitialValues = {
searchTerm: '',
return {
...deployImageInitialValues,
registry: 'internal',
imageStream: {
image: imageStreamName,
tag: imageStreamTag,
namespace: imageStreamNamespace,
},
isi: {
name: '',
image: {},
tag: '',
status: { metadata: {}, status: '' },
ports: [],
},
image: {
name: '',
image: {},
tag: '',
status: { metadata: {}, status: '' },
ports: [],
},
build: {
env: [],
triggers: {},
strategy: '',
};
};

export const getExternalImagelValues = (appResource: K8sResourceKind) => {
const name = _.get(appResource, 'spec.template.spec.containers[0].image', null);
if (_.isEmpty(appResource) || !name) {
return {};
}
return {
...deployImageInitialValues,
searchTerm: name,
registry: 'external',
imageStream: {
...deployImageInitialValues.imageStream,
grantAccess: true,
},
isSearchingForImage: false,
};
return deployImageInitialValues;
};

export const getInitialValues = (
Expand All @@ -371,6 +374,17 @@ export const getInitialValues = (
internalImageValues = _.isEmpty(externalImageValues)
? getInternalImageInitialValues(_.get(appResources, 'editAppResource.data'))
: {};
if (
_.isEmpty(externalImageValues) &&
!_.get(internalImageValues, 'imageStream.tag') &&
!_.get(internalImageValues, 'imageStream.image')
) {
const editAppResourceData = _.get(appResources, 'editAppResource.data');
if (editAppResourceData?.kind === ServiceModel.kind) {
internalImageValues = {};
externalImageValues = getExternalImagelValues(_.get(appResources, 'editAppResource.data'));
}
}
}

return {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -399,11 +399,13 @@ export const createOrUpdateDeployImageResources = async (
// Do not run serverless call during the dry run.
let imageStreamUrl: string = image?.dockerImageReference;
if (registry === RegistryType.External) {
const imageStreamData = _.get(appResources, 'imageStream.data');
const updatedVerb = _.isEmpty(imageStreamData) ? 'create' : verb;
const imageStreamResponse = await createOrUpdateImageStream(
formData,
dryRun,
_.get(appResources, 'imageStream.data'),
verb,
imageStreamData,
updatedVerb,
);
const imageStreamRepo = imageStreamResponse.status.dockerImageRepository;
imageStreamUrl = imageStreamTag ? `${imageStreamRepo}:${imageStreamTag}` : imageStreamRepo;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import * as _ from 'lodash';
import { K8sResourceKind, referenceForModel } from '@console/internal/module/k8s';
import { FirehoseResource } from '@console/internal/components/utils';
import {
Expand Down Expand Up @@ -121,7 +122,14 @@ export const getKnativeServiceDepResource = (
},
};

const knativeDeployResource = mergeData(originalKnativeService || {}, newKnativeDeployResource);
let knativeServiceUpdated = {};
if (!_.isEmpty(originalKnativeService)) {
knativeServiceUpdated = _.omit(originalKnativeService, [
'status',
'spec.template.metadata.name',
]);
}
const knativeDeployResource = mergeData(knativeServiceUpdated || {}, newKnativeDeployResource);

return knativeDeployResource;
};
Expand Down

0 comments on commit c2fd983

Please sign in to comment.