Commit Graph

332 Commits

Author SHA1 Message Date
Ghanshyam Mann c2ff9b8f49 Retire Tripleo: remove repo content
TripleO project is retiring
- https://review.opendev.org/c/openstack/governance/+/905145

this commit remove the content of this project repo

Change-Id: I7f1dc7801a025d9bb28110f74340846b99870b79
2024-02-24 11:43:13 -08:00
Takashi Kajinami 3df912576b Inject VipPortMap to ansible group vars
The DeployedServer parameter was already deprecated[1]. This adds
the VipPortMap parameter, which is now used to define vips, into
ansible group vars. Currently this is required so that standalone
deployment process can loop up the additional ip passed by
the --public-virtual-ip option.

[1] 26be317990

Change-Id: I29b7ed036d0775d6cb98c6dc40cfde407c46fbbe
2022-10-31 10:24:09 +09:00
Takashi Kajinami b6b38bce0f Use deployed server by default
This is the prep-work to drop the deployed-server-environment.yaml and
makes sure the deployed server is used by default.

Note that this change also makes the ControlPlanePort resource type
default to the deployed neutron port, because the port should be
pre-provisioned as part of baremetal node deployment process.

Change-Id: I03500eb2b4a6302f35aa71ae2f81bfd0c0bf064f
2022-10-20 12:50:44 +09:00
Takashi Kajinami 2090ef676f Drop legacy networking resources
This change removes the resources and implementations for the legacy
networking method by OS::TripleO::{{role.name}}::Net::SoftwareConfig
resource types, because now the new ansible implementation is used by
default.

Depends-on: https://review.opendev.org/c/openstack/tripleo-ansible/+/859517
Depends-on: https://review.opendev.org/c/openstack/tripleo-common/+/859518
Change-Id: I74040e12503961d286a00b9e011831e77cac835b
2022-09-29 09:40:53 +09:00
Rajesh Tailor 6861fb324b Fix typos in comments and parameter descriptions
This change fixes typos in comments, parameter descriptions
and ansible task names.

Change-Id: I82b67ca834077b66ebd71744face3bba0b43da2f
2022-08-03 17:07:11 +05:30
Takashi Kajinami 34a2e1ebc9 Remove parameters/resources for undercloud Nova
This change removes the following parameters, which were used by
undercloud Nova.
 - KeyName
 - Overcloud{{role.name}}Flavor
 - {{role.name}}SchedulerHints
 - {{role.name}}Image

This also removes the NodeUserData resource because it depends on
cloud-init and nova metadata and is no longer used since Nova was
removed from baremetal node provisioning.

Finally, this change makes deployed server method used by default, and
removes remaining implementation to keep the resource compatible with
OS::Nova::Server.

Change-Id: I571b401ab2ca3c77352f4849eb2b99de20292032
2022-07-07 20:34:13 +09:00
Harald Jensås 7f6a4b4385 Filter empty string in PingTestGatewayIPsMap yagl
When using `ManageNetworks: false` the gateway IPs are
empty string instead of `null` when not set. The YAQL
expression filters `null` values, but the empty string
value is included in the list. The ping gateway test end
up trying to run "ping $args $empty_string" which fails.

This change improves the yaql expression to also filter
strings with 0 lenght.

Closes-Bug: #1973866
Change-Id: I7d8712223d077ab8e25239b891bd03a1324e01a8
2022-05-18 09:38:33 +02:00
Zuul 39731d9844 Merge "Add AdminPassword and KeystoneRegion stack outputs" 2022-05-02 16:19:53 +00:00
Zuul 6fb173e590 Merge "Define frontend firewall rules separately" 2022-04-29 15:38:00 +00:00
James Slagle 4d91ad67fc Add AdminPassword and KeystoneRegion stack outputs
AdminPassword and KeystoneRegion need to be added as a stack outputs so
that they are saved in the working directory for stack outputs after
using ephemeral Heat to create the stack.

The code to create the rc params to create the overcloudrc file(s)
(tripleoclient.utils.get_rc_params) can then create the overcloudrc
using only the working directory. No reference to the stack object or a
running instance of Heat to query the stack would be required.

