]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-details/rbd-details.component.html
8614dfe72bccbd50973ceca123652e908760aee4
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / ceph / block / rbd-details / rbd-details.component.html
1 <ng-template #usageNotAvailableTooltipTpl>
2 <ng-container i18n>Only available for RBD images with <strong>fast-diff</strong> enabled</ng-container>
3 </ng-template>
4
5 <ng-container *ngIf="selection && selection.source !== 'REMOVING'">
6 <ul ngbNav
7 #nav="ngbNav"
8 class="nav-tabs"
9 cdStatefulTab="rbd-details">
10 <li ngbNavItem="details">
11 <a ngbNavLink
12 i18n>Details</a>
13 <ng-template ngbNavContent>
14 <table class="table table-striped table-bordered">
15 <tbody>
16 <tr>
17 <td i18n
18 class="bold w-25">Name</td>
19 <td class="w-75">{{ selection.name }}</td>
20 </tr>
21 <tr>
22 <td i18n
23 class="bold">Pool</td>
24 <td>{{ selection.pool_name }}</td>
25 </tr>
26 <tr>
27 <td i18n
28 class="bold">Data Pool</td>
29 <td>{{ selection.data_pool | empty }}</td>
30 </tr>
31 <tr>
32 <td i18n
33 class="bold">Created</td>
34 <td>{{ selection.timestamp | cdDate }}</td>
35 </tr>
36 <tr>
37 <td i18n
38 class="bold">Size</td>
39 <td>{{ selection.size | dimlessBinary }}</td>
40 </tr>
41 <tr>
42 <td i18n
43 class="bold">Objects</td>
44 <td>{{ selection.num_objs | dimless }}</td>
45 </tr>
46 <tr>
47 <td i18n
48 class="bold">Object size</td>
49 <td>{{ selection.obj_size | dimlessBinary }}</td>
50 </tr>
51 <tr>
52 <td i18n
53 class="bold">Features</td>
54 <td>
55 <span *ngFor="let feature of selection.features_name">
56 <span class="badge badge-dark mr-2">{{ feature }}</span>
57 </span>
58 </td>
59 </tr>
60 <tr>
61 <td i18n
62 class="bold">Provisioned</td>
63 <td>
64 <span *ngIf="selection.features_name?.indexOf('fast-diff') === -1">
65 <span class="form-text text-muted"
66 [ngbTooltip]="usageNotAvailableTooltipTpl"
67 placement="top"
68 i18n>N/A</span>
69 </span>
70 <span *ngIf="selection.features_name?.indexOf('fast-diff') !== -1">
71 {{ selection.disk_usage | dimlessBinary }}
72 </span>
73 </td>
74 </tr>
75 <tr>
76 <td i18n
77 class="bold">Total provisioned</td>
78 <td>
79 <span *ngIf="selection.features_name?.indexOf('fast-diff') === -1">
80 <span class="form-text text-muted"
81 [ngbTooltip]="usageNotAvailableTooltipTpl"
82 placement="top"
83 i18n>N/A</span>
84 </span>
85 <span *ngIf="selection.features_name?.indexOf('fast-diff') !== -1">
86 {{ selection.total_disk_usage | dimlessBinary }}
87 </span>
88 </td>
89 </tr>
90 <tr>
91 <td i18n
92 class="bold">Striping unit</td>
93 <td>{{ selection.stripe_unit | dimlessBinary }}</td>
94 </tr>
95 <tr>
96 <td i18n
97 class="bold">Striping count</td>
98 <td>{{ selection.stripe_count }}</td>
99 </tr>
100 <tr>
101 <td i18n
102 class="bold">Parent</td>
103 <td>
104 <span *ngIf="selection.parent">{{ selection.parent.pool_name }}<span
105 *ngIf="selection.parent.pool_namespace">/{{ selection.parent.pool_namespace }}</span>/{{ selection.parent.image_name }}@{{ selection.parent.snap_name }}</span>
106 <span *ngIf="!selection.parent">-</span>
107 </td>
108 </tr>
109 <tr>
110 <td i18n
111 class="bold">Block name prefix</td>
112 <td>{{ selection.block_name_prefix }}</td>
113 </tr>
114 <tr>
115 <td i18n
116 class="bold">Order</td>
117 <td>{{ selection.order }}</td>
118 </tr>
119 <tr>
120 <td i18n
121 class="bold">Format Version</td>
122 <td>{{ selection.image_format }}</td>
123 </tr>
124 </tbody>
125 </table>
126 </ng-template>
127 </li>
128 <li ngbNavItem="snapshots">
129 <a ngbNavLink
130 i18n>Snapshots</a>
131 <ng-template ngbNavContent>
132 <cd-rbd-snapshot-list [snapshots]="selection.snapshots"
133 [featuresName]="selection.features_name"
134 [poolName]="selection.pool_name"
135 [namespace]="selection.namespace"
136 [mirroring]="selection.mirror_mode"
137 [rbdName]="selection.name"></cd-rbd-snapshot-list>
138 </ng-template>
139 </li>
140 <li ngbNavItem="configuration">
141 <a ngbNavLink
142 i18n>Configuration</a>
143 <ng-template ngbNavContent>
144 <cd-rbd-configuration-table [data]="selection['configuration']"></cd-rbd-configuration-table>
145 </ng-template>
146 </li>
147
148 <li ngbNavItem="performance">
149 <a ngbNavLink
150 i18n>Performance</a>
151 <ng-template ngbNavContent>
152 <cd-grafana [grafanaPath]="rbdDashboardUrl"
153 [type]="'metrics'"
154 uid="YhCYGcuZz"
155 grafanaStyle="one">
156 </cd-grafana>
157 </ng-template>
158 </li>
159 </ul>
160
161 <div [ngbNavOutlet]="nav"></div>
162 </ng-container>
163 <ng-container *ngIf="selection && selection.source === 'REMOVING'">
164 <cd-alert-panel type="warning"
165 i18n>Information can not be displayed for RBD in status 'Removing'.</cd-alert-panel>
166 </ng-container>
167
168 <ng-template #poolConfigurationSourceTpl
169 let-row="row"
170 let-value="value">
171 <ng-container *ngIf="+value; else global">
172 <strong i18n
173 i18n-ngbTooltip
174 ngbTooltip="This setting overrides the global value">Image</strong>
175 </ng-container>
176 <ng-template #global>
177 <span i18n
178 i18n-ngbTooltip
179 ngbTooltip="This is the global value. No value for this option has been set for this image.">Global</span>
180 </ng-template>
181 </ng-template>