Page MenuHomeDevCentral

Allow to filter a list by role
ClosedPublic

Authored by dereckson on Nov 23 2017, 04:42.
Tags
Referenced Files
F3776900: D1257.id3234.diff
Sun, Nov 24, 23:43
F3776192: D1257.diff
Sun, Nov 24, 21:35
Unknown Object (File)
Sun, Nov 17, 22:45
Unknown Object (File)
Tue, Nov 12, 22:05
Unknown Object (File)
Tue, Nov 5, 21:15
Unknown Object (File)
Tue, Nov 5, 20:51
Unknown Object (File)
Sat, Nov 2, 18:01
Unknown Object (File)
Mon, Oct 28, 16:27
Subscribers
None

Details

Summary

Currently, content to deploy to /var/wwwroot are split
in mastodon, shellserver and webserver-legacy roles.

Plan is to consolidate all of them in the webserver-content
role, and from webserver-content/init.sls, to include the relevant
states files according the target role.

To use node.has_role with if condition isn't pretty, especially as
a sls file can't only have one unique include entry.

Instead, this change provides a node.filter_by_role method, to be
able to create a pillar like this:

web_content_sls:
  mastodon:
    - .org/nasqueron/social
  shellserver:
    - .com/paysannerebelle
    - .org/eglide
  webserver-legacy:
    - .be/dereckson
    - .org/nasqueron/docs

Then, node.filter_by_role('web_content_sls') called on a node
with the mastodon role will return this list:

- .org/nasqueron/social

Ref T1325

Test Plan

Unit tests have been provided for the new method.

Diff Detail

Repository
rOPS Nasqueron Operations
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Nov 23 2017, 04:43
This revision was automatically updated to reflect the committed changes.