Set TrustedFilter as experimental
The TrustedFilter is the only in-tree scheduler filter that calls an external 3rd-party service (OpenAttestation) for decision-making. Thus, the OAT service is not listed as an official Nova dependency and consequently not even gated, even by a 3rd-party CI. Besides, some discussions have been captured in a ML thread that show that running this filter is not the best way for enforcing trusted compute nodes [1] but I leave that out of the review (just a FYI) because the main reason for making experimental the filter is to send a signal to operators that they will either have to find another solution or accept the current gaps. [1] http://lists.openstack.org/pipermail/openstack-dev/2015-June/067766.html Related-Bug: #1456228 Change-Id: I6ab013faf22a0e88424207830ec399724f827622
This commit is contained in:

committed by
Matt Riedemann

parent
5d34c572cb
commit
e134536d0a
@@ -137,7 +137,7 @@ There are some standard filter classes to use (:mod:`nova.scheduler.filters`):
|
||||
a set of instances.
|
||||
* |RetryFilter| - filters hosts that have been attempted for scheduling.
|
||||
Only passes hosts that have not been previously attempted.
|
||||
* |TrustedFilter| - filters hosts based on their trust. Only passes hosts
|
||||
* |TrustedFilter| (EXPERIMENTAL) - filters hosts based on their trust. Only passes hosts
|
||||
that meet the trust requirements specified in the instance properties.
|
||||
* |TypeAffinityFilter| - Only passes hosts that are not already running an
|
||||
instance of the requested type.
|
||||
|
@@ -15,7 +15,7 @@
|
||||
# under the License.
|
||||
|
||||
"""
|
||||
Filter to add support for Trusted Computing Pools.
|
||||
Filter to add support for Trusted Computing Pools (EXPERIMENTAL).
|
||||
|
||||
Filter that only schedules tasks on a host if the integrity (trust)
|
||||
of that host matches the trust requested in the ``extra_specs`` for the
|
||||
@@ -50,6 +50,7 @@ from oslo_utils import timeutils
|
||||
import requests
|
||||
|
||||
from nova import context
|
||||
from nova.i18n import _LW
|
||||
from nova import objects
|
||||
from nova.scheduler import filters
|
||||
|
||||
@@ -254,6 +255,12 @@ class TrustedFilter(filters.BaseHostFilter):
|
||||
|
||||
def __init__(self):
|
||||
self.compute_attestation = ComputeAttestation()
|
||||
LOG.warning(_LW('The TrustedFilter is considered experimental '
|
||||
'by the OpenStack project because it receives much '
|
||||
'less testing than the rest of Nova. This may change '
|
||||
'in the future, but current deployers should be aware '
|
||||
'that the use of it in production right now may be '
|
||||
'risky.'))
|
||||
|
||||
# The hosts the instances are running on doesn't change within a request
|
||||
run_filter_once_per_request = True
|
||||
|
Reference in New Issue
Block a user