Spaceman1984 edited a comment on issue #3939:
URL: https://github.com/apache/cloudstack/issues/3939#issuecomment-821059065
I have found the place in the code where the service offering is selected
for a VR.
RouterDeploymentDefinition.java
```
392 protected void findServiceOfferingId() {
393 serviceOfferingId =
networkOfferingDao.findById(guestNetwork.getNetworkOfferingId()).getServiceOfferingId();
394 if (serviceOfferingId == null) {
395 findDefaultServiceOfferingId();
396 }
397 }
```
Line 393 seems strange to me, I don't know how the service offering would be
stored on the network offering using the ui - but it seems like this would be a
way to select a specific service offering by hacking the db.
In my testing serviceOfferingId = null, meaning the default service offering
is used, which is based on if the zone level variable
system.vm.use.local.storage is set to true or not, either
Cloud.Com-SoftwareRouter or Cloud.Com-SoftwareRouter-Local.
This happens before the VM is started or any storage pools are checked.
That information is then passed to the deployment planner which has to
figure out which storage pool to use.
The deployment doesn't fail, because all storage allocators are checked to
find any available storage pools.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]