[Users] Fwd: Sample code for setting NIC - CloudInit
Juan Hernandez
jhernand at redhat.com
Thu Feb 20 16:52:31 UTC 2014
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 at redhat.com
> <mailto:jhernand at 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 at redhat.com
> <mailto:masayag at redhat.com>
> > <mailto:masayag at redhat.com <mailto:masayag at redhat.com>>> wrote:
> >
> >
> >
> > ----- Original Message -----
> > > From: "Tejesh M" <tejeshmk at gmail.com
> <mailto:tejeshmk at gmail.com> <mailto:tejeshmk at gmail.com
> <mailto:tejeshmk at gmail.com>>>
> > > To: "Moti Asayag" <masayag at redhat.com
> <mailto:masayag at redhat.com> <mailto:masayag at redhat.com
> <mailto:masayag at redhat.com>>>
> > > Cc: "users at oVirt.org" <users at ovirt.org
> <mailto:users at ovirt.org> <mailto:users at ovirt.org
> <mailto:users at 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 at redhat.com <mailto:masayag at redhat.com>
> > <mailto:masayag at redhat.com <mailto:masayag at redhat.com>>> wrote:
> > >
> > > >
> > > >
> > > > ----- Original Message -----
> > > > > From: "Tejesh M" <tejeshmk at gmail.com
> <mailto:tejeshmk at gmail.com> <mailto:tejeshmk at gmail.com
> <mailto:tejeshmk at gmail.com>>>
> > > > > To: "users at oVirt.org" <users at ovirt.org
> <mailto:users at ovirt.org> <mailto:users at ovirt.org
> <mailto:users at 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.
More information about the Users
mailing list