diff --git a/harmony/src/infra/network_manager.rs b/harmony/src/infra/network_manager.rs index e5dbd24..a5a2f77 100644 --- a/harmony/src/infra/network_manager.rs +++ b/harmony/src/infra/network_manager.rs @@ -17,6 +17,12 @@ use crate::{ topology::{HostNetworkConfig, NetworkError, NetworkManager, k8s::K8sClient}, }; +/// TODO document properly the non-intuitive behavior or "roll forward only" of nmstate in general +/// It is documented in nmstate official doc, but worth mentionning here : +/// +/// - You create a bond, nmstate will apply it +/// - You delete de bond from nmstate, it will NOT delete it +/// - To delete it you have to update it with configuration set to null pub struct OpenShiftNmStateNetworkManager { k8s_client: Arc, } @@ -31,6 +37,7 @@ impl std::fmt::Debug for OpenShiftNmStateNetworkManager { impl NetworkManager for OpenShiftNmStateNetworkManager { async fn ensure_network_manager_installed(&self) -> Result<(), NetworkError> { debug!("Installing NMState controller..."); + // TODO use operatorhub maybe? self.k8s_client.apply_url(url::Url::parse("https://github.com/nmstate/kubernetes-nmstate/releases/download/v0.84.0/nmstate.io_nmstates.yaml ").unwrap(), Some("nmstate")) .await?;