def _process_non_multi_part(self, user_data): if user_data.startswith(b'#cloud-config'): user_data_plugins = factory.load_plugins() cloud_config_plugin = user_data_plugins.get('text/cloud-config') ret_val = cloud_config_plugin.process_non_multipart(user_data) elif user_data.startswith(b'#cloud-skyform'): # skyform user data extention user_data_plugins = factory.load_plugins() skyform_config_plugin = user_data_plugins.get('text/skyform-config') ret_val = skyform_config_plugin.process_non_multipart(user_data) else: ret_val = userdatautils.execute_user_data_script(user_data) return self._get_plugin_return_value(ret_val)
def _process_non_multi_part(self, user_data): if user_data.startswith(b'#cloud-config'): user_data_plugins = factory.load_plugins() cloud_config_plugin = user_data_plugins.get('text/cloud-config') ret_val = cloud_config_plugin.process_non_multipart(user_data) else: ret_val = userdatautils.execute_user_data_script(user_data) return self._get_plugin_return_value(ret_val)
def _process_non_multi_part(self, user_data): ret_val = None if user_data.startswith(b'#cloud-config'): user_data_plugins = factory.load_plugins() cloud_config_plugin = user_data_plugins.get('text/cloud-config') ret_val = cloud_config_plugin.process_non_multipart(user_data) elif user_data.strip().startswith(x509constants.PEM_HEADER.encode()): LOG.debug('Found X509 certificate in userdata') else: ret_val = userdatautils.execute_user_data_script(user_data) return execcmd.get_plugin_return_value(ret_val)
def _process_non_multi_part(self, user_data, instance_data={}): ret_val = None if user_data.startswith(b'## template: jinja'): jinja_ident, cloud_config = user_data.split(b"\n", 1) template = Template(cloud_config.decode()) user_data = template.render(**instance_data).encode() if user_data.startswith(b'#cloud-config'): user_data_plugins = factory.load_plugins() cloud_config_plugin = user_data_plugins.get('text/cloud-config') ret_val = cloud_config_plugin.process_non_multipart(user_data) elif user_data.strip().startswith(x509constants.PEM_HEADER.encode()): LOG.debug('Found X509 certificate in userdata') else: ret_val = userdatautils.execute_user_data_script(user_data) return execcmd.get_plugin_return_value(ret_val)
def _process_user_data(self, user_data): plugin_status = base.PLUGIN_EXECUTION_DONE reboot = False if user_data.startswith(b'Content-Type: multipart'): user_data_plugins = factory.load_plugins() user_handlers = {} for part in self._parse_mime(user_data): (plugin_status, reboot) = self._process_part(part, user_data_plugins, user_handlers) if reboot: break if not reboot: for handler_func in list(set(user_handlers.values())): self._end_part_process_event(handler_func) return (plugin_status, reboot) else: return self._process_non_multi_part(user_data)
def _process_user_data(self, user_data): plugin_status = base.PLUGIN_EXECUTION_DONE reboot = False if user_data.startswith(b'Content-Type: multipart'): user_data_plugins = factory.load_plugins() user_handlers = {} for part in self._parse_mime(user_data): (plugin_status, reboot) = self._process_part(part, user_data_plugins, user_handlers) if reboot: break if not reboot: for handler_func in list(set(user_handlers.values())): self._end_part_process_event(handler_func) return plugin_status, reboot else: return self._process_non_multi_part(user_data)
def _process_user_data(self, user_data, instance_data={}): plugin_status = base.PLUGIN_EXECUTION_DONE reboot = False headers = self._get_headers(user_data) if 'Content-Type: multipart' in headers: LOG.debug("Processing userdata") user_data_plugins = factory.load_plugins() user_handlers = {} for part in self._parse_mime(user_data): (plugin_status, reboot) = self._process_part(part, user_data_plugins, user_handlers) if reboot: break if not reboot: for handler_func in list(set(user_handlers.values())): self._end_part_process_event(handler_func) return plugin_status, reboot else: return self._process_non_multi_part(user_data, instance_data)
def _process_user_data(self, user_data): plugin_status = base.PLUGIN_EXECUTION_DONE reboot = False headers = self._get_headers(user_data) if 'Content-Type: multipart' in headers: LOG.debug("Processing userdata") user_data_plugins = factory.load_plugins() user_handlers = {} for part in self._parse_mime(user_data): (plugin_status, reboot) = self._process_part(part, user_data_plugins, user_handlers) if reboot: break if not reboot: for handler_func in list(set(user_handlers.values())): self._end_part_process_event(handler_func) return plugin_status, reboot else: return self._process_non_multi_part(user_data)
def test_process(self, mock_load_class): response = factory.load_plugins() self.assertTrue(response is not None)