Ejemplo n.º 1
0
 def test_save_purges_orphaned_script_results_interface(self):
     node = factory.make_Machine_with_Interface_on_Subnet()
     iface = node.interface_set.first()
     script = factory.make_Script(
         parameters={"interface": {
             "type": "interface"
         }})
     old_script_set = factory.make_ScriptSet(node=node)
     old_script_result = factory.make_ScriptResult(
         script=script,
         script_set=old_script_set,
         status=factory.pick_choice(SCRIPT_STATUS_CHOICES,
                                    but_not=[SCRIPT_STATUS.PASSED]),
         parameters={"interface": {
             "type": "interface",
             "value": "all"
         }},
     )
     new_script_set = factory.make_ScriptSet(node=node)
     new_script_result = factory.make_ScriptResult(
         script=script,
         script_set=new_script_set,
         status=SCRIPT_STATUS.PENDING,
         parameters={
             "interface": {
                 "type": "interface",
                 "value": {
                     "interface": iface
                 },
             }
         },
     )
     self.assertIsNone(reload_object(old_script_result))
     self.assertIsNotNone(reload_object(new_script_result))
Ejemplo n.º 2
0
 def create_pod_with_host(self, params=None):
     if params is None:
         params = {}
     subnet = factory.make_Subnet()
     machine = factory.make_Machine_with_Interface_on_Subnet(subnet=subnet)
     ip = factory.make_StaticIPAddress(subnet=subnet,
                                       interface=machine.boot_interface)
     pod = factory.make_Pod(ip_address=ip, **params)
     return pod, machine
Ejemplo n.º 3
0
    def test_does_nothing_if_reserved_status(self):
        machine = factory.make_Machine_with_Interface_on_Subnet(
            status=self.status, power_state=POWER_STATE.ON)
        for interface in machine.interface_set.all():
            interface.claim_auto_ips()

        # Hack to get around node transition model
        Node.objects.filter(id=machine.id).update(
            status=random.choice(self.reserved_statuses))
        machine = reload_object(machine)
        machine.power_state = POWER_STATE.OFF
        machine.save()

        for ip in StaticIPAddress.objects.filter(
                interface__node=machine, alloc_type=IPADDRESS_TYPE.AUTO):
            self.assertIsNotNone(ip.ip)