ustcweizhou commented on issue #3179: Redundant VRouter guest network on wrong 
interface
URL: https://github.com/apache/cloudstack/issues/3179#issuecomment-468691499
 
 
   @DennisKonrad 
   when apply a new configuration in VR, it will create a file in VR and 
execute the update in VR.
   see code in 
./core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java 
below
   ```
       private ExecutionResult applyConfigToVR(String routerAccessIp, 
ConfigItem c, Duration timeout) {
           if (c instanceof FileConfigItem) {
               FileConfigItem configItem = (FileConfigItem)c;
               return _vrDeployer.createFileInVR(routerAccessIp, 
configItem.getFilePath(), configItem.getFileName(), 
configItem.getFileContents());
           } else if (c instanceof ScriptConfigItem) {
               ScriptConfigItem configItem = (ScriptConfigItem)c;
               return _vrDeployer.executeInVR(routerAccessIp, 
configItem.getScript(), configItem.getArgs(), timeout);
           }
           throw new CloudRuntimeException("Unable to apply unknown configitem 
of type " + c.getClass().getSimpleName());
       }
   ```
   
   json files will be created in server, then scp to VR through 
169.254.X.X/port 3922 on VR.
   then execute /opt/cloud/bin/update_config.py in VR
   json file will be processed in following part
   ```
   def process_file():
       logging.info("Processing JSON file %s" % sys.argv[1])
       qf = QueueFile()
       qf.setFile(sys.argv[1])
       qf.load(None)
   ```
   QueueFile is defined in /opt/cloud/bin/merge.py
   ips.json will be updated if json file contains new ip.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to