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);

Reply via email to