remove external harvester mode

This commit is contained in:
wujun 2023-01-09 18:02:47 +08:00
parent 4a5f7c0f12
commit 9d02902073
2 changed files with 97 additions and 131 deletions

View File

@ -176,6 +176,7 @@ export default Component.extend(NodeDriver, {
networks: get(this, 'globalStore').rawRequest({ url: `${ url }/v1/k8s.cni.cncf.io.networkattachmentdefinition` }),
namespaces: get(this, 'globalStore').rawRequest({ url: `${ url }/v1/namespace` }),
configmaps: get(this, 'globalStore').rawRequest({ url: `${ url }/v1/configmap` }),
storageClass: get(this, 'globalStore').rawRequest({ url: `${ url }/v1/storage.k8s.io.storageclasses` }),
systemNamespace: get(this, 'globalStore').rawRequest({ url: `${ url }/v1/management.cattle.io.settings/system-namespaces` }),
}).then((resp) => {
const images = resp.images.body.data || [];
@ -254,24 +255,37 @@ export default Component.extend(NodeDriver, {
}
})
const storageClass = resp.storageClass.body.data || [];
const storageClassContent = storageClass.map((s) => {
const isDefault = s.metadata?.annotations?.['storageclass.kubernetes.io/is-default-class'] === 'true';
const label = isDefault ? `${ s.metadata.name } (${ this.intl.t('generic.default') })` : s.metadata.name;
return {
label,
value: s.metadata.name,
};
}) || [];
setProperties(this, {
imageContent,
networkContent,
namespaceContent,
userDataContent,
networkDataContent,
storageClassContent
});
}).catch((err) => {
setProperties(this, {
imageContent: [],
networkContent: [],
namespaceContent: [],
userDataContent: [],
networkDataContent: [],
namespaces: [],
vmAffinity: [],
nodeSchedulings: [],
podSchedulings: [],
imageContent: [],
networkContent: [],
namespaceContent: [],
userDataContent: [],
networkDataContent: [],
namespaces: [],
vmAffinity: [],
nodeSchedulings: [],
podSchedulings: [],
storageClassContent: [],
})
const message = err.statusText || err.message;
@ -292,15 +306,6 @@ export default Component.extend(NodeDriver, {
return (get(this, 'cloudCredentials') || []).find((C) => C.id === get(this, 'model.cloudCredentialId'));
}),
isImported: computed('currentCredential.harvestercredentialConfig.clusterType', function() {
if (get(this, 'currentCredential') && get(this, 'currentCredential').harvestercredentialConfig) {
return get(this, 'currentCredential').harvestercredentialConfig.clusterType === 'imported';
}
return false;
}),
isSystemNamespace(namespace) {
if ( namespace.metadata && namespace.metadata.annotations && namespace.metadata.annotations['management.cattle.io/system-namespace'] === 'true' ) {
return true;

View File

@ -74,100 +74,19 @@
</div>
<div class="row">
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.diskSize.label"}}{{field-required}}
</label>
<div class="input-group">
{{input-integer
min=1
value=config.diskSize
classNames="form-control"
placeholder=(t "nodeDriver.harvester.diskSize.placeholder")
}}
<div class="input-group-addon bg-default">
{{t "nodeDriver.harvester.diskSize.unit"}}
</div>
</div>
</div>
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.namespace.label"}}{{field-required}}
</label>
{{#if isImported}}
<SearchableSelect
@class="form-control"
@content={{namespaceContent}}
@value={{config.vmNamespace}}
@placeholder={{t "nodeDriver.harvester.namespace.placeholder"}}
/>
{{else}}
{{input
type="text"
value=config.vmNamespace
classNames="form-control"
placeholder=(t "nodeDriver.harvester.namespace.placeholder")
}}
{{/if}}
<SearchableSelect
@class="form-control"
@content={{namespaceContent}}
@value={{config.vmNamespace}}
@placeholder={{t "nodeDriver.harvester.namespace.placeholder"}}
/>
</div>
</div>
<div class="row">
{{#if isImported}}
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.imageName.label"}}{{field-required}}
</label>
<SearchableSelect
@class="form-control"
@content={{imageContent}}
@value={{config.imageName}}
@placeholder={{t "nodeDriver.harvester.imageName.placeholder"}}
/>
</div>
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.networkName.label"}}{{field-required}}
</label>
<SearchableSelect
@class="form-control"
@content={{networkContent}}
@value={{config.networkName}}
@placeholder={{t "nodeDriver.harvester.networkName.placeholder"}}
/>
</div>
{{else}}
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.imageName.label"}}{{field-required}}
</label>
{{input
type="text"
value=config.imageName
classNames="form-control"
placeholder=(t "nodeDriver.harvester.imageName.placeholder")
}}
</div>
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.networkName.label"}}{{field-required}}
</label>
{{input
type="text"
value=config.networkName
classNames="form-control"
placeholder=(t "nodeDriver.harvester.networkName.placeholder")
}}
</div>
{{/if}}
</div>
<div class="row">
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.sshUser.label"}}{{field-required}}
@ -193,6 +112,52 @@
}}
</div>
</div>
<div class="row">
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.imageName.label"}}{{field-required}}
</label>
<SearchableSelect
@class="form-control"
@content={{imageContent}}
@value={{config.imageName}}
@placeholder={{t "nodeDriver.harvester.imageName.placeholder"}}
/>
</div>
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.diskSize.label"}}{{field-required}}
</label>
<div class="input-group">
{{input-integer
min=1
value=config.diskSize
classNames="form-control"
placeholder=(t "nodeDriver.harvester.diskSize.placeholder")
}}
<div class="input-group-addon bg-default">
{{t "nodeDriver.harvester.diskSize.unit"}}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.networkName.label"}}{{field-required}}
</label>
<SearchableSelect
@class="form-control"
@content={{networkContent}}
@value={{config.networkName}}
@placeholder={{t "nodeDriver.harvester.networkName.placeholder"}}
/>
</div>
</div>
{{/if}}
{{/accordion-list-item}}
@ -243,20 +208,18 @@
</div> --}}
{{/if}}
{{#if isImported}}
<div class="row">
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.userData.template.label"}}
</label>
<SearchableSelect
@class="form-control"
@content={{userDataContent}}
@value={{config.userData}}
/>
</div>
<div class="row">
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.userData.template.label"}}
</label>
<SearchableSelect
@class="form-control"
@content={{userDataContent}}
@value={{config.userData}}
/>
</div>
{{/if}}
</div>
<div class="row">
<div class="col span-12">
@ -275,20 +238,18 @@
</div>
</div>
{{#if isImported}}
<div class="row">
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.networkData.template.label"}}
</label>
<SearchableSelect
@class="form-control"
@content={{networkDataContent}}
@value={{config.networkData}}
/>
</div>
<div class="row">
<div class="col span-6">
<label class="acc-label">
{{t "nodeDriver.harvester.networkData.template.label"}}
</label>
<SearchableSelect
@class="form-control"
@content={{networkDataContent}}
@value={{config.networkData}}
/>
</div>
{{/if}}
</div>
<div class="row">
<div class="col span-12">