]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
193090b438a0d8332ed08de70e6c16e91dd4fdf9
[ceph.git] /
1 <cd-orchestrator-doc-panel *ngIf="showDocPanel"></cd-orchestrator-doc-panel>
2
3 <div *ngIf="flag === 'hostDetails'; else serviceDetailsTpl">
4   <ng-container *ngTemplateOutlet="serviceDaemonDetailsTpl"></ng-container>
5 </div>
6
7 <ng-template #serviceDetailsTpl>
8   <ng-container>
9     <nav ngbNav
10          #nav="ngbNav"
11          class="nav-tabs"
12          cdStatefulTab="service-details">
13       <ng-container ngbNavItem="details">
14         <a ngbNavLink
15            i18n>Details</a>
16         <ng-template ngbNavContent>
17           <ng-container *ngTemplateOutlet="serviceDaemonDetailsTpl"></ng-container>
18         </ng-template>
19       </ng-container>
20       <ng-container ngbNavItem="service_events">
21         <a ngbNavLink
22            i18n>Service Events</a>
23         <ng-template ngbNavContent>
24           <cd-table *ngIf="hasOrchestrator"
25                     #serviceTable
26                     [data]="services"
27                     [columns]="serviceColumns"
28                     columnMode="flex"
29                     (fetchData)="getServices($event)">
30           </cd-table>
31         </ng-template>
32       </ng-container>
33     </nav>
34     <div [ngbNavOutlet]="nav"></div>
35   </ng-container>
36 </ng-template>
37
38 <ng-template #statusTpl
39              let-row="row">
40   <span class="badge"
41         [ngClass]="row | pipeFunction:getStatusClass">
42     {{ row.status_desc }}
43   </span>
44 </ng-template>
45
46 <ng-template #listTpl
47              let-events="value">
48   <ul class="list-group list-group-flush"
49       *ngIf="events?.length else noEventsAvailable">
50     <li class="list-group-item"
51         *ngFor="let event of events; trackBy:trackByFn">
52       <b>{{ event.created | relativeDate }} - </b>
53       <span class="badge badge-info">{{ event.subject }}</span><br>
54       <span *ngIf="event.level === 'INFO'">
55       <i [ngClass]="[icons.infoCircle]"
56          aria-hidden="true"></i>
57       </span>
58       <span *ngIf="event.level === 'ERROR'">
59       <i [ngClass]="[icons.warning]"
60          aria-hidden="true"></i>
61       </span>
62       {{ event.message }}
63     </li>
64   </ul>
65   <ng-template #noEventsAvailable>
66     <div *ngIf="events?.length === 0"
67          class="list-group-item">
68       <span>No data available</span>
69     </div>
70   </ng-template>
71 </ng-template>
72
73 <ng-template #serviceDaemonDetailsTpl>
74   <cd-table *ngIf="hasOrchestrator"
75             #daemonsTable
76             [data]="daemons"
77             selectionType="single"
78             [columns]="columns"
79             columnMode="flex"
80             identifier="daemon_name"
81             (fetchData)="getDaemons($event)"
82             (updateSelection)="updateSelection($event)">
83     <cd-table-actions id="service-daemon-list-actions"
84                       class="table-actions"
85                       [selection]="selection"
86                       [permission]="permissions.hosts"
87                       [tableActions]="tableActions">
88     </cd-table-actions>
89   </cd-table>
90 </ng-template>
91
92 <ng-template #cpuTpl
93              let-row="row">
94   <cd-usage-bar [total]="total"
95                 [calculatePerc]="false"
96                 [used]="row.cpu_percentage"
97                 [isBinary]="false"
98                 [warningThreshold]="warningThreshold"
99                 [errorThreshold]="errorThreshold">
100   </cd-usage-bar>
101 </ng-template>
102