Skip to content

Commit 2babf83

Browse files
committed
Implement predictable IPs for mDNS and bind9
This PR adds support for mounting generated predictable IPs and employing them in the relevant pods.
1 parent 4a66d30 commit 2babf83

32 files changed

+514
-63
lines changed

api/bases/designate.openstack.org_designatebackendbind9s.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ spec:
109109
But can also be used to add additional files. Those get added to the service config dir in /etc/<service> .
110110
TODO: -> implement
111111
type: object
112+
netUtilsImage:
113+
description: NetUtilsImage - NetUtils container image
114+
type: string
112115
networkAttachments:
113116
description: NetworkAttachments is a list of NetworkAttachment resource
114117
names to expose the services to the given network

api/bases/designate.openstack.org_designatemdnses.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ spec:
109109
But can also be used to add additional files. Those get added to the service config dir in /etc/<service> .
110110
TODO: -> implement
111111
type: object
112+
netUtilsImage:
113+
description: NetUtilsImage - NetUtils container image
114+
type: string
112115
networkAttachments:
113116
description: NetworkAttachments is a list of NetworkAttachment resource
114117
names to expose the services to the given network

api/bases/designate.openstack.org_designates.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,9 @@ spec:
515515
But can also be used to add additional files. Those get added to the service config dir in /etc/<service> .
516516
TODO: -> implement
517517
type: object
518+
netUtilsImage:
519+
description: NetUtilsImage - NetUtils container image
520+
type: string
518521
networkAttachments:
519522
description: NetworkAttachments is a list of NetworkAttachment
520523
resource names to expose the services to the given network
@@ -866,6 +869,9 @@ spec:
866869
But can also be used to add additional files. Those get added to the service config dir in /etc/<service> .
867870
TODO: -> implement
868871
type: object
872+
netUtilsImage:
873+
description: NetUtilsImage - NetUtils container image
874+
type: string
869875
networkAttachments:
870876
description: NetworkAttachments is a list of NetworkAttachment
871877
resource names to expose the services to the given network

api/v1beta1/common_types.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ const (
3737
DesignateUnboundContainerImage = "quay.io/podified-antelope-centos9/openstack-unbound:current-podified"
3838
// DesignateBackendbind9ContainerImage is the fall-back container image for DesignateUnbound
3939
DesignateBackendbind9ContainerImage = "quay.io/podified-antelope-centos9/openstack-designate-backend-bind9:current-podified"
40+
// NetUtilsContainerImage is the container image containing support for predictable IP pod injection
41+
NetUtilsContainerImage = "quay.io/podified-antelope-centos9/openstack-netutils:current-podified"
4042
)
4143

4244
// DesignateTemplate defines common input parameters used by all Designate services

api/v1beta1/designate_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ func SetupDefaults() {
297297
WorkerContainerImageURL: util.GetEnvVar("RELATED_IMAGE_DESIGNATE_WORKER_IMAGE_URL_DEFAULT", DesignateWorkerContainerImage),
298298
UnboundContainerImageURL: util.GetEnvVar("RELATED_IMAGE_DESIGNATE_UNBOUND_IMAGE_URL_DEFAULT", DesignateUnboundContainerImage),
299299
Backendbind9ContainerImageURL: util.GetEnvVar("RELATED_IMAGE_DESIGNATE_BACKENDBIND9_IMAGE_URL_DEFAULT", DesignateBackendbind9ContainerImage),
300+
NetUtilsURL: util.GetEnvVar("RELATED_IMAGE_NETUTILS_IMAGE_URL_DEFAULT", NetUtilsContainerImage),
300301
DesignateAPIRouteTimeout: APITimeout,
301302
}
302303

api/v1beta1/designate_webhook.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ type DesignateDefaults struct {
4444
WorkerContainerImageURL string
4545
Backendbind9ContainerImageURL string
4646
UnboundContainerImageURL string
47+
NetUtilsURL string
4748
DesignateAPIRouteTimeout int
4849
}
4950

@@ -86,6 +87,9 @@ func (spec *DesignateSpec) Default() {
8687
if spec.DesignateMdns.ContainerImage == "" {
8788
spec.DesignateMdns.ContainerImage = designateDefaults.MdnsContainerImageURL
8889
}
90+
if spec.DesignateMdns.NetUtilsImage == "" {
91+
spec.DesignateMdns.NetUtilsImage = designateDefaults.NetUtilsURL
92+
}
8993
if spec.DesignateProducer.ContainerImage == "" {
9094
spec.DesignateProducer.ContainerImage = designateDefaults.ProducerContainerImageURL
9195
}
@@ -95,6 +99,9 @@ func (spec *DesignateSpec) Default() {
9599
if spec.DesignateBackendbind9.ContainerImage == "" {
96100
spec.DesignateBackendbind9.ContainerImage = designateDefaults.Backendbind9ContainerImageURL
97101
}
102+
if spec.DesignateBackendbind9.NetUtilsImage == "" {
103+
spec.DesignateBackendbind9.NetUtilsImage = designateDefaults.NetUtilsURL
104+
}
98105
if spec.DesignateUnbound.ContainerImage == "" {
99106
spec.DesignateUnbound.ContainerImage = designateDefaults.UnboundContainerImageURL
100107
}

api/v1beta1/designatebackendbind9_types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@ type DesignateBackendbind9SpecBase struct {
7878
// +kubebuilder:validation:Optional
7979
// StorageRequest
8080
StorageRequest string `json:"storageRequest"`
81+
82+
// +kubebuilder:validation:Optional
83+
// NetUtilsImage - NetUtils container image
84+
NetUtilsImage string `json:"netUtilsImage"`
8185
}
8286

8387
// DesignateBackendbind9Status defines the observed state of DesignateBackendbind9

api/v1beta1/designatemdns_types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ type DesignateMdnsSpecBase struct {
7272
// +kubebuilder:validation:Optional
7373
// ControlNetworkName - specify which network attachment is to be used for control, notifys and zone transfers.
7474
ControlNetworkName string `json:"controlNetworkName"`
75+
76+
// +kubebuilder:validation:Optional
77+
// NetUtilsImage - NetUtils container image
78+
NetUtilsImage string `json:"netUtilsImage"`
7579
}
7680

7781
// DesignateMdnsStatus defines the observed state of DesignateMdns

config/crd/bases/designate.openstack.org_designatebackendbind9s.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ spec:
109109
But can also be used to add additional files. Those get added to the service config dir in /etc/<service> .
110110
TODO: -> implement
111111
type: object
112+
netUtilsImage:
113+
description: NetUtilsImage - NetUtils container image
114+
type: string
112115
networkAttachments:
113116
description: NetworkAttachments is a list of NetworkAttachment resource
114117
names to expose the services to the given network

config/crd/bases/designate.openstack.org_designatemdnses.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ spec:
109109
But can also be used to add additional files. Those get added to the service config dir in /etc/<service> .
110110
TODO: -> implement
111111
type: object
112+
netUtilsImage:
113+
description: NetUtilsImage - NetUtils container image
114+
type: string
112115
networkAttachments:
113116
description: NetworkAttachments is a list of NetworkAttachment resource
114117
names to expose the services to the given network

0 commit comments

Comments
 (0)