Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

Purpose

To provide some additional infrastructure statistics

...

i.e.,

...

number

...

of

...

hosts/

...

CPU

...

sockets

...

managed

...

by

...

cloudstack

...

which

...

reflects

...

the

...

size

...

of

...

the

...

cloud.

...

Scope

Scope of this document is to provide a functional specification for the Report CPU sockets implementation for 4.3 release.

References

Proposal: http://mail-archives.apache.org/mod_mbox/cloudstack-dev/201310.mbox/%3CFF3AF618-A5C8-4F36-8F3A-C8280A154287@citrix.com%3E

...


Jira

...

ticket:

...

https://issues.apache.org/jira/browse/CLOUDSTACK-4908

...

Feature Specifications

Cloudstack manages different types of hosts that contains one or more physical cpu sockets.

We can list the number of hosts that are managed by CS using listHosts API. We introduce a new parameter value in response called "cpusockets" that holds the number cpu sockets of particular host where ever we can retrieve (otherwise we mark it as NULL).

Upon listing hosts we can count the number of cpu sockets for all hosts.

Xenserver:

- In Xenserver version 6.2 there is xapi call "host-cpu-info"

...

in

...

which

...

we

...

can

...

get

...

the

...

"socket-count"

...

per

...

each

...

host.

...

-

...

In

...

earlier

...

versions

...

of

...

Xenserver

...

6.2

...

there

...

is

...

no

...

such

...

call

...

so

...

we

...

do

...

not

...

counting

...

cpu

...

sockets

...

for

...

those

...

hypervisors.

...

VMWare

...

:

...

-

...

vim25

...

provides

...

data

...

object

...

"HostHardwareSummary"

...

in

...

which

...

we

...

can

...

get

...

the

...

cpu

...

socket

...

count

...

from

...

the

...

parameter,

...

numCpuPkgs

...

-

...

"

...

Number

...

of

...

physical

...

CPU

...

packages

...

on

...

the

...

host.

...

Physical

...

CPU

...

packages

...

are

...

chips

...

that

...

contain

...

one

...

or

...

more

...

processors.

...

Processors

...

contained

...

by

...

a

...

package

...

are

...

also

...

known

...

as

...

CPU

...

cores.

...

For

...

example,

...

one

...

dual-core

...

package

...

is

...

comprised

...

of

...

one

...

chip

...

that

...

contains

...

two

...

CPU

...

cores.

...

"

...

KVM

...

:

...

-

...

Using

...

Virsh

...

command

...

"nodeinfo"

...

number

...

of

...

cpu

...

sockets

...

can

...

be

...

retrieved.

HyperV:

-We provide the number of physical cpu sockets per host and upon listing hosts we can count the number of cpu sockets for all hosts.

Oracle VM, LXC:

- For these hypervisors we will list the number of host being managed. Retrieving socket information for these hypervisors may require domain experts for the corresponding hypervisor. Now we will give the number of hosts.

Database

We introduce a new column named "cpu_scokets"

...

in

...

the

...

table

...

"host"

...

which

...

holds

...

the

...

number

...

of

...

cpu

...

sockets

...

for

...

the

...

hypervisors.

...

New

...

Column:

...

Table

...

"host"

...

cpu_sockets

...

int(10)

...

unsigned

...

DEFAULT

...

NULL

API Changes

Changes to existing APIs

We will introduce
1) new parameter in listhost API call named "hypervisor"
2) new parameter in listhost response named "cpusockets"

http://localhost:8080/client/api?command=listHosts&

...

hypervisor=xenserver&sessionkey=uMjdI0ko3GbIkvPk3GLSnn7zNTY%3D&page=1&pageSize=20&type=routing&listAll=true&_=1382505530956

...

In reponse we have new parameter value "cpusockets":1

UI changes

We show the following information in 'Infrastructure' tab.

From UI it looks like

===========================================================

...


Hypervisor

...

|

...

Hosts

...

|

...

Sockets

...


===========================================================

...


VMware | 20 | 45
---------------------------------------------

...

-

...


XenServer 6.2| 50 | 70

----------------------------------------------
XenServer | 50 | unknown
---------------------------------------------

...

-

...


KVM

...

|

...

15

...

|

...

35

...


---------------------------------------------

...

-

...


Hyper-V

...

|

...

30

...

|

...

unknown

...

===========================================================

...

Some

...

minimal

...

calculations

...

are

...

required

...

from

...

the

...

listHost

...

response.

...


1)

...

Call

...

listHosts

...

API

...

with

...

filter

...

"

...

hypervisor"

...

(say

...

xenserver)

...


2)

...

take

...

the

...

count

...

of

...

number

...

of

...

hosts

...


3)

...

In

...

the

...

response

...

we

...

need

...

to

...

take

...

sum

...

of

...

all

...

the

...

values

...

of

...

parameter

...

"cpusockets".

...

If

...

cpusockets

...

are

...

not

...

mentioned

...

for

...

particular

...

hypervisor

...

type

...

we

...

leave

...

the

...

value

...

as

...

unknown.

...

This

...

we

...

need

...

to

...

for

...

all

...

hypervisor

...

types.

Limitations

For Xenserver 6.2 prior versions we are not counting number of sockets. For the remaining hypervisors OVM, LXC require corresponding hypervisor experts to fill in the socket information