]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/osd/osd-list/osd-list.component.html
import quincy beta 17.1.0
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / ceph / cluster / osd / osd-list / osd-list.component.html
1 <ul ngbNav
2 #nav="ngbNav"
3 class="nav-tabs">
4 <li ngbNavItem>
5 <a ngbNavLink
6 i18n>OSDs List</a>
7 <ng-template ngbNavContent>
8 <cd-table [data]="osds"
9 (fetchData)="getOsdList()"
10 [columns]="columns"
11 selectionType="multiClick"
12 [hasDetails]="true"
13 (setExpandedRow)="setExpandedRow($event)"
14 (updateSelection)="updateSelection($event)"
15 [updateSelectionOnRefresh]="'never'">
16
17 <div class="table-actions btn-toolbar">
18 <cd-table-actions [permission]="permissions.osd"
19 [selection]="selection"
20 class="btn-group"
21 id="osd-actions"
22 [tableActions]="tableActions">
23 </cd-table-actions>
24 <cd-table-actions [permission]="{read: true}"
25 [selection]="selection"
26 dropDownOnly="Cluster-wide configuration"
27 btnColor="light"
28 class="btn-group"
29 id="cluster-wide-actions"
30 [tableActions]="clusterWideActions">
31 </cd-table-actions>
32 </div>
33
34 <cd-osd-details cdTableDetail
35 [selection]="expandedRow">
36 </cd-osd-details>
37 </cd-table>
38 </ng-template>
39 </li>
40
41 <li ngbNavItem
42 *ngIf="permissions.grafana.read">
43 <a ngbNavLink
44 i18n>Overall Performance</a>
45 <ng-template ngbNavContent>
46 <cd-grafana [grafanaPath]="'osd-overview?'"
47 uid="lo02I1Aiz"
48 grafanaStyle="four">
49 </cd-grafana>
50 </ng-template>
51 </li>
52 </ul>
53
54 <div [ngbNavOutlet]="nav"></div>
55
56 <ng-template #markOsdConfirmationTpl
57 let-markActionDescription="markActionDescription"
58 let-osdIds="osdIds">
59 <ng-container i18n><strong>OSD(s) {{ osdIds | join }}</strong> will be marked
60 <strong>{{ markActionDescription }}</strong> if you proceed.</ng-container>
61 </ng-template>
62
63 <ng-template #criticalConfirmationTpl
64 let-safeToPerform="safeToPerform"
65 let-message="message"
66 let-actionDescription="actionDescription"
67 let-osdIds="osdIds">
68 <div *ngIf="!safeToPerform"
69 class="danger">
70 <cd-alert-panel type="warning"
71 i18n>The {selection.hasSingleSelection, select, true {OSD is} other {OSDs are}} not safe to be
72 {{ actionDescription }}! {{ message }}</cd-alert-panel>
73 </div>
74 <ng-container i18n><strong>OSD {{ osdIds | join }}</strong> will be
75 <strong>{{ actionDescription }}</strong> if you proceed.</ng-container>
76 </ng-template>
77
78 <ng-template #flagsTpl
79 let-row="row">
80 <span *ngFor="let flag of row.cdClusterFlags;"
81 class="badge badge-hdd mr-1">{{ flag }}</span>
82 <span *ngFor="let flag of row.cdIndivFlags;"
83 class="badge badge-info mr-1">{{ flag }}</span>
84 </ng-template>
85
86 <ng-template #osdUsageTpl
87 let-row="row">
88 <cd-usage-bar [total]="row.stats.stat_bytes"
89 [used]="row.stats.stat_bytes_used"
90 [warningThreshold]="osdSettings.nearfull_ratio"
91 [errorThreshold]="osdSettings.full_ratio">
92 </cd-usage-bar>
93 </ng-template>
94
95 <ng-template #deleteOsdExtraTpl
96 let-form="form">
97 <ng-container [formGroup]="form">
98 <ng-container formGroupName="child">
99 <div class="form-group">
100 <div class="custom-control custom-checkbox">
101 <input type="checkbox"
102 class="custom-control-input"
103 name="preserve"
104 id="preserve"
105 formControlName="preserve">
106 <label class="custom-control-label"
107 for="preserve"
108 i18n>Preserve OSD ID(s) for replacement.</label>
109 </div>
110 </div>
111 </ng-container>
112 </ng-container>
113 </ng-template>