Commit Graph

276 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
Zuul dfbcf7aa83 Merge "Improve volumes format check of yaml-validate.py" 2022-11-28 11:41:53 +00:00
Yamato Tanaka d940f58614 Improve volumes format check of yaml-validate.py
Currently, yaml-validate.py cannot detect trailing slashes under
"list_concat" and "if".

  volumes:
    - /example:/example/ # <======= detected

  volumes:
    list_concat:
    - - /example1:/example1/ # <===== not detected
      - /example2:/example2
    - if:
      - {get_param: TestValue}
      - - /example3:/example3/ # <==== not detected
        - /example4:/example4

This fix makes yaml-validate.py detect the these trailing slashes.

Because the current implementation digs "list" twice in one call to
check_volumes(), trailing slashes under "list_concat" are not detected.
Because the current implementation ignores "if", trailing slashes under
"if" are not deleted. check_volumes() doesn't have to ignore "if"
because non-volume-style value is ignored because of IndexError.

Change-Id: I4288738c2c95ab990024845fa43653854e790bd8
2022-11-18 10:56:27 +09:00
Takashi Kajinami 4ecf3ecaa4 Remove support for VPP and Neutron ML2/VPP plugin
These services were deprecated during Xena cycle by [1]. Since we have
created the Zed release, now we can remove the features deprecated
before that.

[1] 18651160a9

Change-Id: Ib248ec4bec57a5d747a1cf35157084d2cb51b566
2022-11-16 10:21:45 +09:00
Zuul 2fe8f53680 Merge "Fix typos in comments and parameter descriptions" 2022-08-22 08:12:29 +00:00
Rajesh Tailor 8592d0c71a Fix typos in log messages
This change fixes some typos in log/error messages.

Change-Id: I5d6d8e43fec79d1f2f09480dba49db721c390586
2022-08-03 17:08:57 +05:30
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
Zuul 2ec53e79ca Merge "Remove parameters/resources for undercloud Nova" 2022-08-03 00:37:45 +00:00
Zuul 06caa78310 Merge "Use tripleo_iscsid standalone ansible role" 2022-07-18 18:20:43 +00:00
Zuul 03f3a8d051 Merge "Remove unreachable code" 2022-07-11 10:38:02 +00:00
Rajesh Tailor 8494a5abdf Remove unreachable code
This change removes unreachable code from python scripts.

In placement_wait_for_service.py program control returns after
executing system.exit(0) hence `break` statement is unnecessary
there.

In yaml-validate.py control doesn't reach the last `return 0` statement
hence it is also unnecessary.

Change-Id: Ibdbecd796d18fce4a2750086ddb2209dd337e6c9
2022-07-07 22:49:05 +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
Takashi Kajinami 6312d2b22c Remove unused OS::TripleO::SoftwareDeployment
This resource type is defined but is no longer used.

Change-Id: I58ff22478079cd7f1688a90a6e49a44956ca2b46
2022-07-05 17:17:06 +09:00
rabi df58fe7bf1 Make NeutronEnableDVR parameter boolean
Removes the redundant conditions and the template complexity.
This won't have any backward incompatibility with templates
as the only allowed values for it are 'true/false'

Change-Id: Idc0872cee7de0b16531329e329d222bf661117c4
2022-06-09 08:12:26 +05:30
James Slagle e3408da15c Use tripleo_iscsid standalone ansible role
Depends-On: I27da90d6f43e06d0e13bcd203431e1751668a8cf
Change-Id: Ic9f22b1c5888ecc5eac323615262457595778598
Signed-off-by: James Slagle <jslagle@redhat.com>
2022-05-31 16:26:30 -04:00
Zuul 6fb173e590 Merge "Define frontend firewall rules separately" 2022-04-29 15:38:00 +00: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
Takashi Kajinami ff83505e8a Replace hiera by lookup
The hiera function is deprecated and does not work with the latest
hieradata version 5. It should be replaced by the new lookup
function[1].

