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` }), networks: get(this, 'globalStore').rawRequest({ url: `${ url }/v1/k8s.cni.cncf.io.networkattachmentdefinition` }),
namespaces: get(this, 'globalStore').rawRequest({ url: `${ url }/v1/namespace` }), namespaces: get(this, 'globalStore').rawRequest({ url: `${ url }/v1/namespace` }),
configmaps: get(this, 'globalStore').rawRequest({ url: `${ url }/v1/configmap` }), 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` }), systemNamespace: get(this, 'globalStore').rawRequest({ url: `${ url }/v1/management.cattle.io.settings/system-namespaces` }),
}).then((resp) => { }).then((resp) => {
const images = resp.images.body.data || []; const images = resp.images.body.data || [];
@ -254,12 +255,24 @@ 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, { setProperties(this, {
imageContent, imageContent,
networkContent, networkContent,
namespaceContent, namespaceContent,
userDataContent, userDataContent,
networkDataContent, networkDataContent,
storageClassContent
}); });
}).catch((err) => { }).catch((err) => {
setProperties(this, { setProperties(this, {
@ -272,6 +285,7 @@ export default Component.extend(NodeDriver, {
vmAffinity: [], vmAffinity: [],
nodeSchedulings: [], nodeSchedulings: [],
podSchedulings: [], podSchedulings: [],
storageClassContent: [],
}) })
const message = err.statusText || err.message; 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')); 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) { isSystemNamespace(namespace) {
if ( namespace.metadata && namespace.metadata.annotations && namespace.metadata.annotations['management.cattle.io/system-namespace'] === 'true' ) { if ( namespace.metadata && namespace.metadata.annotations && namespace.metadata.annotations['management.cattle.io/system-namespace'] === 'true' ) {
return true; return true;

View File

@ -74,100 +74,19 @@
</div> </div>
<div class="row"> <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"> <div class="col span-6">
<label class="acc-label"> <label class="acc-label">
{{t "nodeDriver.harvester.namespace.label"}}{{field-required}} {{t "nodeDriver.harvester.namespace.label"}}{{field-required}}
</label> </label>
{{#if isImported}}
<SearchableSelect <SearchableSelect
@class="form-control" @class="form-control"
@content={{namespaceContent}} @content={{namespaceContent}}
@value={{config.vmNamespace}} @value={{config.vmNamespace}}
@placeholder={{t "nodeDriver.harvester.namespace.placeholder"}} @placeholder={{t "nodeDriver.harvester.namespace.placeholder"}}
/> />
{{else}}
{{input
type="text"
value=config.vmNamespace
classNames="form-control"
placeholder=(t "nodeDriver.harvester.namespace.placeholder")
}}
{{/if}}
</div>
</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"> <div class="col span-6">
<label class="acc-label"> <label class="acc-label">
{{t "nodeDriver.harvester.sshUser.label"}}{{field-required}} {{t "nodeDriver.harvester.sshUser.label"}}{{field-required}}
@ -193,6 +112,52 @@
}} }}
</div> </div>
</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}} {{/if}}
{{/accordion-list-item}} {{/accordion-list-item}}
@ -243,7 +208,6 @@
</div> --}} </div> --}}
{{/if}} {{/if}}
{{#if isImported}}
<div class="row"> <div class="row">
<div class="col span-6"> <div class="col span-6">
<label class="acc-label"> <label class="acc-label">
@ -256,7 +220,6 @@
/> />
</div> </div>
</div> </div>
{{/if}}
<div class="row"> <div class="row">
<div class="col span-12"> <div class="col span-12">
@ -275,7 +238,6 @@
</div> </div>
</div> </div>
{{#if isImported}}
<div class="row"> <div class="row">
<div class="col span-6"> <div class="col span-6">
<label class="acc-label"> <label class="acc-label">
@ -288,7 +250,6 @@
/> />
</div> </div>
</div> </div>
{{/if}}
<div class="row"> <div class="row">
<div class="col span-12"> <div class="col span-12">