Skip to content

Commit e72fed3

Browse files
committed
fix meta data for cloudzone
1 parent 492bf23 commit e72fed3

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

agent/src/com/cloud/agent/vmdata/JettyVmDataServer.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,12 +108,23 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
108108

109109
protected void handleUserData(HttpServletRequest req, HttpServletResponse resp)
110110
throws ServletException, IOException {
111+
String metadataItem = req.getPathInfo();
111112
String requester = req.getRemoteAddr();
112113
resp.setContentType("text/html");
113114
resp.setStatus(HttpServletResponse.SC_OK);
114-
String userData = _vmDataServer.getVmDataItem(requester, USER_DATA);
115-
if (userData != null){
116-
resp.getWriter().print(userData);
115+
String data = null;
116+
if (metadataItem != null) {
117+
String[] path = metadataItem.split("/");
118+
if (path.length > 1) {
119+
metadataItem = path[1];
120+
}
121+
}
122+
123+
if (metadataItem != null)
124+
data = _vmDataServer.getVmDataItem(requester, metadataItem);
125+
126+
if (data != null){
127+
resp.getWriter().print(data);
117128
} else {
118129
resp.setStatus(HttpServletResponse.SC_NOT_FOUND);
119130
resp.sendError(HttpServletResponse.SC_NOT_FOUND, "Request not found");
@@ -249,8 +260,8 @@ private void setupJetty(int vmDataPort, int fileservingPort) throws Exception {
249260

250261
Context root = new Context(_jetty,"/latest",Context.SESSIONS);
251262
root.setResourceBase(_vmDataDir);
252-
root.addServlet(new ServletHolder(new VmDataServlet(this, USER_DATA)), "/user-data");
253-
root.addServlet(new ServletHolder(new VmDataServlet(this, META_DATA)), "/meta-data");
263+
root.addServlet(new ServletHolder(new VmDataServlet(this, USER_DATA)), "/*");
264+
254265

255266
ResourceHandler resource_handler = new ResourceHandler();
256267
resource_handler.setResourceBase("/var/lib/images/");
@@ -344,5 +355,4 @@ public void handleVmStopped(String vmName) {
344355
String vmDataDir = _vmDataDir + File.separator + vmName;
345356
Script.runSimpleBashScript("rm -rf " + vmDataDir);
346357
}
347-
348358
}

0 commit comments

Comments
 (0)