diff --git a/core/test/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResourceTest.java b/core/test/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResourceTest.java index aab1e7232fb..b77e92d679f 100644 --- a/core/test/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResourceTest.java +++ b/core/test/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResourceTest.java @@ -680,6 +680,7 @@ public class VirtualRoutingResourceTest implements VirtualRouterDeployer { protected VmDataCommand generateVmDataCommand() { VmDataCommand cmd = new VmDataCommand("10.1.10.4", "i-4-VM", true); + // if you add new metadata files, also edit systemvm/patches/debian/config/var/www/html/latest/.htaccess cmd.addVmData("userdata", "user-data", "user-data"); cmd.addVmData("metadata", "service-offering", "serviceOffering"); cmd.addVmData("metadata", "availability-zone", "zoneName"); diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java index e133f7d7b14..6019118409e 100755 --- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java +++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java @@ -201,6 +201,7 @@ public class BaremetalPxeManagerImpl extends ManagerBase implements BaremetalPxe String zoneName = _dcDao.findById(vm.getDataCenterId()).getName(); NicVO nvo = _nicDao.findById(nic.getId()); VmDataCommand cmd = new VmDataCommand(nvo.getIp4Address(), vm.getInstanceName(), _ntwkModel.getExecuteInSeqNtwkElmtCmd()); + // if you add new metadata files, also edit systemvm/patches/debian/config/var/www/html/latest/.htaccess cmd.addVmData("userdata", "user-data", vm.getUserData()); cmd.addVmData("metadata", "service-offering", StringUtils.unicodeEscape(serviceOffering)); cmd.addVmData("metadata", "availability-zone", StringUtils.unicodeEscape(zoneName)); diff --git a/server/src/com/cloud/network/element/CloudZonesNetworkElement.java b/server/src/com/cloud/network/element/CloudZonesNetworkElement.java index 55cd5fa5cad..64a8cec3b81 100644 --- a/server/src/com/cloud/network/element/CloudZonesNetworkElement.java +++ b/server/src/com/cloud/network/element/CloudZonesNetworkElement.java @@ -152,7 +152,7 @@ public class CloudZonesNetworkElement extends AdapterBase implements NetworkElem private VmDataCommand generateVmDataCommand(String vmPrivateIpAddress, String userData, String serviceOffering, String zoneName, String guestIpAddress, String vmName, String vmInstanceName, long vmId, String vmUuid, String publicKey) { VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName, _networkMgr.getExecuteInSeqNtwkElmtCmd()); - + // if you add new metadata files, also edit systemvm/patches/debian/config/var/www/html/latest/.htaccess cmd.addVmData("userdata", "user-data", userData); cmd.addVmData("metadata", "service-offering", serviceOffering); cmd.addVmData("metadata", "availability-zone", zoneName); diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 33d7cd7396c..21a231746d4 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -854,7 +854,7 @@ VirtualMachineGuru, Listener, Configurable, StateListener/latest/user-data and .../user-data/ (both yield user-data file) +#http:///latest/meta-data and .../meta-data/ (dir listing of meta-data) +RewriteRule ^user-data/?$ ../userdata/%{REMOTE_ADDR}/user-data [L,NC,QSA] +RewriteRule ^meta-data/?$ ../metadata/%{REMOTE_ADDR}/meta-data [L,NC,QSA] + +#http:///latest/foo and .../foo/ (yield metadata/$IP/foo) +#are these used? +RewriteRule ^availability-zone/?$ ../metadata/%{REMOTE_ADDR}/availability-zone [L,NC,QSA] +RewriteRule ^cloud-identifier/?$ ../metadata/%{REMOTE_ADDR}/cloud-identifier [L,NC,QSA] +RewriteRule ^instance-id/?$ ../metadata/%{REMOTE_ADDR}/instance-id [L,NC,QSA] +RewriteRule ^local-hostname/?$ ../metadata/%{REMOTE_ADDR}/local-hostname [L,NC,QSA] +RewriteRule ^local-ipv4/?$ ../metadata/%{REMOTE_ADDR}/local-ipv4 [L,NC,QSA] +RewriteRule ^public-hostname/?$ ../metadata/%{REMOTE_ADDR}/public-hostname [L,NC,QSA] +RewriteRule ^public-ipv4/?$ ../metadata/%{REMOTE_ADDR}/public-ipv4 [L,NC,QSA] +RewriteRule ^public-keys/?$ ../metadata/%{REMOTE_ADDR}/public-keys [L,NC,QSA] +RewriteRule ^service-offering/?$ ../metadata/%{REMOTE_ADDR}/service-offering [L,NC,QSA] +RewriteRule ^vm-id/?$ ../metadata/%{REMOTE_ADDR}/vm-id [L,NC,QSA] +