HostManagementService - vmware-archive/xenon GitHub Wiki

Overview

The service host management service exposes a REST api to manage the lifecycle of the service host, perform maintenance actions and retrieve detailed status.
This service API also takes PATCH requests to perform various management related operations such as configure operation tracing request, backup/restore, and schedule peer synchronization.

REST Api

URI Path

/core/management

Verbs

GET

Retrieves status and state.

{
  "bindAddress": "0.0.0.0",
  "httpPort": 8000,
  "maintenanceIntervalMicros": 30000000,
  "operationTimeoutMicros": 30000000,
  "storageSandbox": "file:/tmp/dcp/8000/",
  "id": "65e5488f-72be-4d85-98da-d838ad2afa5d",
  "isStarted": true,
  "systemInfo": {
    "properties": {
      "gopherProxySet": "false",
      "awt.toolkit": "sun.lwawt.macosx.LWCToolkit",
      "file.encoding.pkg": "sun.io",
      "java.specification.version": "1.8",
      "sun.cpu.isalist": "",
      "sun.jnu.encoding": "UTF-8",
      "java.class.path": "/Users/georgec/VMware/dcp/target/test-classes:/Users/georgec/VMware/dcp/target/classes:/Users/georgec/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar:/Users/georgec/.m2/repository/com/google/code/gson/gson/2.3/gson-2.3.jar:/Users/georgec/.m2/repository/org/javassist/javassist/3.18.2-GA/javassist-3.18.2-GA.jar:/Users/georgec/.m2/repository/com/esotericsoftware/kryo/kryo/2.24.0/kryo-2.24.0.jar:/Users/georgec/.m2/repository/com/esotericsoftware/minlog/minlog/1.2/minlog-1.2.jar:/Users/georgec/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1.jar:/Users/georgec/.m2/repository/org/apache/lucene/lucene-analyzers-common/4.9.0/lucene-analyzers-common-4.9.0.jar:/Users/georgec/.m2/repository/org/apache/lucene/lucene-core/4.9.0/lucene-core-4.9.0.jar:/Users/georgec/.m2/repository/org/apache/lucene/lucene-misc/4.9.0/lucene-misc-4.9.0.jar:/Users/georgec/.m2/repository/org/apache/lucene/lucene-queries/4.9.0/lucene-queries-4.9.0.jar:/Users/georgec/.m2/repository/org/msgpack/msgpack/0.6.11/msgpack-0.6.11.jar:/Users/georgec/.m2/repository/com/googlecode/json-simple/json-simple/1.1.1/json-simple-1.1.1.jar",
      "java.vm.vendor": "Oracle Corporation",
      "sun.arch.data.model": "64",
      "java.vendor.url": "http://java.oracle.com/",
      "user.timezone": "America/Los_Angeles",
      "os.name": "Mac OS X",
      "java.vm.specification.version": "1.8",
      "user.country": "US",
      "sun.java.launcher": "SUN_STANDARD",
      "sun.boot.library.path": "/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib",
      "sun.java.command": "com.vmware.dcp.services.common.DecentralizedControlPlaneHost --port\u003d8000 --bindAddress\u003d0.0.0.0",
      "http.nonProxyHosts": "local|*.local|169.254/16|*.169.254/16",
      "sun.cpu.endian": "little",
      "user.home": "/Users/georgec",
      "user.language": "en",
      "java.specification.vendor": "Oracle Corporation",
      "java.home": "/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre",
      "file.separator": "/",
      "line.separator": "\n",
      "java.vm.specification.vendor": "Oracle Corporation",
      "java.specification.name": "Java Platform API Specification",
      "java.awt.graphicsenv": "sun.awt.CGraphicsEnvironment",
      "sun.boot.class.path": "/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/sunrsasign.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/classes",
      "sun.management.compiler": "HotSpot 64-Bit Tiered Compilers",
      "ftp.nonProxyHosts": "local|*.local|169.254/16|*.169.254/16",
      "java.runtime.version": "1.8.0_11-b12",
      "user.name": "georgec",
      "path.separator": ":",
      "os.version": "10.9.5",
      "java.endorsed.dirs": "/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/endorsed",
      "java.runtime.name": "Java(TM) SE Runtime Environment",
      "file.encoding": "UTF-8",
      "java.vm.name": "Java HotSpot(TM) 64-Bit Server VM",
      "java.vendor.url.bug": "http://bugreport.sun.com/bugreport/",
      "java.io.tmpdir": "/var/folders/7x/_539ncd577jgfflj33qsg3_w0000gn/T/",
      "java.version": "1.8.0_11",
      "user.dir": "/Users/georgec/VMware/dcp",
      "os.arch": "x86_64",
      "java.vm.specification.name": "Java Virtual Machine Specification",
      "java.awt.printerjob": "sun.lwawt.macosx.CPrinterJob",
      "sun.os.patch.level": "unknown",
      "java.library.path": "/Users/georgec/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.",
      "java.vm.info": "mixed mode",
      "java.vendor": "Oracle Corporation",
      "java.vm.version": "25.11-b03",
      "java.ext.dirs": "/Users/georgec/Library/Java/Extensions:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java",
      "sun.io.unicode.encoding": "UnicodeBig",
      "java.class.version": "52.0",
      "socksNonProxyHosts": "local|*.local|169.254/16|*.169.254/16"
    },
    "environmentVariables": {
      "PATH": "/usr/bin:/bin:/usr/sbin:/sbin",
      "SHELL": "/bin/bash",
      "APP_ICON_18288": "../Resources/Eclipse.icns",
      "JAVA_STARTED_ON_FIRST_THREAD_18288": "1",
      "USER": "georgec",
      "TMPDIR": "/var/folders/7x/_539ncd577jgfflj33qsg3_w0000gn/T/",
      "SSH_AUTH_SOCK": "/tmp/launch-yo0C96/Listeners",
      "JAVA_MAIN_CLASS_27558": "com.vmware.dcp.services.common.DecentralizedControlPlaneHost",
      "__CF_USER_TEXT_ENCODING": "0x1F5:0:0",
      "Apple_PubSub_Socket_Render": "/tmp/launch-tbKOgr/Render",
      "__CHECKFIX1436934": "1",
      "LOGNAME": "georgec",
      "HOME": "/Users/georgec"
    },
    "availableProcessorCount": 8,
    "freeMemoryByteCount": 276973280,
    "totalMemoryByteCount": 285736960,
    "maxMemoryByteCount": 3817865216,
    "ipAddresses": [
      "fc00:10:118:97:24dc:387d:461d:3c3f",
      "fc00:10:118:97:e4d:e9ff:fe99:26ec",
      "fe80:0:0:0:e4d:e9ff:fe99:26ec%en3",
      "10.118.97.165"
    ]
  },
  "lastMaintenanceTimeUtcMicros": 0,
  "pendingMaintenanceOperations": 0,
  "isProcessOwner": true,
  "documentVersion": 0,
  "documentUpdateTimeMicrosUtc": 0
}

