1 <cd-orchestrator-doc-panel *
ngIf=
"!hasOrchestrator"></cd-orchestrator-doc-panel>
4 *
cdFormLoading=
"loading">
5 <div i18n=
"form title|Example: Create Pool@@formTitle"
7 *
ngIf=
"!hideTitle">{{ action | titlecase }} {{ resource | upperFirst }}
</div>
8 <div class=
"card-body ms-2">
13 <cd-alert-panel *
ngIf=
"!deploymentOptions?.recommended_option"
17 No devices(HDD, SSD or NVME) were found. Creation of OSDs will remain
18 disabled until devices are added.
20 <div class=
"accordion">
21 <div class=
"accordion-item">
22 <h2 class=
"accordion-header">
23 <button class=
"accordion-button"
25 data-toggle=
"collapse"
26 aria-label=
"toggle deployment options"
27 [ngClass]=
"{collapsed: !simpleDeployment}"
28 (click)=
"emitDeploymentMode()"
29 i18n
>Deployment Options
</button>
32 <div class=
"accordion-collapse collapse"
33 [ngClass]=
"{show: simpleDeployment}">
34 <div class=
"accordion-body">
35 <div class=
"pt-3 pb-3"
36 *
ngFor=
"let optionName of optionNames">
37 <div class=
"custom-control form-check custom-control-inline">
38 <input class=
"form-check-input"
40 name=
"deploymentOption"
43 formControlName=
"deploymentOption"
44 (change)=
"emitDeploymentSelection()"
45 [attr.disabled]=
"!deploymentOptions?.options[optionName].available ? true : null">
46 <label class=
"form-check-label"
47 [id]=
"'label_' + optionName"
49 i18n
>{{ deploymentOptions?.options[optionName].title }}
50 {{ deploymentOptions?.recommended_option === optionName ?
"(Recommended)" :
"" }}
52 <span>{{ deploymentOptions?.options[optionName].desc }}
</span>
57 <!-- @TODO: Visualize the storage used on a chart -->
58 <!-- <div class="pie-chart">
59 <h4 class="text-center">Selected Capacity</h4>
60 <h5 class="margin text-center">10 Hosts | 30 NVMes </h5>
61 <div class="char-i-contain">
62 <cd-health-pie [data]="data"
63 [config]="rawCapacityChartConfig"
65 (prepareFn)="prepareRawUsage($event[0], $event[1])">
71 <div class=
"accordion-item">
72 <h2 class=
"accordion-header">
73 <button class=
"accordion-button"
75 aria-label=
"toggle advanced mode"
76 [ngClass]=
"{collapsed: simpleDeployment}"
77 (click)=
"emitDeploymentMode()"
78 i18n
>Advanced Mode
</button>
81 <div class=
"accordion-collapse collapse"
82 [ngClass]=
"{show: !simpleDeployment}">
83 <div class=
"accordion-body">
84 <div class=
"card-body">
86 <cd-osd-devices-selection-groups #dataDeviceSelectionGroups
89 [availDevices]=
"availDevices"
90 [canSelect]=
"availDevices.length !== 0"
91 (selected)=
"onDevicesSelected($event)"
92 (cleared)=
"onDevicesCleared($event)">
93 </cd-osd-devices-selection-groups>
96 <!-- Shared devices -->
98 <legend i18n
>Shared devices
</legend>
100 <!-- WAL devices button and table -->
101 <cd-osd-devices-selection-groups #walDeviceSelectionGroups
104 [availDevices]=
"availDevices"
105 [canSelect]=
"dataDeviceSelectionGroups.devices.length !== 0"
106 (selected)=
"onDevicesSelected($event)"
107 (cleared)=
"onDevicesCleared($event)"
108 [hostname]=
"hostname">
109 </cd-osd-devices-selection-groups>
112 <div class=
"form-group row"
113 *
ngIf=
"walDeviceSelectionGroups.devices.length !== 0">
114 <label class=
"cd-col-form-label"
116 <ng-container i18n
>WAL slots
</ng-container>
118 <span i18n
>How many OSDs per WAL device.
</span>
120 <span i18n
>Specify
0 to let Orchestrator backend decide it.
</span>
123 <div class=
"cd-col-form-input">
124 <input class=
"form-control"
129 formControlName=
"walSlots">
130 <span class=
"invalid-feedback"
131 *
ngIf=
"form.showError('walSlots', formDir, 'min')"
132 i18n
>Value should be greater than or equal to
0</span>
136 <!-- DB devices button and table -->
137 <cd-osd-devices-selection-groups #dbDeviceSelectionGroups
140 [availDevices]=
"availDevices"
141 [canSelect]=
"dataDeviceSelectionGroups.devices.length !== 0"
142 (selected)=
"onDevicesSelected($event)"
143 (cleared)=
"onDevicesCleared($event)"
144 [hostname]=
"hostname">
145 </cd-osd-devices-selection-groups>
148 <div class=
"form-group row"
149 *
ngIf=
"dbDeviceSelectionGroups.devices.length !== 0">
150 <label class=
"cd-col-form-label"
152 <ng-container i18n
>DB slots
</ng-container>
154 <span i18n
>How many OSDs per DB device.
</span>
156 <span i18n
>Specify
0 to let Orchestrator backend decide it.
</span>
159 <div class=
"cd-col-form-input">
160 <input class=
"form-control"
165 formControlName=
"dbSlots">
166 <span class=
"invalid-feedback"
167 *
ngIf=
"form.showError('dbSlots', formDir, 'min')"
168 i18n
>Value should be greater than or equal to
0</span>
177 <div class=
"accordion-item">
178 <h2 class=
"accordion-header">
179 <button class=
"accordion-button"
181 data-toggle=
"collapse"
182 aria-label=
"features"
184 i18n
>Features
</button>
187 <div class=
"accordion-collapse collapse show">
188 <div class=
"accordion-body">
189 <div class=
"pt-3 pb-3"
190 formGroupName=
"features">
191 <div class=
"custom-control custom-checkbox"
192 *
ngFor=
"let feature of featureList">
193 <input type=
"checkbox"
194 class=
"custom-control-input"
195 id=
"{{ feature.key }}"
196 name=
"{{ feature.key }}"
197 formControlName=
"{{ feature.key }}"
198 (change)=
"emitDeploymentSelection()">
199 <label class=
"custom-control-label"
200 for=
"{{ feature.key }}">{{ feature.desc }}
</label>
209 <div class=
"card-footer"
210 *
ngIf=
"!hideSubmitBtn">
211 <cd-form-button-panel #previewButtonPanel
212 (submitActionEvent)=
"submit()"
214 [disabled]=
"dataDeviceSelectionGroups.devices.length === 0 && !simpleDeployment"
215 [submitText]=
"simpleDeployment ? 'Create OSDs' : actionLabels.PREVIEW"
216 wrappingClass=
"text-right"></cd-form-button-panel>