def setup(self):
        self.log.info("/START(guestshell): setup")

        state = self.state
        self.log.info("/INFO(guestshell): current state: %s" % state)

        if 'Activated' == state:
            self._get_sz_info()
            if self.sz_need != self.sz_has:
                self.log.info("/INFO(guestshell): need to resize, please wait...")
                self.resize()
                self.reboot()
        else:
            self.log.info(
                "/INFO(guestshell): not activated, enabling with proper size, "
                "please wait ...")
            self.resize()
            self.enable()

        self._get_sz_info()
        self.log.info("/END(guestshell): setup")