Fix a cycle in graph of tasks

This patch removes a dependency that causes a cycle in the graph of
tasks in MOS 8. The cycle was <custom>-netconfig -> hosts -> cluster ->
virtual_ips -> <custom>-netconfig.

We cannot remove hosts.pp as we tried previously because doing this also
remove a dependency between globals and hosts. So we create the
following dependency: tools -> <custom>-netconfig -> hosts
in place of the former: tools -> netconfig -> hosts

Change-Id: I9a2ec06e3f61942ad33b9a32d9a6034602a51abd
Partial-Bug: #1616391
This commit is contained in:
Guillaume Thouvenin 2016-08-29 09:02:44 +02:00
parent d67331c5e9
commit db94ccbc8c
1 changed files with 10 additions and 3 deletions

View File

@ -85,12 +85,19 @@
reexecute_on:
- deploy_changes
# We cannot use the legacy 'netconfig' task because it won't create the proper
# dependency on the virtual management router task.
# We cannot use the legacy 'netconfig' task because with MOS 9, it won't create
# the proper dependency on the 'virtual_ips' task for the Elasticsearch-Kibana
# nodes. As a consequence, the deployment will fail because the nodes will
# perform operations that download stuff from the Internet (like running
# 'apt-get update') while the virtual router isn't ready yet. For MOS 8, the
# task depends on the 'tools' task and not on the 'virtual_ips' task otherwise
# it creates a dependency cycle. In this case, this isn't an issue because the
# default gateway is only changed at post-deployment (see the
# 'influxdb-configure-default-route' task).
- id: elasticsearch-netconfig
type: puppet
version: 2.0.0
requires: [elasticsearch-check-configuration, virtual_ips]
requires: [elasticsearch-check-configuration, tools]
required_for: [deploy_end, hosts]
cross-depends:
- name: virtual_ips