Add Rust based ovsinit binary
This binary allows us to more reliably migrate IPs, which also
includes routes as well, with proper rollback in place to avoid
a system falling off the network.
This first iteration is used in the Neutron & OVN charts only,
but the long term plan is to leverage it into the Open vSwitch
charts potentially to have a single "auto_bridge_add" source
of truth.
Change-Id: Ic4de23297b67a602d9aba4b00f0fb234d9d37cfe
diff --git a/docker-bake.hcl b/docker-bake.hcl
index 14746b6..371ecbb 100644
--- a/docker-bake.hcl
+++ b/docker-bake.hcl
@@ -15,6 +15,17 @@
}
}
+target "ovsinit" {
+ context = "images/ovsinit"
+ platforms = ["linux/amd64", "linux/arm64"]
+
+ contexts = {
+ "runtime" = "docker-image://docker.io/library/debian:bullseye-slim"
+ "rust" = "docker-image://docker.io/library/rust:1.84-bullseye"
+ "src" = "./crates/ovsinit"
+ }
+}
+
target "ubuntu-cloud-archive" {
context = "images/ubuntu-cloud-archive"
platforms = ["linux/amd64", "linux/arm64"]
@@ -161,6 +172,7 @@
contexts = {
"golang" = "docker-image://docker.io/library/golang:1.20"
"openvswitch" = "target:openvswitch"
+ "ovsinit" = "target:ovsinit"
}
args = {
@@ -217,8 +229,9 @@
}
contexts = {
- "openstack-venv-builder" = "target:openstack-venv-builder"
"openstack-python-runtime" = "target:openstack-python-runtime"
+ "openstack-venv-builder" = "target:openstack-venv-builder"
+ "ovsinit" = "target:ovsinit"
}
tags = [