[Openstack] Guest VM IP configuration script

Kaustubh Kelkar kaustubh.kelkar at casa-systems.com
Thu Aug 25 14:14:13 UTC 2016


If you are using VLANs, you can configure the physical switch to not forward frames with VLAN tags (that are used within openstack) out the other ports.

> -----Original Message-----
> From: Satish Patel [mailto:satish.txt at gmail.com]
> Sent: Thursday, August 25, 2016 9:31 AM
> To: Eugen Block <eblock at nde.ag>
> Cc: openstack <openstack at lists.openstack.org>
> Subject: Re: [Openstack] Guest VM IP configuration script
> 
> I am planning to upgrade liberty to mitaka now so hope i will have latest and
> greatest feature to solve this problem. why openstack community doesn't have
> any straightforward solution.
> 
> When i was trying to use DHCP in openstack i found openstack DHCP start
> provide ip address to my existing LAN machines ( we are using flat VLAN with
> neutron), that is why i disable openstack DHCP, Is it common or i am doing
> something wrong?
> 
> We have existing DHCP in out LAN i don't want openstack DHCP take over and
> start assigning own IPs to Provide LAN.
> 
> neutron subnet-create  ext_net --gateway 10.35.1.254 10.35.1.0/24 -- --
> enable_dhcp=True
> 
> On Thu, Aug 25, 2016 at 9:26 AM, Satish Patel <satish.txt at gmail.com> wrote:
> > Eugen,
> >
> > I think config-drive make sense when you don't have initial network in
> > place. In my case i don't care about fixed-IP for instance. I only
> > need to setup network using whatever IP neutron provide in that case
> > how do i query neutron port to find out what IP address is available
> > or neutron going to provide so i can take that information and pass to
> > userdata. Its sounds tricky any idea how to do that?
> >
> > On Thu, Aug 25, 2016 at 2:53 AM, Eugen Block <eblock at nde.ag> wrote:
> >> 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.txt at 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.kelkar at 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.txt at gmail.com]
> >>>>> Sent: Wednesday, August 24, 2016 5:05 PM
> >>>>> To: James Downs <egon at egon.cc>
> >>>>> Cc: openstack <openstack at 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 <egon at 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 at 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 at 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 at 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  : eblock at 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 at 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 at lists.openstack.org
> Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack




More information about the Openstack mailing list