Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1594809

Summary: [RFE] improve affinity group/label handling
Product: Red Hat Enterprise Virtualization Manager Reporter: Steffen Froemer <sfroemer>
Component: ovirt-engineAssignee: Nobody <nobody>
Status: CLOSED DUPLICATE QA Contact: meital avital <mavital>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 4.2.0CC: lsurette, michal.skrivanek, rbalakri, Rhev-m-bugs, srevivo
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-06-26 06:59:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Steffen Froemer 2018-06-25 12:51:03 UTC
1. Proposed title of this feature request
Provide an easier to manage Affinity Group Interface.


3. What is the nature and description of the request?
Currently there is the mechanism "affinity groups" where it is possible to configure a list of VMs and/or a list of HVs with rules if they should run together or not.
Also there is the mechanism "affinity labels" where on specific use case (enforced affinity VM to HV) can be configured.
As of my knowledge both mechanisms are implemented via the same techniques in RHV.


4. Why does the customer need this? (List the business requirements here)
Using affinity groups in current Cluster environment is really required in their environment to achieve business use-case. But the current method is difficult to maintain and could create contradictions, which are very difficult to debug.

5. How would the customer like to achieve this? (List the functional requirements here)
The use of affinity labels should not be restricted to one use case. The interface should offer the following:
* Rule creation with an optional custom name for the rule.
* Rules can contain affinities or anti-affinities, either enforced or not enforced
* Rules only contain tag names/group names
* It should be possible to deactivate rules
* Hosts and VMs are assigned to one or multiple tag names/group names
* Rules can have a priority
* Contradictions should be detected and marked
 * Those marks should have two stages: 
 * Stage1: contradiction already resolved by priority (see above)
 * Stage2: contradiction is not resolvable


6. For each functional requirement listed, specify how Red Hat and the customer can test to confirm the requirement is successfully implemented.
Affinity group: 1
Group name: Run VMs in Datacenter 1
Affinity: Not enforced run together
Tagnames: DC1-VMS, DC1-HOSTS
Assign the tag "DC1-VMS" to all VMs I would like to run in Datacenter 1
Assign the tag "DC1-HOSTS" to all VMs I would like to run in Datacenter 1
Result: VMs tagged with "DC1-VMS" should run on Hosts with tag "DC1-HOSTS"

Affinity group: 2
Prio: 0
Group name: Run nvidia VMs on capable hosts
Affinity: Enforced run together
Tagnames: NV-VMS, NV-HOSTS
Assign the tag "NV-VMS" to all VMs that are running calculations that need nvidia compute cards
Assign the tag "NV-HOSTS" to all Hosts that containt nvidia compute cards
Result: VMs tagged with "NV-VMS" can only be started on Hosts with tag "NV-HOSTS"

Affinity group: 3
Prio: 2
Group name: Ensure loadbalancing for application 1
Affinity: Not enforced run separate
Tagnames: APP1-VMS
Assign the tag "APP1-VMS" to all VMs that run application 1
Result: VMs tagged with "APP1-VMS" should not run on the same host, but could due to other restraints (resources, other affinity groups)

Affinity group: 4
Group name: Ensure redundance for application 2
Affinity: Enforced run separate
Tagnames: APP2-VMS
Assign the tag "APP2-VMS" to all VMs that run application 2
Result: VMs tagged with "APP2-VMS" will never run on the same host

Affinity group: 5
Prio: 5
Group name: Enable high interconnect for application 3
Affinity: Not enforced run together
Tagnames: APP3-VMS
Assign the tag "APP3-VMS" to all VMs that run application 3
Result: Result: VMs tagged with "APP3-VMS" should not run on the same host, but could due to other restraints (resources, other affinity groups)

If there are VMs tagged with both APP3-VMS and APP1-VMS then the affinity group 3 will take precedence over affinity group 5.



7. Is there already an existing RFE upstream or in Red Hat Bugzilla?
no that I'm aware of


8. Does the customer have any specific timeline dependencies and which release would they like to target (i.e. RHEL5, RHEL6)?
asap


9. Is the sales team involved in this request and do they have any additional input?
no


10. List any affected packages or components.
ovirt-engine?


11. Would the customer be able to assist in testing this functionality if implemented?
yes

Comment 1 Michal Skrivanek 2018-06-26 06:59:44 UTC

*** This bug has been marked as a duplicate of bug 1594810 ***

Comment 2 Franta Kust 2019-05-16 13:04:26 UTC
BZ<2>Jira Resync