示例#1
0
 def _unplug_tenant_networks(self, task, **kwargs):
     ports = objects.Port.list_by_node_id(task.context, task.node.id)
     for port in ports:
         pargs = port['extra']
         if pargs.get('type') == "tenant" and pargs['state'] == "UP":
             common.delete_vnic(task, port['extra']['vif_port_id'])
             port.extra = {x: pargs[x] for x in pargs}
             port.extra['state'] = "DOWN"
             port.save()
             LOG.info("DELETEING VNIC SUCCESSFUL")
    def test_delete_vnic(self, mock_handle):
        with task_manager.acquire(self.context, self.node.uuid,
                                  shared=False) as task:
            with mock_handle(task) as handle:
                mo = handle.get_imc_managedobject.return_value
                mo.__getitem__.return_value.Dn = "DN"

                common.delete_vnic(task, "name")

                expected_params = {"Dn": "DN/host-eth-name"}
                handle.remove_imc_managedobject.assert_called_once_with(
                    None, class_id="adaptorHostEthIf", params=expected_params)
示例#3
0
    def _unplug_provisioning(self, task, **kwargs):
        LOG.debug("Unplugging the provisioning!")
        if task.node.power_state != states.POWER_ON:
            manager_utils.node_power_action(task, states.REBOOT)

        client = neutron._build_client(task.context.auth_token)

        ports = objects.Port.list_by_node_id(task.context, task.node.id)
        for port in ports:
            if port['extra'].get('type') == "deploy":
                common.delete_vnic(task, port['extra']['vif_port_id'])
                client.delete_port(port['extra']['vif_port_id'])
                port.destroy()