def main(): setup_logging() args = docopt(__doc__, version="CMK v1.4.1") if args["cluster-init"]: clusterinit.cluster_init(args["--host-list"], args["--all-hosts"], args["--cmk-cmd-list"], args["--cmk-img"], args["--cmk-img-pol"], args["--conf-dir"], args["--install-dir"], args["--num-exclusive-cores"], args["--num-shared-cores"], args["--pull-secret"], args["--saname"], args["--exclusive-mode"], args["--shared-mode"], args["--namespace"], args["--excl-non-isolcpus"]) return if args["init"]: init.init(args["--conf-dir"], int(args["--num-exclusive-cores"]), int(args["--num-shared-cores"]), args["--exclusive-mode"], args["--shared-mode"], args["--excl-non-isolcpus"]) return if args["discover"]: discover.discover(args["--conf-dir"]) return if args["describe"]: describe.describe(args["--conf-dir"]) return if args["isolate"]: isolate.isolate(args["--conf-dir"], args["--pool"], args["--no-affinity"], args["<command>"], args["<args>"], args["--socket-id"]) return if args["reconcile"]: reconcile.reconcile(args["--conf-dir"], int(args["--interval"]), args["--publish"]) return if args["install"]: install.install(args["--install-dir"]) return if args["uninstall"]: uninstall.uninstall(args["--install-dir"], args["--conf-dir"], args["--namespace"]) return if args["node-report"]: nodereport.nodereport(args["--conf-dir"], int(args["--interval"]), args["--publish"]) return if args["webhook"]: webhook.webhook(args["--conf-file"])
def test_isolate_exclusive1(): p = MockProcess() c = MockConfig(return_config([])) with patch('psutil.Process', MagicMock(return_value=p)): with patch('intel.config.Config', MagicMock(return_value=c)): isolate.isolate("exclusive", False, "fake-cmd", ["fake-args"], "fake-namespace", socket_id=None) assert p.cpu_affinity() == [0, 11]
def test_isolate_shared_failure1(): c = MockConfig(return_config([])) with patch('intel.config.Config', MagicMock(return_value=c)): with pytest.raises(SystemError) as err: isolate.isolate("shared", False, "fake-cmd", ["fake-args"], "fake-namespace", socket_id="1") assert err is not None assert err.value.args[0] == "No cpu lists in pool shared"
def test_pool_not_exist(): c = MockConfig(return_config([])) with patch('intel.config.Config', MagicMock(return_value=c)): with pytest.raises(KeyError) as err: isolate.isolate("fake-pool", False, "fake-cmd", ["fake-args"], "fake-namespace", socket_id=None) assert err is not None assert err.value.args[0] == "Requested pool fake-pool does not exist"
def test_isolate_exclusive_non_isolcpus2(): p = MockProcess() c = MockConfig(return_config(EXNI_ONE)) with patch('psutil.Process', MagicMock(return_value=p)): with patch('intel.config.Config', MagicMock(return_value=c)): isolate.isolate("exclusive-non-isolcpus", False, "fake-cmd", ["fake-args"], "fake-namespaec", socket_id=None) assert p.cpu_affinity() == [10, 21]
def test_isolate_infra2(): p = MockProcess() c = MockConfig(return_config(INF_ONE)) with patch('psutil.Process', MagicMock(return_value=p)): with patch('intel.config.Config', MagicMock(return_value=c)): isolate.isolate("infra", False, "fake-cmd", ["fake-args"], "fake-namespace", socket_id=None) assert p.cpu_affinity() == [6, 17, 7, 18, 8, 19]
def test_isolate_shared2(): p = MockProcess() c = MockConfig(return_config(SHAR_ONE)) with patch('psutil.Process', MagicMock(return_value=p)): with patch('intel.config.Config', MagicMock(return_value=c)): isolate.isolate("shared", False, "fake-cmd", ["fake-args"], "fake-namespace", socket_id=None) assert p.cpu_affinity() == [4, 15, 5, 16]
def test_not_enough_cpus(): c = MockConfig(return_config([])) with patch('intel.config.Config', MagicMock(return_value=c)): with pytest.raises(SystemError) as err: isolate.isolate("exclusive", False, "fake-cmd", ["fake-args"], "fake-namespace", socket_id=None) assert err is not None assert err.value.args[0] == "Not enough free cpu lists "\ "in pool exclusive"
def test_n_cpus_lt_one(): c = MockConfig(return_config([])) with patch('intel.config.Config', MagicMock(return_value=c)): with pytest.raises(ValueError) as err: isolate.isolate("exclusive", False, "fake-cmd", ["fake-args"], "fake-namespace", socket_id=None) assert err is not None assert err.value.args[0] == "Requested numbers of cores "\ "must be positive integer"
def main(): setup_logging() args = docopt(__doc__, version="CMK v1.0.1") if args["cluster-init"]: clusterinit.cluster_init(args["--host-list"], args["--all-hosts"], args["--cmk-cmd-list"], args["--cmk-img"], args["--cmk-img-pol"], args["--conf-dir"], args["--install-dir"], args["--num-dp-cores"], args["--num-cp-cores"], args["--pull-secret"], args["--saname"]) return if args["init"]: init.init(args["--conf-dir"], int(args["--num-dp-cores"]), int(args["--num-cp-cores"])) return if args["discover"]: discover.discover(args["--conf-dir"]) return if args["describe"]: describe.describe(args["--conf-dir"]) return if args["isolate"]: isolate.isolate(args["--conf-dir"], args["--pool"], args["--no-affinity"], args["<command>"], args["<args>"]) return if args["reconcile"]: reconcile.reconcile(args["--conf-dir"], int(args["--interval"]), args["--publish"]) return if args["install"]: install.install(args["--install-dir"]) return if args["uninstall"]: uninstall.uninstall(args["--install-dir"], args["--conf-dir"]) return if args["node-report"]: nodereport.nodereport(args["--conf-dir"], int(args["--interval"]), args["--publish"]) return