Beispiel #1
0
        public Dictionary <string, string> getNetworkInfo(string hostUuid)
        {
            Dictionary <string, string> dict    = new Dictionary <string, string>();
            List <XenRef <PIF> >        vifRefs = PIF.get_all(ConnectManager.session);

            foreach (XenRef <PIF> vifRef in vifRefs)
            {
                PIF vif = PIF.get_record(ConnectManager.session, vifRef);
                if (vif.management)
                {
                    XenRef <Host> hostRef = vif.host;
                    Host          host    = Host.get_record(ConnectManager.session, hostRef);
                    if (hostUuid.Equals(host.uuid))
                    {
                        string ip = vif.IP;
                        dict.Add("ip", ip);
                        string netmask = vif.netmask;
                        dict.Add("netmask", netmask);
                        string gateway = vif.gateway;
                        dict.Add("gateway", gateway);
                        XenRef <Network> networkRef = vif.network;
                        network = Network.get_record(ConnectManager.session, networkRef);
                    }
                }
            }
            return(dict);
        }
        public object netcollect(Session session)
        {
            int    ne = 1;
            string log;
            string entry;

            ArrayList vmc    = new ArrayList();
            string    mydocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

            try
            {
                List <XenRef <Network> > netRefs  = Network.get_all(session);
                List <XenRef <PIF> >     pifRefs  = PIF.get_all(session);
                List <XenRef <VIF> >     vifRefs  = VIF.get_all(session);
                List <XenRef <VM> >      vmRefs   = VM.get_all(session);
                List <XenRef <Host> >    hostRefs = Host.get_all(session);



                foreach (XenRef <Network> netRef in netRefs)
                {
                    Network net = Network.get_record(session, netRef);


                    vmc.Add("Network Name:");
                    try
                    {
                        vmc.Add(Convert.ToString(net.name_label));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Network Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    vmc.Add("Network Description:");
                    try
                    {
                        vmc.Add(Convert.ToString(net.name_description));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Network Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    vmc.Add("Number of connected PIFs:");
                    try
                    {
                        vmc.Add(Convert.ToString(net.PIFs.Count));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Network Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    if (net.PIFs.Count >= 1)
                    {
                        for (int pi = 0; pi <= net.PIFs.Count - 1;)
                        {
                            if (net.PIFs[pi].ServerOpaqueRef == "OpaqueRef:NULL")
                            {
                            }
                            else
                            {
                                PIF  pif  = PIF.get_record(session, net.PIFs[pi].ServerOpaqueRef);
                                Host host = Host.get_record(session, pif.host.ServerOpaqueRef);

                                vmc.Add("Host Member:");
                                try
                                {
                                    vmc.Add("Not displayed in demo version");
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Network Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                pi++;
                            }
                        }
                    }
                    vmc.Add("Number of connected VIFs:");
                    try
                    {
                        vmc.Add(Convert.ToString(net.VIFs.Count));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Network Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    if (net.VIFs.Count >= 1)
                    {
                        for (int vi = 0; vi <= net.VIFs.Count - 1;)
                        {
                            if (net.VIFs[vi].ServerOpaqueRef == "OpaqueRef:NULL")
                            {
                            }
                            else
                            {
                                VIF vif = VIF.get_record(session, net.VIFs[vi].ServerOpaqueRef);
                                VM  vm  = VM.get_record(session, vif.VM.ServerOpaqueRef);

                                vmc.Add("VM Member:");
                                try
                                {
                                    vmc.Add("Not displayed in demo version");
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Network Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }

                                vi++;
                            }
                        }
                    }
                    ne = 1;
                }
                log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                entry = DateTime.Now.ToString("HH:mm:ss") + " Network Collection Finished ";
                writelog.entry(log, entry);
            }
            catch
            {
                log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                entry = DateTime.Now.ToString("HH:mm:ss") + " Network Collection Failed ";
                writelog.entry(log, entry);
            }
            if ((vmc.Count & 2) == 0)
            {
            }
            else
            {
                vmc.Add(" ");
            }
            return(vmc);
        }
Beispiel #3
0
        public object bondcollect(Session session)
        {
            ArrayList vmc = new ArrayList();
            int       be  = 1;
            string    log;
            string    entry;
            string    mydocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);


            try
            {
                List <XenRef <Bond> > bondRefs = Bond.get_all(session);
                List <XenRef <PIF> >  pifRefs  = PIF.get_all(session);
                List <XenRef <Host> > hostRefs = Host.get_all(session);
                int    bondnumber = 1;
                string hostname   = "";
                string pifmac;


                foreach (XenRef <Bond> bondRef in bondRefs)
                {
                    Bond bond = Bond.get_record(session, bondRef);
                    vmc.Add("Bond Number:");


                    vmc.Add(Convert.ToString(bondnumber));
                    pifmac = "";
                    for (int i = 0; i <= bond.slaves.Count - 1;)
                    {
                        foreach (XenRef <PIF> pifRef in pifRefs)
                        {
                            PIF pif = PIF.get_record(session, pifRef);
                            if (bond.slaves[i].ServerOpaqueRef == pif.opaque_ref)
                            {
                                Host host = Host.get_record(session, pif.host.ServerOpaqueRef);

                                try
                                {
                                    hostname = Convert.ToString(host.name_label);
                                }
                                catch
                                {
                                    hostname = "Data not available";
                                    log      = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry    = DateTime.Now.ToString("HH:mm:ss") + " Bond Collection Error " + be;
                                    writelog.entry(log, entry);
                                    be++;
                                }
                                try
                                {
                                    pifmac = pifmac + " | " + Convert.ToString(pif.MAC);
                                }
                                catch
                                {
                                    pifmac = "Data not available";
                                    log    = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry  = DateTime.Now.ToString("HH:mm:ss") + " Bond Collection Error " + be;
                                    writelog.entry(log, entry);
                                    be++;
                                }
                            }
                        }
                        i++;
                    }
                    bondnumber++;
                    vmc.Add("Bond Parent:");
                    vmc.Add(hostname);
                    vmc.Add("Bond members by MAC:");
                    vmc.Add(pifmac);
                    be = 1;
                }
                log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                entry = DateTime.Now.ToString("HH:mm:ss") + " Bond Collection Finished";
                writelog.entry(log, entry);
            }
            catch
            {
                log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                entry = DateTime.Now.ToString("HH:mm:ss") + " Bond Collection Failed";
                writelog.entry(log, entry);
            }
            if ((vmc.Count & 2) == 0)
            {
            }
            else
            {
                vmc.Add(" ");
            }
            return(vmc);
        }