aboutsummaryrefslogtreecommitdiffstats
path: root/network/scripts/run-os-net-config.sh
AgeCommit message (Collapse)AuthorFilesLines
2016-12-22Add network_config_hook interface to run-os-net-config.shJames Slagle1-0/+6
run-os-net-config.sh only allows for limited customization of the network configuration in config.json. Namely, it only customizes the bridge_name and interface_name. This will likely not be sufficient for all use cases. This patch adds a generic network_config_hook bash function that will be called if it is defined. The function is an entry point for deployers to write custom code to further influence run-os-net-config.sh. A possible alternative approach would be to pass the server resource into the NetworkConfig template. That would allow running arbitrary SoftwareDeployments on the server before NetworkDeployment is executed. However, the interface of NetworkDeployment is likely still not as flexible as this approach as the inputs are hardcoded in the role template files (role.role.j2.yaml), which are not meant to be modified by deployers. The immediate use case for this work is using os-net-config in our multinode CI jobs where we need to create vxlan tunnels between the nodes and we need to know the local private IP of each node for the tunnel endpoint. As the IP is different for each node, it's not a parameter we could specify in the templates. Change-Id: I26d0ebdaba6fcd3fe885e41ed234eb79a2405228 Implements: blueprint multinode-ci-os-net-config
2016-12-17net-conf: make bridge and interface name optionalDan Prince1-5/+5
Update the run-os-net-config.sh so that we make the bridge_name and interface_name parameters (supplied by the SoftwareConfig) optional. This allows operators to create custom network templates to be used on roles other than compute and controller which appear to be the only two roles which set bridge_name and interface_name parameters. Change-Id: I8997cf8177c1bf0e1f19de5f93dc4e81da1a951f
2016-11-28Apply os-net-config with a script instead of elementDan Prince1-0/+136
Wire in os-net-config via a normal script heat deployment, which has the following advantages: 1. Improved error path, currently o-a-c deployments don't report any errors, thus hang and eventually the deployment times out 2. It's far more hackable from a deployer perspective, e.g it's much easier to change the os-net-config options or include a mapping file 3. Reduces our dependencies on o-a-c (it's only os-net-config and hiera which requires it), although the script does currently still use oac to get the metadata IP. 4. May enable passing os-net-config yaml via a json parameter in future, reducing the need for resource_registry mappings (although we'll have to support that for backwards compatibility) The script used is based directly on 20-os-net-config (from t-i-e at cf94c5e, we can probably improve this now that we have an error path, but for this initial commit it's a straight copy other than the changes to replace o-a-c for rendering the json config file. Co-Authored-By: Steven Hardy <shardy@redhat.com> Change-Id: I0ed08332cfc49a579de2e83960f0d8047690b97a