I am trying to set up two client tasks. Both are deployment tasks. One is set to deploy software form the evaluation branch, and the other is set to deploy software from the current branch.
I have created a tag called "Evaluation Versions" that I manually apply to clients that should install using the evaluation branch.
The Default deployment task I have set up to deploy on machines with the "Has any of these tags: None" and "has none of these tags: Evaluation Versions"
Machines that have the tag "Evaluation Versions" are still receiving this task even though the task is set to not run on machines with the "Evaluation versions" tag.
The other task is set to run on machines that "Has any of these tags: Evaluation Versions" and "has none of these tags: None" This task correctly runs on only machines with the Evaluation Versions tag.
On tasks that are inherited from a higher node, if the "Has any of these tags: None" is set to none as shown below, the task will run on all computers regardless of the way the "And has none of these tags:" value is set.
If I fill in the "Has any of these tags: Workstations" instead of none, then the inherited tasks are evaluated correctly.
For tasks that are set at the node level and are not inherited, the tags are evaluated correctly whether or not the "Has any of these tags" is filled in or not.
When a task with the filter shown below is inherited from a higher node, this task incorrectly runs on machines with the "Evaluation Versions" tag. If the same task and filter are assigned at the node (and not inherited) the task is not assigned, which is correct.
I have been able to work arround this bug by making sure my inherited tasks have some value filled in for the "Has any of these tags:" value.
The screenshot below indicates the criteria is "Has none of these tags, Server, Evaluation Versions". So it is checking for 2 tags not 1. If you simplify the rule and only look for 1 tag does it work? If their is a bug it may be in the wording because I believe this is a logical AND not an OR (i.e. the client must have both tags not just one or the other).
Well, I don;t want to get in an argument with those supporting the product, but in my experiemce, it doesn't work that way. I have written up a test matrix to document how this feature works. It definately functions differently between tasks assigned at the node and those inherited from parent nodes. I think this is a new feature in EPO4.5 so it is not surprising that all of the nuances have not been figured out.
I have tried this with a single tag as well and it works the same way, There is an implied "OR" among the list of tags in both the has and the has not, and an "AND" between the two clauses.
I can make the task flip on and off by adding the "Workstation" tag to the Has these tags: line. When the "Workstations" tag is present, the task disappears from machines with the "Evaluation" tag. If I remove the "Workstations" tag from the top line, the task returns. This is true whether or not the Server tag is present.
As a workaround, I have added the Workstation tag to the "Has" part of the tag filter. this has resolved my problem. For tasks that are not inherited, this is not required. For inherited tasks it is.
It is an "OR" for the tags, the task will not run on a machine that has any of the tags listed in the "must not have" area. Similarly, if you wanted to assign a task to a machines that had one of several tags you can list them all in the first clause. A machine does not have to have all the listed tags to revceive or block the task. One match is suffucient.
I should note that tier 1 was unable to reproduce the situation on their test farm, but I will be submitting a MER from the server just to make sure there is nothing funky with my EPO server. It is running on Server 2003 SP2 with SQL 2005 server, and was upgraded from 4.0 to 4.5.Message was edited by: eobiont on 11/25/09 1:53 PM