[1] https://puppet.com/docs/puppet/7/hiera_automatic.html

With the lookup function, we can define value type and merge behavior,
but these are kept default at this moment to limit scope of this change
to just simple replacement. Adding value type might be useful to make
sure the value is in expected type (especially when a boolean value is
expected), but we will revisit that later.

example:
lookup(<NAME>, [<VALUE TYPE>], [<MERGE BEHAVIOR>], [<DEFAULT VALUE>])

Change-Id: If5ac88ffccc1bb800d8af33c8896294a57e9b5fb
2022-04-14 17:07:52 +09:00
Bogdan Dobrelya d0ca9fe631 Fix trailing slashes in bind-mounts and linting
Podman is not always happy with bind-mounts ending
with / (See I094120f7f2f6bfcfc0cc5843aa1b23629cd90a23)

Follow up If951f9643d67574c1225301aab7c9e4b0d316b7f
with that YAML linter couldn't catch.

Improve linter to process all volumes in templates, including
common/logging services templates, and neither puppet, not ansible
ones, like deployment/deprecated/multipathd-container.yaml.

Change-Id: Ia517b34c9d633101502bd8788e7b8764e75bbe64
Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
2022-03-08 12:13:01 +00:00
Francesco Pantano 4dc74ac164 Add CephIngress resource
This change adds the CephIngress resource that can be used on top
of CephNfs to deploy the ingress daemon through the orchestrator.

Depends-On: I7e337596b653cf635f07a36606e9f673044402a3
Change-Id: Ibd20627a8b110364e13c2bf26848ba6e3a8e4060
2022-03-03 21:08:19 +00:00
Giulio Fidente e1de2bcb72 Add CephNfs service on roles providing "external" network connectivity
With the recent changes meant to allow deployment of Ganesha on the
"external" network, the CephNfs service can be added to more roles
than just ControllerStorageNfs.

Change-Id: Ic9010307c2aab7041c8ae30c72cc1bf99fdd22f6
Closes-Bug: 1961578
2022-02-21 14:48:44 +01:00
Cédric Jeanneret 7a99ae23e3 Introduce a new linter for yaml-validate, and correct issues
This new linter ensures we don't have any trailing "/" in the container
volume definitions.

Those trailing "/" may create issues with the containers, for instance
for specific mounts such as "/dev"[1].

This patch also takes the opportunity to fix those trailing "/" for the
affected files, in order to start on a clean basis.

[1] https://launchpad.net/bugs/1950176

Change-Id: If951f9643d67574c1225301aab7c9e4b0d316b7f
Related-Bug: #1950176
2021-12-01 09:43:25 +01:00
Zuul c793e9174f Merge "Remove six library" 2021-10-12 00:55:27 +00:00
Brendan Shephard b522254bc2 Remove six library
The six library was used to bridge the py2 > py3
gap. This library is longer required on branches
that do not support Python2.

Change-Id: I40cb90bc6bc058dcbf3659b97dbb489b53adb9d3
2021-10-06 07:01:42 +00:00
Zuul d7347599ee Merge "Skip yaml validation for releasenotes and zuul.d" 2021-10-01 12:17:16 +00:00
Takashi Kajinami 53040573ab Use yaml.safe_load to load YAML files
Since PyYAML 5.1, yaml.load without specifying the Loader option is
deprecated and shows the following warning.

YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated,
as the default Loader is unsafe.
Please read https://msg.pyyaml.org/load for full details.

This change replaces yaml.load by yaml.safe_load (which is effectively
same as adding Loader=yaml.SafeLoader) to get rid of that warning
message. Also, existing all usage of yaml.load with the Loader option
are also replaced so that we to make all implementation to load yaml
files consistent.

