forked from pool/cloud-init
58 lines
2.1 KiB
Diff
58 lines
2.1 KiB
Diff
|
diff --git a/tests/unittests/test_ds_identify.py b/tests/unittests/test_ds_identify.py
|
||
|
index 8c18aa1..7575223 100644
|
||
|
--- a/tests/unittests/test_ds_identify.py
|
||
|
+++ b/tests/unittests/test_ds_identify.py
|
||
|
@@ -435,6 +435,14 @@ class TestDsIdentify(DsIdentifyBase):
|
||
|
"""Open Telecom identification."""
|
||
|
self._test_ds_found('OpenStack-OpenTelekom')
|
||
|
|
||
|
+ def test_openstack_asset_tag_nova(self):
|
||
|
+ """OpenStack identification via asset tag OpenStack Nova."""
|
||
|
+ self._test_ds_found('OpenStack-AssetTag-Nova')
|
||
|
+
|
||
|
+ def test_openstack_asset_tag_copute(self):
|
||
|
+ """OpenStack identification via asset tag OpenStack Compute."""
|
||
|
+ self._test_ds_found('OpenStack-AssetTag-Compute')
|
||
|
+
|
||
|
def test_openstack_on_non_intel_is_maybe(self):
|
||
|
"""On non-Intel, openstack without dmi info is maybe.
|
||
|
|
||
|
@@ -759,6 +767,18 @@ VALID_CFG = {
|
||
|
'files': {P_CHASSIS_ASSET_TAG: 'OpenTelekomCloud\n'},
|
||
|
'mocks': [MOCK_VIRT_IS_XEN],
|
||
|
},
|
||
|
+ 'OpenStack-AssetTag-Nova': {
|
||
|
+ # VMware vSphere can't modify product-name, LP: #1669875
|
||
|
+ 'ds': 'OpenStack',
|
||
|
+ 'files': {P_CHASSIS_ASSET_TAG: 'OpenStack Nova\n'},
|
||
|
+ 'mocks': [MOCK_VIRT_IS_XEN],
|
||
|
+ },
|
||
|
+ 'OpenStack-AssetTag-Compute': {
|
||
|
+ # VMware vSphere can't modify product-name, LP: #1669875
|
||
|
+ 'ds': 'OpenStack',
|
||
|
+ 'files': {P_CHASSIS_ASSET_TAG: 'OpenStack Compute\n'},
|
||
|
+ 'mocks': [MOCK_VIRT_IS_XEN],
|
||
|
+ },
|
||
|
'OVF-seed': {
|
||
|
'ds': 'OVF',
|
||
|
'files': {
|
||
|
diff --git a/tools/ds-identify b/tools/ds-identify
|
||
|
index 6518901..e16708f 100755
|
||
|
--- a/tools/ds-identify
|
||
|
+++ b/tools/ds-identify
|
||
|
@@ -979,6 +979,14 @@ dscheck_OpenStack() {
|
||
|
return ${DS_FOUND}
|
||
|
fi
|
||
|
|
||
|
+ # LP: #1669875 : allow identification of OpenStack by asset tag
|
||
|
+ if dmi_chassis_asset_tag_matches "$nova"; then
|
||
|
+ return ${DS_FOUND}
|
||
|
+ fi
|
||
|
+ if dmi_chassis_asset_tag_matches "$compute"; then
|
||
|
+ return ${DS_FOUND}
|
||
|
+ fi
|
||
|
+
|
||
|
# LP: #1715241 : arch other than intel are not identified properly.
|
||
|
case "$DI_UNAME_MACHINE" in
|
||
|
i?86|x86_64) :;;
|