]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/frontend/cypress/e2e/orchestrator/workflow/09-services.e2e-spec.ts
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / cypress / e2e / orchestrator / workflow / 09-services.e2e-spec.ts
1 /* tslint:disable*/
2 import { ServicesPageHelper } from '../../cluster/services.po';
3 /* tslint:enable*/
4
5 describe('Services page', () => {
6 const services = new ServicesPageHelper();
7 const mdsDaemonName = 'mds.test';
8 beforeEach(() => {
9 cy.login();
10 services.navigateTo();
11 });
12
13 it('should check if rgw service is created', () => {
14 services.checkExist('rgw.foo', true);
15 });
16
17 it('should create an mds service', () => {
18 services.navigateTo('create');
19 services.addService('mds', false);
20 services.checkExist(mdsDaemonName, true);
21
22 services.clickServiceTab(mdsDaemonName, 'Daemons');
23 cy.get('cd-service-details').within(() => {
24 services.checkServiceStatus(mdsDaemonName);
25 });
26 });
27
28 it('should stop a daemon', () => {
29 services.clickServiceTab(mdsDaemonName, 'Daemons');
30 services.checkServiceStatus(mdsDaemonName);
31
32 services.daemonAction('mds', 'stop');
33 cy.get('cd-service-details').within(() => {
34 services.checkServiceStatus(mdsDaemonName, 'stopped');
35 });
36 });
37
38 it('should restart a daemon', () => {
39 services.checkExist(mdsDaemonName, true);
40 services.clickServiceTab(mdsDaemonName, 'Daemons');
41 services.daemonAction('mds', 'restart');
42 cy.get('cd-service-details').within(() => {
43 services.checkServiceStatus(mdsDaemonName, 'running');
44 });
45 });
46
47 it('should redeploy a daemon', () => {
48 services.checkExist(mdsDaemonName, true);
49 services.clickServiceTab(mdsDaemonName, 'Daemons');
50
51 services.daemonAction('mds', 'stop');
52 cy.get('cd-service-details').within(() => {
53 services.checkServiceStatus(mdsDaemonName, 'stopped');
54 });
55 services.daemonAction('mds', 'redeploy');
56 cy.get('cd-service-details').within(() => {
57 services.checkServiceStatus(mdsDaemonName, 'running');
58 });
59 });
60
61 it('should start a daemon', () => {
62 services.checkExist(mdsDaemonName, true);
63 services.clickServiceTab(mdsDaemonName, 'Daemons');
64
65 services.daemonAction('mds', 'stop');
66 cy.get('cd-service-details').within(() => {
67 services.checkServiceStatus(mdsDaemonName, 'stopped');
68 });
69 services.daemonAction('mds', 'start');
70 cy.get('cd-service-details').within(() => {
71 services.checkServiceStatus(mdsDaemonName, 'running');
72 });
73 });
74
75 it('should delete an mds service', () => {
76 services.deleteService(mdsDaemonName);
77 });
78
79 it('should create and delete snmp-gateway service with version V2c', () => {
80 services.navigateTo('create');
81 services.addService('snmp-gateway', false, 1, 'V2c');
82 services.checkExist('snmp-gateway', true);
83
84 services.clickServiceTab('snmp-gateway', 'Daemons');
85 cy.get('cd-service-details').within(() => {
86 services.checkServiceStatus('snmp-gateway');
87 });
88
89 services.deleteService('snmp-gateway');
90 });
91
92 it('should create and delete snmp-gateway service with version V3', () => {
93 services.navigateTo('create');
94 services.addService('snmp-gateway', false, 1, 'V3', true);
95 services.checkExist('snmp-gateway', true);
96
97 services.clickServiceTab('snmp-gateway', 'Daemons');
98 cy.get('cd-service-details').within(() => {
99 services.checkServiceStatus('snmp-gateway');
100 });
101
102 services.deleteService('snmp-gateway');
103 });
104
105 it('should create and delete snmp-gateway service with version V3 and w/o privacy protocol', () => {
106 services.navigateTo('create');
107 services.addService('snmp-gateway', false, 1, 'V3', false);
108 services.checkExist('snmp-gateway', true);
109
110 services.clickServiceTab('snmp-gateway', 'Daemons');
111 cy.get('cd-service-details').within(() => {
112 services.checkServiceStatus('snmp-gateway');
113 });
114
115 services.deleteService('snmp-gateway');
116 });
117
118 it('should create ingress as unmanaged', () => {
119 services.navigateTo('create');
120 services.addService('ingress', false, undefined, undefined, undefined, true);
121 services.checkExist('ingress.rgw.foo', true);
122 services.isUnmanaged('ingress.rgw.foo', true);
123 services.deleteService('ingress.rgw.foo');
124 });
125
126 it('should check if exporter daemons are running', () => {
127 services.clickServiceTab('ceph-exporter', 'Daemons');
128 cy.get('cd-service-details').within(() => {
129 services.checkServiceStatus('ceph-exporter', 'running');
130 });
131 });
132 });