A library containing standardized trait strings. Used by placement service and clients to ensure consistency.
Go to file
EdLeafe 2eb278ce1b Automate the import of traits
The previous patch broke apart the single monolithic declaration of
traits into a branching directory structure. That was great, but it
added a lot of repetitive code to get the subpackages and submodules
into the proper namespace. This patch automates that for any file in the
tree that contains a 'TRAITS' property.

Change-Id: I904789cbec76d83a14e213ce6bb474c9967d588b
2017-04-25 17:51:26 +00:00
doc/source Rename the rest capabilities to traits 2016-09-20 05:40:55 +00:00
os_traits Automate the import of traits 2017-04-25 17:51:26 +00:00
releasenotes Rename the rest capabilities to traits 2016-09-20 05:40:55 +00:00
.gitignore Fix testing with tox 2016-10-08 08:07:58 +00:00
.gitreview update pep8/hacking and address failures 2017-03-02 11:37:02 -05:00
.testr.conf Fix testing with tox 2016-10-08 08:07:58 +00:00
AUTHORS Initial commit of os-capabilities library 2016-08-03 19:25:39 -04:00
CONTRIBUTING.rst Rename the rest capabilities to traits 2016-09-20 05:40:55 +00:00
ChangeLog Initial commit of os-capabilities library 2016-08-03 19:25:39 -04:00
HACKING.rst Rename the rest capabilities to traits 2016-09-20 05:40:55 +00: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 normalize constants to align with resource classes 2017-03-03 12:20:38 +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-03-03 22:57:04 +00:00
setup.cfg Rename capabilities to traits 2016-09-19 11:00:31 -04:00
setup.py Updated from global requirements 2017-03-03 22:57:04 +00:00
test-requirements.txt Updated from global requirements 2017-03-03 22:57:04 +00:00
tox.ini update pep8/hacking and address failures 2017-03-02 11:37:02 -05:00

README.rst

os-traits

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.

Usage

os-traits is primarily composed of a set of constants that may be referenced by simply importing the os_traits module and referencing one of the module's traits constants:

$ python
Python 2.7.11+ (default, Apr 17 2016, 14:00:29)
[GCC 5.3.1 20160413] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os_traits as ot
>>> print ot.HW_CPU_X86_SSE42
HW_CPU_X86_SSE42

Don't know what the symbol names are for the os_traits module? There's a helper method for that:

>>> import pprint
>>> pprint.pprint(ot.get_symbol_names())
[...
<snip>
'HW_CPU_X86_AVX2',
'HW_CPU_X86_SGX',
'HW_CPU_X86_AVX',
'HW_CPU_X86_AVX512BW',
'HW_CPU_X86_AVX512DQ',
'HW_CPU_X86_SSE',
'HW_CPU_X86_SHA',
'HW_CPU_X86_AVX512F',
'HW_CPU_X86_F16C',
'HW_CPU_X86_SSE41',
'HW_CPU_X86_SSE42',
'HW_CPU_X86_VMX',
'HW_CPU_X86_ASF',
'HW_CPU_X86_BMI2',
'HW_CPU_X86_CLMUL',
'HW_CPU_X86_AVX512VL',
'HW_CPU_X86_AVX512PF',
'HW_CPU_X86_XOP',
'HW_CPU_X86_BMI',
'HW_CPU_X86_ABM',
'HW_CPU_X86_3DNOW']

Want to see the trait strings for a subset of traits? There's a method for that too:

>>> pprint.pprint(ot.get_traits(ot.NAMESPACES['X86']))
['HW_CPU_X86_AES-NI',
 'HW_CPU_X86_AVX512ER',
 'HW_CPU_X86_AVX512CD',
 'HW_CPU_X86_TBM',
 'HW_CPU_X86_TSX',
 'HW_CPU_X86_FMA3',
 'HW_CPU_X86_SVM',
 'HW_CPU_X86_FMA4',
 'HW_CPU_X86_MPX',
 'HW_CPU_X86_SSE2',
 'HW_CPU_X86_SSE3',
 'HW_CPU_X86_MMX',
 'HW_CPU_X86_SSSE3',
 'HW_CPU_X86_SSE4A',
 'HW_CPU_X86_AVX2',
 'HW_CPU_X86_SGX',
 'HW_CPU_X86_AVX',
 'HW_CPU_X86_AVX512BW',
 'HW_CPU_X86_AVX512DQ',
 'HW_CPU_X86_SSE',
 'HW_CPU_X86_SHA',
 'HW_CPU_X86_AVX512F',
 'HW_CPU_X86_F16C',
 'HW_CPU_X86_SSE41',
 'HW_CPU_X86_SSE42',
 'HW_CPU_X86_VMX',
 'HW_CPU_X86_ASF',
 'HW_CPU_X86_BMI2',
 'HW_CPU_X86_CLMUL',
 'HW_CPU_X86_AVX512VL',
 'HW_CPU_X86_AVX512PF',
 'HW_CPU_X86_XOP',
 'HW_CPU_X86_BMI',
 'HW_CPU_X86_ABM',
 'HW_CPU_X86_3DNOW']