[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-9401?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15469383#comment-15469383
 ] 

ASF GitHub Bot commented on CLOUDSTACK-9401:
--------------------------------------------

Github user jburwell commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1578#discussion_r77755263
  
    --- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/guru/NuageVspGuestNetworkGuru.java
 ---
    @@ -242,6 +256,44 @@ public void reserve(NicProfile nic, Network network, 
VirtualMachineProfile vm, D
                     throw new IllegalStateException("The broadcast URI path " 
+ network.getBroadcastUri() + " is empty or in an incorrect format.");
                 }
     
    +            HostVO nuageVspHost = 
getNuageVspHost(network.getPhysicalNetworkId());
    +            VspNetwork vspNetwork = 
_nuageVspEntityBuilder.buildVspNetwork(network, false);
    +
    +            // Set flags for dhcp options
    +            boolean networkHasDns = networkHasDns(network);
    +
    +            Map<Long, Boolean> networkHasDnsCache = Maps.newHashMap();
    +            networkHasDnsCache.put(network.getId(), networkHasDns);
    +
    +            // Determine if dhcp options of the other nics in the network 
need to be updated
    +            if (vm.getType() == VirtualMachine.Type.DomainRouter && 
network.getState() != State.Implementing) {
    +
    +                // Update dhcp options if a VR is added when we are not 
initiating the network
    +                if(s_logger.isDebugEnabled()) {
    +                    s_logger.debug(String.format("DomainRouter is added to 
an existing network: %s in state: %s", network.getName(), network.getState()));
    +                }
    +                List<VspDhcpVMOption> dhcpOptions = Lists.newLinkedList();
    +                for (NicVO userNic 
:_nicDao.listByNetworkId(network.getId())) {
    +                    if (userNic.getVmType() != 
VirtualMachine.Type.DomainRouter) {
    +                        boolean defaultHasDns = 
getDefaultHasDns(networkHasDnsCache, userNic);
    +                        
dhcpOptions.add(_nuageVspEntityBuilder.buildVmDhcpOption(userNic, 
defaultHasDns, networkHasDns));
    +                    }
    +                }
    +
    +                if (!dhcpOptions.isEmpty()) {
    +                    UpdateDhcpOptionVspCommand cmd = new 
UpdateDhcpOptionVspCommand(dhcpOptions, vspNetwork);
    +                    Answer answer = 
_agentMgr.easySend(nuageVspHost.getId(), cmd);
    +
    +                    if (answer == null || !answer.getResult()) {
    +                        s_logger.error("UpdateDhcpOptionVspCommand failed 
at \"reserve\" for network " + vspNetwork.getName());
    +                        if ((null != answer) && (null != 
answer.getDetails())) {
    +                            s_logger.error(answer.getDetails());
    +                        }
    +                        throw new 
InsufficientVirtualNetworkCapacityException("Failed to reserve VM in Nuage 
VSP.", Network.class, network.getId());
    +                    }
    +                }
    +            }
    --- End diff --
    
    Consider extracting lines 262-295 to a separate method such as 
``updateDhcpOptions`` to reduce the size of this method and increase 
readability.


> Nuage VSP Plugin : Support for InternalDns including Marvin test coverage
> -------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-9401
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9401
>             Project: CloudStack
>          Issue Type: Task
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Automation, Network Controller
>            Reporter: Rahul Singal
>            Assignee: Nick Livens
>
> Supporting Internal Dns by using Dns service provider as Virtual Router but 
> Dhcp provider will be NuageVsp. The idea is here is to keep using Internal 
> Dns service of cloudstack when network provider is some other vendor.
> A sample network offering will be like below one:-
> Service                       Provider
> DHCP                         NuageVsp
> DNS                            VirtualRouter/VpcVirtualRouter
> UserData                    VirtualRouter/VpcVirtualRouter
> Virtual Networking       NuageVsp
> SourceNat                   NuageVsp
> StaticNat                     NuageVsp
> NetworkAcl/Firewall    NuageVsp
> Testrun:-
> Verify InternalDns on Isolated Network ... === TestName: 
> test_01_Isolated_Network_with_zone | Status : SUCCESS ===
> ok
> Verify InternalDns on Isolated Network with ping by hostname ... === 
> TestName: test_02_Isolated_Network | Status : SUCCESS ===
> ok
> Verify update NetworkDomain for InternalDns on Isolated Network ... === 
> TestName: test_03_Update_Network_with_Domain | Status : SUCCESS ===
> ok
> Verify update NetworkDomain for InternalDns on Isolated Network with ping VM 
> ... === TestName: test_04_Update_Network_with_Domain | Status : SUCCESS ===
> ok
> Verify InternalDns on VPC Network ... === TestName: 
> test_05_VPC_Network_With_InternalDns | Status : SUCCESS ===
> ok
> Verify InternalDns on VPC Network by ping with hostname ... === TestName: 
> test_06_VPC_Network_With_InternalDns | Status : SUCCESS ===
> ok
> ----------------------------------------------------------------------
> Ran 6 tests in 5736.562s
> OK
> cloudstack$ pep8 --max-line-length=150 test_internal_dns.py
> cloudstack$  pyflakes test_internal_dns.py
> cloudstack$



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to