diff --git a/doc/source/devref/plugin.spi.rst b/doc/source/devref/plugin.spi.rst index 912ef2ee..0127152d 100644 --- a/doc/source/devref/plugin.spi.rst +++ b/doc/source/devref/plugin.spi.rst @@ -129,15 +129,6 @@ that. *Returns*: None -convert(config, plugin_name, version, template_name, cluster_template_create) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Provides plugin with ability to create cluster based on plugin-specific config. -Sahara expects plugin to fill in all the required fields. -The last argument is the function that plugin should call to save the Cluster -Template. -See “Cluster Lifecycle for Config File Mode” section below for clarification. - on_terminate_cluster(cluster) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/releasenotes/notes/convert-to-cluster-template-43d502496d18625e.yaml b/releasenotes/notes/convert-to-cluster-template-43d502496d18625e.yaml new file mode 100644 index 00000000..4aa64427 --- /dev/null +++ b/releasenotes/notes/convert-to-cluster-template-43d502496d18625e.yaml @@ -0,0 +1,4 @@ +--- +deprecations: + - Convert to cluster template feature is no longer + supported by all plugins. diff --git a/sahara/api/v10.py b/sahara/api/v10.py index 6097c60c..bc0085b6 100644 --- a/sahara/api/v10.py +++ b/sahara/api/v10.py @@ -210,10 +210,11 @@ def plugins_get_version(plugin_name, version): @rest.post_file('/plugins///convert-config/') @acl.enforce("data-processing:plugins:convert_config") @v.check_exists(api.get_plugin, plugin_name='plugin_name', version='version') -@v.validate(v_p.CONVERT_TO_TEMPLATE_SCHEMA, v_p.check_convert_to_template) +@v.validate(None, v_p.check_convert_to_template) def plugins_convert_to_cluster_template(plugin_name, version, name, data): - return u.to_wrapped_dict( - api.convert_to_cluster_template, plugin_name, version, name, data) + # There is no plugins that supports converting to cluster template + # The last plugin with support of that is no longer supported + pass # Image Registry ops diff --git a/sahara/api/v2/plugins.py b/sahara/api/v2/plugins.py index a3c26d58..b9ab2172 100644 --- a/sahara/api/v2/plugins.py +++ b/sahara/api/v2/plugins.py @@ -16,7 +16,6 @@ from sahara.api import acl from sahara.service.api.v2 import plugins as api from sahara.service import validation as v -from sahara.service.validations import plugins as v_p import sahara.utils.api as u @@ -41,12 +40,3 @@ def plugins_get(plugin_name): @v.check_exists(api.get_plugin, plugin_name='plugin_name', version='version') def plugins_get_version(plugin_name, version): return u.render(api.get_plugin(plugin_name, version).wrapped_dict) - - -@rest.post_file('/plugins///convert-config/') -@acl.enforce("data-processing:plugins:convert_config") -@v.check_exists(api.get_plugin, plugin_name='plugin_name', version='version') -@v.validate(v_p.CONVERT_TO_TEMPLATE_SCHEMA, v_p.check_convert_to_template) -def plugins_convert_to_cluster_template(plugin_name, version, name, data): - return u.to_wrapped_dict( - api.convert_to_cluster_template, plugin_name, version, name, data) diff --git a/sahara/plugins/provisioning.py b/sahara/plugins/provisioning.py index be8e1ce6..98cacaa9 100644 --- a/sahara/plugins/provisioning.py +++ b/sahara/plugins/provisioning.py @@ -85,11 +85,6 @@ class ProvisioningPluginBase(plugins_base.PluginInterface): def validate_images(self, cluster, reconcile=True): pass - @plugins_base.optional - def convert(self, config, plugin_name, version, template_name, - cluster_template_create): - pass - @plugins_base.required_with_default def on_terminate_cluster(self, cluster): pass diff --git a/sahara/service/api/v10.py b/sahara/service/api/v10.py index 2c306aa1..65ad1524 100644 --- a/sahara/service/api/v10.py +++ b/sahara/service/api/v10.py @@ -17,7 +17,6 @@ from oslo_config import cfg from oslo_log import log as logging from oslo_utils import excutils import six -from six.moves.urllib import parse as urlparse from sahara import conductor as c from sahara import context @@ -239,14 +238,6 @@ def get_plugin(plugin_name, version=None): return res -def convert_to_cluster_template(plugin_name, version, template_name, - config_file): - plugin = plugin_base.PLUGINS.get_plugin(plugin_name) - return plugin.convert(config_file, plugin_name, version, - urlparse.unquote(template_name), - conductor.cluster_template_create) - - def construct_ngs_for_scaling(cluster, additional_node_groups): ctx = context.ctx() additional = {} diff --git a/sahara/service/api/v2/plugins.py b/sahara/service/api/v2/plugins.py index ec388de9..eefd19dc 100644 --- a/sahara/service/api/v2/plugins.py +++ b/sahara/service/api/v2/plugins.py @@ -13,8 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -from six.moves.urllib import parse as urlparse - from sahara import conductor as c from sahara import context from sahara.plugins import base as plugin_base @@ -46,14 +44,6 @@ def get_plugin(plugin_name, version=None): return res -def convert_to_cluster_template(plugin_name, version, template_name, - config_file): - plugin = plugin_base.PLUGINS.get_plugin(plugin_name) - return plugin.convert(config_file, plugin_name, version, - urlparse.unquote(template_name), - conductor.cluster_template_create) - - def construct_ngs_for_scaling(cluster, additional_node_groups): ctx = context.ctx() additional = {} diff --git a/sahara/service/validations/plugins.py b/sahara/service/validations/plugins.py index 540dab26..a6c78c06 100644 --- a/sahara/service/validations/plugins.py +++ b/sahara/service/validations/plugins.py @@ -15,14 +15,9 @@ import sahara.exceptions as ex from sahara.i18n import _ -from sahara.plugins import base as plugin_base - - -CONVERT_TO_TEMPLATE_SCHEMA = None def check_convert_to_template(plugin_name, version, **kwargs): - if not plugin_base.PLUGINS.is_plugin_implements(plugin_name, 'convert'): - raise ex.InvalidReferenceException( - _("Requested plugin '%s' doesn't support converting config files " - "to cluster templates") % plugin_name) + raise ex.InvalidReferenceException( + _("Requested plugin '%s' doesn't support converting config files " + "to cluster templates") % plugin_name)