[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