]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/blob
7ef576d4626baf0dfd091722ac9869039de3d86b
[ceph-ci.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>Daemons</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="data.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="data.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 class="list-group-item">
67       <span>No data available</span>
68     </div>
69   </ng-template>
70 </ng-template>
71
72 <ng-template #serviceDaemonDetailsTpl>
73   <cd-table *ngIf="hasOrchestrator"
74             #daemonsTable
75             [data]="daemons"
76             selectionType="single"
77             [columns]="columns"
78             columnMode="flex"
79             identifier="daemon_name"
80             (fetchData)="getDaemons($event)"
81             (updateSelection)="updateSelection($event)">
82     <cd-table-actions id="service-daemon-list-actions"
83                       class="table-actions"
84                       [selection]="selection"
85                       [permission]="permissions.hosts"
86                       [tableActions]="tableActions">
87     </cd-table-actions>
88   </cd-table>
89 </ng-template>
90
91 <ng-template #cpuTpl
92              let-row="data.row">
93   <cd-usage-bar [total]="total"
94                 [calculatePerc]="false"
95                 [used]="row.cpu_percentage"
96                 [isBinary]="false">
97   </cd-usage-bar>
98 </ng-template>