A library containing standardized trait strings. Used by placement service and clients to ensure consistency.
789ce955ea
When walk_packages is called, unless a prefix is provided, it is easy to escape the os_traits package and start walking other packages. If there is a top-level 'tests' package somewhere in the python path, this can then lead to importing all sorts of things, some which rely on the environment having certain characteristics and fail the import without that, some which will change the environment. Neither of these things are good. Nor do we want to be walking packages all over the place. By providing a prefix we stay within the os_traits package as desired. Change-Id: Icde41191e39317ff5a031fff9ece0f05f1e0b4bc Closes-Bug: #1694792 |
||
---|---|---|
doc/source | ||
os_traits | ||
releasenotes | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
AUTHORS | ||
CONTRIBUTING.rst | ||
ChangeLog | ||
HACKING.rst | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
babel.cfg | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
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.
- Free software: Apache license
- Documentation: http://docs.openstack.org/developer/os-traits
- Source: http://git.openstack.org/cgit/openstack/os-traits
- Bugs: http://bugs.launchpad.net/os-traits
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
You can get a list of the os_traits symbols by simply doing a dir(os_traits).
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']