tree 77799307a5654192911b2b47fd2379bf313963d1
parent a3c15da1cd0d74d17727056dd72103fc915ab86d
author Sergey Vilgelm <sergey@vilgelm.info> 1536285117 -0500
committer Sergey Vilgelm <sergey@vilgelm.info> 1536686575 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEwIoo0NdlUl/otoG0CNDi/3eIh+YFAluX+fEACgkQCNDi/3eI
 h+Y4kg/+MV6k+50+D9Sacc3PZOdkNk4hcU9Ivw9pdHV8Yx7e3EHmuwuWaMW8lhsV
 hdtisgo1C0r3L5wWuKXKeLKdsTKba7Z/pvQWFvQ4XQprDbIbw5ASi5qJXwWXewxx
 HmsqDcYThvFweCfVH2M5yyq3z53ogTvXT5qVNiZ5Dmi51hSFlIyk3bB/JuR3MQ9Y
 bat6cSaysTFQOFVtcKT3cy8wpBsmzYr9gZV+8vVMAIk0kbHNhQF9reFSpzFo2gFQ
 vTlAeukLpbZZPGvv9t7sNSsEwPGKdWoWqqefXiRy7xRcGqobMwA5mVLCzP7iAMVB
 hPDbCX1i/MFvBRnDUO3KX7ZowQfsW8fpinqGRxdjBpXlGudBhA5/cZxriIryz011
 G3WMpGAYyXodagSXCpRarCjatZ6t2FRZnZZa9nRUJ6b2hfpGfUd2bX13KqbdaQNj
 73baUAdkLzyv/DPStXYayImqfGi0NmvE+H1ymebofcXvb17L2NK73gdTbiLHK5Zf
 1mFgej6rZ4BPZxfn0ARqd0yTGBIc0LUvaDCjLi2C5nd5s1+ViNvougR3zS1lh6mz
 H8gXJ3igHsKNrF+j5udwT6KADT/xkTE2d4QYOokYKh9rHAOSWEQnhuvbyWWD8Dd8
 KeTrKTGzDvjlSl/2By6SQpaq4y+NB9IIir6fHhhxV1F8wqLlakM=
 =wM+z
 -----END PGP SIGNATURE-----

Add support for multiple policy files

Most of the neutron plugins provide an updated version of policy.json
file with full list of rules, but at the same time there are a lot of
other plugins which provide their own policy files and store them in
the policy.d/ folder: neutron-fwaas, networking-bgpvpn, vmware-nsx,
ect...
To implement the tests for such plugins the Patrole should be able to
load and merge multiple policy files for any of the services.

Modify the discover_policy_files function to discover all policy files
for each of the services. Using glob.glob() function makes it possible
to use patterns like '*.json' to discover the policy files.
Modify the _get_policy_data function to load a data from all discovered
policy files for a service.

Update the unit test according to the changes.

Change-Id: Ib24f3d6d7a5ffdeaecce579af9795fd897dce872
