
On 02/20/2014 05:09 PM, Tejesh M wrote:
I'm using rhevm 3.3 java sdk,which doesn't have NetworkConfiguration class.
In that case you will have to use CloudInit.Network. That was an error in that version of the SDK, which will be fixed with the next release.
On 20 Feb 2014 20:58, "Juan Hernandez" <jhernand@redhat.com <mailto:jhernand@redhat.com>> wrote:
On 02/20/2014 10:40 AM, Tejesh M wrote: > I wrote this code to assign IP address to VM interface eth0, but not > luck. Also, have attached debug log. >
I'm attaching a complete examaple of how to do this. However, I think that setting the DNS information doesn't currently work. Apparently cloud-init is expecting a network configuration containing the DNS settings inside the network interface, something like this:
iface eth0 inet static dns-nameservers 1.1.2.2 1.2.3.4 dns-search google.com <http://google.com> address 192.168.1.102 netmask 255.255.0.0 gateway 192.168.2.1 auto eth0
But we actually pass them outside of the network interface, like this:
dns-nameservers 1.1.2.2 1.2.3.4 dns-search google.com <http://google.com> iface eth0 inet static address 192.168.1.102 netmask 255.255.0.0 gateway 192.168.2.1 auto eth0
I need to check it.
> _*Java Code:*_ > org.ovirt.engine.sdk.entities.User userData = new User(); > userData.setUserName("root"); > userData.setPassword(password); > Users usersData = new Users(); > usersData.getUsers().add(userData); > CloudInit cloudData = new CloudInit(); > > > cloudData.setUsers(usersData); > Host hostData = new Host(); > hostData.setAddress(vmName); > cloudData.setHost(hostData); > > org.ovirt.engine.sdk.entities.CloudInit.Network > networkConfiguration=new org.ovirt.engine.sdk.entities.CloudInit.Network(); > > DNS dns = new DNS(); > dns.setServers(createServersList("1.1.2.2", "1.2.3.4")); > dns.setSearchDomains(createServersList("google.com <http://google.com> > <http://google.com>")); > networkConfiguration.setDns(dns); > networkConfiguration.setNics(new Nics()); > > Nics nics = networkConfiguration.getNics(); > nics.getNics().add(createNic("eth0", "STATIC", > createNetwork("192.168.1.102", "255.255.0.0", "192.168.2.1"), true)); > > networkConfiguration.setNics(nics); > > cloudData.setNetwork(networkConfiguration); > > Initialization initData = new Initialization(); > > initData.setCloudInit(cloudData); > > VM vmDataForStart = new VM(); > vmDataForStart.setInitialization(initData); > Action actionData = new Action(); > actionData.setVm(vmDataForStart); > > // Send the request to start the VM to the server: > api.getVMs().get(vmName).start(actionData); > > > > > > > On Thu, Feb 20, 2014 at 1:39 PM, Moti Asayag <masayag@redhat.com <mailto:masayag@redhat.com> > <mailto:masayag@redhat.com <mailto:masayag@redhat.com>>> wrote: > > > > ----- Original Message ----- > > From: "Tejesh M" <tejeshmk@gmail.com <mailto:tejeshmk@gmail.com> <mailto:tejeshmk@gmail.com <mailto:tejeshmk@gmail.com>>> > > To: "Moti Asayag" <masayag@redhat.com <mailto:masayag@redhat.com> <mailto:masayag@redhat.com <mailto:masayag@redhat.com>>> > > Cc: "users@oVirt.org" <users@ovirt.org <mailto:users@ovirt.org> <mailto:users@ovirt.org <mailto:users@ovirt.org>>> > > Sent: Thursday, February 20, 2014 8:52:52 AM > > Subject: Re: [Users] Fwd: Sample code for setting NIC - CloudInit > > > > I'm not getting below class: > > > > import org.ovirt.engine.sdk.entities.*NetworkConfiguration*; > > Which version of ovirt-engine-sdk-java are you using ? > > I used ovirt-engine-sdk-java-3.4.0.1-1, added to my project's pom.xml: > > <dependency> > <groupId>org.ovirt.engine.sdk</groupId> > <artifactId>ovirt-engine-sdk-java</artifactId> > <version>3.4.0.1-1</version> > <type>jar</type> > <scope>compile</scope> > </dependency> > > > > > > > On Thu, Feb 20, 2014 at 4:11 AM, Moti Asayag <masayag@redhat.com <mailto:masayag@redhat.com> > <mailto:masayag@redhat.com <mailto:masayag@redhat.com>>> wrote: > > > > > > > > > > > ----- Original Message ----- > > > > From: "Tejesh M" <tejeshmk@gmail.com <mailto:tejeshmk@gmail.com> <mailto:tejeshmk@gmail.com <mailto:tejeshmk@gmail.com>>> > > > > To: "users@oVirt.org" <users@ovirt.org <mailto:users@ovirt.org> <mailto:users@ovirt.org <mailto:users@ovirt.org>>> > > > > Sent: Wednesday, February 19, 2014 3:24:40 PM > > > > Subject: [Users] Fwd: Sample code for setting NIC - CloudInit > > > > > > > > Hi, > > > > > > > > Can someone share me sample java code for assigning IP address > for VM on > > > eth0 > > > > through Java SDK via CloudInit ? > > > > > > > > > > Hi Tejesh, > > > > > > I've attached a sample code that sends the required request (as > the output > > > is demonstrated in debug mode). > > > Note that the code is jdk-7 compliant. > > > I haven't configured cloud-init and haven't tested it end-to-end. > > > Please try to test it on your environment and provide a feedback > for it. > > > > > > Thanks, > > > Moti > > > > > > > Something Like this but in Java: > > > > <network_configuration> > > > > <nics> > > > > <nic> > > > > <name>eth0</name> > > > > <boot_protocol>STATIC</boot_protocol> > > > > <network> > > > > <ip address="192.168.2.11" netmask="255.255.0.0" > > > > gateway="192.168.2.1" /> > > > > </network> > > > > <on_boot>true</on_boot> > > > > </nic> > > > > <nic> > > > > <name>eth1</name> > > > > <boot_protocol>DHCP</boot_protocol> > > > > </nic> > > > > <nic> > > > > <name>eth2</name> > > > > <boot_protocol>NONE</boot_protocol> > > > > <on_boot>true</on_boot> > > > > </nic> > > > > </nics> > > > > <dns> > > > > <servers> > > > > <host> > > > > <address>1.1.2.2</address> > > > > </host> > > > > <host> > > > > <address>1.2.3.4</address> > > > > </host> > > > > </servers> > > > > <search_domains> > > > > <host> > > > > <address>qa.lab</address> > > > > </host> > > > > <host> > > > > <address> google.com <http://google.com> <http://google.com> </address> > > > > </host> > > > > </search_domains> > > > > </dns> > > > > </network_configuration>
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.
-- Dirección Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3ºD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid – C.I.F. B82657941 - Red Hat S.L.