A library containing standardized trait strings. Used by placement service and clients to ensure consistency.
Go to file
Kashyap Chamarthy 93d2ff782f hw: cpu: Rework the directory layout; add missing traits
The main motivation for this change is to: (a) add missing CPU flags
(including those flags that provide mitigation for the recent CVE flaws)
as 'traits'; and (b) adjust and clean up the layout of the 'hw/cpu/'
directory.

To that end, the following are the set of changes in this patch.

(*) Introduce a new cpu/x86 directory; and vendor-specific files: amd.py
    and intel.py; with __init__.py containing the *common* stuff:

    - hw/cpu/x86/amd.py  -- AMD-only traits.

    - hw/cpu/x86/intel.py -- Intel-only traits.

    - hw/cpu/x86/__init__.py -- Common traits for both AMD and Intel.

    - hw/cpu/x86.py -- Two things: (a) move the contents of this file
      into x86/__init__.py, which is its new location; this move
      preserves the integrity of the string trait names and Python
      paths, as they were before; and (b) given point (a), remove the
      now no longer needed hw/cpu/x86.py.  (Justification: We are
      removing this file to maintain consistency with the way it's done
      througout the 'os-traits' repository.)

    - hw/cpu/amd.py -- Deprecate the contents of this file with a
      comment; and copy them into hw/cpu/x86/amd.py, which is its new
      location.

    Comparison between the old and the new layouts of os_traits/hw/cpu/:

      Old Layout                     New Layout
      ----------                     ----------

        cpu/                           cpu/
        ├── aarch64.py                  ├── aarch64.py
        ├── amd.py                      ├── amd.py [DEPRECATED]
        ├── __init__.py                 ├── __init__.py
        └── x86.py                      └── x86/
                                           ├── amd.py
                                           ├── __init__.py
                                           └── intel.py

(*) Add various missing CPU flags to x86/intel.py, x86/amd.py and to
    x86/__intel__.py.

(*) Copy, and deprecate with a comment, flags from cpu/x86.py, i.e..
    "VMX" (Intel) and "SVM" (AMD), into corresponding vendor-specific
    files.

References
----------

[1] Thread start:
    http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006281.html
    -- On reporting CPU flags that provide mitiation (to CVE flaws) as
    Nova 'traits'

[2] Thread conclusion:
    http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006364.html

Closes-Bug: #1830948
Change-Id: I1c9a72d19ef9dadfb931efa3894867099974bcc7
Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
2019-05-31 18:01:09 +02:00
doc Add HW_CPU_AMD_SEV trait 2019-02-08 00:47:57 +00:00
os_traits hw: cpu: Rework the directory layout; add missing traits 2019-05-31 18:01:09 +02:00
releasenotes Update master for stable/stein 2019-03-18 14:42:35 +00:00
.gitignore Switch to stestr 2018-07-18 10:33:07 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:49:13 +00:00
.stestr.conf Switch to stestr 2018-07-18 10:33:07 +01:00
.zuul.yaml Change python3.5 job to python3.7 job on Stein+ 2019-02-14 10:21:59 +00:00
CONTRIBUTING.rst Update bug links for storyboard 2019-03-11 17:44:36 +00:00
HACKING.rst Update the documentation urls 2017-09-06 14:56:01 +08:00
LICENSE Initial commit of os-capabilities library 2016-08-03 19:25:39 -04:00
MANIFEST.in Initial commit of os-capabilities library 2016-08-03 19:25:39 -04:00
README.rst Update bug links for storyboard 2019-03-11 17:44:36 +00:00
babel.cfg Initial commit of os-capabilities library 2016-08-03 19:25:39 -04:00
requirements.txt Updated from global requirements 2017-11-16 11:20:23 +00:00
setup.cfg Update author-email in setup.cfg 2018-12-04 04:24:55 +00:00
setup.py Updated from global requirements 2017-03-03 22:57:04 +00:00
test-requirements.txt Update hacking version to latest 2019-01-05 00:43:01 +08:00
tox.ini Change python3.5 job to python3.7 job on Stein+ 2019-02-14 10:21:59 +00:00

README.rst

os-traits

os-traits is a library containing standardized trait strings.

Traits are strings that represent a feature of some resource provider. This library contains the catalog of constants that have been standardized in the OpenStack community to refer to a particular hardware, virtualization, storage, network, or device trait.