Created Jira bug against this, was going to submit a UI patch:
https://issues.apache.org/jira/browse/CLOUDSTACK-3754

-Soheil
________________________________________
From: Soheil Eizadi [seiz...@infoblox.com]
Sent: Tuesday, July 02, 2013 6:36 PM
To: dev@cloudstack.apache.org
Subject: DNS Network Domain

I found that the DNS Network Domain set for Basic Networking is not getting 
passed down to Network Plugins. I am trying to figure out how DNS Network 
Domain is suppose to work for my plugin integration.

I was getting a NULL value for Basic Networking for the DNS Domain even though 
I had set a value for it in the Wizard. After I set the value in the database, 
it seems to be working but wanted to understand why it was not set,I found code 
in the system that enforces this behavior, when I try to set it from the API.
-Soheil

More detail logs .....

 The Domain is set in the Zone Setting to acme.com:
> list zones
count = 1
zone:
name = testzone
..
domain = acme.com
..

It does not get passed down to the attached network.

API call "list networks" missing networkdomain field as it is NULL.

> list networks
count = 1
network:
id = 1065fff0-a6e2-410a-94d5-50bc72f879db
name = defaultGuestNetwork
acltype = Domain
broadcastdomaintype = Native
.....


I also tried to set it using API to set the value but get exception:

ERROR [cloud.async.AsyncJobManagerImpl] (Job-Executor-20:job-20) Unexpected 
exception while executing 
org.apache.cloudstack.api.command.user.network.UpdateNetworkCmd
com.cloud.exception.InvalidParameterValueException: NetworkOffering and domain 
suffix upgrade can be perfomed for Isolated networks only
at 
com.cloud.network.NetworkServiceImpl.updateGuestNetwork(NetworkServiceImpl.java:1982)
at 
com.cloud.utils.component.ComponentInstantiationPostProcessor$InterceptorDispatcher.intercept(ComponentInstantiationPostProcessor.java:125)

Exception from here:


        // network offering and domain suffix can be updated for Isolated 
networks only in 3.0

        if ((networkOfferingId != null || domainSuffix != null) && 
network.getGuestType() != GuestType.Isolated) {

            throw new InvalidParameterValueException("NetworkOffering and 
domain suffix upgrade can be perfomed for Isolated networks only");

        }


I've patched the database and it works for me, trying to understand why we have 
code to prevent it?


> list networks

count = 1

network:

id = 1065fff0-a6e2-410a-94d5-50bc72f879db

name = defaultGuestNetwork

...

networkdomain = acme.com

....


INFO  [network.element.InfobloxElement] (consoleproxy-1:) InfobloxDeviceElement 
called to prepare Host Name soheil-test with DNS Domain acme.com Gateway null 
Netmask null with MAC 06:97:84:00:00:16 with IPv4 172.16.197.161

Reply via email to