Commit Graph

31 Commits

Author SHA1 Message Date
Saravanan KR 16679d0ec4 Move KernelArgs and OvS-DPDK deployment to ansible role
Ealier, KernelArgs had been configured using ansible
tasks part of THT repo. Thoese ansiblet asks has been
moved to tripleo-kernel role of tripleo-ansible. This
role will be invoked from the boot-params-service.
boot-params-service has been moved from pre network to
the deployment/kernel directory.

OvS-DPDK configuration was done using puppet-vswitch
module by invoking puppet in PreNetworkConfig's
ExtraConfig script. A new ansible role tripleo-ovs-dpdk
has been created to apply the DPDK configurations via
ansible instead of puppet. This role will be common
for both ml2-ovs and ml2-ovn. Common parameter merging
has been enhanced to provide common deploy steps.

ODL is not validated as it has been deprecated and
currently no active usage or development.

Depends-On: https://review.opendev.org/#/c/688864/
Change-Id: I4b6f7d73cf76954e93760c59d522d485187157cf
2019-10-23 10:12:42 +05:30
Saravanan KR fca0945708 Add DPDK support for OVN
Add a service to enable DPDK on the compute nodes,
along with OVN.

Change-Id: I4473f1dfef9eebb886823fb2f436d14dd5b6d5ad
2019-04-12 13:26:25 +05:30
Saravanan KR ad5dc5ca60 Remove unused resources of PreNetworkConfig for NFV
With config-download as only supported mechanism, remove
the stack based deployments (which are already replaced
with ansible base service BootParams).

Change-Id: I7ca8189432adf64922bd74dc0bceb84a5b297390
2019-02-27 15:15:12 +05:30
Saravanan KR 5c2e741da3 Revert "Remove host-config-and-reboot interface"
This reverts commit 2a87199601.

BootParams takes care of the kernel args configuration and
reboot via ansible. But Enabling of OVS-DPDK (EnableDpdkDeployment)
is still handled as part of the PreNetworkConfig (host_config_and_reboot).
It can be cleaned-up to remove unused bits, but not the entire stack.

Change-Id: Ifeb029ddaeb2bc60f43abdb8bdb02a4c911ace30
2019-02-20 09:59:08 +05:30
Emilien Macchi 2a87199601 Remove host-config-and-reboot interface
host-config-and-reboot interface was deprecated in Queens in favor of:
OS::TripleO::Services::BootParams: extraconfig/pre_network/boot-params-service.yaml

and doesn't work with config-download, which has been the default since
Rocky.

Let's remove these files.

Change-Id: I85a781cecb7224881b827ff442376c706f1c771b
2019-02-19 11:57:04 -05:00
Saravanan KR 65036d936c Move hugetlbfs gid config to BootParams service
Group hugetlbfs's gid has to be updated to match with kolla config.
Earlier gid change is applied and then the node is rebooted for
kernel args. But after ansible based reboot, the reboot is moved
before the PreNetworkConfig, which requires ovs restart after gid
update. Instead of ovs restart, moving gid update to BootParams
service, makes it single place to apply and reboot.

Change-Id: Id8c26b88ff92104984a27877fbcc009475d671b3
2018-07-20 09:43:51 +05:30
Zuul 8666a73d68 Merge "Remove the OVS-DPDK deprecated parameters" 2018-07-09 23:03:32 +00:00
Saravanan KR 58b6034b24 Remove the OVS-DPDK deprecated parameters
Few of the OVS-DPDK prameteres has been deprecated in the
pike release, which are not required anymore. Removed those
parameters from the templates.

Change-Id: Iabb8002a9eb69321aa2d4aefac012dbe09dc80a6
2018-06-27 14:26:12 +05:30
James Slagle 07528b07b2 Deprecate templates replaced with config-download
The templates at extraconfig/pre_network/host_config_and_reboot.yaml
(replaced with extraconfig/pre_network/boot-params-service.yaml) and
extraconfig/tasks/ssh/host_public_key.yaml (replaced with the
tripleo-ssh-known-hosts role) are deprecated as they do not
work with config-download. They will be removed in the Stein release.

Change-Id: Ib66873ea4b0d86f12024ec16d788247c071cf3b5
2018-06-04 15:04:34 -04:00
Saravanan KR a3e4a90636 NFV: Support for config-download to deploy node with kernel args
For NFV deployments, specific kernel args should be applied and
the nodes should be restarted before running the NetworkDeployment.
It is supported in the heat deployment via PreNetworkConfig. In the
config-download mechanism, ansible steps need to be improved
to handle the reboot and wait for the node.

