]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: adapt to new `ServiceDescription.to_json()`
authorSebastian Wagner <sebastian.wagner@suse.com>
Fri, 20 Mar 2020 10:27:04 +0000 (11:27 +0100)
committerSebastian Wagner <sebastian.wagner@suse.com>
Tue, 7 Apr 2020 09:36:27 +0000 (11:36 +0200)
`ServiceDescription.to_json()` is now based on `ServiceSpec.to_json()`

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit c5e6ecb54758673828a4a0ed3c817c53bde0d9ee)

src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/services.component.spec.ts
src/pybind/mgr/dashboard/frontend/src/app/ceph/cluster/services/services.component.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/api/ceph-service.service.ts
src/pybind/mgr/dashboard/frontend/src/app/shared/models/service.interface.ts

index f247dc2b84059303fda978455e032ab7b74d5f5d..6e467ca2a55f018f12fe2713a1ad0a3c53898399 100644 (file)
@@ -27,20 +27,26 @@ describe('ServicesComponent', () => {
 
   const services = [
     {
-      container_image_id: 'e70344c77bcbf3ee389b9bf5128f635cf95f3d59e005c5d8e67fc19bcc74ed23',
-      container_image_name: 'docker.io/ceph/daemon-base:latest-master-devel',
+      service_type: 'osd',
       service_name: 'osd',
-      size: 3,
-      running: 3,
-      last_refresh: '2020-02-25T04:33:26.465699'
+      status: {
+        container_image_id: 'e70344c77bcbf3ee389b9bf5128f635cf95f3d59e005c5d8e67fc19bcc74ed23',
+        container_image_name: 'docker.io/ceph/daemon-base:latest-master-devel',
+        size: 3,
+        running: 3,
+        last_refresh: '2020-02-25T04:33:26.465699'
+      }
     },
     {
-      container_image_id: 'e70344c77bcbf3ee389b9bf5128f635cf95f3d59e005c5d8e67fc19bcc74ed23',
-      container_image_name: 'docker.io/ceph/daemon-base:latest-master-devel',
+      service_type: 'crash',
       service_name: 'crash',
-      size: 1,
-      running: 1,
-      last_refresh: '2020-02-25T04:33:26.465766'
+      status: {
+        container_image_id: 'e70344c77bcbf3ee389b9bf5128f635cf95f3d59e005c5d8e67fc19bcc74ed23',
+        container_image_name: 'docker.io/ceph/daemon-base:latest-master-devel',
+        size: 1,
+        running: 1,
+        last_refresh: '2020-02-25T04:33:26.465766'
+      }
     }
   ];
 
index 39180889ada87c03a1c18a669efc4a7f367eb6bb..74f059f5e600589ab6cf3a55141941619d07dbee 100644 (file)
@@ -8,7 +8,7 @@ import { CdTableColumn } from '../../../shared/models/cd-table-column';
 import { CdTableFetchDataContext } from '../../../shared/models/cd-table-fetch-data-context';
 import { CdTableSelection } from '../../../shared/models/cd-table-selection';
 import { Permissions } from '../../../shared/models/permissions';
-import { CephService } from '../../../shared/models/service.interface';
+import { CephServiceSpec } from '../../../shared/models/service.interface';
 import { AuthStorageService } from '../../../shared/services/auth-storage.service';
 
 @Component({
@@ -32,7 +32,7 @@ export class ServicesComponent implements OnChanges, OnInit {
   docsUrl: string;
 
   columns: Array<CdTableColumn> = [];
-  services: Array<CephService> = [];
+  services: Array<CephServiceSpec> = [];
   isLoadingServices = false;
   selection = new CdTableSelection();
 
@@ -54,27 +54,27 @@ export class ServicesComponent implements OnChanges, OnInit {
       },
       {
         name: this.i18n('Container image name'),
-        prop: 'container_image_name',
+        prop: 'status.container_image_name',
         flexGrow: 3
       },
       {
         name: this.i18n('Container image ID'),
-        prop: 'container_image_id',
+        prop: 'status.container_image_id',
         flexGrow: 3
       },
       {
         name: this.i18n('Running'),
-        prop: 'running',
+        prop: 'status.running',
         flexGrow: 1
       },
       {
         name: this.i18n('Size'),
-        prop: 'size',
+        prop: 'status.size',
         flexGrow: 1
       },
       {
         name: this.i18n('Last Refreshed'),
-        prop: 'last_refresh',
+        prop: 'status.last_refresh',
         flexGrow: 1
       }
     ];
@@ -105,7 +105,7 @@ export class ServicesComponent implements OnChanges, OnInit {
     }
     this.isLoadingServices = true;
     this.cephServiceService.list().subscribe(
-      (services: CephService[]) => {
+      (services: CephServiceSpec[]) => {
         this.services = services;
         this.isLoadingServices = false;
       },
index 8df6cb93c651fd54cf0622bb1bb7b66b85477002..f1e4003b11b9340e6952efbfefed9f1aa3048c98 100644 (file)
@@ -4,7 +4,7 @@ import { Injectable } from '@angular/core';
 import { Observable } from 'rxjs';
 
 import { Daemon } from '../models/daemon.interface';
-import { CephService } from '../models/service.interface';
+import { CephServiceSpec } from '../models/service.interface';
 import { ApiModule } from './api.module';
 
 @Injectable({
@@ -15,11 +15,11 @@ export class CephServiceService {
 
   constructor(private http: HttpClient) {}
 
-  list(serviceName?: string): Observable<CephService[]> {
+  list(serviceName?: string): Observable<CephServiceSpec[]> {
     const options = serviceName
       ? { params: new HttpParams().set('service_name', serviceName) }
       : {};
-    return this.http.get<CephService[]>(this.url, options);
+    return this.http.get<CephServiceSpec[]>(this.url, options);
   }
 
   getDaemons(serviceName?: string): Observable<Daemon[]> {
index f1acdd4d6d5f14cadd4e8b434015859156fcf92e..151e0bd2987cfdaf74f497fbab412223acacf0d4 100644 (file)
@@ -1,8 +1,17 @@
-export interface CephService {
+export interface CephServiceStatus {
   container_image_id: string;
   container_image_name: string;
-  service_name: string;
   size: number;
   running: number;
   last_refresh: Date;
+  created: Date;
+}
+
+// This will become handy when creating arbitrary services
+export interface CephServiceSpec {
+  service_name: string;
+  service_type: string;
+  service_id: string;
+  unmanaged: boolean;
+  status: CephServiceStatus;
 }