Exemplo n.º 1
0
        public void initWithBladesFromBladeSpec(bladeSpec[] spec, bool useMockedManager, NASFaultInjectionPolicy faultInjection)
        {
            if (useMockedManager)
            {
                hostStateManagerMocked newMgr = new hostStateManagerMocked();
                newMgr.setMockedNASFaultInjectionPolicy(faultInjection);
                services.hostStateManager = newMgr;
            }
            else
            {
                services.hostStateManager = new hostStateManager();
            }


            services.hostStateManager.initWithBlades(spec);
        }
Exemplo n.º 2
0
        public static resultAndBladeName[] doVMAllocationsForTest(bladeDirectorDebugServices uut, string hostIP, vmHWAndSWSpec[] specs, NASFaultInjectionPolicy NASFaultInjection = NASFaultInjectionPolicy.retunSuccessful)
        {
            uut.svcDebug.initWithBladesFromIPList(new[] { "172.17.129.131", "172.17.129.130" }, true, NASFaultInjection);
            uut.svcDebug._setExecutionResultsIfMocked(mockedExecutionResponses.successful);

            return(doAllocation(uut, hostIP, specs));
        }
Exemplo n.º 3
0
        public void initWithBladesFromIPList(string[] bladeIPs, bool useMockedManager, NASFaultInjectionPolicy faultInjection)
        {
            if (useMockedManager)
            {
                hostStateManagerMocked newMgr = new hostStateManagerMocked();
                newMgr.setMockedNASFaultInjectionPolicy(faultInjection);
                services.hostStateManager = newMgr;
            }
            else
            {
                services.hostStateManager = new hostStateManager();
            }

            services.hostStateManager.initWithBlades(bladeIPs);
        }
Exemplo n.º 4
0
        public void setMockedNASFaultInjectionPolicy(NASFaultInjectionPolicy newPolicy)
        {
            switch (newPolicy)
            {
            case NASFaultInjectionPolicy.retunSuccessful:
                nas = new mockedNAS();
                break;

            case NASFaultInjectionPolicy.failSnapshotDeletionOnFirstSnapshot:
                nas = new mockedNASWithFailure();
                // TODO: add this from the test
                nas.addISCSITarget(new iscsiTarget()
                {
                    id = "1337b33f", targetAlias = "dunno", targetName = "172.17.158.1-1.1.1.1-vm"
                });
                break;

            default:
                throw new ArgumentOutOfRangeException("newPolicy", newPolicy, null);
            }

            // Taken from real FreeNAS system, these are the snapshots required to use Discord.
            volume newVol = new volume
            {
                id            = "1",
                avail         = "1.8 TiB",
                compression   = "inherit (lz4)",
                compressratio = "1.47x",
                mountpoint    = "/mnt/SSDs/jails",
                name          = "jails",
                path          = "SSDs/jails",
                isreadonly    = "inherit (off)",
                status        = "-",
                volType       = "dataset",
                used          = "31.4 GiB (1%)",
                used_pct      = "1"
            };

            nas.addVolume(newVol);

            snapshot baseSnapshot = new snapshot
            {
                filesystem  = "SSDs/bladebase_1709",
                fullname    = "SSDs/bladebase_1709@bladebase_1709",
                id          = "SSDs/bladebase_1709@bladebase_1709",
                mostrecent  = "true",
                name        = "bladebase_1709",
                parent_type = "volume",
                refer       = "20.0 GiB",
                replication = "null",
                used        = "17.4 MiB"
            };

            nas.addSnapshot(baseSnapshot);

            targetGroup tgtGrp = new targetGroup
            {
                id                          = "13",
                iscsi_target                = "13",
                iscsi_target_authgroup      = "null",
                iscsi_target_authtype       = "None",
                iscsi_target_initialdigest  = "Auto",
                iscsi_target_initiatorgroup = "null",
                iscsi_target_portalgroup    = "1"
            };

            nas.addTargetGroup(tgtGrp, null);

            iscsiPortal portal = new iscsiPortal()
            {
                id = "1"
            };

            nas.addPortal(portal);
        }