Change-Id: Idaef781163c6c8f5928d93d9bbc1aa7b0dee6fd6
Signed-off-by: James Slagle <jslagle@redhat.com>
2022-04-28 09:14:57 -04:00
Takashi Kajinami a3dd023773 Define frontend firewall rules separately
This change ensures that firewall rules for haproxy endpoints are
enabled properly even when haproxy and api services are running in
different nodes.

With this change, firewall rule for ssl endpoints are removed from base
firewall rules because these ports are used by haproxy and not used by
api services.

Also, the adhoc implementation to run firewall configurations first is
refactored by the new host_firewall_tasks key. This allows us to
implement tasks to configure firewall in the corresponding resource
template.

Closes-Bug: #1961799
Depends-on: https://review.opendev.org/831547
Change-Id: I07ceab077f9a900f7e2e35af8acd3e7a337ed01a
2022-04-28 04:23:41 +00:00
Harald Jensås 42506f635d Deprecate DnsServers THT parameter
We have used the dns_nameservers from the subnets for
a long time by default: https://review.opendev.org/579582

With network config being applied prior to creating the heat
stack we cannot use a THT parameter to feed the input for
node network configuration. In Wallaby and later the nameservers
must be defined in undercloud.conf using:
  'DEFAULT/undercloud_nameservers'

or

  '%SUBNET_SECTION%/dns_nameservers'

The latter allow defining nameservers per-ctlplane subnet.

Related: RHBZ#2068489
Change-Id: I436fa7f1e87a8e6924c9d93105b06f9ab39eeb8f
2022-03-28 12:45:44 +00:00
Takashi Kajinami 67969af3d9 Remove support for networking-bigswitch
The networking-bigswitch plugin is no longer maintained. The repository
has not been updated for 2 years and no release has been made since
stable/train.

Ideally we should deprecate the functionality first. However current
TripleO follows its own independent release cycle and this makes it
difficult to implement deprecation consistent with the  underlying
puppet-neutron. (We are deprecating support for the plugin during Yoga
and will remove it completely in Zed). Because of this situation and
the assumption that it's not likely any user will use the plugin with
recent versions of OpenStack, this change directly removes support
for the plugin from TripleO.

Change-Id: Idea125fa97c39e1f5e97d76f8d33b61fab695625
Closes-Bug: #1962579
2022-03-01 22:31:27 +09:00
Bogdan Dobrelya fceeb2fbd3 Fix AnyErrorsFatal type
AnyErrorsFatal is boolean, just like its neighbor
NetworkConfigUpdate param.

The string type ends up with group_vars, like:
any_errors_fatal: 'True'
network_config_update: false

Fix the type to correspond a bool in ansible.

Change-Id: Ice8d3ee63d11c531641b9defeb615ad7006f1671
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
2022-02-10 16:04:44 +01:00
Douglas Viroel efc328c668 Make PingTestGatewayIPsMap a map of flatten lists
PingTestGatewayIPsMap elements may contain list of lists, causing failures
on roles that iterate over them. See [1] and #1950528 for more info.

[1] https://review.opendev.org/c/openstack/tripleo-ansible/+/817500

Closes-bug: #1950528
Change-Id: Idb70c822f01f808871a53689edfa2edf52e59e54
Signed-off-by: Douglas Viroel <dviroel@redhat.com>
2021-11-12 12:16:48 -03:00
Zuul a402c7982f Merge "Add ping test for all networks gateway IPs" 2021-11-06 02:05:14 +00:00
Harald Jensås 5d830980ec Add ping test for all networks gateway IPs
Add ping test for gateway IPs on all networks, to ensure
all gateways are reachable.

The releated Bugzilla reports an issue where some network
fabrics fail when using the current node ping test, which
pings the first node in each role. The fabric simply does
not forward traffic before the gateway has been pinged.

One can argue that the fabric in question is broken. However,
with the current implementation the first node in each role
actually ping tests only against it's own address? So adding
the test to ping the gateway addresses improves the validation
in general.

Related RHBZ#1875962
Depends-On: I93cded61ffb862e99fd8043dbf0def3d16079692

