Support inject many files 55/45055/6
authorHuang Haibin <haibin.huang@intel.com>
Fri, 27 Apr 2018 06:48:49 +0000 (14:48 +0800)
committerHaibin Huang <haibin.huang@intel.com>
Sat, 28 Apr 2018 09:40:37 +0000 (17:40 +0800)
Change-Id: I5e7c6ee7553b7f7e2fe0d8289d2a0c9bf4077f75
Issue-ID: MULTICLOUD-216
Signed-off-by: Haibin Huang <haibin.huang@intel.com>
newton/newton/requests/tests/test_server.py
share/newton_base/openoapi/server.py

index 91e51a3..c5bdaeb 100644 (file)
@@ -64,8 +64,16 @@ TEST_CREATE_SERVER = {
         {"portId": "2"}
     ],
     "contextArray": [
-        {"fileName": "file", "fileData": "test_data"},
-        {"fileName": "file2", "fileData": "test_data2"}
+        {
+            "source_path": "artifacts/keys/authorized_keys",
+            "source_data_base64": "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFER3g2U0tyQXVDejFWOEtHZXZa\ndWVrc0xkV29QV0pQNnozcjI5WjdUbVBWRU9qTSs3UElQZVNzMkJWUngzcm5IWkJBbGFzTXJaK2ZK\nQlMyNXRzOXZmQytJdGV6UWFoL2hyOXZya213eENSNTRMYjg0cG9XK3NUb1BlRjZpNWVaWTdXK2pX\nSmZMYUZTRng5ZDJ2cDR6ZXMvZk9sVDNOdllDWGJuLzNRZHJ5UW9HbDdWRkk4b2VtWnlwVmNpa1pY\nRWxKZWVLZ0FWZFN3bnJ6dXF0Ty90bWJYY0FlU2JZdlZqa2k4eXdZY3NXTVZNWVdVV2hoKzFCQUI2\na1huVHNJV3F6cnEwUGZ2eSs4MVdEd3RpcXNxbWQ5M0hZOGhFMHNjQnJYRkJaelFTL0FZZklGQmxF\ndUZOZExjemNobnRqYlowbjdkbURYazh6SHRDWllOazdrd2I4ay8gbHVsaWFuaGFvQGxsdS1udWMx\nCg==\n",
+            "dest_path": "/home/ubuntu/.ssh/authorized_keys"
+        },
+        {
+            "source_path": "artifacts/keys/authorized_keys",
+            "source_data_base64": "c3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFER3g2U0tyQXVDejFWOEtHZXZa\ndWVrc0xkV29QV0pQNnozcjI5WjdUbVBWRU9qTSs3UElQZVNzMkJWUngzcm5IWkJBbGFzTXJaK2ZK\nQlMyNXRzOXZmQytJdGV6UWFoL2hyOXZya213eENSNTRMYjg0cG9XK3NUb1BlRjZpNWVaWTdXK2pX\nSmZMYUZTRng5ZDJ2cDR6ZXMvZk9sVDNOdllDWGJuLzNRZHJ5UW9HbDdWRkk4b2VtWnlwVmNpa1pY\nRWxKZWVLZ0FWZFN3bnJ6dXF0Ty90bWJYY0FlU2JZdlZqa2k4eXdZY3NXTVZNWVdVV2hoKzFCQUI2\na1huVHNJV3F6cnEwUGZ2eSs4MVdEd3RpcXNxbWQ5M0hZOGhFMHNjQnJYRkJaelFTL0FZZklGQmxF\ndUZOZExjemNobnRqYlowbjdkbURYazh6SHRDWllOazdrd2I4ay8gbHVsaWFuaGFvQGxsdS1udWMx\nCg==\n",
+            "dest_path": "/home/ubuntu/.ssh/authorized_keys"
+        }
     ],
     # "volumeArray":[
     #     {"volumeId": "volume1"},
index 2982343..ba77dc5 100644 (file)
@@ -367,24 +367,21 @@ class Servers(APIView):
                 strUserData = ''
                 source_content = ""
                 dest_path = ""
+                user_data.append("#cloud-config\n")
                 for context in contextarray:
-                    if context["fileName"] == "source_path":
-                        source_content = context["fileData"]
-                    if context["fileName"] == "dest_path":
-                        dest_path = context["fileData"]
-                if len(source_content) > 0:
-                    user_data.append("#cloud-config\n")
                     user_data.append("write_files:\n")
                     user_data.append("-   encoding: b64\n")
-                    user_data.append("    content: " + source_content + "\n")
+                    user_data.append("    content: " + context["source_data_base64"] + "\n")
                     user_data.append("    owner: root:root\n")
-                    user_data.append("    path: " + dest_path + "\n")
+                    user_data.append("    path: " + context["dest_path"] + "\n")
                     user_data.append("    permissions: '0644'\n")
                     user_data.append("\n")
-                    user_data.append("runcmd:")
+                if userdata:
+                    user_data.append("runcmd:\n")
                     user_data.append("-   " + userdata + "\n")
-                    strUserData.join(user_data)
-                    server["user_data"] = user_data
+
+                strUserData.join(user_data)
+                server["user_data"] = strUserData
 
             VimDriverUtils.replace_key_by_mapping(server,
                                                   self.keys_mapping, True)