CAL refactoring
[osm/SO.git] / rwcal / plugins / vala / rwcal_openstack / rift / rwcal / openstack / openstack_utils.py
diff --git a/rwcal/plugins/vala/rwcal_openstack/rift/rwcal/openstack/openstack_utils.py b/rwcal/plugins/vala/rwcal_openstack/rift/rwcal/openstack/openstack_utils.py
deleted file mode 100644 (file)
index eda3ccb..0000000
+++ /dev/null
@@ -1,552 +0,0 @@
-#!/usr/bin/env python3
-
-# 
-#   Copyright 2016 RIFT.IO Inc
-#
-#   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.
-#
-import re
-
-class OpenstackGuestEPAUtils(object):
-    """
-    Utility class for Host EPA to Openstack flavor extra_specs conversion routines
-    """
-    def __init__(self):
-        self._mano_to_espec_cpu_pinning_policy = {
-            'DEDICATED' : 'dedicated',
-            'SHARED'    : 'shared',
-            'ANY'       : 'any',
-        }
-
-        self._espec_to_mano_cpu_pinning_policy = {
-            'dedicated' : 'DEDICATED',
-            'shared'    : 'SHARED',
-            'any'       : 'ANY',
-        }
-        
-        self._mano_to_espec_mempage_size = {
-            'LARGE'        : 'large', 
-            'SMALL'        : 'small',
-            'SIZE_2MB'     :  2048,
-            'SIZE_1GB'     :  1048576,
-            'PREFER_LARGE' : 'large',
-        }
-
-        self._espec_to_mano_mempage_size = {
-            'large'        : 'LARGE', 
-            'small'        : 'SMALL',
-             2048          : 'SIZE_2MB',
-             1048576       : 'SIZE_1GB',
-            'large'        : 'PREFER_LARGE',
-        }
-
-        self._mano_to_espec_cpu_thread_pinning_policy = {
-            'AVOID'    : 'avoid',
-            'SEPARATE' : 'separate',
-            'ISOLATE'  : 'isolate',
-            'PREFER'   : 'prefer',
-        }
-
-        self._espec_to_mano_cpu_thread_pinning_policy = {
-            'avoid'    : 'AVOID',
-            'separate' : 'SEPARATE',
-            'isolate'  : 'ISOLATE',
-            'prefer'   : 'PREFER',
-        }
-
-        self._espec_to_mano_numa_memory_policy = {
-            'strict'   : 'STRICT',
-            'preferred': 'PREFERRED'
-        }
-
-        self._mano_to_espec_numa_memory_policy = {
-            'STRICT'   : 'strict',
-            'PREFERRED': 'preferred'
-        }
-
-    def mano_to_extra_spec_cpu_pinning_policy(self, cpu_pinning_policy):
-        if cpu_pinning_policy in self._mano_to_espec_cpu_pinning_policy:
-            return self._mano_to_espec_cpu_pinning_policy[cpu_pinning_policy]
-        else:
-            return None
-
-    def extra_spec_to_mano_cpu_pinning_policy(self, cpu_pinning_policy):
-        if cpu_pinning_policy in self._espec_to_mano_cpu_pinning_policy:
-            return self._espec_to_mano_cpu_pinning_policy[cpu_pinning_policy]
-        else:
-            return None
-
-    def mano_to_extra_spec_mempage_size(self, mempage_size):
-        if mempage_size in self._mano_to_espec_mempage_size:
-            return self._mano_to_espec_mempage_size[mempage_size]
-        else:
-            return None
-        
-    def extra_spec_to_mano_mempage_size(self, mempage_size):
-        if mempage_size in self._espec_to_mano_mempage_size:
-            return self._espec_to_mano_mempage_size[mempage_size]
-        else:
-            return None
-
-    def mano_to_extra_spec_cpu_thread_pinning_policy(self, cpu_thread_pinning_policy):
-        if cpu_thread_pinning_policy in self._mano_to_espec_cpu_thread_pinning_policy:
-            return self._mano_to_espec_cpu_thread_pinning_policy[cpu_thread_pinning_policy]
-        else:
-            return None
-
-    def extra_spec_to_mano_cpu_thread_pinning_policy(self, cpu_thread_pinning_policy):
-        if cpu_thread_pinning_policy in self._espec_to_mano_cpu_thread_pinning_policy:
-            return self._espec_to_mano_cpu_thread_pinning_policy[cpu_thread_pinning_policy]
-        else:
-            return None
-
-    def mano_to_extra_spec_trusted_execution(self, trusted_execution):
-        if trusted_execution:
-            return 'trusted'
-        else:
-            return 'untrusted'
-
-    def extra_spec_to_mano_trusted_execution(self, trusted_execution):
-        if trusted_execution == 'trusted':
-            return True
-        elif trusted_execution == 'untrusted':
-            return False
-        else:
-            return None
-        
-    def mano_to_extra_spec_numa_node_count(self, numa_node_count):
-        return numa_node_count
-
-    def extra_specs_to_mano_numa_node_count(self, numa_node_count):
-        return int(numa_node_count)
-    
-    def mano_to_extra_spec_numa_memory_policy(self, numa_memory_policy):
-        if numa_memory_policy in self._mano_to_espec_numa_memory_policy:
-            return self._mano_to_espec_numa_memory_policy[numa_memory_policy]
-        else:
-            return None
-
-    def extra_to_mano_spec_numa_memory_policy(self, numa_memory_policy):
-        if numa_memory_policy in self._espec_to_mano_numa_memory_policy:
-            return self._espec_to_mano_numa_memory_policy[numa_memory_policy]
-        else:
-            return None
-        
-                                                          
-    
-    
-class OpenstackHostEPAUtils(object):
-    """
-    Utility class for Host EPA to Openstack flavor extra_specs conversion routines
-    """
-    def __init__(self):
-        self._mano_to_espec_cpumodel = {
-            "PREFER_WESTMERE"     : "Westmere",
-            "REQUIRE_WESTMERE"    : "Westmere",
-            "PREFER_SANDYBRIDGE"  : "SandyBridge",
-            "REQUIRE_SANDYBRIDGE" : "SandyBridge",
-            "PREFER_IVYBRIDGE"    : "IvyBridge",
-            "REQUIRE_IVYBRIDGE"   : "IvyBridge",
-            "PREFER_HASWELL"      : "Haswell",
-            "REQUIRE_HASWELL"     : "Haswell",
-            "PREFER_BROADWELL"    : "Broadwell",
-            "REQUIRE_BROADWELL"   : "Broadwell",
-            "PREFER_NEHALEM"      : "Nehalem",
-            "REQUIRE_NEHALEM"     : "Nehalem",
-            "PREFER_PENRYN"       : "Penryn",
-            "REQUIRE_PENRYN"      : "Penryn",
-            "PREFER_CONROE"       : "Conroe",
-            "REQUIRE_CONROE"      : "Conroe",
-            "PREFER_CORE2DUO"     : "Core2Duo",
-            "REQUIRE_CORE2DUO"    : "Core2Duo",
-        }
-
-        self._espec_to_mano_cpumodel = {
-            "Westmere"     : "REQUIRE_WESTMERE",
-            "SandyBridge"  : "REQUIRE_SANDYBRIDGE",
-            "IvyBridge"    : "REQUIRE_IVYBRIDGE",
-            "Haswell"      : "REQUIRE_HASWELL",
-            "Broadwell"    : "REQUIRE_BROADWELL",
-            "Nehalem"      : "REQUIRE_NEHALEM",
-            "Penryn"       : "REQUIRE_PENRYN",
-            "Conroe"       : "REQUIRE_CONROE",
-            "Core2Duo"     : "REQUIRE_CORE2DUO",
-        }
-
-        self._mano_to_espec_cpuarch = {
-            "PREFER_X86"     : "x86",
-            "REQUIRE_X86"    : "x86",
-            "PREFER_X86_64"  : "x86_64",
-            "REQUIRE_X86_64" : "x86_64",
-            "PREFER_I686"    : "i686",
-            "REQUIRE_I686"   : "i686",
-            "PREFER_IA64"    : "ia64",
-            "REQUIRE_IA64"   : "ia64",
-            "PREFER_ARMV7"   : "ARMv7",
-            "REQUIRE_ARMV7"  : "ARMv7",
-            "PREFER_ARMV8"   : "ARMv8-A",
-            "REQUIRE_ARMV8"  : "ARMv8-A",
-        }
-
-        self._espec_to_mano_cpuarch = {
-            "x86"     : "REQUIRE_X86",
-            "x86_64"  : "REQUIRE_X86_64",
-            "i686"    : "REQUIRE_I686",
-            "ia64"    : "REQUIRE_IA64",
-            "ARMv7-A" : "REQUIRE_ARMV7",
-            "ARMv8-A" : "REQUIRE_ARMV8",
-        }
-
-        self._mano_to_espec_cpuvendor = {
-            "PREFER_INTEL"  : "Intel",
-            "REQUIRE_INTEL" : "Intel",
-            "PREFER_AMD"    : "AMD",
-            "REQUIRE_AMD"   : "AMD",
-        }
-
-        self._espec_to_mano_cpuvendor = {
-            "Intel" : "REQUIRE_INTEL",
-            "AMD"   : "REQUIRE_AMD",
-        }
-
-        self._mano_to_espec_cpufeatures = {
-            "PREFER_AES"       : "aes",
-            "REQUIRE_AES"      : "aes",
-            "REQUIRE_VME"      : "vme",
-            "PREFER_VME"       : "vme",
-            "REQUIRE_DE"       : "de",
-            "PREFER_DE"        : "de",
-            "REQUIRE_PSE"      : "pse",
-            "PREFER_PSE"       : "pse",
-            "REQUIRE_TSC"      : "tsc",
-            "PREFER_TSC"       : "tsc",
-            "REQUIRE_MSR"      : "msr",
-            "PREFER_MSR"       : "msr",
-            "REQUIRE_PAE"      : "pae",
-            "PREFER_PAE"       : "pae",
-            "REQUIRE_MCE"      : "mce",
-            "PREFER_MCE"       : "mce",
-            "REQUIRE_CX8"      : "cx8",
-            "PREFER_CX8"       : "cx8",
-            "REQUIRE_APIC"     : "apic",
-            "PREFER_APIC"      : "apic",
-            "REQUIRE_SEP"      : "sep",
-            "PREFER_SEP"       : "sep",
-            "REQUIRE_MTRR"     : "mtrr",
-            "PREFER_MTRR"      : "mtrr",
-            "REQUIRE_PGE"      : "pge",
-            "PREFER_PGE"       : "pge",
-            "REQUIRE_MCA"      : "mca",
-            "PREFER_MCA"       : "mca",
-            "REQUIRE_CMOV"     : "cmov",
-            "PREFER_CMOV"      : "cmov",
-            "REQUIRE_PAT"      : "pat",
-            "PREFER_PAT"       : "pat",
-            "REQUIRE_PSE36"    : "pse36",
-            "PREFER_PSE36"     : "pse36",
-            "REQUIRE_CLFLUSH"  : "clflush",
-            "PREFER_CLFLUSH"   : "clflush",
-            "REQUIRE_DTS"      : "dts",
-            "PREFER_DTS"       : "dts",
-            "REQUIRE_ACPI"     : "acpi",
-            "PREFER_ACPI"      : "acpi",
-            "REQUIRE_MMX"      : "mmx",
-            "PREFER_MMX"       : "mmx",
-            "REQUIRE_FXSR"     : "fxsr",
-            "PREFER_FXSR"      : "fxsr",
-            "REQUIRE_SSE"      : "sse",
-            "PREFER_SSE"       : "sse",
-            "REQUIRE_SSE2"     : "sse2",
-            "PREFER_SSE2"      : "sse2",
-            "REQUIRE_SS"       : "ss",
-            "PREFER_SS"        : "ss",
-            "REQUIRE_HT"       : "ht",
-            "PREFER_HT"        : "ht",
-            "REQUIRE_TM"       : "tm",
-            "PREFER_TM"        : "tm",
-            "REQUIRE_IA64"     : "ia64",
-            "PREFER_IA64"      : "ia64",
-            "REQUIRE_PBE"      : "pbe",
-            "PREFER_PBE"       : "pbe",
-            "REQUIRE_RDTSCP"   : "rdtscp",
-            "PREFER_RDTSCP"    : "rdtscp",
-            "REQUIRE_PNI"      : "pni",
-            "PREFER_PNI"       : "pni",
-            "REQUIRE_PCLMULQDQ": "pclmulqdq",
-            "PREFER_PCLMULQDQ" : "pclmulqdq",
-            "REQUIRE_DTES64"   : "dtes64",
-            "PREFER_DTES64"    : "dtes64",
-            "REQUIRE_MONITOR"  : "monitor",
-            "PREFER_MONITOR"   : "monitor",
-            "REQUIRE_DS_CPL"   : "ds_cpl",
-            "PREFER_DS_CPL"    : "ds_cpl",
-            "REQUIRE_VMX"      : "vmx",
-            "PREFER_VMX"       : "vmx",
-            "REQUIRE_SMX"      : "smx",
-            "PREFER_SMX"       : "smx",
-            "REQUIRE_EST"      : "est",
-            "PREFER_EST"       : "est",
-            "REQUIRE_TM2"      : "tm2",
-            "PREFER_TM2"       : "tm2",
-            "REQUIRE_SSSE3"    : "ssse3",
-            "PREFER_SSSE3"     : "ssse3",
-            "REQUIRE_CID"      : "cid",
-            "PREFER_CID"       : "cid",
-            "REQUIRE_FMA"      : "fma",
-            "PREFER_FMA"       : "fma",
-            "REQUIRE_CX16"     : "cx16",
-            "PREFER_CX16"      : "cx16",
-            "REQUIRE_XTPR"     : "xtpr",
-            "PREFER_XTPR"      : "xtpr",
-            "REQUIRE_PDCM"     : "pdcm",
-            "PREFER_PDCM"      : "pdcm",
-            "REQUIRE_PCID"     : "pcid",
-            "PREFER_PCID"      : "pcid",
-            "REQUIRE_DCA"      : "dca",
-            "PREFER_DCA"       : "dca",
-            "REQUIRE_SSE4_1"   : "sse4_1",
-            "PREFER_SSE4_1"    : "sse4_1",
-            "REQUIRE_SSE4_2"   : "sse4_2",
-            "PREFER_SSE4_2"    : "sse4_2",
-            "REQUIRE_X2APIC"   : "x2apic",
-            "PREFER_X2APIC"    : "x2apic",
-            "REQUIRE_MOVBE"    : "movbe",
-            "PREFER_MOVBE"     : "movbe",
-            "REQUIRE_POPCNT"   : "popcnt",
-            "PREFER_POPCNT"    : "popcnt",
-            "REQUIRE_TSC_DEADLINE_TIMER"   : "tsc_deadline_timer",
-            "PREFER_TSC_DEADLINE_TIMER"    : "tsc_deadline_timer",
-            "REQUIRE_XSAVE"    : "xsave",
-            "PREFER_XSAVE"     : "xsave",
-            "REQUIRE_AVX"      : "avx",
-            "PREFER_AVX"       : "avx",
-            "REQUIRE_F16C"     : "f16c",
-            "PREFER_F16C"      : "f16c",
-            "REQUIRE_RDRAND"   : "rdrand",
-            "PREFER_RDRAND"    : "rdrand",
-            "REQUIRE_FSGSBASE" : "fsgsbase",
-            "PREFER_FSGSBASE"  : "fsgsbase",
-            "REQUIRE_BMI1"     : "bmi1",
-            "PREFER_BMI1"      : "bmi1",
-            "REQUIRE_HLE"      : "hle",
-            "PREFER_HLE"       : "hle",
-            "REQUIRE_AVX2"     : "avx2",
-            "PREFER_AVX2"      : "avx2",
-            "REQUIRE_SMEP"     : "smep",
-            "PREFER_SMEP"      : "smep",
-            "REQUIRE_BMI2"     : "bmi2",
-            "PREFER_BMI2"      : "bmi2",
-            "REQUIRE_ERMS"     : "erms",
-            "PREFER_ERMS"      : "erms",
-            "REQUIRE_INVPCID"  : "invpcid",
-            "PREFER_INVPCID"   : "invpcid",
-            "REQUIRE_RTM"      : "rtm",
-            "PREFER_RTM"       : "rtm",
-            "REQUIRE_MPX"      : "mpx",
-            "PREFER_MPX"       : "mpx",
-            "REQUIRE_RDSEED"   : "rdseed",
-            "PREFER_RDSEED"    : "rdseed",
-            "REQUIRE_ADX"      : "adx",
-            "PREFER_ADX"       : "adx",
-            "REQUIRE_SMAP"     : "smap",
-            "PREFER_SMAP"      : "smap",
-        }
-
-        self._espec_to_mano_cpufeatures = {
-            "aes"      : "REQUIRE_AES",
-            "vme"      : "REQUIRE_VME",
-            "de"       : "REQUIRE_DE",
-            "pse"      : "REQUIRE_PSE",
-            "tsc"      : "REQUIRE_TSC",
-            "msr"      : "REQUIRE_MSR",
-            "pae"      : "REQUIRE_PAE",
-            "mce"      : "REQUIRE_MCE",
-            "cx8"      : "REQUIRE_CX8",
-            "apic"     : "REQUIRE_APIC",
-            "sep"      : "REQUIRE_SEP",
-            "mtrr"     : "REQUIRE_MTRR",
-            "pge"      : "REQUIRE_PGE",
-            "mca"      : "REQUIRE_MCA",
-            "cmov"     : "REQUIRE_CMOV",
-            "pat"      : "REQUIRE_PAT",
-            "pse36"    : "REQUIRE_PSE36",
-            "clflush"  : "REQUIRE_CLFLUSH",
-            "dts"      : "REQUIRE_DTS",
-            "acpi"     : "REQUIRE_ACPI",
-            "mmx"      : "REQUIRE_MMX",
-            "fxsr"     : "REQUIRE_FXSR",
-            "sse"      : "REQUIRE_SSE",
-            "sse2"     : "REQUIRE_SSE2",
-            "ss"       : "REQUIRE_SS",
-            "ht"       : "REQUIRE_HT",
-            "tm"       : "REQUIRE_TM",
-            "ia64"     : "REQUIRE_IA64",
-            "pbe"      : "REQUIRE_PBE",
-            "rdtscp"   : "REQUIRE_RDTSCP",
-            "pni"      : "REQUIRE_PNI",
-            "pclmulqdq": "REQUIRE_PCLMULQDQ",
-            "dtes64"   : "REQUIRE_DTES64",
-            "monitor"  : "REQUIRE_MONITOR",
-            "ds_cpl"   : "REQUIRE_DS_CPL",
-            "vmx"      : "REQUIRE_VMX",
-            "smx"      : "REQUIRE_SMX",
-            "est"      : "REQUIRE_EST",
-            "tm2"      : "REQUIRE_TM2",
-            "ssse3"    : "REQUIRE_SSSE3",
-            "cid"      : "REQUIRE_CID",
-            "fma"      : "REQUIRE_FMA",
-            "cx16"     : "REQUIRE_CX16",
-            "xtpr"     : "REQUIRE_XTPR",
-            "pdcm"     : "REQUIRE_PDCM",
-            "pcid"     : "REQUIRE_PCID",
-            "dca"      : "REQUIRE_DCA",
-            "sse4_1"   : "REQUIRE_SSE4_1",
-            "sse4_2"   : "REQUIRE_SSE4_2",
-            "x2apic"   : "REQUIRE_X2APIC",
-            "movbe"    : "REQUIRE_MOVBE",
-            "popcnt"   : "REQUIRE_POPCNT",
-            "tsc_deadline_timer"   : "REQUIRE_TSC_DEADLINE_TIMER",
-            "xsave"    : "REQUIRE_XSAVE",
-            "avx"      : "REQUIRE_AVX",
-            "f16c"     : "REQUIRE_F16C",
-            "rdrand"   : "REQUIRE_RDRAND",
-            "fsgsbase" : "REQUIRE_FSGSBASE",
-            "bmi1"     : "REQUIRE_BMI1",
-            "hle"      : "REQUIRE_HLE",
-            "avx2"     : "REQUIRE_AVX2",
-            "smep"     : "REQUIRE_SMEP",
-            "bmi2"     : "REQUIRE_BMI2",
-            "erms"     : "REQUIRE_ERMS",
-            "invpcid"  : "REQUIRE_INVPCID",
-            "rtm"      : "REQUIRE_RTM",
-            "mpx"      : "REQUIRE_MPX",
-            "rdseed"   : "REQUIRE_RDSEED",
-            "adx"      : "REQUIRE_ADX",
-            "smap"     : "REQUIRE_SMAP",
-        }
-
-    def mano_to_extra_spec_cpu_model(self, cpu_model):
-        if cpu_model in self._mano_to_espec_cpumodel:
-            return self._mano_to_espec_cpumodel[cpu_model]
-        else:
-            return None
-            
-    def extra_specs_to_mano_cpu_model(self, cpu_model):
-        if cpu_model in self._espec_to_mano_cpumodel:
-            return self._espec_to_mano_cpumodel[cpu_model]
-        else:
-            return None
-        
-    def mano_to_extra_spec_cpu_arch(self, cpu_arch):
-        if cpu_arch in self._mano_to_espec_cpuarch:
-            return self._mano_to_espec_cpuarch[cpu_arch]
-        else:
-            return None
-        
-    def extra_specs_to_mano_cpu_arch(self, cpu_arch):
-        if cpu_arch in self._espec_to_mano_cpuarch:
-            return self._espec_to_mano_cpuarch[cpu_arch]
-        else:
-            return None
-    
-    def mano_to_extra_spec_cpu_vendor(self, cpu_vendor):
-        if cpu_vendor in self._mano_to_espec_cpuvendor:
-            return self._mano_to_espec_cpuvendor[cpu_vendor]
-        else:
-            return None
-
-    def extra_spec_to_mano_cpu_vendor(self, cpu_vendor):
-        if cpu_vendor in self._espec_to_mano_cpuvendor:
-            return self._espec_to_mano_cpuvendor[cpu_vendor]
-        else:
-            return None
-    
-    def mano_to_extra_spec_cpu_socket_count(self, cpu_sockets):
-        return cpu_sockets
-
-    def extra_spec_to_mano_cpu_socket_count(self, cpu_sockets):
-        return int(cpu_sockets)
-    
-    def mano_to_extra_spec_cpu_core_count(self, cpu_core_count):
-        return cpu_core_count
-
-    def extra_spec_to_mano_cpu_core_count(self, cpu_core_count):
-        return int(cpu_core_count)
-    
-    def mano_to_extra_spec_cpu_core_thread_count(self, core_thread_count):
-        return core_thread_count
-
-    def extra_spec_to_mano_cpu_core_thread_count(self, core_thread_count):
-        return int(core_thread_count)
-
-    def mano_to_extra_spec_cpu_features(self, features):
-        cpu_features = []
-        epa_feature_str = None
-        for f in features:
-            if f in self._mano_to_espec_cpufeatures:
-                cpu_features.append(self._mano_to_espec_cpufeatures[f])
-                
-        if len(cpu_features) > 1:
-            epa_feature_str =  '<all-in> '+ " ".join(cpu_features)
-        elif len(cpu_features) == 1:
-            epa_feature_str = " ".join(cpu_features)
-
-        return epa_feature_str
-
-    def extra_spec_to_mano_cpu_features(self, features):
-        oper_symbols = ['=', '<in>', '<all-in>', '==', '!=', '>=', '<=', 's==', 's!=', 's<', 's<=', 's>', 's>=']
-        cpu_features = []
-        result = None
-        for oper in oper_symbols:
-            regex = '^'+oper+' (.*?)$'
-            result = re.search(regex, features)
-            if result is not None:
-                break
-            
-        if result is not None:
-            feature_list = result.group(1)
-        else:
-            feature_list = features
-
-        for f in feature_list.split():
-            if f in self._espec_to_mano_cpufeatures:
-                cpu_features.append(self._espec_to_mano_cpufeatures[f])
-
-        return cpu_features
-    
-
-class OpenstackExtraSpecUtils(object):
-    """
-    General utility class for flavor Extra Specs processing
-    """
-    def __init__(self):
-        self.host = OpenstackHostEPAUtils()
-        self.guest = OpenstackGuestEPAUtils()
-        self.extra_specs_keywords = [ 'hw:cpu_policy',
-                                      'hw:cpu_threads_policy',
-                                      'hw:mem_page_size',
-                                      'hw:numa_nodes',
-                                      'hw:numa_mempolicy',
-                                      'hw:numa_cpus',
-                                      'hw:numa_mem',
-                                      'trust:trusted_host',
-                                      'pci_passthrough:alias',
-                                      'capabilities:cpu_info:model',
-                                      'capabilities:cpu_info:arch',
-                                      'capabilities:cpu_info:vendor',
-                                      'capabilities:cpu_info:topology:sockets',
-                                      'capabilities:cpu_info:topology:cores',
-                                      'capabilities:cpu_info:topology:threads',
-                                      'capabilities:cpu_info:features',
-                                ]
-        self.extra_specs_regex = re.compile("^"+"|^".join(self.extra_specs_keywords))