NAS-134443 / 25.10 / Make sure virt instance is stopped before attempting to delete it (#15988)
## Problem
There has been a case where an incus instance was not able to delete
because incus complained that it can't delete a running instance. I have
not been able to reproduce it specifically but there was a case which
was being missed which was that if the instance is in `UNKNOWN` state
which it can be but very briefly - that can result in this issue.
## Solution
Make sure if instance is not stopped, we attempt to force stop it before
attempting deletion and if it fails (which it can if the instance is
already stopped, we just silently log it) and let deletion go through.
NAS-134689 / 25.10 / Do not allow users to create pool with whitespaces in name (#15984)
## Context
We had added validation earlier to not allow users to set a pool for
incus which has whitespaces in it's name because incus is not able to
handle pool names which have whitespaces in it. Now we are adding
changes to not allow user to create/import a pool with a name which
contains whitespaces.
NAS-134688 / 25.10 / Add support for multiple storage pools to incus (by anodos325) (#15986)
This commit adds the ability for the administrator to configure multiple
storage pools for incus on TrueNAS. This is required in order to give
administrators flexibility about where to store instances and the
ability to shift them to different storage pools.
Due to the complexity of potential incus instance configurations,
failure to initialize any incus storage pool is treated from the
standpoint of middleware as a global failure to properly set up the virt
plugin.
Since it touches all areas of the virt plugin APIs it is a pre-requisite
for developing backup / restore and snapshot endpoints.
The middleware virt plugin has been changed in the following ways:
* virt.global.config / virt.global.update -- these methods now have a
storage_pools key, that provides a list of ZFS pools that are configured
[55 lines not shown]
Add support for multiple storage pools to incus
This commit adds the ability for the administrator to configure
multiple storage pools for incus on TrueNAS. This is required in
order to give administrators flexibility about where to store
instances and the ability to shift them to different storage pools.
Due to the complexity of potential incus instance configurations,
failure to initialize any incus storage pool is treated from
the standpoint of middleware as a global failure to properly set up
the virt plugin.
Since it touches all areas of the virt plugin APIs it is a
pre-requisite for developing backup / restore and snapshot
endpoints.
The middleware virt plugin has been changed in the following ways:
* virt.global.config / virt.global.update -- these methods now have
[58 lines not shown]
NAS-134688 / 25.04.0 / Add support for multiple storage pools to incus (#15948)
This commit adds the ability for the administrator to configure multiple
storage pools for incus on TrueNAS. This is required in order to give
administrators flexibility about where to store instances and the
ability to shift them to different storage pools.
Due to the complexity of potential incus instance configurations,
failure to initialize any incus storage pool is treated from the
standpoint of middleware as a global failure to properly set up the virt
plugin.
Since it touches all areas of the virt plugin APIs it is a pre-requisite
for developing backup / restore and snapshot endpoints.
The middleware virt plugin has been changed in the following ways:
* virt.global.config / virt.global.update -- these methods now have a
storage_pools key, that provides a list of ZFS pools that are configured
[48 lines not shown]
NAS-134733 / 25.10 / Mark raw attribute in virt instance as secret in the API (#15983)
## Context
`raw` attribute can contain VNC password configuration so we should mark
it as a secret in the pydantic model.
Add support for multiple storage pools to incus
This commit adds the ability for the administrator to configure
multiple storage pools for incus on TrueNAS. This is required in
order to give administrators flexibility about where to store
instances and the ability to shift them to different storage pools.
Due to the complexity of potential incus instance configurations,
failure to initialize any incus storage pool is treated from
the standpoint of middleware as a global failure to properly set up
the virt plugin.
Since it touches all areas of the virt plugin APIs it is a
pre-requisite for developing backup / restore and snapshot
endpoints.
The middleware virt plugin has been changed in the following ways:
* virt.global.config / virt.global.update -- these methods now have
[56 lines not shown]
Add support for multiple storage pools to incus
This commit adds the ability for the administrator to configure
multiple storage pools for incus on TrueNAS. This is required in
order to give administrators flexibility about where to store
instances and the ability to shift them to different storage pools.
Due to the complexity of potential incus instance configurations,
failure to initialize any incus storage pool is treated from
the standpoint of middleware as a global failure to properly set up
the virt plugin.
Since it touches all areas of the virt plugin APIs it is a
pre-requisite for developing backup / restore and snapshot
endpoints.
The middleware virt plugin has been changed in the following ways:
* virt.global.config / virt.global.update -- these methods now have
[56 lines not shown]