diff --git a/os_traits/compute/arch.py b/os_traits/compute/arch.py new file mode 100644 index 0000000..528abb9 --- /dev/null +++ b/os_traits/compute/arch.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +TRAITS = [ + # traits corresponding to the allowed values of "hw_emulaton_architecture" + # image metadata property + # https://github.com/openstack/nova/blob/1f74441/nova/objects/fields.py#L120-228 + 'AARCH64', + 'PPC64LE', + 'MIPSEL', + 'S390X', + 'RISCV64', + 'X86_64', +] diff --git a/os_traits/hw/arch.py b/os_traits/hw/arch.py new file mode 100644 index 0000000..78f0596 --- /dev/null +++ b/os_traits/hw/arch.py @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- + +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +TRAITS = [ + # traits corresponding to the allowed values of "hw_architecture" + # image metadata property + # https://github.com/openstack/nova/blob/1f74441/nova/objects/fields.py#L120-228 + 'ALPHA', + 'ARMV6', + 'ARMV7', + 'ARMV7B', + 'AARCH64', + 'CRIS', + 'I686', + 'IA64', + 'LM32', + 'M68K', + 'MICROBLAZE', + 'MICROBLAZEEL', + 'MIPS', + 'MIPSEL', + 'MIPS64', + 'MIPS64EL', + 'OPENRISC', + 'PARISC', + 'PARISC64', + 'PPC', + 'PPCLE', + 'PPC64', + 'PPC64LE', + 'PPCEMB', + 'S390', + 'S390X', + 'SH4', + 'SH4EB', + 'SPARC', + 'SPARC64', + 'UNICORE32', + 'X86_64', + 'XTENSA', + 'XTENSAEB', +]