Naming with dashes is causing issues on CentOS,
because glean is called with interface br/xxx instead
of br-xxx due some naming translation.
Also interface name and vlans can differ on environments,
causing all puppet modules to change their naming. Instead of
depending on vlan or nic to configure bridge name, add the
ability to pass that name as a parameter, and likely set
to br_infracloud on our deployments.
At the moment, leaving the default naming to do not break
existing cloud deployment.
Change-Id: I0790bab2fd63f525e8b9c8d47ee79ea63a72750a
We cannot use naming with br-xxx because it is translated
to br/xxx when passed to glean, causing it to fail.
As a temporary workaround until https://review.openstack.org/368692
lands, use br_xxx naming for not debian/ubuntu (to avoid
crashing current deploys of infracloud)
Change-Id: I6a511bef0b262e40981abfc46bb5c60865fde566
According to documentation, the proper way to start a service
after the network comes up, is add After and Wants on the
default file.
Change-Id: Ibf252426210fcb1716dae918266d988a36ccbbb6
Per documentation on RHEL side, the proper way
to activate the bridge, is full restarting the
network service.
Change-Id: I61564b3c39b169f9de13dd2297210a2348f448e2
Use platform module to detect distro, and refactor the
create_bridge code to support it.
Add a create_bridge unit definition to be used in systemd
Change-Id: I71e1a0a3d10bd6946c12d1e2477fb88b2f10f4e1
Currently, the infra-cloud-bridge element expects the VLAN device
being the first interface on the config drive links section.
That used to work, but in my testing it seems that due to some
changes in Glean that's no longer the case and the VLAN is after
the physical device.
Try to be more smart by searching the VLAN device if exists and create
the bridge on it, otherwise just fallback to the physical device.
Change-Id: I028ce200c0cc7d30b2ebb3a159d26005a06021f0
It was configuring the bridge each time, and needs to be
called only once. Also, optimize code to reuse conditionals and
vars.
Change-Id: I17648b28803b4dfc2507af7fa0553eb17e487ebd
Add class to manage bifrost:
- clones bifrost from source
- adds config files
- runs bifrost install procedure
- runs custom ansible playbook to generate static dhcp inventory
- starts an additional dnsmasq instance and runs it like a service
Based on the ironic::bifrost class[1] but with some modifications to
avoid heavy reliance on the puppet DSL.
Co-Authored-By: Clint Byrum <clint@fewbar.com>
Co-Authored-By: greghaynes <greg@greghaynes.net>
Co-Authored-By: Ricardo Carrillo Cruz <ricardo.carrillo.cruz@gmail.com>
Co-Authored-By: Yolanda Robla <info@ysoft.biz>
[1] http://git.openstack.org/cgit/openstack/puppet-ironic/tree/manifests/bifrost.pp
Change-Id: I949344c16cf9ee3965b0bc96850eb208ac65b168
This will grab the content present on config drive, and
will create a bridge in top of network interface.
Change-Id: I7b6788ad2640650329d80114439d731d51dab340