When specific roles are deployed, for example CephStorage,
then the parameters for UpgradeLeappDevelSkip are different
to all other roles.
This change makes UpgradeLeappDevelSkip a per-role parameter.
Included in this is the appropriate tagging for the other
parameters which had the same work done in:
- https://review.opendev.org/779522
- https://review.opendev.org/774537
Release notes are included for all of the above too.
Related-Bug: rhbz#1962365
Change-Id: I522951cc7ec6034bb6287dd144a9fc433c0090e0
Adds a tag tripleo_role=$ROLE to neutron ports
created by heat.
Related: blueprint network-data-v2-ports
Change-Id: I238572444e2931546d44864b2de497dd2825c2dc
Moving the network and port management for OVN
bridge MAC addresses to ansible.
Removes the heat resources, and adds an external
deploy task at step 0 in the ovn controller service
templates which uses the 'tripleo_ovn_mac_addresses'
ansible module to create/remove OVN mac address ports.
Adds parameter role_specific OVNStaticBridgeMacMappings,
parameter that can be used to set static bridge mac
mappings. When this is set no neutron resources will be
created by the tripleo_ovn_mac_addresses ansible module.
OVNStaticBridgeMacMappings must be used for standalone
deployments.
Implements: blueprint network-data-v2-port
Depends-On: https://review.opendev.org/782891
Depends-On: https://review.opendev.org/783137
Change-Id: I6ce29d2908e76044c55eb96d0d3779fe67ba9169
Add a boolean to allow disk overrides through NodeDataLookup and use
the following hiera data parameters to use device persistent naming for swift:
NodeDataLookup:
"UUID": {
"swift::storage::disks::args": {
"scsi-331402ec012ad6a72": { "base_dir": "/dev/disk/by-id/" },
"scsi-331402ec012ad6a73": { "base_dir": "/dev/disk/by-id/" }
},
"tripleo::profile::base::swift::ringbuilder::raw_disks": [
":%PORT%/scsi-331402ec012ad6a72",
":%PORT%/scsi-331402ec012ad6a73" ]
}
Change-Id: I0afa3283ed8c45f1ee0f44eb9bf9e4050d747a6b
With I57047682cfa82ba6ca4affff54fab5216e9ba51c Heat has added
a new template version for wallaby. This would allow us to use
2-argument variant of the ``if`` function that would allow for
e.g. conditional definition of resource properties and help
cleanup templates. If only two arguments are passed to ``if``
function, the entire enclosing item is removed when the condition
is false.
Change-Id: I25f981b60c6a66b39919adc38c02a051b6c51269
Adds a tag tripleo_default_route=$BOOL to neutron ports
created by heat indicating if the ports interface is
used for the default route.
The value is controlled by the 'default_route_networks'
in roles data.
With network-data-v2 the same tag will be used to
set up ansible vars appropriately. Having the heat driven
process add the tag can be useful for upgrade/migration
automation.
Related: blueprint network-data-v2-ports
Change-Id: I20d48b3a29193dbcb70ec5cb13daf153bb0aeff2
This change restores the PreNetworkConfig resources, so that we migrate
back ExtraCnfigPre and NodeExtraConfig from pre network configurations
to post network configurations, to be consistent with older version
depending on Heat software deployments instead of config download.
Depends-on: https://review.opendev.org/772303
Closes-Bug: #1907214
Change-Id: I96e7e4c570839cfba6011788464d8e93925b2f01
Set tag's with the stack name and the hostname
on composable network node ports. The tags will
be used by network-data-v2 with port management
handled outside of heat.
Change-Id: I23c600c1754d463028259a7dc2c6e5538c512ca4
For each role create a network config resource
{role.name}}NetworkConfig. Remove per node
NetworkConfig resource from puppet/role.role.j2.yaml.
NOTE: CI nic config templates was updated with using
tools/merge-new-params-nic-config-script.py
Depends-On: https://review.opendev.org/753930
Change-Id: Iff4bf742947a5a8170938372a8075519850b6f63
This patch changes undercloud and standalone roles to
generate network config with only ansible and
not depend on downloaded network config from
heat stack.
Depends-On: https://review.opendev.org/#/c/753958/
Change-Id: Ibcb0f0a65cfd04d677a4b861d9f647af13611b24
This removes the run-os-net-config.sh script and uses
OS::Heat::Value for the NetworkConfig resources.
Depends-On: https://review.opendev.org/#/c/751713/
Change-Id: Ic3a0234d36525cdd6f415c77733d05a39bbeb3c2
Since GroupVars moved to overcloud.j2.yaml in
https://review.opendev.org/677218 the CIDR set in
'{{network.name_lower}}_cidr' in groupvars is limited
to one of the subnets on the network.
When a network have multiple subnets with different
subnet prefixes, this becomes a problem as nodes are
configured with the from subnet mask.
This change moves them to AnsibleHostVars.
Closes-Bug: #1895899
Change-Id: I4e4e5b1195d17f59c825a3f7df73920921e1f86e
We've long supported the ability to deploy rpms or tar.gz to a system
during deployment. It currently is a shell script so let's convert it to
an ansible module.
Change-Id: Id30f89cf261b356f25a93e5df5550e9dfb08f808
Depends-On: https://review.opendev.org/#/c/748757/
For distributed vlan in ovn we need to add support of
creating mac addresses per compute and seting them in
external_ids:ovn-chassis-mac-mappings.
This change passes the ovn::controller::ovn_bridge_mappings
to the role node configuration so that ports for each
bridge mapping can be created. The map of physnet/mac_address
pairs is placed in the role output, and in RoleGroupVars.
Related-Bug: #1881593
Change-Id: If24653b629e39b6dd7ec6d09ae0ef32d7842c48f
This removes a resource and the the unnecessary yaql function.
Also replaces json data types with lists to reduce memory
footprint.
Change-Id: I04a6114ca3d2703ca2891d6807d49b78ffee0f97
Related-Bug: #1886203
Use of python print() should work with both py2 and py3 but
without it script execution fails on py3
Change-Id: Ifdf4426bf27ffa82f4c2096d2a1670b996b1f53c
Closes-Bug: 1877378
Neutron's dns_assignments field includes a nice pice of
structured data. This is a prerequirement for Designate
usage. (No plan's to use that, but being a bit ready
does'nt hurt.)
{"hostname": "my-vm",
"ip_address": "192.0.2.16",
"fqdn": "my-vm.example.org."}
Enable for the undercloud:
- dns_domain_ports ml2 extension driver
Change-Id: I46eb9a24dd66821b27524fe4d1fdab617b6fa948
This simplifies all the split/join transformations and improves the
memory footprint to a reduced list of unique entries for
HostsEntryValue (originally required for storing the ultimate data for
hosts entries in a form of a quite long single-line string value).
That improves the hosts entries processing for large scale deployments
and removes possible limitations to the sizes of strings.
Closes-bug: #1869375
Change-Id: I5ac498621e9e3c49def565744a7b521cb2cc5c25
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
PreNetworkConfig resource was required to support host changes
before network deployment (for OvS-DPDK). As the required steps
has been migrated to ansible deploy_steps with 'step: 0', this
resources is no longer required.
Change-Id: I11a8ec280b4f5c33b6061a96cb546b4760a45b3a
This patch updates the templates to use the new ansible role,
tripleo-hosts-entries, for managing the entries in /etc/hosts instead of
the values from the Heat stack.
Change-Id: I606e0f27f9f9ae9d85bc0fc653f8985eb734d004
Depends-On: Ia02ca1263590e2b579f2534e99119d7b1cd4b39a
_role_net_subnet contains the name of the subnet, so
_role_net_subnet.vlan will not return the correct configured
vlan id. This change uses network.subnets[_role_net_subnet].vlan
to get the configured vlan id.
Change-Id: Ifef98f45a57af508d7302584aa52eedd45316edd
Closes-Bug: #1840054
These endpoints won't exist on the undercloud in the U cycle, and this
sort of check overlaps with tripleo-validations anyway. This change
also removes the disable_constraints roles data attribute as there is
no longer anything to disable.
Possibly this means deployed-server/deployed-server-roles-data.yaml is
no longer required because it only exists to set
disable_constraints:true (although it lags roles_data.yaml by quite a
lot now)
It looks like tripleo-validations has checks for flavor and image
already, but not keypair. It is unlikely users stray from the
'default' keypair so it is probably fine to not have a validation of
this for the Train release.
Change-Id: Id6146bfdc124e6e3e64ee7caea3ddeb2552bfa71
Blueprint: nova-less-deploy
Migrates the NetworkConfig resource to use ansible vars as the values
for Heat parameters for the IP and subnet cidr. This makes it so that
the nic config template value coming out of Heat is generic per role.
The same nic config can then be used for any node of that role type by
Ansible, and the Ansible vars will be resolved at config-download
runtime.
Change-Id: I7e85dabd42ccb348ea27825d03c08157222956a1
Adds a group var for {{network.name_lower}}_cidr for each role. Using
the lowecase name will make it more consistent with the lowercase
network names for the IP addresses.
Also removes the {{network.name}}_cidr output from role.role.j2.yaml as
those values have already been included the group vars.
Change-Id: Ib660c2dd25e2207f51439ec6b9c59b6e88eb23f8
Now that we do all node configurations using config-download,
this interface is not useful anymore.
Change-Id: Ifffaff6f044e334491b8f00cc6c6c8779d7bf7e5
The plugin isn't well maintained and we have zero feedback on how it is
working, therefore we are removing it from the tree; and a composable
service can be added out of tree later if needed.
Change-Id: Ibbcf0316aebd6c1ca87f510f5aa4c4b44941ed88
The plugin doesn't have maintainers nor testing in recent releases,
let's remove it from the tree; and a composable service can be added
later if needed, out of tree.
Change-Id: I7edc7d1c817c5577a11effc6732fb3797574ebac
Instead of writing a set of vars to hieradata_vars.yaml and then passing
that into tasks with vars_files, just set the data as group vars.
This makes for a simpler interface without having to remember to pass in
the data with vars_files on any task/play that might require them.
Change-Id: I851d9404861d55791bde1346c58bc1c94f591569
Migrate to using the template mode of the tripleo-ssh-known-hosts role.
Detailed Changes:
common/deploy-steps.j2:
Remove ssh_known_hosts_hostnames parameter
Remove ssh_known_hosts variable in config-download output
Set tripleo_ssh_known_hosts_use_template var to true when including
the tripleo-ssh-known-hosts role to activate template mode.
extraconfig/tasks/ssh/host_public_key.yaml:
Template removed as it was deprecated and is no longer used.
extraconfig/tasks/ssh/known_hosts_config.yaml:
Template removed as it was deprecated and is no longer used.
overcloud-resource-registry-puppet.j2.yaml:
Mappings for Ssh known hosts resources removed
overcloud.j2.yaml:
Resources removed: SshKnownHostsConfig, SshKnownHostsHostnames,
{{role.name}}SshKnownHostsDeployment
Removed passing in ssh_known_hosts_hostnames parameter to
common/deploy-steps.j2
puppet/role.role.j2.yaml:
Removed SshHostPubKey and SshKnownHostsHostnames resources
Removed known_hosts_entry and known_hosts_hostnames stack outputs
Add role_networks to set Ansible group vars which is a list of enabled
networks for the role
Change-Id: I10d0de42acc0b88b7947b464e976b5d0b9067ca2
The service_names isn't useful anymore:
- hiera('service_names') has been replaced by hiera('enabled_services')
- sensu::subscriptions moved under the {{role.name.lower()}}_extraconfig
hieradata file.
This is part of the effort which aims to reduce the number of hieradata
files.
Depends-On: I457f2c81a2cf6cc2f42dc4585b41b0d91dacc059
Change-Id: I22081888541e059cd9f258d15990f58df78c38d2
Closes-Bug: #1835551
Migrates these hieradata files to use the cloud_domain and fqdn
templates from tripleo-hieradata. The templates have more meaningful
names to actually represent the data that these hieradata files contain.
Detailed changes:
common/deploy-steps.j2:
Add parameter for CloudDomain and add it to the Ansible global vars
Remove the Per-host hieradata tasks and parameters as they are no longer used
Add cloud_domain and fqdn to list of templates for tripleo-hieradata
overcloud.j2.yaml:
Add role_networks to HieradataVars for each role
Replace {{role}} and host_extraconfig from hieradata hierarchy with
cloud_domain and fqdn.
puppet/role.role.j2.yaml:
Remove {{role}} hieradata from hieradata Datafiles as the template is
now used instead.
Remove per host hieradata resources and output as they are no longer
used.
Depends-On: I9c038399fccc4730b73e1a52281d7256ea689ee9
Change-Id: I136fb7aa864a2a3668f5a3845f3ded28b13bfe43
Migrates the net_ip_map hieradata from Heat to the tripleo-hieradata
role.
Detailed changes:
network/ports/port.j2:
cidr output added for the network subnet cidr of the port
port for a role
network/ports/noop.yaml:
cidr output for compatiblity with port template interface
puppet/role.role.j2.yaml:
{{network.name}}_cidr output added for the each networks subnet cidr
Remove the net_ip_map hieradata from the per host datafiles generated
by Heat as tripleo-hieradata template will be used instead.
overcloud.j2.yaml:
consume cidr outputs from the roles, as well as the ctlplane subnet
cidr and set them as hieradata vars that get passed into the
templating process for tripleo-hieradata
common/deploy-steps.j2:
Add a networks data structure to the global vars setting some needed
vars for tripleo-heiradata.
Use the net_ip_map template from tripleo-hieradata
Change-Id: Ib30e8347e1a50efec2b6a97482dc98c383cb7cf7
Depends-On: Iaec3654900f250eacf39c7748df166b716937358
Since https://review.opendev.org/656581 is merged (and the revert,
reverting the revert ...) there is no metadata service running.
This change removes all things related to setting up routes
to the metadata service, i.e the EC2MetadataIp. As well as NAT
firewall redirect rule used only on the undercloud but disabled
by default.
Blueprint: nova-less-deploy
Change-Id: Ic4ea74b45c566048e32dde82d2bf00498f932af6
Those are hidden resource types in heat. Changing these types
would not result in replacement of the resources.
Change-Id: I22d23a8f187263bd36e364f0cd3301c830f3220b
Migrates the vip_data hieradata to the tripleo-hieradata role which will
use a jinja2 template to create this file on the deployed nodes. Allows
for removing the AllNodesConfig resource/template completely.
Change-Id: I5412f26423a1739088f12705fa47bac2377b9817
Depends-On: Iaf91f36a189d8e00627c21f14ca992a4d60fa10f
Migrate the generation of the all_nodes hieradata from Heat to using the
tripleo-hieradata role instead.
Change-Id: I9a37d1faec73a81a28d8f89d86375fb15ee765c7
Depends-On: I6e1e1c28dc09c9e04119db910068d62409a5afc8
Instead of generating and saving the hieradata in the bootstrap_node
hieradata file in Heat, use the tripleo-hieradata role instead.
Change-Id: Id6a7b10acc65ca6cd2135796a80fad0723078871
Depends-On: I9ccccbfee44fc7c1375dec7357ccad6cba909c16
Replace the Heat resources which used to manage the hiera config file
and now use Ansible with the new tripleo-hieradata role.
Remove {{server_resource_name}}Deployment and
{{server_resource_name}}Config resources not needed anymore.
Change-Id: I88fe3460af93b83cc086afeb1c2b959bbb720470
implements: blueprint reduce-deployment-resources
Depends-On: Ia5f11ea1a2f16b736ed7053c5182c7f5a7eb1f4b
Use the new tripleo-hieradata Ansible role to configure
the remaining Hieradata files that were created by Heat before.
{{server_resource_name}} isn't yet fully converted to Ansible, and
another patch will remove the resource when Ansible controls the
hiera.yaml file in /etc/puppet/hieradata.
Change-Id: Ib946b566d66300d23e7abc12498cc11d3f5fa5f8
implements: blueprint reduce-deployment-resources
The new AnsibleHostVarsMap output is a map of roles to Ansible host
vars, which later will be in config-download and populate the Ansible
host vars for each host in each role.
Change-Id: I3880f0f72beb24ee0b0868dca48afce6328144d3