Change-Id: I3309f2a0e39ad115930ecd5c0e895816565819e9
2021-10-28 23:48:33 +02:00
Kamil Sambor f2fd2a856e Add ovn_chassis_mac_map to ExtraConfig role
Depends-On: https://review.opendev.org/c/openstack/tripleo-ansible/+/813793

Change-Id: Ia766bda0afd5232c13cd28c8bf9162ad1ed580f4
2021-10-27 13:54:28 +00:00
Takashi Kajinami 76adfd4202 Use true/false for boolean values
In ansible, usage of true/false for boolean values, instead of yes/no,
is considered as a best practise and is enforced by ansible-lint with
the "truthy value should be one of false, true (truthy)" rule.

This change replaces usage of yes/no by true/false to follow that
practise.

Change-Id: I3313278f1ef6cbee0f906aca0a77bde1a3c53784
2021-10-12 09:35:38 +09:00
Zuul 07c3455ad9 Merge "Default network configs to Train values" 2021-10-04 15:27:04 +00:00
Brendan Shephard 5edb21ee3e Remove and replace NetworkDeploymentActions
With Ephemeral Heat, we can no longer rely on the stack
action to perform tasks. Such as we did with
NetworkDeploymentActions. This change will add a new
parameter to replace this functionality.

Depends-On: https://review.opendev.org/c/openstack/tripleo-ansible/+/805213
Change-Id: I7067c31f4fcc3f263ae2e3ab993c8bff7113d55b
2021-09-14 05:28:10 +00:00
James Slagle 7ade37b9f8 Default network configs to Train values
With Train, net-config-bridge.j2.yaml was the default for roles tagged
with 'external_bridge'. The equivalent from the new
tripleo_network_config ansible role is templates/net_config_bridge.j2.
We should keep the default the same.

Signed-off-by: James Slagle <jslagle@redhat.com>
Change-Id: I0255181dcd21dc4a50647169a20265a83057c67e
2021-07-15 16:50:41 -04:00
Zuul 3e284ecaa7 Merge "Add THT Jinja2 data sources as stack output" 2021-06-25 00:49:48 +00:00
Harald Jensås 0b5b914e31 Add THT Jinja2 data sources as stack output
This simply stores the data structure in the network_data
and roles_data YAML files provided with the -n and -r
options when deploying the overcloud.

This can be generally useful for troubleshooting.

Also the 'overcloud node extract provision' command rely
on the roles data source. Storing it in the stack means
we can get to the data in case the user missplaced the
file originally used, or in the case where we want to
automate the process for all deployed stacks.

NOTE: The idea is to backport this to the release intended
as the upgrade from release, so that the follow on change
Icc6a7a438e9d0f39d003d1cf8ed84d6fb1d5485a can use it during
upgrade.

Related: blueprint network-data-v2-ports
Change-Id: I1efecdcd7afa6af3e6b4b26f4435198836db535f
2021-06-22 20:12:51 +02:00
Oliver Walsh a6118661f7 Fix NetworkDeploymentActionValue format
This should be a list, not a list of lists.

Closes-bug: #1933228
Change-Id: Ide14902e85aaaa8a6017326aaf789857c7a3dae5
2021-06-22 13:22:52 +01:00
Zuul 57670512fa Merge "Add extra Ansible Variable perameter" 2021-06-16 07:40:01 +00:00
Kevin Carter feb63aba4e Add extra Ansible Variable perameter
This change adds an extra ansible host var to the defaults which
will allow an operator to more easily define a mapping of options
to configure advanced ansible options within their deployment.

Change-Id: If4654470a77a67445a56fb8fed6963fed300aad4
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2021-06-14 15:42:59 +00:00
ramishra a3814c08d8 Add service defined ansible_group_vars to RoleGroupVars
This would allow us not to merge them manually when doing
config-download.

Change-Id: Ic0af64bfd2f16e6a54d09e525499276d9c330a27
2021-06-12 13:41:54 +05:30
ramishra 5541696d4a Simplify jinja for primary_role_name
'disable_upgrade_deployment' to disable upgrades
has been dropped from roles_data since long.

Change-Id: I1e6c355c9fc28fed581525e42fb4ccacbfe8e896
2021-05-24 12:00:20 +05:30
ramishra 4af0c6ccac Don't assume every role has default_route_networks
This broken after new jinja release.

