Hi,

we've been trying to learn how to feed cloud-init with ip addresses, too. If DHCP is disabled in your network, the instance won't get it's eth0 configured and won't be able to query the metadata server. Creating a port before attaching it to a booting instance also doesn't work if no dhcp is running on that network, I just tried that to be sure.

I've tried several ways but I only found one working option. For external networks (or networks without dhcp) we are using config-drive now. Depending on the OpenStack version it could be possible that you'll need cloud-init-0.7.7, we had to fix two issues ourselves in version 0.7.6 to get it working, one of them was a missing default route.

With enabled config-drive the instance doesn't need a configured interface, it's a temporarily mounted drive from where the required information is read by cloud-init. You can either add the option "--config-drive true" in your nova boot call or check the checkbox in Horizon.

To answer your question about ports, you can create a new port either in Horizon, but there you won't be able to assign a specific ip address. If you want a specific ip address you have to call neutron port-create (port-name is optional):

neutron port-create <NETWORK-ID> --fixed-ip subnet_id=<SUBNET-ID>,ip_address=<IP> --name <PORT-NAME>

The resulting ID of that port can be used in nova boot call:

nova boot --flavor 2 --image <IMAGE> --nic port-id=<PORT-ID> <INSTANCE-NAME>

Another way to assign a specific ip address to a booting instance without port-creation (but DHCP has to be enabled) would be:

nova boot --flavor 2 --image <IMAGE> --nic net-id=<NET-ID>,v4-fixed-ip=<IP> <INSTANCE-NAME>

for example:
nova boot --flavor 2 --image dc05b777-3122-4021-b7eb-8d96fdab2980 --nic net-id=4421e160-d675-49f2-8c29-9722aebf03b2,v4-fixed-ip=192.168.124.6 test1

Hope this helps!


Zitat von Satish Patel <satish....@gmail.com>:

My question is how to query ports and pass info to cloud-init?  is
there any document or api which i can call using script and setup
network ifcfg-eth0 file

On Wed, Aug 24, 2016 at 5:38 PM, Kaustubh Kelkar
<kaustubh.kel...@casa-systems.com> wrote:
You can create the ports beforehand and plug them in while creating the instance. As for assigning IP addresses, you can query the ports and pass the information to cloud-init. I am not sure if there is any other way to do this.

Even if DHCP is disabled, OpenStack assigns IP information to ports when a VM is created, and you can see this in your dashboard. The MAC and IP information is used to configure iptables rules within security groups. Here is the archived thread that provides this information: http://lists.openstack.org/pipermail/openstack-dev/2014-December/053069.html.


-Kaustubh

-----Original Message-----
From: Satish Patel [mailto:satish....@gmail.com]
Sent: Wednesday, August 24, 2016 5:05 PM
To: James Downs <e...@egon.cc>
Cc: openstack <openstack@lists.openstack.org>
Subject: Re: [Openstack] Guest VM IP configuration script

I am using neutron networking with vlan ( its provider VLAN). We are not using DHCP but i need some kind of hack to inject IP address in instance using cloud-
init.

We are using cloud-init but i don't know how does it work and get IP from
neutron. I am new with neutron stuff.

On Wed, Aug 24, 2016 at 4:29 PM, James Downs <e...@egon.cc> wrote:
> On Wed, Aug 24, 2016 at 03:25:26PM -0400, Satish Patel wrote:
>> I enabled following in nova.conf on compute node but didn't work :(
>>
>> flat_injected=true
>>
>> Do i need to do anything else?
>
> Are you using flat networking?
> Nova-networks or Neutron?
>
> At this point, if you're not using DHCP, your only option is to arrange to feed the networking information into the metadata for the VM at creation time, and
use someting like cloud-init to configure the networking. The ancient
networking injection stuff has either been removed, or been broken for years.
>
> Cheers,
> -j
>
> _______________________________________________
> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> Post to     : openstack@lists.openstack.org
> Unsubscribe :
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack



--
Eugen Block                             voice   : +49-40-559 51 75
NDE Netzdesign und -entwicklung AG      fax     : +49-40-559 51 77
Postfach 61 03 15
D-22423 Hamburg                         e-mail  : ebl...@nde.ag

        Vorsitzende des Aufsichtsrates: Angelika Mozdzen
          Sitz und Registergericht: Hamburg, HRB 90934
                  Vorstand: Jens-U. Mozdzen
                   USt-IdNr. DE 814 013 983


_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack@lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

Reply via email to