Page MenuHomeDevCentral

Allow to filter a list by role
ClosedPublic

Authored by dereckson on Nov 23 2017, 04:42.
Tags
Referenced Files
F3777108: D1257.id3233.diff
Mon, Nov 25, 00:22
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
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 Passed
Unit
No Test Coverage
Branch
webserver-content
Build Status
Buildable 1999
Build 2247: arc lint + arc unit

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.