GithubHelp home page GithubHelp logo

conch-reporter-smartos's Introduction

Packaging

Term::ANSIColor needs to be 4.06, but it won't be included by carton because carton think it's part of the platform. So move it out of the way before running carton or fatpack pack.

conch-reporter-smartos's People

Contributors

bdelano avatar bdha avatar jemershaw avatar karenetheridge avatar luke-jarymowycz avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

conch-reporter-smartos's Issues

Normalize LLDP port and peer fields

This means that nominally network-related reports only contain integers for ports. In the future we may need to add a "stack_unit" field, but we currently don't stack switches in a way where we'd end up with te2/15 or similar.

Conch::Validations::SwitchPeers needs to be updated along with Conch::Reporter::Collect::Network.

Want SMBIOS info

  "product_name": "Joyent-M12G5",
  "serial_number": "E329410X8501570",
  "sku": "600-0032-001",
  "system_uuid": "00000000-0000-0000-0000-AC1F6B6C5564",

Validation for LOM cards

From the OS side, we need to verify that a LOM card is getting an IP, and that it's functional.

Validation/DiskSmartStatus error

Use of uninitialized value in pattern match (m//) at /home/bdha/src/joyent/conch/bin/../lib/Conch/Validation/DiskSmartStatus.pm line 23.

Need disk objects

hwgrok gives us a bunch of stuff, but it does not give us the device type or the transport. We'll need to parse both hwgrok and diskinfo.

Need chassis temp info

Can get these from hwgrok.

  "temp": {
    "cpu0": "28",
    "cpu1": "28",
    "exhaust": "30",
    "inlet": "22"
  },

Need CPU objects

hwgrok does not give us CPU info. We'll need to collect it some other way.

The very minimum we need is:

  "processor": {
    "count": 2,
    "type": "Intel(R) Xeon(R) Gold 6132 CPU @ 2.60GHz"
  },

Under Linux, we push up about 1000 lines of CPU flags. I don't think that's critical information, but things like:

      "microcode": "0x2000043",
      "model_family": "6",
      "model_id": "85",
      "model_name": "Intel(R) Xeon(R) Gold 6132 CPU @ 2.60GHz",
      "model_stepping": "4",
      "socket_id": "1"

from each CPU would be helpful.

Memory locator is inconsistant across chasis / OS

dmidecode on Linux gives us P1-DIMMA1. On some systems under SmartOS, smbios just gives us A1.

On other systems it matches. So that's fun!

dmidecode (in Conch Report) on a SMCI Shrimp MK3.5:

    {
      "memory-asset-tag": "P1-DIMMA1_AssetTag (date:18/13)",
      "memory-bank-locator": "P0_Node0_Channel0_Dimm0",
      "memory-configured-clock-speed": "2666",
      "memory-configured-voltage": "1.2 V",
      "memory-data-width": "64",
      "memory-form-factor": "DIMM",
      "memory-locator": "P1-DIMMA1",
      "memory-manufacturer": "Samsung",
      "memory-maximum-voltage": "1.2 V",
      "memory-minimum-voltage": "1.2 V",
      "memory-part-number": "M393A4K40CB2-CTD",
      "memory-rank": "2",
      "memory-serial-number": "38C6B8F3",
      "memory-set": null,
      "memory-size": "32",
      "memory-speed": "2666",
      "memory-total-width": "72",
      "memory-type": "DDR4",
      "memory-type-detail": "Synchronous"
    },

smbios on an SMCI Shrimp Mk3.5:

ID    SIZE TYPE
58    143  SMB_TYPE_MEMDEVICE (type 17) (memory device)

  Manufacturer: Samsung
  Serial Number: 38C6CE64
  Asset Tag: P2-DIMMD1_AssetTag (date:18/13)
  Location Tag: P2-DIMMD1
  Part Number: M393A4K40CB2-CTD    

  Physical Memory Array: 57
  Memory Error Data: Not Supported
  Total Width: 72 bits
  Data Width: 64 bits
  Size: 34359738368 bytes
  Form Factor: 9 (DIMM)
  Set: None
  Rank: 2 (dual)
  Memory Type: 26 (DDR4)
  Flags: 0x80
        SMB_MDF_SYNC (synchronous)
  Speed: 2666 MT/s
  Configured Speed: 2666 MT/s
  Device Locator: P2-DIMMD1
  Bank Locator: P1_Node1_Channel0_Dimm0
  Minimum Voltage: 1.20V
  Maximum Voltage: 1.20V
  Configured Voltage: 1.20V

smbios on a Dell Joyent-Compute-Platform-3301:

ID    SIZE TYPE
4375  43   SMB_TYPE_MEMDEVICE (type 17) (memory device)

  Location Tag: B12

         Physical Memory Array: 4096
         Memory Error Data: Not Supported
  Total Width: 0 bits
  Data Width: 0 bits
  Size: Not Populated
  Form Factor: 2 (unknown)
  Set: 6
  Rank: Unknown
  Memory Type: 2 (unknown)
  Flags: 0x0
  Speed: Unknown
  Configured Speed: Unknown
  Device Locator: B12
  Bank Locator: 
  Minimum Voltage: Unknown
  Maximum Voltage: Unknown
  Configured Voltage: Unknown

So... surprising no one...

This is going to require some changes to the validator, regardless of anything else.

Interfaces must be re-keyed

Validations currently go off eth, which won't work for illumos drivers. Will need to rework the report and validation to key off MACs or -- preferably -- arrayrefs.

No CPUS array

The current version of this code won't validate because there is no CPUs information. As of joyent/conch-api#634 the server no longer validates against the memory and processors properties but instead relies on the dimms and cpus properties. While dimms we have, there is nothing here that currently generates the cpus property so no reports generated will validate as best I'm aware.

See also: joyent/conch-livesys#126 which updates the livesys reporter to remove these keys.

Match `os` to livesys reporter fields

00:58:22 preflight-5T18TD2:/opt/conch/versions/conch-reporter/current/Conch-Reporter# cat /tmp/device_report.json | jq .os
{
  "platform": "debian",
  "platform_version": "8.11",
  "hostname": "preflight-5T18TD2",
  "version": "3.16.0-6-amd64",
  "type": "Linux"
}

Need HBA objects

We can get these from hwgrok.

  "hba": {
    "0": {
      "bios_ver": "8.31.03.00",
      "bus": "94",
      "device": "0",
      "firmware_ver": "14.00.00.00",
      "segment": "0",
      "slot": "6",
      "type": "SAS3008"
    },
    "1": {
      "bios_ver": "8.31.03.00",
      "bus": "134",
      "device": "0",
      "firmware_ver": "14.00.00.00",
      "segment": "0",
      "slot": "2",
      "type": "SAS3008"
    },
    "2": {
      "bios_ver": "8.31.03.00",
      "bus": "216",
      "device": "0",
      "firmware_ver": "14.00.00.00",
      "segment": "0",
      "slot": "4",
      "type": "SAS3008"
    }
  },

Validation/UsbHddNum error

Use of uninitialized value in fc at /home/bdha/src/joyent/conch/bin/../lib/Conch/Validation/UsbHddNum.pm line 20.

Consume `/etc/release`

                      SmartOS 20170803T064301Z x86_64
                    Copyright (c) 2010-2017, Joyent, Inc.

   Built with the following components:

[
    { "repo": "smartos-live", "branch": "release-20170803",
      "commit_date": "1501506422",
      "rev": "77195c1816fbcb90ba4c2cbe0d039b437a819f51",
      "url": "[email protected]:joyent/smartos-live.git" },
    { "repo": "illumos-joyent", "branch": "release-20170803",
      "commit_date": "1501706977",
      "rev": "70fe2b10487a1b0dfe11ed0378b4f835ff133884",
      "url": "/root/data/jenkins/workspace/smartos/MG/build/illumos-joyent" },
    { "repo": "illumos-extra", "branch": "release-20170803",
      "commit_date": "1494282454",
      "rev": "591c23412e2f32c1bd57db71d578014c73984613",
      "url": "/root/data/jenkins/workspace/smartos/MG/build/illumos-extra" },
    { "repo": "kvm", "branch": "release-20170803",
      "commit_date": "1450081968",
      "rev": "a8befd521c7e673749c64f118585814009fe4b73",
      "url": "/root/data/jenkins/workspace/smartos/MG/build/illumos-kvm" },
    { "repo": "kvm-cmd", "branch": "release-20170803",
      "commit_date": "1470436658",
      "rev": "70a3b9ac0fffc05cbe541164c097f51040addc8c",
      "url": "/root/data/jenkins/workspace/smartos/MG/build/illumos-kvm-cmd" },
    { "repo": "mdata-client", "branch": "release-20170803",
      "commit_date": "1482175115",
      "rev": "dbb3fdec26373f8e86c9ea0057ebba48581ff476",
      "url": "/root/data/jenkins/workspace/smartos/MG/build/mdata-client" }
]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.