Exemplo n.º 1
0
            private void DeregisterPifEvents()
            {
                if (Pif != null)
                {
                    Pif.PropertyChanged -= Server_PropertyChanged;

                    // Remove Tunnel and PIF_metrics property change listeners (CA-46103)
                    if (Pif.IsTunnelAccessPIF())
                    {
                        Tunnel tunnel = Pif.Connection.Resolve(Pif.tunnel_access_PIF_of[0]);
                        if (tunnel != null)
                        {
                            tunnel.PropertyChanged -= Pif_PropertyChanged;
                        }
                    }
                    else
                    {
                        PIF_metrics metrics = Pif.PIFMetrics();
                        if (metrics != null)
                        {
                            metrics.PropertyChanged -= Pif_PropertyChanged;
                        }
                    }
                }
            }
Exemplo n.º 2
0
            private void RegisterPifEvents()
            {
                if (Pif != null)
                {
                    Pif.PropertyChanged += Server_PropertyChanged;

                    // Listen for Tunnel and PIF_metrics changes which is necessary for Link Status updates (CA-46103)
                    if (Pif.IsTunnelAccessPIF())
                    {
                        Tunnel tunnel = Pif.Connection.Resolve(Pif.tunnel_access_PIF_of[0]);
                        if (tunnel != null)
                        {
                            tunnel.PropertyChanged += Pif_PropertyChanged;
                        }
                    }
                    else
                    {
                        PIF_metrics metrics = Pif.PIFMetrics();
                        if (metrics != null)
                        {
                            metrics.PropertyChanged += Pif_PropertyChanged;
                        }
                    }
                }
            }
Exemplo n.º 3
0
        private void PopulateDataGridView(List <PIF> pifs)
        {
            try
            {
                dataGridView1.SuspendLayout();
                dataGridView1.Rows.Clear();
                m_numberOfCheckedNics = 0;

                foreach (PIF pif in pifs)
                {
                    string         description = PIFDescription(pif);
                    XenAPI.Network network     = Connection.Resolve <XenAPI.Network>(pif.network);
                    PIF_metrics    metrics     = pif.PIFMetrics;

                    int rowIndex = dataGridView1.Rows.Add(new object[]
                    {
                        false,
                        String.Format("{0} {1}", pif.Name, description),
                        pif.MAC,
                        (network.PIFs.Count > 1) ? network.LinkStatusString : pif.LinkStatusString,
                        pif.Carrier ? pif.Speed : Messages.HYPHEN,
                        pif.Carrier ? pif.Duplex : Messages.HYPHEN,
                        metrics == null ? "" : metrics.vendor_name,
                        metrics == null ? "" : metrics.device_name,
                        metrics == null ? "" : metrics.pci_bus_path
                    });

                    DataGridViewRow row = dataGridView1.Rows[rowIndex];
                    row.Tag = pif;
                    ToggleNICRowCheckable(row);
                }

                //CA-47050: the ColumnPci should be autosized to Fill, but should not become smaller than a minimum
                //width, which is chosen to be the column's contents (including header) width. To find what this is
                //set temporarily the column's autosize mode to AllCells.
                ColumnPci.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                int storedWidth = ColumnPci.Width;
                ColumnPci.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                ColumnPci.MinimumWidth = storedWidth;
            }
            finally
            {
                dataGridView1.ResumeLayout();
            }

            SetValid();
        }
Exemplo n.º 4
0
            public PIFRow(PIF pif)
            {
                this.pif = pif;
                PIF_metrics PIFMetrics = pif.PIFMetrics;

                if (PIFMetrics != null)
                {
                    vendor  = PIFMetrics.vendor_name;
                    device  = PIFMetrics.device_name;
                    busPath = PIFMetrics.pci_bus_path;
                }
                for (int i = 0; i < 8; i++)
                {
                    Cells.Add(new DataGridViewTextBoxCell());
                    updateCell(i);
                }
            }
