Page MenuHomeDevCentral

Allow to filter a list by role
ClosedPublic

Authored by dereckson on Nov 23 2017, 04:42.
Tags
Referenced Files
Unknown Object (File)
Tue, Apr 23, 00:18
Unknown Object (File)
Mon, Apr 22, 11:27
Unknown Object (File)
Sat, Apr 20, 21:57
Unknown Object (File)
Fri, Apr 19, 07:42
Unknown Object (File)
Thu, Apr 18, 21:19
Unknown Object (File)
Wed, Apr 17, 13:03
Unknown Object (File)
Mon, Apr 15, 02:26
Unknown Object (File)
Mon, Apr 15, 01:32
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.