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())
Esempio n. 7
0
 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())
Esempio n. 8
0
 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(),
     )
Esempio n. 10
0
    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'])
Esempio n. 11
0
    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'])
Esempio n. 12
0
    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())