Exemplo n.º 5
0
        public object hostcollect(Session session)
        {
            ArrayList vmc = new ArrayList();
            int       ne  = 1;
            string    log;
            string    entry;
            string    mydocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);


            try
            {
                //Session session = new Session(server, Convert.ToInt32(port));
                //session.login_with_password(username, password);


                List <XenRef <Host> >     hostRefs = Host.get_all(session);
                List <XenRef <Host_cpu> > hcpuRefs = Host_cpu.get_all(session);


                foreach (XenRef <Host> hostRef in hostRefs)
                {
                    Host host = Host.get_record(session, hostRef);
                    XenRef <Host_metrics> gmsref = Host.get_metrics(session, host.opaque_ref);
                    Host_metrics          gms    = Host_metrics.get_record(session, gmsref);

                    vmc.Add("Xenserver Name:");
                    try
                    {
                        vmc.Add(Convert.ToString(host.name_label));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }

                    vmc.Add("Hostname:");
                    try
                    {
                        vmc.Add(Convert.ToString(host.hostname));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }

                    vmc.Add("Is Host alive:");
                    try
                    {
                        vmc.Add(Convert.ToString(gms.live));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }

                    vmc.Add("IP address:");
                    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") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }

                    vmc.Add("Total Host Memory:");
                    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") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    vmc.Add("Host Memory Free:");
                    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") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    vmc.Add("Number CPU cores:");
                    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") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    try
                    {
                        foreach (XenRef <Host_cpu> hcpuRef in hcpuRefs)
                        {
                            Host_cpu hcpu = Host_cpu.get_record(session, hcpuRef);


                            if (hcpu.host.ServerOpaqueRef == hostRef)
                            {
                                vmc.Add("CPU Core Number:");
                                try
                                {
                                    vmc.Add(Convert.ToString(hcpu.number));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("CPU Core Vendor:");
                                try
                                {
                                    vmc.Add(Convert.ToString(hcpu.vendor));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("CPU Core Model Name:");
                                try
                                {
                                    vmc.Add(Convert.ToString(hcpu.modelname));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("CPU Core Speed:");
                                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") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("CPU Core Stepping Revesion:");
                                try
                                {
                                    vmc.Add(hcpu.stepping);
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("CPU Core Family:");
                                try
                                {
                                    vmc.Add(Convert.ToString(hcpu.family));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                            }
                        }
                    }
                    catch
                    {
                    }

                    vmc.Add("ISCSI IQN Name:");
                    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") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    vmc.Add("Number of Allowed Operations:");
                    try
                    {
                        vmc.Add(Convert.ToString(host.allowed_operations.Count));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    try
                    {
                        for (int i = 0; i <= host.allowed_operations.Count - 1;)
                        {
                            vmc.Add("Allowed Operation:");
                            try
                            {
                                vmc.Add(Convert.ToString(host.allowed_operations[i]));
                            }
                            catch
                            {
                                vmc.Add("Data not available");
                                log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                writelog.entry(log, entry);
                                ne++;
                            }
                            i = i + 1;
                        }
                    }
                    catch
                    {
                    }

                    vmc.Add("Xenserver version:");
                    try
                    {
                        vmc.Add(Convert.ToString(host.software_version["product_version"]));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    vmc.Add("Build Number:");
                    try
                    {
                        vmc.Add(Convert.ToString(host.software_version["build_number"]));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    vmc.Add("Kernel version:");
                    try
                    {
                        vmc.Add(Convert.ToString(host.software_version["linux"]));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    vmc.Add("API version:");
                    try
                    {
                        vmc.Add(Convert.ToString(host.API_version_vendor));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    vmc.Add("Number of Physical Block Devices (PBD):");
                    try
                    {
                        vmc.Add(Convert.ToString(host.PBDs.Count));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    try
                    {
                        for (int i = 0; i <= host.PBDs.Count - 1;)
                        {
                            if (host.PBDs[i].ServerOpaqueRef == "OpaqueRef:NULL")
                            {
                            }
                            else
                            {
                                PBD pbd = PBD.get_record(session, host.PBDs[i].ServerOpaqueRef);

                                Dictionary <String, String> dict = null;
                                dict = pbd.device_config;
                                String pdninfo = null;
                                foreach (String keyStr in dict.Keys)
                                {
                                    if (keyStr == "location" || keyStr == "device")
                                    {
                                        pdninfo = (String)(dict[keyStr]);
                                        vmc.Add("Physical Block Devices:");
                                        try
                                        {
                                            vmc.Add(Convert.ToString(pdninfo));
                                        }
                                        catch
                                        {
                                            log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                            entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                            writelog.entry(log, entry);
                                            ne++;
                                        }
                                    }
                                }
                                i = i + 1;
                            }
                        }
                    }
                    catch
                    {
                    }
                    vmc.Add("Number of Physical NICs (PIF):");
                    try
                    {
                        vmc.Add(Convert.ToString(host.PIFs.Count));
                    }
                    catch
                    {
                        vmc.Add("Data not available");
                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                        writelog.entry(log, entry);
                        ne++;
                    }
                    try
                    {
                        for (int i = 0; i <= host.PIFs.Count - 1;)
                        {
                            if (host.PIFs[i].ServerOpaqueRef == "OpaqueRef:NULL")
                            {
                            }
                            else
                            {
                                PIF         vbd = PIF.get_record(session, Convert.ToString(host.PIFs[i].ServerOpaqueRef));
                                PIF_metrics pif = PIF_metrics.get_record(session, vbd.metrics);


                                vmc.Add("PIF IP Address:");
                                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") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF Netmask:");
                                try
                                {
                                    vmc.Add(Convert.ToString(vbd.netmask));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF DHCP/Static:");
                                try
                                {
                                    vmc.Add(Convert.ToString(vbd.ip_configuration_mode));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF MAC Address:");
                                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") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF DNS servers:");
                                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") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF Gateway:");
                                try
                                {
                                    vmc.Add(Convert.ToString(vbd.gateway));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                if (vbd.other_config.Count >= 1)
                                {
                                    vmc.Add("PIF Domain:");
                                    try
                                    {
                                        vmc.Add(Convert.ToString(vbd.other_config["domain"]));
                                    }
                                    catch
                                    {
                                        vmc.Add("Data not available");
                                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                        writelog.entry(log, entry);
                                        ne++;
                                    }
                                }
                                vmc.Add("PIF VLAN ID:");
                                try
                                {
                                    vmc.Add(Convert.ToString(vbd.VLAN));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF MTU:");
                                try
                                {
                                    vmc.Add(Convert.ToString(vbd.MTU));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF Device:");
                                try
                                {
                                    vmc.Add(Convert.ToString(vbd.device));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("Is PIF attached:");
                                try
                                {
                                    vmc.Add(Convert.ToString(vbd.currently_attached));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }

                                vmc.Add("PIF Device Name:");
                                try
                                {
                                    vmc.Add(Convert.ToString(pif.device_name));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF Device ID:");
                                try
                                {
                                    vmc.Add(Convert.ToString(pif.device_id));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF Vendor Name:");
                                try
                                {
                                    vmc.Add(Convert.ToString(pif.vendor_name));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF Vendor ID:");
                                try
                                {
                                    vmc.Add(Convert.ToString(pif.vendor_id));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF Speed:");
                                if (Convert.ToString(pif.speed) == "65535")
                                {
                                    vmc.Add("PIF not connected");
                                }
                                else
                                {
                                    try
                                    {
                                        vmc.Add(Convert.ToString(pif.speed));
                                    }
                                    catch
                                    {
                                        vmc.Add("Data not available");
                                        log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                        entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                        writelog.entry(log, entry);
                                        ne++;
                                    }
                                }
                                vmc.Add("PIF is set to duplex:");
                                try
                                {
                                    vmc.Add(Convert.ToString(pif.duplex));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF PCI Bus:");
                                try
                                {
                                    vmc.Add(Convert.ToString(pif.pci_bus_path));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;
                                }
                                vmc.Add("PIF Carrier:");
                                try
                                {
                                    vmc.Add(Convert.ToString(pif.carrier));
                                }
                                catch
                                {
                                    vmc.Add("Data not available");
                                    log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                                    entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Error " + ne;
                                    writelog.entry(log, entry);
                                    ne++;;
                                }
                                i = i + 1;
                            }
                        }
                    }
                    catch
                    {
                    }
                    ne = 1;
                }
                log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Finished ";
                writelog.entry(log, entry);
            }
            catch
            {
                log   = mydocs + "\\Halfmode\\HalfmodeConnection.log";
                entry = DateTime.Now.ToString("HH:mm:ss") + " Host Collection Failed";
                writelog.entry(log, entry);
            }
            if ((vmc.Count & 2) == 0)
            {
            }
            else
            {
                vmc.Add(" ");
            }



            return(vmc);
        }