Change-Id: Id44fa2354429b944fbc0809f63db558bb7de23f7
2021-07-24 12:08:22 +09:00
Takashi Kajinami 2341c892f9 Skip yaml validation for releasenotes and zuul.d
Currently yaml validation is executed against almost all .yaml files
in tht repo, but this makes releasenote files and zuul job definitions
tested by yaml-validate.py.

This patch addes the new --skip-dir option to yaml-validate.py and
exclude these directories (and .tox which was already excluded) so that
we can ignore files which are not valid deployment templates.

Change-Id: If6fce493151ef17bfba26f8b80fc267d09408a9b
2021-07-14 21:10:20 +09:00
Zuul 0a60aad3aa Merge "Introducing the ComputeVdpa role" 2021-07-13 19:06:30 +00:00
David Vallee Delisle 7010a27415 Introducing the ComputeVdpa role
Now that nova supports libvirt's vDPA implementation [1][2], we need
deployment code to enable such a feature.

The ComputeVdpa role is basically a copy of ComputeSriov with the
addition of the ExtraKernelModules. Beside these modules, operators
should define to their ``NovaPCIPassthrough`` as they normally do
for standard SR-IOV as a role parameter.

When having the right modules loaded, at least in RHEL8.5, the kernel
will automatically create /dev/vhost-vdpa-X devices for each one of the
VFs.

[1] https://opendev.org/openstack/nova-specs/src/branch/master/specs/wallaby/implemented/libvirt-vdpa-support.rst
[2] https://bugzilla.redhat.com/1873409

Depends-On: https://review.opendev.org/c/openstack/os-net-config/+/798926
Related: https://bugzilla.redhat.com/1956297
Change-Id: Ifda3ac08c596f65bc75d869097a0f72e816ba783
2021-07-07 10:29:01 -04:00
Francesco Pantano dd5a5fc240
Remove from master the ceph-ansible references
ceph-ansible is not used anymore in master and both ceph
deployment and day2 ops are managed by the new cephadm tool.
This change aligns the tripleo-heat-templates tree to make sure
only cephadm is used to deploy Ceph (see [1]).

[1] https://blueprints.launchpad.net/tripleo/+spec/tripleo-ceph

Change-Id: Ib87615112264bd65e38ed7fb4440cca62f067de5
2021-06-29 15:55:24 +02:00
Zuul 2c4363561e Merge "Add network-v2 default files + vip data examples" 2021-06-18 22:33:24 +00:00
Zuul e9d053b46d Merge "Use merge strategy for EndpointMap" 2021-06-16 01:41:17 +00:00
ramishra a263da138f Use merge strategy for EndpointMap
Now someone can override individual endpoints like
below in an environment:

parameter_merge_strategies:
  EndpointMap: merge

parameter_defaults:
  EndpointMap:
    AodhPublic:
      protocol: http
      port: 9999
      host: 121.21.2.1

Closes-Bug: #1897592
Change-Id: Ibf2e0d183dd51421c4feb7467c3c01fb416d2965
2021-06-15 09:15:41 +05:30
Harald Jensås be0b91ef56 Add network-v2 default files + vip data examples
Add a default file for network data and vip data to
use with network-data-v2.

The network data is an empty list, i.e no network
isolation is the default.

The default vip data file keeps one entry for the
ctlplane network, which is the only Virtual IP in
the no network isolation scenarios.

Related-Blueprint: blueprint network-data-v2-ports
Change-Id: Ia50435c0560ed76791d1859612f625a1b776a8b2
2021-06-07 13:22:40 +02:00
Alex Schultz 45fca9e029 Ignore puppet_config is an empty dict
Previously this was required which lead to folks defining invalid empty
data that actually gets ignored later in the process. Since you don't
have to have a puppet_config, let's say it needs to be defined but skip
validation if it is an empty.

Change-Id: I7310c340a1e2b48cdbc378ab4fe3944bd7e89112
2021-06-03 11:12:40 -06:00
Brent Eagles 7de18e52cd Generate bind pool and bind configuration using deployment info
The bind pool information is now automatically generated and the
variables and sample config files are no longer needed. Matching bind9
and rndc key configuration is also generated.

