diff options
-rw-r--r-- | vio/vio/pub/vim/vimapi/nova/OperateServers.py | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/vio/vio/pub/vim/vimapi/nova/OperateServers.py b/vio/vio/pub/vim/vimapi/nova/OperateServers.py index 5fd1c73..78b86ea 100644 --- a/vio/vio/pub/vim/vimapi/nova/OperateServers.py +++ b/vio/vio/pub/vim/vimapi/nova/OperateServers.py @@ -97,10 +97,24 @@ class OperateServers(OperateNova): ) inject_files = create_req.get('contextArray', []) if inject_files: - req['personality'] = [] - for i in inject_files: - req['personality'].append( - {"path": i["fileName"], "contents": i["fileData"]}) + user_data = [] + strUserData = "" + user_data.append("#cloud-config\n") + for f in inject_files: + user_data.append("write_files:\n") + user_data.append("- encoding: b64\n") + user_data.append(" content: " + + f["source_data_base64"] + "\n") + user_data.append(" owner: root:root\n") + user_data.append(" path: " + f["dest_path"] + "\n") + user_data.append(" permissions: '0644'\n") + user_data.append("\n") + if userdata: + user_data.append("runcmd:\n") + user_data.append("- " + userdata + "\n") + + strUserData.join(user_data) + req["user_data"] = strUserData return cc.create_server(**req) |