DELETE

Does an orderly shutdown of the host and all the services

Stats

The core management service reports important time series stats on key metrics:

  • CPU usage
  • Disk usage
  • Thread count aggregated per hour, per minute, in rolling time series.
GET /core/management/stats
{
.....
"cpuUsagePercentPerDay": {
      "name": "cpuUsagePercentPerDay",
      "latestValue": 0.01548839632318137,
      "accumulatedValue": 116.30780660032818,
      "version": 141,
      "lastUpdateMicrosUtc": 1470417944799007,
      "kind": "com:vmware:xenon:common:ServiceStats:ServiceStat",
      "timeSeriesStats": {
        "bins": {
          "1470416400000": {
            "avg": 0.8248780609952354,
            "count": 141.0
          }
        },
        "numBins": 24,
        "binDurationMillis": 3600000,
        "aggregationType": [
          "AVG"
        ]
      }
    },
    "availableDiskBytesPerHour": {
      "name": "availableDiskBytesPerHour",
      "latestValue": 1.26101041152E11,
      "accumulatedValue": 1.7906572627968E13,
      "version": 142,
      "lastUpdateMicrosUtc": 1470417944799002,
      "kind": "com:vmware:xenon:common:ServiceStats:ServiceStat",
      "timeSeriesStats": {
        "bins": {
          "1470417720000": {
            "avg": 1.2610271439950769E11,
            "count": 130.0
          },
          "1470417780000": {
            "avg": 1.26102137856E11,
            "count": 4.0
          },
          "1470417840000": {
            "avg": 1.26101682176E11,
            "count": 4.0
          },
          "1470417900000": {
            "avg": 1.26101118976E11,
            "count": 4.0
          }
        },
        "numBins": 60,
        "binDurationMillis": 60000,
        "aggregationType": [
          "AVG"
        ]
      }
    },
    "cpuUsagePercentPerHour": {
      "name": "cpuUsagePercentPerHour",
      "latestValue": 0.01548839632318137,
      "accumulatedValue": 116.30780660032818,
      "version": 141,
      "lastUpdateMicrosUtc": 1470417944799006,
      "kind": "com:vmware:xenon:common:ServiceStats:ServiceStat",
      "timeSeriesStats": {
        "bins": {
          "1470417720000": {
            "avg": 0.8984681879328744,
            "count": 129.0
          },
          "1470417780000": {
            "avg": 0.0586236815181815,
            "count": 4.0
          },
          "1470417840000": {
            "avg": 0.025864196283287663,
            "count": 4.0
          },
          "1470417900000": {
            "avg": 0.016864711445377857,
            "count": 4.0
          }
        },
        "numBins": 60,
        "binDurationMillis": 60000,
        "aggregationType": [
          "AVG"
        ]
      }
    },

.....
.....
}

Backup/Restore

see Backup-Restore