tree 696fc4f3c35833cc20db2cbcfe02752196313536
parent 17b9a9ea888545ade58883c785cedb95371d25e4
author Dennis Dmitriev <ddmitriev@mirantis.com> 1512037345 +0200
committer Dennis Dmitriev <ddmitriev@mirantis.com> 1512052814 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEiJJ7v9vMbdfhJzQtlV7WdO+V+McFAlogGe4ACgkQlV7WdO+V
 +MfBSAgAxB5zU4UT1jYhQSekRVV0CUGNtS1Bf3nfkshHc5f2mJ5WL+IARtqDYKta
 YMgVZOlPRQVZ/xO3faDPz/q33JYUB4CwjMGC+yp1jlIThIxcrd1OMSgttYkW7sCC
 iT58i9iX6ZB3Bgm9UgKpF1UyPG4oMup6inkwJb6L12ZRmSEX5ubOreisK81arxXe
 lJeYlVaq7KLhTGnVbR658nXzWRjiQKbdfkOSMiy5lH5kRVm/NzOysyt8DK9/SzCQ
 icf9qLBDekanKX3aJrcumL6RgJXY2nb8B8Bw3rHu9Xk472An5R46UCuiDzwsMHra
 56sSBR/qRiHN2wAWEI8qPNz1xVpd8Q==
 =xpmb
 -----END PGP SIGNATURE-----

Fix fixtures order for influxdb failover tests

- Use sl_os_deployed fixture as the last 'reverting'
  fixture in the fixture list for test cases,
  then it will revert the latest necessary snapshot
  instead of using intermediate snapshots.

- remove outdated template for model virtual-mcp-ocata-cicd
  related patch: https://gerrit.mcp.mirantis.net/#/c/12881
- remove DHCP settings for ens4 (private interface) to
  not affect keepalived that is configured for ens4 on most
  of labs
- remove workaround for keepalived with 100000 tries

- set pytest version <=3.2.5 in requirements.txt
  In the 3.3.0, requests.session._fixturemanager.getfixtureinfo()
  returns the fixtures only for limited context for the
  first fixture occurance, without collecting all the data.

Closes-Bug: https://mirantis.jira.com/browse/PROD-15791

Change-Id: Ifc29a79febdf910944b3ffe996dde7d640331d5d
