network: add a new operator config setting ROOK_ENFORCE_HOSTNETWORK

This new setting is of Boolean type and defaults to "false".

    When set to "true", it changes the behavior of the
     rook operator to
    nable host network on all pods created by the cephcluster controller

     new method to check the setting:  opcontroller.EnForceHostNetwork()

Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit e378588359)
This commit is contained in:
Michael Adam authored and Mergify committed 2024-09-05 16:57:09 +00:00
1 parent 80a9bdbbdc
commit d73f4ffb0f
11 files changed
+97 -7

No files matched your search

@@ -106,6 +106,33 @@ func TestSetAllowLoopDevices(t *testing.T) {
assert.True(t, LoopDevicesAllowed())
}
func TestSetEnforceHostNetwork(t *testing.T) {
logger.Infof("testing default value for %v", enforceHostNetworkSettingName)
opConfig := map[string]string{}
SetEnforceHostNetwork(opConfig)
assert.False(t, EnforceHostNetwork())
// test invalid setting
var value string = "foo"
logger.Infof("testing invalid value'%v' for %v", value, enforceHostNetworkSettingName)
opConfig[enforceHostNetworkSettingName] = value
SetEnforceHostNetwork(opConfig)
assert.False(t, EnforceHostNetwork())
// test valid settings
value = "true"
logger.Infof("testing valid value'%v' for %v", value, enforceHostNetworkSettingName)
opConfig[enforceHostNetworkSettingName] = value
SetEnforceHostNetwork(opConfig)
assert.True(t, EnforceHostNetwork())
value = "false"
logger.Infof("testing valid value'%v' for %v", value, enforceHostNetworkSettingName)
opConfig[enforceHostNetworkSettingName] = value
SetEnforceHostNetwork(opConfig)
assert.False(t, EnforceHostNetwork())
}
func TestIsReadyToReconcile(t *testing.T) {
scheme := scheme.Scheme
scheme.AddKnownTypes(cephv1.SchemeGroupVersion, &cephv1.CephCluster{}, &cephv1.CephClusterList{})