Exemple #1
0
 def sleep_if_disabled(self):
     agent_disabled_file_path = conf.get_disable_agent_file_path()
     if os.path.exists(agent_disabled_file_path):
         import threading
         logger.warn("Disabling the guest agent by sleeping forever; "
                     "to re-enable, remove {0} and restart".format(
                         agent_disabled_file_path))
         self.running = False
         disable_event = threading.Event()
         disable_event.wait()
Exemple #2
0
 def sleep_if_disabled(self):
     agent_disabled_file_path = conf.get_disable_agent_file_path()
     if os.path.exists(agent_disabled_file_path):
         import threading
         logger.warn("Disabling the guest agent by sleeping forever; "
                     "to re-enable, remove {0} and restart"
                     .format(agent_disabled_file_path))
         self.running = False
         disable_event = threading.Event()
         disable_event.wait()
Exemple #3
0
    def test_write_agent_disabled(self):
        """
        Test writing disable_agent is empty
        """
        from azurelinuxagent.pa.provision.default import ProvisionHandler

        disable_file_path = conf.get_disable_agent_file_path(self.conf)
        self.assertFalse(os.path.exists(disable_file_path))
        ProvisionHandler.write_agent_disabled()
        self.assertTrue(os.path.exists(disable_file_path))
        self.assertEqual('', fileutil.read_file(disable_file_path))
Exemple #4
0
    def test_daemon_agent_disabled(self, _, patch_run_latest, gpa):
        """
        Agent should provision, then sleep forever when disable_agent is found
        """

        with patch('azurelinuxagent.pa.provision.get_provision_handler', return_value=ProvisionHandler()):
            # file is created by provisioning handler
            self.assertFalse(os.path.exists(conf.get_disable_agent_file_path()))
            daemon_handler = get_daemon_handler()

            # we need to assert this thread will sleep forever, so fork it
            daemon = Process(target=daemon_handler.run)
            daemon.start()
            daemon.join(timeout=5)

            self.assertTrue(daemon.is_alive())
            daemon.terminate()

            # disable_agent was written, run_latest was not called
            self.assertTrue(os.path.exists(conf.get_disable_agent_file_path()))
            self.assertEqual(0, patch_run_latest.call_count)
    def test_daemon_agent_enabled(self, patch_run_provision, patch_run_latest, gpa):
        """
        Agent should run normally when no disable_agent is found
        """
        with patch('azurelinuxagent.pa.provision.get_provision_handler', return_value=ProvisionHandler()):
            self.assertFalse(os.path.exists(conf.get_disable_agent_file_path()))
            daemon_handler = get_daemon_handler()

            def stop_daemon(child_args):
                daemon_handler.running = False

            patch_run_latest.side_effect = stop_daemon
            daemon_handler.run()

            self.assertEqual(1, patch_run_provision.call_count)
            self.assertEqual(1, patch_run_latest.call_count)
Exemple #6
0
    def test_daemon_agent_enabled(self, patch_run_provision, patch_run_latest, gpa):
        """
        Agent should run normally when no disable_agent is found
        """
        with patch('azurelinuxagent.pa.provision.get_provision_handler', return_value=ProvisionHandler()):
            # DaemonHandler._initialize_telemetry requires communication with WireServer and IMDS; since we
            # are not using telemetry in this test we mock it out
            with patch('azurelinuxagent.daemon.main.DaemonHandler._initialize_telemetry'):
                self.assertFalse(os.path.exists(conf.get_disable_agent_file_path()))
                daemon_handler = get_daemon_handler()

                def stop_daemon(child_args):
                    daemon_handler.running = False

                patch_run_latest.side_effect = stop_daemon
                daemon_handler.run()

                self.assertEqual(1, patch_run_provision.call_count)
                self.assertEqual(1, patch_run_latest.call_count)
Exemple #7
0
 def write_agent_disabled():
     logger.warn("Disabling guest agent in accordance with ovf-env.xml")
     fileutil.write_file(conf.get_disable_agent_file_path(), '')
Exemple #8
0
 def test_get_agent_disabled_file_path(self):
     self.assertEqual(conf.get_disable_agent_file_path(self.conf),
                      os.path.join(self.tmp_dir, conf.DISABLE_AGENT_FILE))
Exemple #9
0
 def write_agent_disabled():
     logger.warn("Disabling guest agent in accordance with ovf-env.xml")
     fileutil.write_file(conf.get_disable_agent_file_path(), '')