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 ml-2">
13 <div class=
"accordion">
15 <div class=
"card-header">
17 <button class=
"btn btn-link btn-block text-left dropdown-toggle"
18 data-toggle=
"collapse"
19 aria-label=
"toggle deployment options"
20 [attr.aria-expanded]=
"simpleDeployment"
21 (click)=
"emitDeploymentMode()"
22 i18n
>Deployment Options
</button>
27 [ngClass]=
"{show: simpleDeployment}">
28 <div class=
"card-body d-flex flex-column">
29 <div class=
"pt-3 pb-3"
30 *
ngFor=
"let optionName of optionNames">
31 <div class=
"custom-control custom-radio custom-control-inline">
32 <input class=
"custom-control-input"
34 name=
"deploymentOption"
37 formControlName=
"deploymentOption"
38 (change)=
"emitDeploymentSelection()"
39 [attr.disabled]=
"!deploymentOptions?.options[optionName].available ? true : null">
40 <label class=
"custom-control-label"
41 [id]=
"'label_' + optionName"
43 i18n
>{{ deploymentOptions?.options[optionName].title }}
44 {{ deploymentOptions.recommended_option === optionName ?
"(Recommended)" :
"" }}
46 <span>{{ deploymentOptions?.options[optionName].desc }}
</span>
51 <!-- @TODO: Visualize the storage used on a chart -->
52 <!-- <div class="pie-chart">
53 <h4 class="text-center">Selected Capacity</h4>
54 <h5 class="margin text-center">10 Hosts | 30 NVMes </h5>
55 <div class="char-i-contain">
56 <cd-health-pie [data]="data"
57 [config]="rawCapacityChartConfig"
59 (prepareFn)="prepareRawUsage($event[0], $event[1])">
66 <div class=
"card-header">
68 <button class=
"btn btn-link btn-block text-left dropdown-toggle"
69 data-toggle=
"collapse"
70 aria-label=
"toggle advanced mode"
71 [attr.aria-expanded]=
"!simpleDeployment"
72 (click)=
"emitDeploymentMode()"
73 i18n
>Advanced Mode
</button>
78 [ngClass]=
"{show: !simpleDeployment}">
79 <div class=
"card-body">
80 <div class=
"card-body">
82 <cd-osd-devices-selection-groups #dataDeviceSelectionGroups
85 [availDevices]=
"availDevices"
86 [canSelect]=
"availDevices.length !== 0"
87 (selected)=
"onDevicesSelected($event)"
88 (cleared)=
"onDevicesCleared($event)">
89 </cd-osd-devices-selection-groups>
92 <!-- Shared devices -->
94 <legend i18n
>Shared devices
</legend>
96 <!-- WAL devices button and table -->
97 <cd-osd-devices-selection-groups #walDeviceSelectionGroups
100 [availDevices]=
"availDevices"
101 [canSelect]=
"dataDeviceSelectionGroups.devices.length !== 0"
102 (selected)=
"onDevicesSelected($event)"
103 (cleared)=
"onDevicesCleared($event)">
104 </cd-osd-devices-selection-groups>
107 <div class=
"form-group row"
108 *
ngIf=
"walDeviceSelectionGroups.devices.length !== 0">
109 <label class=
"cd-col-form-label"
111 <ng-container i18n
>WAL slots
</ng-container>
113 <span i18n
>How many OSDs per WAL device.
</span>
115 <span i18n
>Specify
0 to let Orchestrator backend decide it.
</span>
118 <div class=
"cd-col-form-input">
119 <input class=
"form-control"
124 formControlName=
"walSlots">
125 <span class=
"invalid-feedback"
126 *
ngIf=
"form.showError('walSlots', formDir, 'min')"
127 i18n
>Value should be greater than or equal to
0</span>
131 <!-- DB devices button and table -->
132 <cd-osd-devices-selection-groups #dbDeviceSelectionGroups
135 [availDevices]=
"availDevices"
136 [canSelect]=
"dataDeviceSelectionGroups.devices.length !== 0"
137 (selected)=
"onDevicesSelected($event)"
138 (cleared)=
"onDevicesCleared($event)">
139 </cd-osd-devices-selection-groups>
142 <div class=
"form-group row"
143 *
ngIf=
"dbDeviceSelectionGroups.devices.length !== 0">
144 <label class=
"cd-col-form-label"
146 <ng-container i18n
>DB slots
</ng-container>
148 <span i18n
>How many OSDs per DB device.
</span>
150 <span i18n
>Specify
0 to let Orchestrator backend decide it.
</span>
153 <div class=
"cd-col-form-input">
154 <input class=
"form-control"
159 formControlName=
"dbSlots">
160 <span class=
"invalid-feedback"
161 *
ngIf=
"form.showError('dbSlots', formDir, 'min')"
162 i18n
>Value should be greater than or equal to
0</span>
172 <div class=
"card-header">
174 <button class=
"btn btn-link btn-block text-left dropdown-toggle"
175 data-toggle=
"collapse"
176 aria-label=
"features"
178 i18n
>Features
</button>
182 <div class=
"collapse show">
183 <div class=
"card-body d-flex flex-column">
184 <div class=
"pt-3 pb-3"
185 formGroupName=
"features">
186 <div class=
"custom-control custom-checkbox"
187 *
ngFor=
"let feature of featureList">
188 <input type=
"checkbox"
189 class=
"custom-control-input"
190 id=
"{{ feature.key }}"
191 name=
"{{ feature.key }}"
192 formControlName=
"{{ feature.key }}"
193 (change)=
"emitDeploymentSelection()">
194 <label class=
"custom-control-label"
195 for=
"{{ feature.key }}">{{ feature.desc }}
</label>
204 <div class=
"card-footer"
205 *
ngIf=
"!hideSubmitBtn">
206 <cd-form-button-panel #previewButtonPanel
207 (submitActionEvent)=
"submit()"
209 [disabled]=
"dataDeviceSelectionGroups.devices.length === 0 && !simpleDeployment"
210 [submitText]=
"simpleDeployment ? 'Create OSDs' : actionLabels.PREVIEW"
211 wrappingClass=
"text-right"></cd-form-button-panel>