From 739b05f52818028106fd1574be03a66a14c11153 Mon Sep 17 00:00:00 2001 From: Saravanan KR Date: Fri, 8 Sep 2017 14:14:17 +0530 Subject: [PATCH] Added a new role definition for SR-IOV Compute role In order to support the role generation command, a new role for hosting SR-IOV workloads has been added. This also removes the SR_IOV services from the default compute so that compute and compute sriov can co-exist in the same cluster. Closes-Bug: #1715829 Change-Id: If48bd6a69209da556cc75ece035b341eb59f41a9 --- environments/hyperconverged-ceph.yaml | 2 - .../notes/sriov-role-1ef30615048239c7.yaml | 14 ++++++ roles/Compute.yaml | 2 - roles/ComputeHCI.yaml | 2 - roles/ComputeSriov.yaml | 48 +++++++++++++++++++ roles/README.rst | 1 + roles_data.yaml | 2 - 7 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 releasenotes/notes/sriov-role-1ef30615048239c7.yaml create mode 100644 roles/ComputeSriov.yaml diff --git a/environments/hyperconverged-ceph.yaml b/environments/hyperconverged-ceph.yaml index a6184aeab5..e77af49ec7 100644 --- a/environments/hyperconverged-ceph.yaml +++ b/environments/hyperconverged-ceph.yaml @@ -29,8 +29,6 @@ parameter_defaults: - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::Tuned - - OS::TripleO::Services::NeutronSriovAgent - - OS::TripleO::Services::NeutronSriovHostConfig - OS::TripleO::Services::OpenDaylightOvs - OS::TripleO::Services::SensuClient - OS::TripleO::Services::SkydiveAgent diff --git a/releasenotes/notes/sriov-role-1ef30615048239c7.yaml b/releasenotes/notes/sriov-role-1ef30615048239c7.yaml new file mode 100644 index 0000000000..64e9d50290 --- /dev/null +++ b/releasenotes/notes/sriov-role-1ef30615048239c7.yaml @@ -0,0 +1,14 @@ +--- +features: + - | + A new role ComputeSriov has been added to the roles definition to create + a compute with SR-IOV capabilities. The SR-IOV services has been removed + from the default Compute role, so that a cluster can have general Compute + along with ComputeSriov roles. +upgrade: + - | + If a existing cluster has enabled SR-IOV with Compute role, then the + service OS::TripleO::Services::NeutronSriovAgent has to be added to the + Compute role in their roles_data.yaml. If the existing cluster has created + SR-IOV role as a custom role (other than Compute), then this change will + not affect. diff --git a/roles/Compute.yaml b/roles/Compute.yaml index e5602aae09..d1b61d78c6 100644 --- a/roles/Compute.yaml +++ b/roles/Compute.yaml @@ -39,8 +39,6 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent - - OS::TripleO::Services::NeutronSriovAgent - - OS::TripleO::Services::NeutronSriovHostConfig - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NovaCompute - OS::TripleO::Services::NovaLibvirt diff --git a/roles/ComputeHCI.yaml b/roles/ComputeHCI.yaml index 877741d2ee..78d23fb4c8 100644 --- a/roles/ComputeHCI.yaml +++ b/roles/ComputeHCI.yaml @@ -30,8 +30,6 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent - - OS::TripleO::Services::NeutronSriovAgent - - OS::TripleO::Services::NeutronSriovHostConfig - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NovaCompute - OS::TripleO::Services::NovaLibvirt diff --git a/roles/ComputeSriov.yaml b/roles/ComputeSriov.yaml new file mode 100644 index 0000000000..af81000b0d --- /dev/null +++ b/roles/ComputeSriov.yaml @@ -0,0 +1,48 @@ +############################################################################### +# Role: ComputeSriov # +############################################################################### +- name: ComputeSriov + description: | + Compute SR-IOV Role + CountDefault: 1 + networks: + - InternalApi + - Tenant + - Storage + HostnameFormatDefault: '%stackname%-computesriov-%index%' + disable_upgrade_deployment: True + ServicesDefault: + - OS::TripleO::Services::AuditD + - OS::TripleO::Services::CACerts + - OS::TripleO::Services::CephClient + - OS::TripleO::Services::CephExternal + - OS::TripleO::Services::CertmongerUser + - OS::TripleO::Services::Collectd + - OS::TripleO::Services::ComputeCeilometerAgent + - OS::TripleO::Services::ComputeNeutronCorePlugin + - OS::TripleO::Services::ComputeNeutronL3Agent + - OS::TripleO::Services::ComputeNeutronMetadataAgent + - OS::TripleO::Services::ComputeNeutronOvsAgent + - OS::TripleO::Services::Docker + - OS::TripleO::Services::FluentdClient + - OS::TripleO::Services::Iscsid + - OS::TripleO::Services::Kernel + - OS::TripleO::Services::MySQLClient + - OS::TripleO::Services::NeutronBgpVpnBagpipe + - OS::TripleO::Services::NeutronSriovAgent + - OS::TripleO::Services::NeutronSriovHostConfig + - OS::TripleO::Services::NeutronVppAgent + - OS::TripleO::Services::NovaCompute + - OS::TripleO::Services::NovaLibvirt + - OS::TripleO::Services::Ntp + - OS::TripleO::Services::ContainersLogrotateCrond + - OS::TripleO::Services::OpenDaylightOvs + - OS::TripleO::Services::Securetty + - OS::TripleO::Services::SensuClient + - OS::TripleO::Services::Snmp + - OS::TripleO::Services::Sshd + - OS::TripleO::Services::Timezone + - OS::TripleO::Services::TripleoFirewall + - OS::TripleO::Services::TripleoPackages + - OS::TripleO::Services::Vpp + - OS::TripleO::Services::OVNController diff --git a/roles/README.rst b/roles/README.rst index b21a34b6bb..5a945af787 100644 --- a/roles/README.rst +++ b/roles/README.rst @@ -96,6 +96,7 @@ Example CephStorage Compute ComputeOvsDpdk + ComputeSriov Controller ControllerOpenstack Database diff --git a/roles_data.yaml b/roles_data.yaml index b4bd9422eb..093f633312 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -193,8 +193,6 @@ - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe - OS::TripleO::Services::NeutronLinuxbridgeAgent - - OS::TripleO::Services::NeutronSriovAgent - - OS::TripleO::Services::NeutronSriovHostConfig - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NovaCompute - OS::TripleO::Services::NovaLibvirt