
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 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 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>")); 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>> wrote:
----- Original Message ----- > From: "Tejesh M" <tejeshmk@gmail.com <mailto:tejeshmk@gmail.com>> > To: "Moti Asayag" <masayag@redhat.com <mailto:masayag@redhat.com>> > Cc: "users@oVirt.org" <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>> wrote: > > > > > > > ----- Original Message ----- > > > From: "Tejesh M" <tejeshmk@gmail.com <mailto:tejeshmk@gmail.com>> > > > To: "users@oVirt.org" <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> </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.