Change-Id: I43b383ad0e04b8be6c321f8c5b05e628b2520141
2018-05-15 11:01:06 +05:30
Carlos Camacho 44ef2a3ec1 Change template names to rocky
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
2018-05-09 08:28:42 +02:00
Zuul e0f59eefd2 Merge "Removed ovs-dpdk workaround to fix the vhost socket permission" 2018-02-27 12:12:55 +00:00
Saravanan KR b7a70f5613 Removed ovs-dpdk workaround to fix the vhost socket permission
Change-Id: I5d8e31020700f13e21f4cfa2f1bfa14ff4c88e4a
2018-02-19 15:13:04 +05:30
Saravanan KR f9e099f218 Ensure node is rebooted before enabling DPDK
In the PreNetworkConfig, the order of resources sent to os-collect-config
changed after introducing vhost user resource. The current order is
1. HostParametersDeployment
2. DpdkVhostGroupDeployment
3. RebootDeployment and EnableDpdkDeployment
Here the expectation is that RebootDeployment should be completed
before enabling DPDK, but since both are provided at the same time to
os-collect-config, DPDK is enabled first. The reson is RebootDepolyment
is having signal transport as NONE and EnableDpdkDeployment is moved
after reboot because of ovs2.7 change of restart vswitchd, when DPDK is
enabled. This is causing the a failure.
This patch modifies the order as below:
1. HostParametersDeployment and DpdkVhostGroupDeployment
2. RebootDeployment and RebootEnsureDeployment
3. EnableDpdkDeployment

Change-Id: I5db52d5dd833833c989532931baea8fac03f9cb7
2018-02-13 11:26:39 +05:30
Saravanan KR 785d1b2b38 Configure qemu group setting as hugetlbfs for ovs-dpdk
Till now, the ovs service file and ovs-ctl command files
are patched to allow ovs to run with qemu group. In order
to remove this workarounds, a new group hugetlbfs is created
which will be shared between ovs and qemu. This patch contains
the changes required for applying these changes.

Depends-On: I674cbd45e17906448dd54acfdf7a7059880b7278
Change-Id: Iec6be0b99e84b0c89f791c3c9694fe10f3a1e7db
2018-01-29 14:26:25 +05:30
Zuul 0d24fdbd2e Merge "OvsDpdkMemoryChannels parameter default value" 2018-01-16 00:29:36 +00:00
Jaganathan Palanisamy 2194cce7b8 OvsDpdkMemoryChannels parameter default value
This change is to update the memory channels parameter default
value in service yaml instead of environment yaml file.

Change-Id: Ia0a79b5dc3aa060b91d68e0d23cb1fb5b33eb020
Closes-Bug: #1741234
2018-01-11 00:42:59 -05:00
Emilien Macchi eb324768d0 puppet apply: add --summarize
... so we can know how long take resources configuration in Puppet
catalogs, and more easily debug why we have timeouts.

Change-Id: If3fae8837140caae91120e46b4880146ffe22afc
2018-01-04 09:37:46 -08:00
Saravanan KR d0702e82b5 Add a tag to all the role specific parameters
With parameter tags, it is possible to categorize the parameters.
In this patch, all role-specific parameters of the services are
categorized as role_specific, which will help in adding validation
during the deployment (to ensure the provided role-specific
parameter is actually implemented as role-specific). This patch
adds only the tags, and the validation will done via workflows.

Change-Id: Ic053111298e7872a3a3cd11e6249dbd85707cc29
2017-12-07 12:20:11 +05:30
Carlos Camacho 927495fe3d Change template names to queens
The new master branch should point now to queens instead of pike.

So, HOT templates should specify that they might contain features
for queens release [1]