Closes-Bug: #1928145
Change-Id: I9cbdcf289bae96f8ea7867e1cec365a9a07019ca
2021-05-12 09:06:37 +05:30
Harald Jensås a120ada72e Refactor OVN bridge MAC addresses
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
2021-05-04 11:49:50 +05:30
Zuul f2295a09b4 Merge "Add dependency on OVNMacAddressNetwork for role ResourceGroup" 2021-04-22 21:54:09 +00:00
Brendan 0f1230d0b5 Add RootStackName to group_vars
After a Overcloud deployment, /etc/hosts on the undercloud
will be populated with entries for each overcloud node. Since
we use the same tripleo_ansible roles for both the undercloud
and overcloud deployment, the /etc/hosts file on the Director
will be removed by undercloud install / upgrade operations.

This is outlined here:
https://bugzilla.redhat.com/show_bug.cgi?id=1933528

This change adds the RootStackName to the group_vars,
this is then used by the tripleo_host_entries role in
tripleo-ansible to write host entries per stack.

Closes-Bug: #1924751
RHBZ: 1933528
Change-Id: I9e53187f37d41d7180e66db1239b5f9c8846addd
2021-04-21 23:30:43 +10:00
Zuul 0dc522bbc7 Merge "Refactor Service VIPs redis and ovn_dbs" 2021-04-19 20:31:59 +00:00
Harald Jensås 23cdf4dd17 Refactor Service VIPs redis and ovn_dbs
With this change a Heat resource is no longer used to
create an undercloud neutron API port resource for the
redis and ovn_dbs service virtual IPs. Instead an
external deploy task at step 0 in the individual service
template uses the "tripleo_service_vip" ansible module
to mange a neutron API port resource for each service.

The interfaces to control the IP address and service
network (RedisVirtualFixedIPs, OVNDBsVirtualFixedIPs
and ServiceNetMap) remains the same.

It is also possible to include the 'use_neutron' boolean
in the FixedIPs parameter to instruct the ansible module
not to create a neutron API resource, and simply "echo"
the ip_address given in the FixedIPs parameter. For
example:
  RedisVirtualFixedIPs:
    - ip_address: 1.0.0.5
      use_neutron: false

Alternatively the fixed-ips can be set using the
'ServiceVips' parameter, like this:

 ServiceVips:
   redis: 1.0.0.5
   ovs_dbs: 1.0.0.6

NOTE: If the neutron service is not available the
      tripleo_service_vip ansible module will "echo"
      the IP provided in %service%VirtualFixedIPs.

Related: blueprint network-data-v2-ports
Depends-On: https://review.opendev.org/777307
Depends-On: https://review.opendev.org/779883
Change-Id: I4794418546363888e7a555a16b45b7a4417f1ef8
2021-04-14 10:22:59 +02:00
Harald Jensås 73684d0a89 Set tags on all OS::Neutron::Port resources
Set up tag hints on all OS::Neutron::Port resources.
The network-data-v2 work uses tags on neutron resources
to find existing resources so that we update instead
of create. Also for generating environment files info
in the neutron tag field is utilized.

Partial-Implements: blueprint network-data-v2-ports
Change-Id: I3d43ae22cc45e5528ecfb1a6b2cb8602faa162a0
2021-04-12 12:49:41 +02:00
James Slagle 7a4a43d55d Add dependency on OVNMacAddressNetwork for role ResourceGroup
The role ResourceGroup (puppet/role.role.j2.yaml template) tries to
create a port on the OVNMacAddressNetwork, as such we need a dependency
in the top level stack, otherwise the network may not exist before Heat
attempts to create the port.

Change-Id: Ie453fcdbb8eb42bbf718506b0b9b443ccd84543a
Signed-off-by: James Slagle <jslagle@redhat.com>
2021-03-31 14:41:51 -04:00
ramishra c9991c2e31 Use 'wallaby' heat_template_version
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
2021-03-31 17:35:12 +05:30
Zuul bb81090ef1 Merge "[collectd][ansible] Add THT to deploy collectd using ansible" 2021-03-27 08:49:17 +00:00
Emma Foley 4ddc178cdc [collectd][ansible] Add THT to deploy collectd using ansible
All heat params have been copied over, there are a bunch
that are used for conditionals.
The outputs and conditionals secions in *-puppet do a lot
of configuration, and provides lists of defaults for
puppet. These will be moved to ansible, role is at [1]
and in tripleo_ansible.

