Page MenuHomeDevCentral

Allow to filter a list by role
ClosedPublic

Authored by dereckson on Nov 23 2017, 04:42.
Tags
Referenced Files
F2841806: D1257.id3233.diff
Tue, Apr 23, 00:18
F2839100: D1257.id.diff
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 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.