def test_id_os_code_must_match_uuid(self, m_blkid, m_is_prov, _m_xen): """Test against false positive on openstack with non-ibm UUID.""" blkid = self.blkid_oscode blkid["/dev/xvdh"]["UUID"] = "9999-9999" m_blkid.return_value = blkid m_is_prov.return_value = False self.assertEqual((None, None), ibm.get_ibm_platform())
def test_provisioning_md(self, m_platform, m_sysuuid): """Provisioning env with a metadata disk should return None.""" m_platform.return_value = ( ibm.Platforms.TEMPLATE_PROVISIONING_METADATA, "/dev/xvdh", ) self.assertIsNone(ibm.read_md())
def test_id_os_code(self, m_blkid, m_is_prov, _m_xen): """Identify OS_CODE.""" m_blkid.return_value = self.blkid_oscode m_is_prov.return_value = False self.assertEqual( (ibm.Platforms.OS_CODE, "/dev/xvdh"), ibm.get_ibm_platform() )
def setUp(self): super(TestDataSourceIBMCloud, self).setUp() self.tmp = self.tmp_dir() self.cloud_dir = self.tmp_path("cloud", dir=self.tmp) util.ensure_dir(self.cloud_dir) paths = Paths({"run_dir": self.tmp, "cloud_dir": self.cloud_dir}) self.ds = ibm.DataSourceIBMCloud(sys_cfg={}, distro=None, paths=paths)
def test_template_live(self, m_platform, m_sysuuid): """Template live environment should be identified.""" tmpdir = self.tmp_dir() m_platform.return_value = ( ibm.Platforms.TEMPLATE_LIVE_METADATA, tmpdir, ) m_sysuuid.return_value = self.sysuuid test_helpers.populate_dir( tmpdir, { "openstack/latest/meta_data.json": json.dumps( self.template_md ), "openstack/latest/user_data": self.userdata, "openstack/content/interfaces": self.content_interfaces, "meta.js": self.meta_js, }, ) ret = ibm.read_md() self.assertEqual(ibm.Platforms.TEMPLATE_LIVE_METADATA, ret["platform"]) self.assertEqual(tmpdir, ret["source"]) self.assertEqual(self.userdata, ret["userdata"]) self.assertEqual( self._get_expected_metadata(self.template_md), ret["metadata"] ) self.assertEqual(self.sysuuid, ret["system-uuid"])
def test_provisioning_no_metadata(self, m_platform, m_sysuuid): """Provisioning env with no metadata disk should return None.""" m_platform.return_value = ( ibm.Platforms.TEMPLATE_PROVISIONING_NODATA, None, ) self.assertIsNone(ibm.read_md())
def test_id_template_prov_metadata(self, m_blkid, m_is_prov, _m_xen): """identify TEMPLATE_PROVISIONING_METADATA.""" m_blkid.return_value = self.blkid_metadata m_is_prov.return_value = True self.assertEqual( (ibm.Platforms.TEMPLATE_PROVISIONING_METADATA, "/dev/xvdh1"), ibm.get_ibm_platform())
def test_id_template_prov_nodata(self, m_blkid, m_is_prov, _m_xen): """identify TEMPLATE_PROVISIONING_NODATA.""" m_blkid.return_value = self.blkid_base m_is_prov.return_value = True self.assertEqual( (ibm.Platforms.TEMPLATE_PROVISIONING_NODATA, None), ibm.get_ibm_platform())
def test_id_template_live_metadata(self, m_blkid, m_is_prov, _m_xen): """identify TEMPLATE_LIVE_METADATA.""" m_blkid.return_value = self.blkid_metadata m_is_prov.return_value = False self.assertEqual( (ibm.Platforms.TEMPLATE_LIVE_METADATA, "/dev/xvdh1"), ibm.get_ibm_platform(), )
def test_os_code_live_no_userdata(self, m_platform, m_sysuuid): """Verify os_code without user-data.""" tmpdir = self.tmp_dir() m_platform.return_value = (ibm.Platforms.OS_CODE, tmpdir) test_helpers.populate_dir(tmpdir, { 'openstack/latest/meta_data.json': json.dumps(self.oscode_md), 'openstack/latest/vendor_data.json': json.dumps(self.vendor_data), }) ret = ibm.read_md() self.assertEqual(ibm.Platforms.OS_CODE, ret['platform']) self.assertEqual(tmpdir, ret['source']) self.assertIsNone(ret['userdata']) self.assertEqual(self._get_expected_metadata(self.oscode_md), ret['metadata'])
def test_os_code_live(self, m_platform, m_sysuuid): """Verify an os_code metadata path.""" tmpdir = self.tmp_dir() m_platform.return_value = (ibm.Platforms.OS_CODE, tmpdir) netdata = json.dumps(self.network_data) test_helpers.populate_dir(tmpdir, { 'openstack/latest/meta_data.json': json.dumps(self.oscode_md), 'openstack/latest/user_data': self.userdata, 'openstack/latest/vendor_data.json': json.dumps(self.vendor_data), 'openstack/latest/network_data.json': netdata, }) ret = ibm.read_md() self.assertEqual(ibm.Platforms.OS_CODE, ret['platform']) self.assertEqual(tmpdir, ret['source']) self.assertEqual(self.userdata, ret['userdata']) self.assertEqual(self._get_expected_metadata(self.oscode_md), ret['metadata'])
def test_template_live(self, m_platform, m_sysuuid): """Template live environment should be identified.""" tmpdir = self.tmp_dir() m_platform.return_value = ( ibm.Platforms.TEMPLATE_LIVE_METADATA, tmpdir) m_sysuuid.return_value = self.sysuuid test_helpers.populate_dir(tmpdir, { 'openstack/latest/meta_data.json': json.dumps(self.template_md), 'openstack/latest/user_data': self.userdata, 'openstack/content/interfaces': self.content_interfaces, 'meta.js': self.meta_js}) ret = ibm.read_md() self.assertEqual(ibm.Platforms.TEMPLATE_LIVE_METADATA, ret['platform']) self.assertEqual(tmpdir, ret['source']) self.assertEqual(self.userdata, ret['userdata']) self.assertEqual(self._get_expected_metadata(self.template_md), ret['metadata']) self.assertEqual(self.sysuuid, ret['system-uuid'])
def _call_with_root(self, rootd): self.reRoot(rootd) return ibm._is_ibm_provisioning()
def test_provisioning_not_ibm(self, m_platform, m_sysuuid): """Provisioning env but not identified as IBM should return None.""" m_platform.return_value = (None, None) self.assertIsNone(ibm.read_md())