This is an automated email from the ASF dual-hosted git repository. weizhou pushed a commit to branch 4.19-fix-test_vm_autoscaling in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit 043c1c0dc8d39c7a03e5150811bda9b530a10ccd Author: Wei Zhou <[email protected]> AuthorDate: Tue Aug 29 14:28:38 2023 +0200 Revert "userdata: support plain text" This reverts commit f262ec178f847c10411daee3c6de5198b8d47827. --- .../cloudstack/userdata/CloudInitUserDataProvider.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/engine/userdata/cloud-init/src/main/java/org/apache/cloudstack/userdata/CloudInitUserDataProvider.java b/engine/userdata/cloud-init/src/main/java/org/apache/cloudstack/userdata/CloudInitUserDataProvider.java index 25be89ed5fb..6e1086c631e 100644 --- a/engine/userdata/cloud-init/src/main/java/org/apache/cloudstack/userdata/CloudInitUserDataProvider.java +++ b/engine/userdata/cloud-init/src/main/java/org/apache/cloudstack/userdata/CloudInitUserDataProvider.java @@ -46,21 +46,19 @@ import com.sun.mail.util.BASE64DecoderStream; public class CloudInitUserDataProvider extends AdapterBase implements UserDataProvider { protected enum FormatType { - CLOUD_CONFIG, BASH_SCRIPT, MIME, CLOUD_BOOTHOOK, INCLUDE_FILE, PLAIN_TEXT + CLOUD_CONFIG, BASH_SCRIPT, MIME, CLOUD_BOOTHOOK, INCLUDE_FILE } private static final String CLOUD_CONFIG_CONTENT_TYPE = "text/cloud-config"; private static final String BASH_SCRIPT_CONTENT_TYPE = "text/x-shellscript"; private static final String INCLUDE_FILE_CONTENT_TYPE = "text/x-include-url"; private static final String CLOUD_BOOTHOOK_CONTENT_TYPE = "text/cloud-boothook"; - private static final String PLAIN_TEXT_CONTENT_TYPE = "text/plain"; private static final Map<FormatType, String> formatContentTypeMap = Map.ofEntries( Map.entry(FormatType.CLOUD_CONFIG, CLOUD_CONFIG_CONTENT_TYPE), Map.entry(FormatType.BASH_SCRIPT, BASH_SCRIPT_CONTENT_TYPE), Map.entry(FormatType.CLOUD_BOOTHOOK, CLOUD_BOOTHOOK_CONTENT_TYPE), - Map.entry(FormatType.INCLUDE_FILE, INCLUDE_FILE_CONTENT_TYPE), - Map.entry(FormatType.PLAIN_TEXT, PLAIN_TEXT_CONTENT_TYPE) + Map.entry(FormatType.INCLUDE_FILE, INCLUDE_FILE_CONTENT_TYPE) ); private static final Session session = Session.getDefaultInstance(new Properties()); @@ -87,17 +85,14 @@ public class CloudInitUserDataProvider extends AdapterBase implements UserDataPr .filter(x -> (x.startsWith("#") && !x.startsWith("##")) || (x.startsWith("Content-Type:"))) .collect(Collectors.toList()); if (CollectionUtils.isEmpty(lines)) { - logger.info("Failed to detect the user data format type as it " + - "does not contain a header, regard it as plain text"); - return null; + throw new CloudRuntimeException("Failed to detect the user data format type as it " + + "does not contain a header"); } return lines.get(0); } protected FormatType mapUserDataHeaderToFormatType(String header) { - if (header == null) { - return FormatType.PLAIN_TEXT; - } else if (header.equalsIgnoreCase("#cloud-config")) { + if (header.equalsIgnoreCase("#cloud-config")) { return FormatType.CLOUD_CONFIG; } else if (header.startsWith("#!")) { return FormatType.BASH_SCRIPT; @@ -253,7 +248,7 @@ public class CloudInitUserDataProvider extends AdapterBase implements UserDataPr String userData2 = new String(Base64.decodeBase64(encodedUserData2)); FormatType formatType1 = getUserDataFormatType(userData1); FormatType formatType2 = getUserDataFormatType(userData2); - if (formatType1.equals(formatType2) && List.of(FormatType.CLOUD_CONFIG, FormatType.BASH_SCRIPT, FormatType.PLAIN_TEXT).contains(formatType1)) { + if (formatType1.equals(formatType2) && List.of(FormatType.CLOUD_CONFIG, FormatType.BASH_SCRIPT).contains(formatType1)) { return simpleAppendSameFormatTypeUserData(userData1, userData2); } NoIdMimeMessage message = new NoIdMimeMessage(session);