Note: this patch also removes the use of puppet-dns which is problematic
when bind and the worker aren't on the same host and is awkward to use
with respect to rndc keys. It also modifies yaml-validate.py to correct
a rule changed with respect rndc_allowed_addresses.

Depends-On: Ib121888061b8bfcc4155528a8a209c7e274fafcb
Depends-On: I3383c19f80e70553ae71e644a01dda0f250d19da
Depends-On: I1b6674acbd6f999474cd66cb44357cf6b756a7d0

Change-Id: Ib89bcafe9f65431aee5756a32b2a82adc3d384dc
2021-04-09 15:04:22 -02:30
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
Francesco Pantano 4b01172be2 Add cephadm deployment and environments branch
During the overcloud deployment phase, some operations should still be
performed on the provisioned Ceph cluster.
When Ceph is TripleO deployed, cephadm doesn't provide any firewall
configuration (–-skip-firewalld is provided), as well as any HA
configuration for the Ceph Dashboard.
This change introduces a new cephadm/ branch containing all the services
that should be configured in the TripleO context.

Co-Authored-By: Giulio Fidente <gfidente@redhat.com>
Co-Authored-By: John Fulton <fulton@redhat.com>

Depends-On: I35e57abddc64310a6422174fe191bd328588d7cd
Change-Id: Ie9537471924d1d60f7642699e58e734511b91a2b
2021-03-13 07:41:31 +00:00
Grzegorz Grasza e329ca915e Generate certificates using ansible role
This is using linux-system-roles.certificate ansible role,
which replaces puppet-certmonger for submitting certificate
requests to certmonger. Each service is configured through
it's heat template.

Partial-Implements: blueprint ansible-certmonger
Depends-On: https://review.rdoproject.org/r/31713
Change-Id: Ib868465c20d97c62cbcb214bfc62d949bd6efc62
2021-03-10 16:28:22 +01:00
Zuul a0ad81b0b6 Merge "Remove DefaultPasswords interface" 2021-02-16 08:00:59 +00:00
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
Zuul c72909b35a Merge "tool: convert heat network-config to ansible j2" 2021-02-04 03:28:07 +00:00
Francesco Pantano 79686663e8 Configure Ceph clients via tripleo-ceph-client (not ceph-ansible)
Default CephAnsibleSkipClient to True and CephConfigPath to
/var/lib/tripleo-config/ceph (instead of /etc/ceph) and set
these paramters explicitly in scenario00{1,4}. This will
result in all Ceph client configuration being done not by
ceph-ansible but by the new tripleo-ceph-client role from
tripleo-ansible.

Add the CephClient service to all Controller* roles which will
use Ceph. The service could have always been there as there are
Ceph clients on the these controllers, but it was not because
ceph-ansible configured clients as a side effect. With new
CephConfigPath default they no longer overlap so the service
is required.

Add support for CephExternalMultiConfig via tripleo-ceph-client
by looping on the contents of the CephExternalMultiConfig list
and passing each map as the dcn variable while including the
tripleo-ceph-client role each time.

Related-Bug: #1708302
Depends-On: I938ab604859fda88f3491399444841a3a373d162
Change-Id: I784e6a476752ed701192b3a0155c42edd4836d97
2021-01-04 15:16:11 +00:00
Harald Jensås 7de39925d0 tool: convert heat network-config to ansible j2
Add a script that does a best effort conversion of
a heat network-config tempalte to an ansible j2
network-config template.

The script uses a networks data file as input to
genereta a map of Heat Parameters to ansible vars.
For parameters not in the generated map the stack
environment is used, parameter values from the
stack environment is hard-coded in the j2 template.

A j2 comment is added whenever a value was hard coded,
in a header comment and also an inline comment if
possible.

NOTE: The j2 reference files in the unit tests was
      created by converting heat templates.