[1] https://github.com/infrawatch/collectd-config-ansible-role
[x] https://github.com/infrawatch/tripleo-collectd-ansible-role

Depends-On: Ib75702bf17a76cae3a811db503d3365e6aacf663
Change-Id: I9939a524795bb3fbc63e44f203f851dadeb7c30a
2021-03-22 15:35:08 +00:00
Michael Johnson fe53162e35 Adds net_cidr_map variable to allow cidr lists
This patch exposes the net_cidr_map variable so that tasks can
access the list of CIDRs that are valid for a network as opposed
to attempting to build the CIDRs from the network definitions.

In spine-leaf or edge use cases the networks may have multiple
subnets assigned to a given network.

The new Unbound service will use these maps to build lists of
CIDRs allowed to make queries.

Change-Id: I6004519e8b2317d19356c4a2b8bea416b4d94c22
2021-03-05 21:04:18 +00:00
Harald Jensås d3b8515c4f Set tag hints on ControlVirtualIP
Set tags tripleo_vip_net=ctlplane and tripleo_stack_name=$STACK_NAME
on the ControlVirtualIP port.

Related: blueprint network-data-v2-ports
Change-Id: I098f24423716688fe8ff61a894516f3e860b2a4c
2021-02-23 23:41:31 +01:00
Zuul a0ad81b0b6 Merge "Remove DefaultPasswords interface" 2021-02-16 08:00:59 +00:00
ramishra 9b3ceef9f5 Add parameter {{role.name}}NetConfigOverride
This is added for backward compatibility for passing
json config directly for undercloud network configuration.

Partial-Bug: #1915585
Change-Id: I58c34766e8250f4de45172e0372329dd7a09af9d
2021-02-13 10:59:42 +05:30
ramishra 7f195ff9a8 Remove DefaultPasswords interface
This was mainly there as an legacy interface which was
for internal use. Now that we pull the passwords from
the existing environment and don't use it, we can drop
this.

Reduces a number of heat resources.

Change-Id: If83d0f3d72a229d737a45b2fd37507dc11a04649
2021-02-12 11:38:44 +05:30
David Vallee Delisle e66a70df63 Problematic nested quotes in hieradata file list
We shouldn't be double quoting the hieradata files in overcloud.j2.yaml.

Related: https://bugzilla.redhat.com/1924862
Change-Id: I042c26ac5a488bbd9f9d3802cfe6ea95c7ab0380
2021-02-05 19:51:55 -05:00
Zuul 3b69e183b4 Merge "Make it possible to override ServiceNetMap per-role" 2021-01-20 01:26:20 +00:00
Harald Jensås be6a844a79 Make it possible to override ServiceNetMap per-role
In spine-and-leaf TLS-e deployments as done in OSP13,
services are filter based on role networks when adding
metadata for nova-join. This filtering removes valid
services due to the fact that the roles network does'nt
match the global ServiceNetMap.

Add a role based parameter {{role.name}}ServiceNetMap
that can be used to override the ServiceNetMap per-role
when it's being passed to {{role.name}}ServiceChain and
the {{role.name}} resource group.

Related: RHBZ#1875508
Closes-Bug: #1904482
Change-Id: I56b6dfe8a0e95385e469d9eac97a0ec24e147450
2020-12-18 05:17:21 +00:00
Rabi Mishra 6d39c90a22 Use RootStackName parameter instead for consistency
We don't need another parameter for the root stack and
also not required to pass it around.

This was added earlier with [1].

[1] https://review.opendev.org/openstack/tripleo-heat-templates/761845

Change-Id: I5dee09ab6c15c1887394b0dbda6866e94231f3a5
2020-12-14 12:38:54 +05:30
Zuul b9cbbefba3 Merge "Remove 'role_networks_lower' group_var" 2020-12-10 15:56:23 +00:00