def check_repair_error_test(self): if 'CLOUDINITD_TESTENV' in os.environ: # we cannot run this one in fake mode yet return (osf, outfile) = tempfile.mkstemp() os.close(osf) dir = os.path.expanduser("~/.cloudinitd/") conf_file = "%s/outputdep/top.conf" % (cloudinitd.nosetests.g_plans_dir) cb = CloudInitD(dir, conf_file, terminate=False, boot=True, ready=True) cb.start() cb.block_until_complete(poll_period=1.0) runname = cb.run_name svc = cb.get_service("onelvl1") secret = svc.get_attr_from_bag('iaas_secret') key = svc.get_attr_from_bag('iaas_key') iaas_url= svc.get_attr_from_bag('iaas_url') instance_id = svc.get_attr_from_bag('instance_id') con = iaas_get_con(svc._svc, key=key, secret=secret, iaasurl=iaas_url) instance = con.find_instance(instance_id) instance.terminate() print "start repair" rc = cloudinitd.cli.boot.main(["-O", outfile, "-v","-v","-v","repair", runname]) self._dump_output(outfile) n = "ERROR" line = self._find_str(outfile, n) self.assertNotEqual(line, None) print "start terminate" rc = cloudinitd.cli.boot.main(["terminate", "%s" % (runname)]) self.assertEqual(rc, 0)
def check_status_error_test(self): (osf, outfile) = tempfile.mkstemp() os.close(osf) dir = os.path.expanduser("~/.cloudinitd/") conf_file = self.plan_basedir + "/terminate/top.conf" cb = CloudInitD(dir, conf_file, terminate=False, boot=True, ready=True) cb.start() cb.block_until_complete(poll_period=1.0) runname = cb.run_name svc = cb.get_service("sampleservice") secret = svc.get_attr_from_bag('iaas_secret') key = svc.get_attr_from_bag('iaas_key') iaas_url = svc.get_attr_from_bag('iaas_url') instance_id = svc.get_attr_from_bag('instance_id') con = iaas_get_con(None, key=key, secret=secret, iaasurl=iaas_url) instance = con.find_instance(instance_id) instance.terminate() if 'CLOUDINITD_TESTENV' in os.environ: bkfab = os.environ['CLOUDINITD_FAB'] bkssh = os.environ['CLOUDINITD_SSH'] os.environ['CLOUDINITD_FAB'] = "/bin/false" os.environ['CLOUDINITD_SSH'] = "/bin/false" rc = cloudinitd.cli.boot.main(["-O", outfile, "-v","-v","-v","-v", "status", runname]) if 'CLOUDINITD_TESTENV' in os.environ: os.environ['CLOUDINITD_FAB'] = bkfab os.environ['CLOUDINITD_SSH'] = bkssh self._dump_output(outfile) n = "ERROR" line = self._find_str(outfile, n) self.assertNotEqual(line, None) rc = cloudinitd.cli.boot.main(["-O", outfile, "terminate", "%s" % (runname)]) if 'CLOUDINITD_TESTENV' in os.environ: # in fake mode we cannot detect that an instance was killed self.assertEqual(rc, 0) else: self.assertNotEqual(rc, 0)