Esempio n. 1
0
    def testUpdate(self):
        """test update a Disk instance with another one"""
        disk1 = Disk(dev='a_dev')
        disk1.dev_size = 1234
        disk2 = Disk(dev='b_dev')
        disk2.dev_size = 5678
        disk1.update(disk2)

        self.assertEqual(disk1.dev_size, disk2.dev_size)
Esempio n. 2
0
    def testUpdate(self):
        """test update a Disk instance with another one"""
        disk1 = Disk(dev='a_dev')
        disk1.dev_size = 1234
        disk2 = Disk(dev='b_dev')
        disk2.dev_size = 5678
        disk1.update(disk2)

        self.assertEqual(disk1.dev_size, disk2.dev_size)
Esempio n. 3
0
    def update(self, other):
        """
        Update my serializable fields from other/distant object.
        """
        Disk.update(self, other)
        Component.update(self, other)
        self.index = other.index

        # Compat v0.910: 'recov_info' value depends on remote version
        self.recov_info = getattr(other, 'recov_info',
                                  getattr(other, 'status_info', None))
Esempio n. 4
0
    def update(self, other):
        """
        Update my serializable fields from other/distant object.
        """
        Disk.update(self, other)
        # We used to call Component.update(). Be careful if it is updated.
        srvname = str(other.server.hostname)
        self._states[srvname] = other._states[srvname]
        if self._states[srvname] == RECOVERING:
            # Compat v0.910: 'recov_info' value depends on remote version
            self.recov_info = getattr(other, 'recov_info',
                                      getattr(other, 'status_info', None))
        self.index = other.index

        # other could be a pre shine 1.5 object, in this case, let's report it.
        if getattr(other, '_compat', False) is True:
            msg = "WARNING: shine version mismatch !!!\n" \
                  "\tPartial results may show up.\n" \
                  "\tMigrated targets may not be detected.\n" \
                  "\tTo avoid this, please synchronize shine versions."
            self.fs._handle_shine_proxy_error(srvname, msg)