Skip to content

Commit 36dc8d9

Browse files
authored
Merge pull request #5 from cobaltcore-dev/migration-subscribe
Improved migration watch, uses libvirt subscription
2 parents 09be597 + f8a042e commit 36dc8d9

File tree

15 files changed

+536
-454
lines changed

15 files changed

+536
-454
lines changed

api/v1alpha1/migration_types.go

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -30,47 +30,47 @@ type MigrationSpec struct {
3030

3131
// MigrationStatus defines the observed state of Migration.
3232
type MigrationStatus struct {
33-
Host string `json:"host"`
34-
Type string `json:"type"`
35-
ErrMsg string `json:"errMsg,omitempty"`
36-
AutoConvergeThrottle string `json:"autoConvergeThrottle,omitempty"`
37-
DiskBps string `json:"diskBps,omitempty"`
38-
DiskRemaining string `json:"diskRemaining,omitempty"`
39-
DiskProcessed string `json:"diskProcessed,omitempty"`
40-
DiskTotal string `json:"diskTotal,omitempty"`
41-
MemPostcopyRequests uint64 `json:"memPostcopyRequests,omitempty"`
42-
MemIteration uint64 `json:"memIteration,omitempty"`
43-
MemPageSize string `json:"memPageSize,omitempty"`
44-
MemDirtyRate string `json:"memDirtyRate,omitempty"`
45-
MemBps string `json:"memBps,omitempty"`
46-
MemNormalBytes string `json:"memNormalBytes,omitempty"`
47-
MemNormal uint64 `json:"memNormal,omitempty"`
48-
MemConstant uint64 `json:"memConstant,omitempty"`
49-
MemRemaining string `json:"memRemaining,omitempty"`
50-
MemProcessed string `json:"memProcessed,omitempty"`
51-
MemTotal string `json:"memTotal,omitempty"`
52-
DataRemaining string `json:"dataRemaining,omitempty"`
53-
DataProcessed string `json:"dataProcessed,omitempty"`
54-
DataTotal string `json:"dataTotal,omitempty"`
55-
SetupTime string `json:"setupTime,omitempty"`
56-
TimeElapsed string `json:"timeElapsed,omitempty"`
57-
TimeRemaining string `json:"timeRemaining,omitempty"`
58-
Downtime string `json:"downtime,omitempty"`
59-
Operation string `json:"operation,omitempty"`
33+
Host string `json:"host"`
34+
Type string `json:"type,omitempty"`
35+
Started metav1.Time `json:"started,omitempty"`
36+
ErrMsg string `json:"errMsg,omitempty"`
37+
AutoConvergeThrottle string `json:"autoConvergeThrottle,omitempty"`
38+
DiskBps string `json:"diskBps,omitempty"`
39+
DiskRemaining string `json:"diskRemaining,omitempty"`
40+
DiskProcessed string `json:"diskProcessed,omitempty"`
41+
DiskTotal string `json:"diskTotal,omitempty"`
42+
MemPostcopyRequests uint64 `json:"memPostcopyRequests,omitempty"`
43+
MemIteration uint64 `json:"memIteration,omitempty"`
44+
MemPageSize string `json:"memPageSize,omitempty"`
45+
MemDirtyRate string `json:"memDirtyRate,omitempty"`
46+
MemBps string `json:"memBps,omitempty"`
47+
MemNormalBytes string `json:"memNormalBytes,omitempty"`
48+
MemNormal uint64 `json:"memNormal,omitempty"`
49+
MemConstant uint64 `json:"memConstant,omitempty"`
50+
MemRemaining string `json:"memRemaining,omitempty"`
51+
MemProcessed string `json:"memProcessed,omitempty"`
52+
MemTotal string `json:"memTotal,omitempty"`
53+
DataRemaining string `json:"dataRemaining,omitempty"`
54+
DataProcessed string `json:"dataProcessed,omitempty"`
55+
DataTotal string `json:"dataTotal,omitempty"`
56+
SetupTime string `json:"setupTime,omitempty"`
57+
TimeElapsed string `json:"timeElapsed,omitempty"`
58+
TimeRemaining string `json:"timeRemaining,omitempty"`
59+
Downtime string `json:"downtime,omitempty"`
60+
Operation string `json:"operation,omitempty"`
6061
}
6162

6263
// +kubebuilder:object:root=true
6364
// +kubebuilder:subresource:status
6465
// +kubebuilder:printcolumn:name="Host",type=string,JSONPath=`.status.host`
6566
// +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.status.type`
6667
// +kubebuilder:printcolumn:name="Operation",type=string,JSONPath=`.status.operation`
67-
// +kubebuilder:printcolumn:name="Started",type=date,JSONPath=`.metadata.creationTimestamp`
68+
// +kubebuilder:printcolumn:name="Started",type=date,JSONPath=`.status.started`
6869
// +kubebuilder:printcolumn:name="Elapsed",type=string,JSONPath=`.status.timeElapsed`
69-
// +kubebuilder:printcolumn:name="Remaining",type=string,JSONPath=`.status.timeRemaining`
7070
// +kubebuilder:printcolumn:name="Data Total",type=string,JSONPath=`.status.dataTotal`
7171
// +kubebuilder:printcolumn:name="Data Processed",type=string,JSONPath=`.status.dataProcessed`
7272
// +kubebuilder:printcolumn:name="Data Remaining",type=string,JSONPath=`.status.dataRemaining`
73-
// +kubebuilder:printcolumn:name="Memory Bps",type=string,JSONPath=`.status.memBps`
73+
// +kubebuilder:printcolumn:name="Memory TX",type=string,JSONPath=`.status.memBps`
7474
// +kubebuilder:printcolumn:name="Memory Dirty Rate",type=string,JSONPath=`.status.memDirtyRate`
7575
// +kubebuilder:printcolumn:name="Memory Iteration",type=string,JSONPath=`.status.memIteration`
7676

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

charts/kvm-node-agent/crds/migration-crd.yaml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,12 @@ spec:
2323
- jsonPath: .status.operation
2424
name: Operation
2525
type: string
26-
- jsonPath: .metadata.creationTimestamp
26+
- jsonPath: .status.started
2727
name: Started
2828
type: date
2929
- jsonPath: .status.timeElapsed
3030
name: Elapsed
3131
type: string
32-
- jsonPath: .status.timeRemaining
33-
name: Remaining
34-
type: string
3532
- jsonPath: .status.dataTotal
3633
name: Data Total
3734
type: string
@@ -42,7 +39,7 @@ spec:
4239
name: Data Remaining
4340
type: string
4441
- jsonPath: .status.memBps
45-
name: Memory Bps
42+
name: Memory TX
4643
type: string
4744
- jsonPath: .status.memDirtyRate
4845
name: Memory Dirty Rate
@@ -130,6 +127,9 @@ spec:
130127
type: string
131128
setupTime:
132129
type: string
130+
started:
131+
format: date-time
132+
type: string
133133
timeElapsed:
134134
type: string
135135
timeRemaining:
@@ -138,7 +138,6 @@ spec:
138138
type: string
139139
required:
140140
- host
141-
- type
142141
type: object
143142
type: object
144143
served: true

charts/kvm-node-agent/templates/manager-rbac.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,16 @@ rules:
5858
- migrations
5959
verbs:
6060
- create
61+
- get
62+
- list
63+
- watch
6164
- apiGroups:
6265
- kvm.cloud.sap
6366
resources:
6467
- migrations/status
6568
verbs:
69+
- get
70+
- patch
6671
- update
6772
---
6873
apiVersion: rbac.authorization.k8s.io/v1

config/crd/bases/kvm.cloud.sap_migrations.yaml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,12 @@ spec:
2424
- jsonPath: .status.operation
2525
name: Operation
2626
type: string
27-
- jsonPath: .metadata.creationTimestamp
27+
- jsonPath: .status.started
2828
name: Started
2929
type: date
3030
- jsonPath: .status.timeElapsed
3131
name: Elapsed
3232
type: string
33-
- jsonPath: .status.timeRemaining
34-
name: Remaining
35-
type: string
3633
- jsonPath: .status.dataTotal
3734
name: Data Total
3835
type: string
@@ -43,7 +40,7 @@ spec:
4340
name: Data Remaining
4441
type: string
4542
- jsonPath: .status.memBps
46-
name: Memory Bps
43+
name: Memory TX
4744
type: string
4845
- jsonPath: .status.memDirtyRate
4946
name: Memory Dirty Rate
@@ -131,6 +128,9 @@ spec:
131128
type: string
132129
setupTime:
133130
type: string
131+
started:
132+
format: date-time
133+
type: string
134134
timeElapsed:
135135
type: string
136136
timeRemaining:
@@ -139,7 +139,6 @@ spec:
139139
type: string
140140
required:
141141
- host
142-
- type
143142
type: object
144143
type: object
145144
served: true

config/rbac/role.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,14 @@ rules:
5757
- migrations
5858
verbs:
5959
- create
60+
- get
61+
- list
62+
- watch
6063
- apiGroups:
6164
- kvm.cloud.sap
6265
resources:
6366
- migrations/status
6467
verbs:
68+
- get
69+
- patch
6570
- update

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
// SPDX-License-Identifier: Apache-2.0
44
module github.com/cobaltcode-dev/kvm-node-agent
55

6-
go 1.22.0
6+
go 1.23.0
77

8-
toolchain go1.22.5
8+
toolchain go1.23.5
99

1010
require (
1111
github.com/coreos/go-systemd/v22 v22.5.0

0 commit comments

Comments
 (0)