Advanced Cluster Management Enhancements
- Chnaged cluster page design from switch to single page
- Added bootstrap option in creation and registration
- Added horizontal scaling, vertical scaling and upgrade in
cluster action
- In cluster page, for list combined two apis to show list done
temporary fix from UI
Change-Id: Ie4d30f5db28025ec92398cc60fc50ab7030f8f9b
Signed-off-by: SANDHYA.JS <sandhya.j@tataelxsi.co.in>
diff --git a/src/app/k8s/k8s-add-cluster/K8sAddClusterComponent.html b/src/app/k8s/k8s-add-cluster/K8sAddClusterComponent.html
index a8d5820..3d623ae 100644
--- a/src/app/k8s/k8s-add-cluster/K8sAddClusterComponent.html
+++ b/src/app/k8s/k8s-add-cluster/K8sAddClusterComponent.html
@@ -17,19 +17,39 @@
-->
<form [formGroup]="k8sclusterForm" (ngSubmit)="k8sAddClusterSubmit();">
<div class="modal-header">
- <h4 *ngIf="profileType === 'Register'" class="modal-title" id="modal-basic-title">{{'PAGE.K8S.REGISTERCLUSTER' | translate}}
+ <h4 *ngIf="profileType === 'Register'" class="modal-title" id="modal-basic-title">{{'PAGE.K8S.REGISTERCLUSTER' |
+ translate}}
</h4>
- <h4 *ngIf="profileType === 'Manage'" class="modal-title" id="modal-basic-title">{{'PAGE.K8S.CREATECLUSTER' | translate}}
+ <h4 *ngIf="profileType === 'Manage'" class="modal-title" id="modal-basic-title">{{'PAGE.K8S.CREATECLUSTER' |
+ translate}}
</h4>
- <h4 *ngIf="profileType === 'upgrade'" class="modal-title" id="modal-basic-title">{{'PAGE.K8S.UPGRADECLUSTER' | translate}}
+ <h4 *ngIf="profileType === 'upgrade'" class="modal-title" id="modal-basic-title">{{'PAGE.K8S.UPGRADECLUSTER' |
+ translate}}
</h4>
- <h4 *ngIf="profileType === 'scale'" class="modal-title" id="modal-basic-title">{{'PAGE.K8S.SCALECLUSTER' | translate}}</h4>
+ <h4 *ngIf="profileType === 'vertical'" class="modal-title" id="modal-basic-title">{{'PAGE.K8S.VERTICALSCALING' |
+ translate}}
+ </h4>
+ <h4 *ngIf="profileType === 'horizontal'" class="modal-title" id="modal-basic-title">{{'PAGE.K8S.HORIZONTALSCALING' |
+ translate}}
+ </h4>
<button class="button-xs" type="button" class="close" aria-label="Close" (click)="activeModal.close()">
<i class="fas fa-times-circle text-danger"></i>
</button>
</div>
<div class="modal-body modal-body-custom-height">
<div class="form-group row mb-3" *ngIf="profileType === 'Manage' || profileType === 'Register'">
+ <div class="col-sm-12">
+ <label class="form-check-label">
+ <input class="quotacheck form-check-input" (click)=getValue($event) type="checkbox"
+ formControlName="bootstrap" id="quotacheck">
+ <label class="form-check-label" for="quotaCheck"> <b>{{ 'PAGE.K8S.BOOTSTRAP' | translate }}</b> </label>
+ <i class="fas fa-info-circle tooltip-icon">
+ <span class="tooltip-text">{{ 'PAGE.K8S.BOOTSTRAPINFO' | translate }}</span>
+ </i>
+ </label>
+ </div>
+ </div>
+ <div class="form-group row mb-3" *ngIf="profileType === 'Manage' || profileType === 'Register' || !isChecked">
<label class="col-sm-12 col-form-label mandatory-label"
[ngClass]="{'text-danger': k8sclusterForm.invalid === true && submitted === true}">{{'MANDATORYCHECK' |
translate}}</label>
@@ -39,8 +59,7 @@
formControlName="name" id="name" [ngClass]="{ 'is-invalid': submitted && f.name.errors }" required>
</div>
</div>
- <div class="form-group row mb-3"
- *ngIf="profileType === 'Manage' || profileType === 'Register'|| profileType === 'upgrade'">
+ <div class="form-group row mb-3" *ngIf="profileType === 'Manage'|| !isChecked">
<label class="col-sm-4 col-form-label" for="k8s_version">{{'PAGE.K8S.K8SVERSION' | translate}}*</label>
<div class="col-sm-8">
<input autocomplete="off" class="form-control" placeholder="{{'PAGE.K8S.K8SVERSION' | translate}}" type="text"
@@ -48,7 +67,7 @@
required>
</div>
</div>
- <div class="form-group row mb-3" *ngIf="profileType === 'Manage' || profileType === 'Register'">
+ <div class="form-group row mb-3" *ngIf="profileType === 'Manage' || profileType === 'Register' || !isChecked">
<label class="col-sm-4 col-form-label" for="vim_account">{{'PAGE.K8S.VIMACCOUNT' | translate}}*</label>
<div class="col-sm-8">
<ng-select (change)="getDetailsvim($event)"
@@ -58,7 +77,7 @@
</ng-select>
</div>
</div>
- <div class="form-group row mb-3" *ngIf="profileType === 'Register'">
+ <div class="form-group row mb-3" *ngIf="!isChecked && profileType === 'Register'">
<label class="col-sm-4 col-form-label" for="deployment_methods">{{'PAGE.K8S.DEPLOYMENTMETHODS' |
translate}}*</label>
<div class="col-sm-8">
@@ -69,27 +88,27 @@
</ng-select>
</div>
</div>
- <div class="form-group row mb-3" *ngIf="profileType === 'Manage' || profileType === 'Register'">
- <label class="col-sm-4 col-form-label" for="description">{{'PAGE.K8S.DESCRIPTION' | translate}}*</label>
+ <div class="form-group row mb-3" *ngIf="profileType === 'Manage' || profileType === 'Register' || !isChecked">
+ <label class="col-sm-4 col-form-label" for="description">{{'PAGE.K8S.DESCRIPTION' | translate}}</label>
<div class="col-sm-8">
<textarea class="form-control" placeholder="{{'PAGE.K8S.DESCRIPTION' | translate}}" type="text"
- formControlName="description" id="description" [ngClass]="{ 'is-invalid': submitted && f.description.errors }"
- required></textarea>
+ formControlName="description" id="description"
+ [ngClass]="{ 'is-invalid': submitted && f.description.errors }"></textarea>
</div>
</div>
- <div class="form-group row mb-3" *ngIf="profileType === 'Register'">
+ <div class="form-group row mb-3" *ngIf="!isChecked && profileType === 'Register'">
<label class="col-sm-4 col-form-label" for="nets">{{'PAGE.K8S.NETS' | translate}}*</label>
<div class="col-sm-8">
<textarea rows="5" cols="50" class="form-control" placeholder="{{'PAGE.K8S.NETSPLACEHOLDER' | translate}}"
formControlName="nets" id="nets" [ngClass]="{ 'is-invalid': submitted && f.nets.errors }" required></textarea>
<div class="fileupload-text mt-1 mb-1">{{'FILEUPLOADLABEL' | translate}}</div>
<div class="custom-file">
- <input type="file" #fileInputNets class="fileupload custom-file-input" (change)="netsFile($event.target.files)"
- id="customFileNets">
+ <input type="file" #fileInputNets class="fileupload custom-file-input"
+ (change)="netsFile($event.target.files)" id="customFileNets">
</div>
</div>
</div>
- <div class="form-group row mb-3" *ngIf="profileType === 'Register'">
+ <div class="form-group row mb-3" *ngIf="profileType === 'Register'|| (profileType === 'Register' && !isChecked)">
<label class="col-sm-4 col-form-label" for="credentials">{{'PAGE.K8S.CREDENTIALS' | translate}}*</label>
<div class="col-sm-8">
<textarea rows="5" cols="50" class="form-control" placeholder="{{'YAMLCONFIG' | translate}}"
@@ -113,12 +132,12 @@
<div class="form-group row mb-3" *ngIf="profileType === 'Manage'">
<label class="col-sm-4 col-form-label" for="k8s_version">{{'PAGE.K8S.RESOURCEGROUP' | translate}}</label>
<div class="col-sm-8">
- <input autocomplete="off" class="form-control" placeholder="{{'PAGE.K8S.RESOURCEGROUP' | translate}}" type="text"
- formControlName="resource_group" id="k8s_version"
+ <input autocomplete="off" class="form-control" placeholder="{{'PAGE.K8S.RESOURCEGROUP' | translate}}"
+ type="text" formControlName="resource_group" id="k8s_version"
[ngClass]="{ 'is-invalid': submitted && f.resource_group.errors }">
</div>
</div>
- <div class="form-group row mb-3" *ngIf="profileType === 'Manage' || profileType === 'scale'">
+ <div class="form-group row mb-3" *ngIf="profileType === 'Manage'">
<label class="col-sm-4 col-form-label" for="node_count">{{'PAGE.K8S.NODECOUNT' | translate}}*</label>
<div class="col-sm-8">
<input autocomplete="off" class="form-control" placeholder="{{'PAGE.K8S.NODECOUNT' | translate}}" type="text"
@@ -134,12 +153,34 @@
required>
</div>
</div>
+ <div class="form-group row mb-3" *ngIf="profileType === 'horizontal'">
+ <label class="col-sm-4 col-form-label" for="node_count">{{'PAGE.K8S.NODECOUNT' | translate}}</label>
+ <div class="col-sm-8">
+ <input autocomplete="off" class="form-control" placeholder="{{'PAGE.K8S.NODECOUNT' | translate}}" type="text"
+ formControlName="nodeCount" id="node_count" [ngClass]="{ 'is-invalid': submitted && f.nodeCount.errors }">
+ </div>
+ </div>
+ <div class="form-group row mb-3" *ngIf="profileType === 'vertical'">
+ <label class="col-sm-4 col-form-label" for="k8s_version">{{'PAGE.K8S.NODESIZE' | translate}}</label>
+ <div class="col-sm-8">
+ <input autocomplete="off" class="form-control" placeholder="{{'PAGE.K8S.NODESIZE' | translate}}" type="text"
+ formControlName="nodeSize" id="k8s_version" [ngClass]="{ 'is-invalid': submitted && f.nodeSize.errors }">
+ </div>
+ </div>
+ <div class="form-group row mb-3" *ngIf="profileType === 'upgrade'">
+ <label class="col-sm-4 col-form-label" for="k8s_version">{{'PAGE.K8S.K8SVERSION' | translate}}</label>
+ <div class="col-sm-8">
+ <input autocomplete="off" class="form-control" placeholder="{{'PAGE.K8S.K8SVERSION' | translate}}" type="text"
+ formControlName="k8sVersion" id="k8s_version" [ngClass]="{ 'is-invalid': submitted && f.k8sVersion.errors }">
+ </div>
+ </div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" (click)="activeModal.close()">{{'CANCEL' | translate}}</button>
- <button *ngIf="profileType === 'Manage' || profileType === 'Register'" type="submit"
- class="btn btn-primary">{{'CREATE' | translate}}</button>
- <button *ngIf="profileType === 'upgrade' || profileType === 'scale'" type="submit" class="btn btn-primary">{{'APPLY'
+ <button *ngIf="profileType === 'Manage'" type="submit" class="btn btn-primary">{{'CREATE' | translate}}</button>
+ <button *ngIf="profileType === 'Register'" type="submit" class="btn btn-primary">{{'REGISTER' | translate}}</button>
+ <button *ngIf="profileType === 'upgrade' || profileType === 'vertical' || profileType === 'horizontal'"
+ type="submit" class="btn btn-primary">{{'APPLY'
| translate}}</button>
</div>
</form>