The new master branch should point now to rocky.
So, HOT templates should specify that they might contain features
for rocky release [1]
Also, this submission updates the yaml validation to use only latest
heat_version alias. There are cases in which we will need to set
the version for specific templates i.e. mixed versions, so there
is added a variable to assign specific templates to specific heat_version
aliases, avoiding the introductions of error by bulk replacing the
the old version in new releases.
[1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#rocky
Change-Id: Ib17526d9cc453516d99d4659ee5fa51a5aa7fb4b
OsNetConfigMappings should be case insensitive in
os-net-config-mappings.yaml
This patch casts all MAC addresses to lower case.
Change-Id: Ide18660a3a8063cfdf53500cd727c8f49407b436
Closes-Bug: 1709653
Heat now supports release name aliases, so we can replace
the inconsistent mix of date related versions with one consistent
version that aligns with the supported version of heat for this
t-h-t branch.
This should also help new users who sometimes copy/paste old templates
and discover intrinsic functions in the t-h-t docs don't work because
their template version is too old.
Change-Id: Ib415e7290fea27447460baa280291492df197e54
By using DMI String as identifier, such as 'system-product-name'
or 'system-version' add support for node groups. This allow the
use of a single entry in 'NetConfigDataLookup' to match a group
of systems of the same model, vendor etc.
Try to match on ethernet mac address first, then if no match is
found 'dmiString' and 'id' is used, if the keys are set.
Example:
NetConfigDataLookup:
node1:
nic1: "00:c8:7c:e6:f0:2e"
node2:
nic1: "00:18:7d:99:0c:b6"
node3:
dmiString: 'system-version'
id: 'ThinkPad T460p'
nic1: enp0s31f6
# Dell PowerEdge R630 - nodegroup
nodegroup1:
dmiString: "system-product-name"
id: "PowerEdge R630"
nic1: em3
nic2: em1
nic3: em2
# Cisco UCS B200-M4 - nodegroup
nodegroup2:
dmiString: "system-product-name"
id: "UCSB-B200-M4"
nic1: enp7s0
nic2: enp6s0
Change-Id: Ie2547cd8805c57ed9afe7362eada802580ffc215
Instead of using a specific network interface name, thi fix
fetch all ethernet mac addresses. Then uses this list of
mac addresses to do a check if any entries in the list
match any of the values in NetConfigDataLookup for a node.
If there is a match, the /etc/os-net-config/mapping.yaml
file for the node will be written.
This fix removes the hard coded interface name 'eth0' used
to get a mac address as identifyer for the specific node
before. Using a hard coded interface name such as 'eth0'
would have failed on most hardware because of "consistent
network device names".
Fix Bug: #1642551
Change-Id: I6c1d1b4d70b916bc5d9049469df8221f8ab2eb95
Adds an example of proving a mapping file for all nodes, then
extracting the data for each node based on a lookup of the mac address.
Some assumptions are made (e.g the hard-coded reference to eth0), but
it should be easily modified to suit specific environments.
Usage via an enviroment file will look like:
resource_registry:
OS::TripleO::NodeUserData: os-net-config-mappings.yaml
parameter_defaults:
NetConfigDataLookup:
host1:
nic1: "00:c8:7c:e6:f0:2e"
host2:
nic1: "00:18:7d:99:0c:b6"
Note this version requires liberty heat in the undercloud due to the
use of a new str_replace feature to serialize the json parameter.
Change-Id: I7da9c9d8805e676a383e888a7d77f05d3432ab12