[1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#queens

Change-Id: I7654d1c59db0c4508a9d7045f452612d22493004
2017-11-23 10:15:32 +01:00
Ben Nemec 4502b7cba6 Make RoleParameters and key_name descriptions consistent
The key_name default is ignored because the parameter is used in
some mutually exclusive environments where the default doesn't
need to be the same.

Change-Id: I77c1a1159fae38d03b0e59b80ae6bee491d734d7
Partial-Bug: 1700664
2017-08-02 16:18:25 -05:00
Saravanan KR c3f9eaf0e4 Enable Dpdk after rebooting with Hugepages for OvS2.7
With OvS2.7, DPDK is initialized immediately after setting
dpdk-init flag. DPDK requires hugepages configuration to be
available on kernel args with a reboot. This patch reboots
the node after applying the kernel args. And once the node
is rebooted, DPDK will be enabled and then the deployment
continues.

Change-Id: Ide442e09c2bea56a38399247de588e63b4272326
2017-07-31 09:30:30 +05:30
Saravanan KR c53918926e Add a new role for ComputeOvsDpdk and clean-up parameters
A new role ComputeOvsDpdk has been added to avoid manual
roles_data creation. And cleaned-up the DPDK parameters
inline with the refactored code.

Change-Id: I16dac69609c98194c2504ff067258fa14363d4f1
2017-07-14 11:09:13 +05:30
Jenkins b02aedb174 Merge "Added OvS permission workaround for enabling DPDK" 2017-07-13 18:33:29 +00:00
James Slagle 11b3cb25a9 Revert "Revert "Blacklist support for ExtraConfig""
There is a Heat patch posted (via Depends-On) that resolves the issue
that caused this to be reverted. This reverts the revert and we need to
make sure all the upgrades jobs pass before we merge this patch.

This reverts commit 69936229f4.
Closes-Bug: #1699463
implements blueprint disable-deployments

Change-Id: Iedf680fddfbfc020d301bec8837a0cb98d481eb5
2017-07-10 17:39:57 +00:00
Saravanan KR d7738012e1 Added OvS permission workaround for enabling DPDK
The vhost sockets sockets are created with qemu permission, but ovs
runs with root permission. In order to allow ovs to access vhost sockets
reducing the ovs group permission from root to qemu. This is a temprovary
workaround, until ovs fixes the permission issue. The script supports
both ovs2.6 and ovs2.7 versions.

Change-Id: I172956390c19fc9824bf7590cd48bfcf6201191b
2017-07-10 16:12:05 +05:30
Tim Rozet b30bdb6f8e Adds service for OVS and enables ODL DPDK deployments
In order to deploy OpenDaylight with DPDK we need to copy the DPDK
config for OVS done in the neutron-ovs-dpdk service template, without
enabling OVS agent for compute nodes.  To do this correctly, we should
inherit and openvswitch service which is a common place to set OVS
configuration and parameters.  Note: vswitch::dpdk config will be called
in prenetwork setup with ovs_dpdk_config.yaml so there is no need to
include that in the step config for neutron-ovs-dpdk-agent service or
opendaylight-ovs-dpdk.

Changes Include:
 - Creates a common openvswitch service template, which in the future
   will migrate to be its own service.
 - Renames and fixes OVS DPDK configuration heat parameters in the
   openvswitch template.
 - neutron-ovs-dpdk-agent now inherits the common openvswitch template.
 - Adds opendaylight-ovs-dpdk template which also inherits common ovs
   template.
 - Uses OVS DPDK config script to allow configuring OVS DPDK in
   prenetwork config (before os-net-config runs).  This has an issue
   where hieradata is not present yet, so we have to redefine the heat
   parameters and pass them via bash.  In the future this should be
   corrected.
 - Adds opendaylight-dpdk environment file used to deploy an ODL + DPDK
   deployment.
 - Updates neutron-ovs-dpdk environment file.

Closes-Bug: 1656097
Partial-Bug: 1656096

Depends-On: I3227189691df85f265cf84bd4115d8d4c9f979f3

Change-Id: Ie80e38c2a9605d85cdf867a31b6888bfcae69e29
Signed-off-by: Tim Rozet <trozet@redhat.com>
2017-06-23 09:31:53 -04:00
Saravanan KR 4e19c7a13e Enable DPDK on boot using PreNetworkConfig
DPDK has to be enabled on openvswitch on the boot before
configuring the network as when the network uses DPDK ports
OvS should be ready to handle DPDK. Enabled DPDK via
PreNetworkConfig by checking if ServiceNames contains
DPDK service.
Implements: blueprint ovs-2-6-dpdk
Closes-Bug: #1654975

Depends-On: I83a540336c01a696780621fb2b39486a6abf0917
Change-Id: I7af4534d91e67c94ba559b78b9ac6a001e639db3
2017-06-23 11:19:23 +05:30
Alex Schultz 69936229f4 Revert "Blacklist support for ExtraConfig"
This reverts commit d6c0979eb3.

This seems to be causing issues in Heat in upgrades.

Change-Id: I379fb2133358ba9c3c989c98a2dd399ad064f706
Related-Bug: #1699463
2017-06-22 13:35:19 +00:00
James Slagle d6c0979eb3 Blacklist support for ExtraConfig
Commit I46941e54a476c7cc8645cd1aff391c9c6c5434de added support for
blacklisting servers from triggered Heat deployments.

This commit adds that functionality to the remaining Deployments in
tripleo-heat-templates for the ExtraConfig interfaces.

Since we can not (should not) change the interface to ExtraConfig, Heat
conditions are used on the actual <role>ExtraConfigPre and
NodeExtraConfig resources instead of using the actions approach on
Deployments.

Change-Id: I38fdb50d1d966a6c3651980c52298317fa3bece4
2017-06-16 11:13:25 -04:00
Saravanan KR 0c66118b10 Modify PreNetworkConfig config inline with role-specific parameters
Existing host_config_and_reboot.role.j2.yaml is done in ocata to
configure kernel args. This can be enhanced with use of role-specific
parameters, which is done in the current patch. The earlier method is
deprecated and will be removed in Q releae.
Implements: blueprint ovs-2-6-dpdk

Change-Id: Ib864f065527167a49a0f60812d7ad4ad12c836d1
2017-06-13 11:02:33 +05:30