@@ -10,6 +10,7 @@ import (
10
10
"github.com/crc-org/crc/v2/pkg/crc/machine/state"
11
11
"github.com/crc-org/crc/v2/pkg/crc/machine/types"
12
12
crcPreset "github.com/crc-org/crc/v2/pkg/crc/preset"
13
+ "github.com/crc-org/crc/v2/pkg/events"
13
14
)
14
15
15
16
const startCancelTimeout = 15 * time .Second
@@ -69,6 +70,10 @@ func (s *Synchronized) Delete() error {
69
70
70
71
err := s .underlying .Delete ()
71
72
s .syncOperationDone <- Deleting
73
+
74
+ if err == nil {
75
+ events .StatusChanged .Fire (events.StatusChangedEvent {State : state .NoVM })
76
+ }
72
77
return err
73
78
}
74
79
@@ -80,6 +85,7 @@ func (s *Synchronized) prepareStart(startCancel context.CancelFunc) error {
80
85
}
81
86
s .startCancel = startCancel
82
87
s .currentState = Starting
88
+ events .StatusChanged .Fire (events.StatusChangedEvent {State : state .Starting })
83
89
84
90
return nil
85
91
}
@@ -92,6 +98,13 @@ func (s *Synchronized) Start(ctx context.Context, startConfig types.StartConfig)
92
98
93
99
startResult , err := s .underlying .Start (ctx , startConfig )
94
100
s .syncOperationDone <- Starting
101
+
102
+ if err == nil {
103
+ events .StatusChanged .Fire (events.StatusChangedEvent {State : startResult .Status })
104
+ } else {
105
+ events .StatusChanged .Fire (events.StatusChangedEvent {State : state .Error , Error : err })
106
+ }
107
+
95
108
return startResult , err
96
109
}
97
110
@@ -136,10 +149,16 @@ func (s *Synchronized) Stop() (state.State, error) {
136
149
if err := s .prepareStopDelete (Stopping ); err != nil {
137
150
return state .Error , err
138
151
}
152
+ events .StatusChanged .Fire (events.StatusChangedEvent {State : state .Stopping })
139
153
140
154
st , err := s .underlying .Stop ()
141
155
s .syncOperationDone <- Stopping
142
156
157
+ if err == nil {
158
+ events .StatusChanged .Fire (events.StatusChangedEvent {State : st })
159
+ } else {
160
+ events .StatusChanged .Fire (events.StatusChangedEvent {State : state .Error , Error : err })
161
+ }
143
162
return st , err
144
163
}
145
164
@@ -160,7 +179,14 @@ func (s *Synchronized) ConnectionDetails() (*types.ConnectionDetails, error) {
160
179
}
161
180
162
181
func (s * Synchronized ) PowerOff () error {
163
- return s .underlying .PowerOff ()
182
+ err := s .underlying .PowerOff ()
183
+ if err != nil {
184
+ events .StatusChanged .Fire (events.StatusChangedEvent {State : state .Stopped })
185
+ } else {
186
+ events .StatusChanged .Fire (events.StatusChangedEvent {State : state .Error , Error : err })
187
+ }
188
+
189
+ return err
164
190
}
165
191
166
192
func (s * Synchronized ) Status () (* types.ClusterStatusResult , error ) {
0 commit comments