Esempio n. 1
0
    def test_init(self):
        context = {
            "task": mock.MagicMock(),
            "config": {
                consts.SHARE_NETWORKS_CONTEXT_NAME: {
                    "foo": "bar"
                },
                "not_manila": {
                    "not_manila_key": "not_manila_value"
                },
            },
        }

        inst = manila_share_networks.ManilaShareNetworks(context)

        self.assertEqual(context["config"][consts.SHARE_NETWORKS_CONTEXT_NAME],
                         inst.config)
        self.assertIn(rally_consts.JSON_SCHEMA,
                      inst.CONFIG_SCHEMA.get("$schema"))
        self.assertEqual(False, inst.CONFIG_SCHEMA.get("additionalProperties"))
        self.assertEqual("object", inst.CONFIG_SCHEMA.get("type"))
        props = inst.CONFIG_SCHEMA.get("properties", {})
        self.assertEqual({"type": "object"}, props.get("share_networks"))
        self.assertEqual({"type": "boolean"}, props.get("use_share_networks"))
        self.assertEqual(450, inst.get_order())
        self.assertEqual(consts.SHARE_NETWORKS_CONTEXT_NAME, inst.get_name())
Esempio n. 2
0
    def test_setup_use_existing_share_networks_with_empty_list(self):
        ctxt = copy.deepcopy(self.ctxt_use_existing)
        ctxt["config"][
            consts.SHARE_NETWORKS_CONTEXT_NAME]["share_networks"] = {}
        inst = manila_share_networks.ManilaShareNetworks(ctxt)

        self.assertRaises(exceptions.ContextSetupFailure, inst.setup)
Esempio n. 3
0
    def test_setup_use_existing_share_networks_sn_not_found(
            self, mock_manila_scenario__list_share_networks, mock_clients):
        ctxt = copy.deepcopy(self.ctxt_use_existing)
        ctxt["config"][
            consts.SHARE_NETWORKS_CONTEXT_NAME]["share_networks"] = {
                "tenant_1_id": ["foo"]
            }
        inst = manila_share_networks.ManilaShareNetworks(ctxt)
        mock_manila_scenario__list_share_networks.return_value = (
            self.existing_sns)

        self.assertRaises(exceptions.ContextSetupFailure, inst.setup)
Esempio n. 4
0
    def test_setup_use_existing_share_networks(
            self, mock_manila_scenario__list_share_networks, mock_clients):
        existing_sns = self.existing_sns
        inst = manila_share_networks.ManilaShareNetworks(
            self.ctxt_use_existing)
        mock_manila_scenario__list_share_networks.return_value = (
            self.existing_sns)
        expected_ctxt = copy.deepcopy(self.ctxt_use_existing)
        expected_ctxt.update({
            "delete_share_networks": False,
            "tenants": {
                "tenant_1_id": {
                    "id": "tenant_1_id",
                    "name": "tenant_1_name",
                    consts.SHARE_NETWORKS_CONTEXT_NAME: {
                        "share_networks": [sn for sn in existing_sns[0:2]],
                        "sn_iterator": mock.ANY,
                    },
                },
                "tenant_2_id": {
                    "id": "tenant_2_id",
                    "name": "tenant_2_name",
                    consts.SHARE_NETWORKS_CONTEXT_NAME: {
                        "share_networks": [sn for sn in existing_sns[2:5]],
                        "sn_iterator": mock.ANY,
                    },
                },
            }
        })

        inst.setup()

        self.assertEqual(expected_ctxt["task"], inst.context.get("task"))
        self.assertEqual(expected_ctxt["config"], inst.context.get("config"))
        self.assertEqual(expected_ctxt["users"], inst.context.get("users"))
        self.assertEqual(
            False,
            inst.context.get(consts.SHARE_NETWORKS_CONTEXT_NAME,
                             {}).get("delete_share_networks"))
        self.assertEqual(expected_ctxt["tenants"], inst.context.get("tenants"))
        for i, sns in ((1, existing_sns[0:2]), (2, existing_sns[2:5])):
            self.assertIsInstance(
                inst.context["tenants"]["tenant_%s_id" % i][
                    consts.SHARE_NETWORKS_CONTEXT_NAME]["sn_iterator"],
                utils.RAMInt)
            for j in range(12):
                self.assertEqual(
                    j,
                    next(inst.context["tenants"]["tenant_%s_id" % i][
                        consts.SHARE_NETWORKS_CONTEXT_NAME]["sn_iterator"]))
Esempio n. 5
0
    def test_setup_share_networks_disabled(self):
        ctxt = {
            "task": mock.MagicMock(),
            "config": {
                consts.SHARE_NETWORKS_CONTEXT_NAME: {
                    "use_share_networks": False,
                },
            },
            consts.SHARE_NETWORKS_CONTEXT_NAME: {},
        }
        inst = manila_share_networks.ManilaShareNetworks(ctxt)

        expected_ctxt = copy.deepcopy(inst.context)

        inst.setup()

        self.assertEqual(expected_ctxt, inst.context)
Esempio n. 6
0
    def test_setup_use_existing_share_networks_tenant_not_found(self):
        ctxt = copy.deepcopy(self.ctxt_use_existing)
        ctxt.update({"tenants": {}})
        inst = manila_share_networks.ManilaShareNetworks(ctxt)

        self.assertRaises(exceptions.ContextSetupFailure, inst.setup)