From a6ae98ff34afd39dc3c166043fb76079e8c7b8cf Mon Sep 17 00:00:00 2001 From: Julia Kreger Date: Thu, 26 Apr 2018 11:36:49 -0700 Subject: [PATCH] Deprecate Oneview I have been attempting to engage contacts who were involved in the OneView driver's development since UFCG contributors entered IRC and indicated that they had been directed to return the OneView hardware that Third Party CI ran on. I recieved some neutral replies, but no committment to re-establish third party CI testing for the oneview driver. I gave it a little time, and again followed up with my contacts reminding them of the necessity of third party CI for a driver to remain in ironic. No reply or acknolwedgement was receieved. Nor has any activity been observed upstream that could be attributed to someone rebuilding third party CI for oneview. As such, we have little choice but to proceed with deprecating the oneview hardware type and drivers, such that we remove them next cycle as we are unable to maintain them without CI. Story: #2001924 Task: #14451 Change-Id: Ic96f7f654ae5ecfc38a19c74a9ad8335629138f2 --- ironic/drivers/modules/oneview/deploy.py | 14 ++++++++++++++ ironic/drivers/modules/oneview/inspect.py | 7 +++++++ ironic/drivers/modules/oneview/management.py | 7 +++++++ ironic/drivers/modules/oneview/power.py | 7 +++++++ ironic/drivers/oneview.py | 18 ++++++++++++++++++ ...ecate-oneview-drivers-5a487e1940bcbbc6.yaml | 12 ++++++++++++ 6 files changed, 65 insertions(+) create mode 100644 releasenotes/notes/deprecate-oneview-drivers-5a487e1940bcbbc6.yaml diff --git a/ironic/drivers/modules/oneview/deploy.py b/ironic/drivers/modules/oneview/deploy.py index 9fad6e8b80..d3cfcf3bbb 100644 --- a/ironic/drivers/modules/oneview/deploy.py +++ b/ironic/drivers/modules/oneview/deploy.py @@ -217,6 +217,13 @@ class OneViewPeriodicTasks(object): class OneViewIscsiDeploy(iscsi_deploy.ISCSIDeploy, OneViewPeriodicTasks): """Class for OneView ISCSI deployment driver.""" + # NOTE(TheJulia): Marking as unsupported as 3rd party CI was taken down + # shortly before the beginning of the Rocky cycle, and no replies have + # indicated that 3rd party CI will be re-established nor visible + # actions observed regarding re-establishing 3rd party CI. + # TODO(TheJulia): This should be expected to be removed in Stein. + supported = False + oneview_driver = common.ISCSI_PXE_ONEVIEW def get_properties(self): @@ -256,6 +263,13 @@ class OneViewIscsiDeploy(iscsi_deploy.ISCSIDeploy, OneViewPeriodicTasks): class OneViewAgentDeploy(agent.AgentDeploy, OneViewPeriodicTasks): """Class for OneView Agent deployment driver.""" + # NOTE(TheJulia): Marking as unsupported as 3rd party CI was taken down + # shortly before the beginning of the Rocky cycle, and no replies have + # indicated that 3rd party CI will be re-established nor visible + # actions observed regarding re-establishing 3rd party CI. + # TODO(TheJulia): This should be expected to be removed in Stein. + supported = False + oneview_driver = common.AGENT_PXE_ONEVIEW def get_properties(self): diff --git a/ironic/drivers/modules/oneview/inspect.py b/ironic/drivers/modules/oneview/inspect.py index 96313e59ce..109790be6d 100644 --- a/ironic/drivers/modules/oneview/inspect.py +++ b/ironic/drivers/modules/oneview/inspect.py @@ -30,6 +30,13 @@ METRICS = metrics_utils.get_metrics_logger(__name__) class OneViewInspect(inspector.Inspector): """Interface for in band inspection.""" + # NOTE(TheJulia): Marking as unsupported as 3rd party CI was taken down + # shortly before the beginning of the Rocky cycle, and no replies have + # indicated that 3rd party CI will be re-established nor visible + # actions observed regarding re-establishing 3rd party CI. + # TODO(TheJulia): This should be expected to be removed in Stein. + supported = False + def get_properties(self): return deploy_utils.get_properties() diff --git a/ironic/drivers/modules/oneview/management.py b/ironic/drivers/modules/oneview/management.py index 85dcf667e2..27defc2d89 100644 --- a/ironic/drivers/modules/oneview/management.py +++ b/ironic/drivers/modules/oneview/management.py @@ -173,6 +173,13 @@ def set_boot_device(task): class OneViewManagement(base.ManagementInterface): + # NOTE(TheJulia): Marking as unsupported as 3rd party CI was taken down + # shortly before the beginning of the Rocky cycle, and no replies have + # indicated that 3rd party CI will be re-established nor visible + # actions observed regarding re-establishing 3rd party CI. + # TODO(TheJulia): This should be expected to be removed in Stein. + supported = False + def get_properties(self): return deploy_utils.get_properties() diff --git a/ironic/drivers/modules/oneview/power.py b/ironic/drivers/modules/oneview/power.py index bca0ce5bd5..a0b3849443 100644 --- a/ironic/drivers/modules/oneview/power.py +++ b/ironic/drivers/modules/oneview/power.py @@ -57,6 +57,13 @@ SET_POWER_STATE_MAP = { class OneViewPower(base.PowerInterface): + # NOTE(TheJulia): Marking as unsupported as 3rd party CI was taken down + # shortly before the beginning of the Rocky cycle, and no replies have + # indicated that 3rd party CI will be re-established nor visible + # actions observed regarding re-establishing 3rd party CI. + # TODO(TheJulia): This should be expected to be removed in Stein. + supported = False + def get_properties(self): return deploy_utils.get_properties() diff --git a/ironic/drivers/oneview.py b/ironic/drivers/oneview.py index 11819ec2a4..61cbfc813a 100644 --- a/ironic/drivers/oneview.py +++ b/ironic/drivers/oneview.py @@ -40,6 +40,12 @@ class OneViewHardware(generic.GenericHardware): OneView hardware type is targeted for OneView """ + # NOTE(TheJulia): Marking as unsupported as 3rd party CI was taken down + # shortly before the beginning of the Rocky cycle, and no replies have + # indicated that 3rd party CI will be re-established nor visible + # actions observed regarding re-establishing 3rd party CI. + # TODO(TheJulia): This should be expected to be removed in Stein. + supported = False @property def supported_deploy_interfaces(self): @@ -70,6 +76,12 @@ class AgentPXEOneViewDriver(base.BaseDriver): management. And :class:ironic.drivers.modules.oneview.deploy.OneViewAgentDeploy for deploy. """ + # NOTE(TheJulia): Marking as unsupported as 3rd party CI was taken down + # shortly before the beginning of the Rocky cycle, and no replies have + # indicated that 3rd party CI will be re-established nor visible + # actions observed regarding re-establishing 3rd party CI. + # TODO(TheJulia): This should be expected to be removed in Stein. + supported = False def __init__(self): if not importutils.try_import('hpOneView.oneview_client'): @@ -113,6 +125,12 @@ class ISCSIPXEOneViewDriver(base.BaseDriver): management. And :class:ironic.drivers.modules.oneview.deploy.OneViewIscsiDeploy for deploy. """ + # NOTE(TheJulia): Marking as unsupported as 3rd party CI was taken down + # shortly before the beginning of the Rocky cycle, and no replies have + # indicated that 3rd party CI will be re-established nor visible + # actions observed regarding re-establishing 3rd party CI. + # TODO(TheJulia): This should be expected to be removed in Stein. + supported = False def __init__(self): if not importutils.try_import('hpOneView.oneview_client'): diff --git a/releasenotes/notes/deprecate-oneview-drivers-5a487e1940bcbbc6.yaml b/releasenotes/notes/deprecate-oneview-drivers-5a487e1940bcbbc6.yaml new file mode 100644 index 0000000000..cade108806 --- /dev/null +++ b/releasenotes/notes/deprecate-oneview-drivers-5a487e1940bcbbc6.yaml @@ -0,0 +1,12 @@ +--- +deprecations: + - | + The ``oneview`` hardware type, as well as the supporting + driver interfaces have been deprecated and are scheduled to be removed + from ironic in the Stein development cycle. This is due to the lack of + operational Third Party testing to help ensure that the support for + Oneview is functional. + Oneview Third Party CI was shutdown just prior to the start of the Rocky + development cycle, and at the time of this deprecation the Ironic + community has no indication that testing will be restablished. + Should testing be restablished, this deprecation shall be rescinded.