Change-Id: I8165a077b87307ca3c2ebee54703a939517dc9bf
2020-12-18 07:26:01 +01:00
Zuul cfe1e59f78 Merge "Allow to configure vxlan network type for OVN" 2020-11-20 13:17:10 +00:00
Ihar Hrachyshka b1204893eb Allow to configure vxlan network type for OVN
Since 20.09, OVN supports VXLAN type for inter-chassis communication.

This patch also gets rid of no longer needed override for
NeutronNetworkType for OVN, moving the constraints into generic ML2
definition list. The constraints list is extended to include vxlan.

Depends-On: I81c016ba9c91282d1bebb40a282077e14ce4bd6b
Change-Id: I447458c344a8817f3cfacba06f3410d500ed1f59
2020-11-19 10:52:05 +01:00
Oliver Walsh 629485dde5 Move cell_v2 discovery off compute hosts
In I12a02f636f31985bc1b71bff5b744d346286a95f cell_v2 discovery was
originally moved from the nova-api container to the
nova-compute|nova-ironic containers in order to run cell
discovery during a scale up where the controllers are omitted
(e.g to exclude the controllers from a maintenance window).

This requires api database credentials on the compute node, which is
forbidden, so it must move back to a nova-api host as a pre-requisite
for removing these credentials in a follow-up patch.

Scale-up while omitting the controllers will no longer work out of the
box. Either a manual cell_v2 discovery can be run after scale up, or an
additional node can be deployed using the NovaManager tripleo role.

Related-bug: #1786961
Related-bug: #1871482
Change-Id: I47b95ad46e2d4e5b1f370a2f840826e87da2d703
2020-11-18 12:21:59 +00:00
Takashi Kajinami 4a7d56947a Remove Sahara support
Sahara support was deprecated during previous Ussuri cycle[1], so we
can remove it completely now.

[1] f1d9b15c85
Change-Id: Id047221cb912c09984cc3bf864196a26fd36736f
2020-10-19 09:39:36 +09:00
Michele Baldessari 87b365afd3 Fix Flakes and lower-constraints errors
With the switch to Ubuntu Focal for tox jobs via https://review.opendev.org/#/c/738322/
our 1.1.0 version of hacking pulls in old modules that are not compatible
with python3.8:
https://github.com/openstack/hacking/blob/1.1.0/requirements.txt#L6

Let's upgrade hacking to >= 3.0.1 and < 3.1.0 so that it supports python3.8
correctly. The newer hacking also triggered new errors which are
fixed in this review as well:
./tools/render-ansible-tasks.py:113:25: F841 local variable 'e' is assigned to but never used
./tools/yaml-validate.py:541:19: F999 '...'.format(...) has unused arguments at position(s): 2
./tools/render-ansible-tasks.py:126:1: E305 expected 2 blank lines after class or function definition, found 1
./tools/yaml-validate.py:33:1: E305 expected 2 blank lines after class or function definition, found 1
./container_config_scripts/tests/test_nova_statedir_ownership.py:35:1: E305 expected 2 blank lines after class or function definition, found 0

Also make sure we exclude .tox and __pycache__ from flake8 as well

We also need to change the lower-constraint requirements to make them
py3.8 compatible. See https://bugs.launchpad.net/nova/+bug/1886298
cffi==1.14.0
greenlet==0.4.15
MarkupSafe==1.1.0
paramiko==2.7.1

Suggested-By: Yatin Karel <ykarel@redhat.com>

Change-Id: Ic280ce9a51f26d165d4e93ba0dc0c47cdf8d7961
Closes-Bug: #1895093
2020-09-10 11:10:54 +02:00
Rabi Mishra dc171d2493 Remove all broken references to ./puppet/services
We've long moved these service definitions under ./deployment.

Change-Id: I46609facb862cb6451afd8920ae22ae054894178
2020-08-06 08:50:51 +05:30