Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix cluster message routing for global zones #8440

Merged
merged 1 commit into from Nov 24, 2020

Conversation

julianbrost
Copy link
Contributor

@julianbrost julianbrost commented Nov 5, 2020

RelayMessageOne used to relay the message only to one other endpoint for other zones, which is fine, as long as the target zone is a child/parent zone but breaks if the target zone is a global one. In this case, the message has to be forwarded within the local zone as well as to one node in each child zone.

The diff looks way worse than what got actually changed: instead of iterating over all endpoints combined from multiple zones, this now happens in nested loops for the zones and their endpoints and the relayed/log_needed/log_done logic is done separately for each zone.

fixes #8439

@icinga-probot icinga-probot bot added this to the 2.13.0 milestone Nov 5, 2020
@icinga-probot icinga-probot bot added area/api REST API area/distributed Distributed monitoring (master, satellites, clients) bug Something isn't working ref/NC labels Nov 5, 2020
@julianbrost
Copy link
Contributor Author

With this PR, multiple agents properly receive the config update (without, only one agent logs this message):

PUT:

master-1_1  | [2020-11-05 14:55:32 +0000] information/ApiListener: New client connection from [172.23.0.1]:55494 (no client certificate)
master-1_1  | [2020-11-05 14:55:32 +0000] information/HttpServerConnection: Request: PUT /v1/objects/hostgroups/testhostgroup (from [172.23.0.1]:55494), user: root, agent: curl/7.73.0).
master-1_1  | [2020-11-05 14:55:32 +0000] information/ConfigObjectUtility: Created and activated object 'testhostgroup' of type 'HostGroup'.
master-1_1  | [2020-11-05 14:55:32 +0000] information/HttpServerConnection: HTTP client disconnected (from [172.23.0.1]:55494)
agent-2_1   | [2020-11-05 14:55:32 +0000] information/ConfigObjectUtility: Created and activated object 'testhostgroup' of type 'HostGroup'.
agent-1_1   | [2020-11-05 14:55:32 +0000] information/ConfigObjectUtility: Created and activated object 'testhostgroup' of type 'HostGroup'.

DELETE:

master-1_1  | [2020-11-05 14:55:36 +0000] information/ApiListener: New client connection from [172.23.0.1]:55498 (no client certificate)
master-1_1  | [2020-11-05 14:55:36 +0000] information/HttpServerConnection: Request: DELETE /v1/objects/hostgroups/testhostgroup (from [172.23.0.1]:55498), user: root, agent: curl/7.73.0).
master-1_1  | [2020-11-05 14:55:36 +0000] information/ConfigObjectUtility: Deleted object 'testhostgroup' of type 'HostGroup'.
agent-2_1   | [2020-11-05 14:55:36 +0000] information/ConfigObjectUtility: Deleted object 'testhostgroup' of type 'HostGroup'.
agent-1_1   | [2020-11-05 14:55:36 +0000] information/ConfigObjectUtility: Deleted object 'testhostgroup' of type 'HostGroup'.
master-1_1  | [2020-11-05 14:55:36 +0000] information/HttpServerConnection: HTTP client disconnected (from [172.23.0.1]:55498)

@julianbrost julianbrost marked this pull request as ready for review November 5, 2020 15:15
@julianbrost
Copy link
Contributor Author

Good for review from my side, but as this touches code very deep in the cluster communication, this still needs more testing in different cluster scenarios.

@N-o-X N-o-X self-requested a review November 6, 2020 11:22
@julianbrost
Copy link
Contributor Author

Now started testing this in more detail. Replaying the delete message to endpoints that were offline when the delete request was issued did not work. Will investigate.

@julianbrost
Copy link
Contributor Author

The problem I was observing seems to be more related to how config sync works in general than to the code I am touching in this PR, as the routing seems to work as expected.

To me it looks like config sync is supposed to work without the replay log. Both ApiListener::UpdateConfigObject() and ApiListener::DeleteConfigObject() explicitly call RelayMessage() with log = false.

RelayMessage(origin, target, message, false);

RelayMessage(origin, target, message, false);

And in general, I don't think it would be a good idea to me to rely on the replay log for config sync, as the default log duration is one day (i.e. if a node is offline for more than a day, it would break nonetheless) and there are even examples in the documentation for disabling it completely.

The other way to fix this would be updating the initial config sync for each connection to also handle propagating the deletion of objects, but this change would require some serious changes.

lib/remote/apilistener.cpp Outdated Show resolved Hide resolved
lib/remote/apilistener.cpp Outdated Show resolved Hide resolved
lib/remote/apilistener.cpp Show resolved Hide resolved
lib/remote/apilistener.cpp Outdated Show resolved Hide resolved
lib/remote/apilistener.cpp Outdated Show resolved Hide resolved
RelayMessageOne used to relay the message only to one other endpoint for
other zones, which is fine, as long as the target zone is a child/parent
zone but breaks if the target zone is a global one. In this case, the
message has to be forwarded within the local zone as well as to one node
in each child zone.
@julianbrost julianbrost force-pushed the bugfix/message-routing-for-global-zones branch from 18e5761 to cb47617 Compare November 9, 2020 14:43
Copy link
Member

@Al2Klimov Al2Klimov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it fixes the problem...

@lippserd
Copy link
Member

If it fixes the problem...

Please verify whether it does.

Copy link
Member

@Al2Klimov Al2Klimov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before

➜  icinga2 git:(1450e1bb7) curl -fksSLu root:icinga -H 'Accept: application/json' -X PUT 'https://localhost:5661/v1/objects/hostgroups/lolcat' -d '{ "attrs": { "zone": "global-templates" }, "pretty": true }'; echo
{
    "results": [
        {
            "code": 200.0,
            "status": "Object was created"
        }
    ]
}
➜  icinga2 git:(1450e1bb7) prefix1/sbin/icinga2 daemon -C; prefix1/sbin/icinga2 object list -t hostgroup
[2020-11-11 12:06:08 +0100] information/cli: Icinga application loader (version: v2.12.0-144-g1450e1bb7)
[2020-11-11 12:06:08 +0100] information/cli: Loading configuration file(s).
[2020-11-11 12:06:08 +0100] information/ConfigItem: Committing config item(s).
[2020-11-11 12:06:08 +0100] information/ApiListener: My API identity: m1
[2020-11-11 12:06:08 +0100] information/ConfigItem: Instantiated 1 ApiListener.
[2020-11-11 12:06:08 +0100] information/ConfigItem: Instantiated 235 CheckCommands.
[2020-11-11 12:06:08 +0100] information/ConfigItem: Instantiated 1 FileLogger.
[2020-11-11 12:06:08 +0100] information/ConfigItem: Instantiated 1 ApiUser.
[2020-11-11 12:06:08 +0100] information/ConfigItem: Instantiated 4 Endpoints.
[2020-11-11 12:06:08 +0100] information/ConfigItem: Instantiated 1 HostGroup.
[2020-11-11 12:06:08 +0100] information/ConfigItem: Instantiated 1 IcingaApplication.
[2020-11-11 12:06:08 +0100] information/ConfigItem: Instantiated 5 Zones.
[2020-11-11 12:06:08 +0100] information/ConfigItem: Instantiated 1 CheckerComponent.
[2020-11-11 12:06:08 +0100] information/ConfigItem: Instantiated 1 NotificationComponent.
[2020-11-11 12:06:08 +0100] information/ScriptGlobal: Dumping variables to file '/Users/aklimov/NET/WS/icinga2/prefix1/var/cache/icinga2/icinga2.vars'
[2020-11-11 12:06:08 +0100] information/cli: Finished validating the configuration file(s).
Object 'lolcat' of type 'HostGroup':
  % declared in '/Users/aklimov/NET/WS/icinga2/prefix1/var/lib/icinga2/api/packages/_api/80a76565-a2fc-467d-876c-46b4e1017d1c/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * __name = "lolcat"
  * action_url = ""
  * display_name = "lolcat"
  * groups = null
  * name = "lolcat"
  * notes = ""
  * notes_url = ""
  * package = "_api"
  * source_location
    * first_column = 0
    * first_line = 1
    * last_column = 24
    * last_line = 1
    * path = "/Users/aklimov/NET/WS/icinga2/prefix1/var/lib/icinga2/api/packages/_api/80a76565-a2fc-467d-876c-46b4e1017d1c/conf.d/hostgroups/lolcat.conf"
  * templates = [ "lolcat" ]
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix1/var/lib/icinga2/api/packages/_api/80a76565-a2fc-467d-876c-46b4e1017d1c/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * type = "HostGroup"
  * vars = null
  * zone = "global-templates"
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix1/var/lib/icinga2/api/packages/_api/80a76565-a2fc-467d-876c-46b4e1017d1c/conf.d/hostgroups/lolcat.conf', lines 3:2-3:26
➜  icinga2 git:(1450e1bb7) prefix2/sbin/icinga2 daemon -C; prefix2/sbin/icinga2 object list -t hostgroup
[2020-11-11 12:06:22 +0100] information/cli: Icinga application loader (version: v2.12.0-144-g1450e1bb7)
[2020-11-11 12:06:22 +0100] information/cli: Loading configuration file(s).
[2020-11-11 12:06:22 +0100] information/ConfigItem: Committing config item(s).
[2020-11-11 12:06:22 +0100] information/ApiListener: My API identity: a1
[2020-11-11 12:06:22 +0100] information/ConfigItem: Instantiated 1 ApiListener.
[2020-11-11 12:06:22 +0100] information/ConfigItem: Instantiated 235 CheckCommands.
[2020-11-11 12:06:22 +0100] information/ConfigItem: Instantiated 1 FileLogger.
[2020-11-11 12:06:22 +0100] information/ConfigItem: Instantiated 4 Endpoints.
[2020-11-11 12:06:22 +0100] information/ConfigItem: Instantiated 1 IcingaApplication.
[2020-11-11 12:06:22 +0100] information/ConfigItem: Instantiated 5 Zones.
[2020-11-11 12:06:22 +0100] information/ConfigItem: Instantiated 1 CheckerComponent.
[2020-11-11 12:06:22 +0100] information/ScriptGlobal: Dumping variables to file '/Users/aklimov/NET/WS/icinga2/prefix2/var/cache/icinga2/icinga2.vars'
[2020-11-11 12:06:22 +0100] information/cli: Finished validating the configuration file(s).
➜  icinga2 git:(1450e1bb7) prefix3/sbin/icinga2 daemon -C; prefix3/sbin/icinga2 object list -t hostgroup
[2020-11-11 12:06:40 +0100] information/cli: Icinga application loader (version: v2.12.0-144-g1450e1bb7)
[2020-11-11 12:06:40 +0100] information/cli: Loading configuration file(s).
[2020-11-11 12:06:40 +0100] information/ConfigItem: Committing config item(s).
[2020-11-11 12:06:40 +0100] information/ApiListener: My API identity: a2
[2020-11-11 12:06:40 +0100] information/ConfigItem: Instantiated 1 ApiListener.
[2020-11-11 12:06:40 +0100] information/ConfigItem: Instantiated 235 CheckCommands.
[2020-11-11 12:06:40 +0100] information/ConfigItem: Instantiated 1 FileLogger.
[2020-11-11 12:06:40 +0100] information/ConfigItem: Instantiated 4 Endpoints.
[2020-11-11 12:06:40 +0100] information/ConfigItem: Instantiated 1 IcingaApplication.
[2020-11-11 12:06:40 +0100] information/ConfigItem: Instantiated 5 Zones.
[2020-11-11 12:06:40 +0100] information/ConfigItem: Instantiated 1 CheckerComponent.
[2020-11-11 12:06:40 +0100] information/ScriptGlobal: Dumping variables to file '/Users/aklimov/NET/WS/icinga2/prefix3/var/cache/icinga2/icinga2.vars'
[2020-11-11 12:06:40 +0100] information/cli: Finished validating the configuration file(s).
➜  icinga2 git:(1450e1bb7) prefix4/sbin/icinga2 daemon -C; prefix4/sbin/icinga2 object list -t hostgroup
[2020-11-11 12:06:54 +0100] information/cli: Icinga application loader (version: v2.12.0-144-g1450e1bb7)
[2020-11-11 12:06:54 +0100] information/cli: Loading configuration file(s).
[2020-11-11 12:06:54 +0100] information/ConfigItem: Committing config item(s).
[2020-11-11 12:06:54 +0100] information/ApiListener: My API identity: a3
[2020-11-11 12:06:54 +0100] information/ConfigItem: Instantiated 1 ApiListener.
[2020-11-11 12:06:54 +0100] information/ConfigItem: Instantiated 235 CheckCommands.
[2020-11-11 12:06:54 +0100] information/ConfigItem: Instantiated 1 FileLogger.
[2020-11-11 12:06:54 +0100] information/ConfigItem: Instantiated 4 Endpoints.
[2020-11-11 12:06:54 +0100] information/ConfigItem: Instantiated 1 HostGroup.
[2020-11-11 12:06:54 +0100] information/ConfigItem: Instantiated 1 IcingaApplication.
[2020-11-11 12:06:54 +0100] information/ConfigItem: Instantiated 5 Zones.
[2020-11-11 12:06:54 +0100] information/ConfigItem: Instantiated 1 CheckerComponent.
[2020-11-11 12:06:54 +0100] information/ScriptGlobal: Dumping variables to file '/Users/aklimov/NET/WS/icinga2/prefix4/var/cache/icinga2/icinga2.vars'
[2020-11-11 12:06:54 +0100] information/cli: Finished validating the configuration file(s).
Object 'lolcat' of type 'HostGroup':
  % declared in '/Users/aklimov/NET/WS/icinga2/prefix4/var/lib/icinga2/api/packages/_api/d0b92a71-a839-415c-ac38-2dc47ed2b77a/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * __name = "lolcat"
  * action_url = ""
  * display_name = "lolcat"
  * groups = null
  * name = "lolcat"
  * notes = ""
  * notes_url = ""
  * package = "_api"
  * source_location
    * first_column = 0
    * first_line = 1
    * last_column = 24
    * last_line = 1
    * path = "/Users/aklimov/NET/WS/icinga2/prefix4/var/lib/icinga2/api/packages/_api/d0b92a71-a839-415c-ac38-2dc47ed2b77a/conf.d/hostgroups/lolcat.conf"
  * templates = [ "lolcat" ]
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix4/var/lib/icinga2/api/packages/_api/d0b92a71-a839-415c-ac38-2dc47ed2b77a/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * type = "HostGroup"
  * vars = null
  * zone = "global-templates"
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix4/var/lib/icinga2/api/packages/_api/d0b92a71-a839-415c-ac38-2dc47ed2b77a/conf.d/hostgroups/lolcat.conf', lines 3:2-3:26
➜  icinga2 git:(1450e1bb7) cat prefix1/etc/icinga2/zones.conf
object Endpoint "m1" {
	host = "127.0.0.1"
	port = 5661
}

object Zone "master" {
	endpoints = [ "m1" ]
}

object Endpoint "a1" {
	host = "127.0.0.1"
	port = 5662
}

object Zone "a1" {
	endpoints = [ "a1" ]
	parent = "master"
}

object Endpoint "a2" {
	host = "127.0.0.1"
	port = 5663
}

object Zone "a2" {
	endpoints = [ "a2" ]
	parent = "master"
}

object Endpoint "a3" {
	host = "127.0.0.1"
	port = 5664
}

object Zone "a3" {
	endpoints = [ "a3" ]
	parent = "master"
}

object Zone "global-templates" {
	global = true
}
➜  icinga2 git:(1450e1bb7)

After

➜  icinga2 git:(bugfix/message-routing-for-global-zones) curl -fksSLu root:icinga -H 'Accept: application/json' -X PUT 'https://localhost:5661/v1/objects/hostgroups/lolcat' -d '{ "attrs": { "zone": "global-templates" }, "pretty": true }'; echo
{
    "results": [
        {
            "code": 200.0,
            "status": "Object was created"
        }
    ]
}
➜  icinga2 git:(bugfix/message-routing-for-global-zones) prefix1/sbin/icinga2 daemon -C; prefix1/sbin/icinga2 object list -t hostgroup
[2020-11-11 12:13:41 +0100] information/cli: Icinga application loader (version: v2.12.0-145-gcb476172e)
[2020-11-11 12:13:41 +0100] information/cli: Loading configuration file(s).
[2020-11-11 12:13:41 +0100] information/ConfigItem: Committing config item(s).
[2020-11-11 12:13:41 +0100] information/ApiListener: My API identity: m1
[2020-11-11 12:13:41 +0100] information/ConfigItem: Instantiated 1 ApiListener.
[2020-11-11 12:13:41 +0100] information/ConfigItem: Instantiated 235 CheckCommands.
[2020-11-11 12:13:41 +0100] information/ConfigItem: Instantiated 1 FileLogger.
[2020-11-11 12:13:41 +0100] information/ConfigItem: Instantiated 1 ApiUser.
[2020-11-11 12:13:41 +0100] information/ConfigItem: Instantiated 4 Endpoints.
[2020-11-11 12:13:41 +0100] information/ConfigItem: Instantiated 1 HostGroup.
[2020-11-11 12:13:41 +0100] information/ConfigItem: Instantiated 1 IcingaApplication.
[2020-11-11 12:13:41 +0100] information/ConfigItem: Instantiated 5 Zones.
[2020-11-11 12:13:41 +0100] information/ConfigItem: Instantiated 1 CheckerComponent.
[2020-11-11 12:13:41 +0100] information/ConfigItem: Instantiated 1 NotificationComponent.
[2020-11-11 12:13:41 +0100] information/ScriptGlobal: Dumping variables to file '/Users/aklimov/NET/WS/icinga2/prefix1/var/cache/icinga2/icinga2.vars'
[2020-11-11 12:13:41 +0100] information/cli: Finished validating the configuration file(s).
Object 'lolcat' of type 'HostGroup':
  % declared in '/Users/aklimov/NET/WS/icinga2/prefix1/var/lib/icinga2/api/packages/_api/80a76565-a2fc-467d-876c-46b4e1017d1c/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * __name = "lolcat"
  * action_url = ""
  * display_name = "lolcat"
  * groups = null
  * name = "lolcat"
  * notes = ""
  * notes_url = ""
  * package = "_api"
  * source_location
    * first_column = 0
    * first_line = 1
    * last_column = 24
    * last_line = 1
    * path = "/Users/aklimov/NET/WS/icinga2/prefix1/var/lib/icinga2/api/packages/_api/80a76565-a2fc-467d-876c-46b4e1017d1c/conf.d/hostgroups/lolcat.conf"
  * templates = [ "lolcat" ]
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix1/var/lib/icinga2/api/packages/_api/80a76565-a2fc-467d-876c-46b4e1017d1c/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * type = "HostGroup"
  * vars = null
  * zone = "global-templates"
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix1/var/lib/icinga2/api/packages/_api/80a76565-a2fc-467d-876c-46b4e1017d1c/conf.d/hostgroups/lolcat.conf', lines 3:2-3:26
➜  icinga2 git:(bugfix/message-routing-for-global-zones) prefix2/sbin/icinga2 daemon -C; prefix2/sbin/icinga2 object list -t hostgroup
[2020-11-11 12:14:00 +0100] information/cli: Icinga application loader (version: v2.12.0-145-gcb476172e)
[2020-11-11 12:14:00 +0100] information/cli: Loading configuration file(s).
[2020-11-11 12:14:00 +0100] information/ConfigItem: Committing config item(s).
[2020-11-11 12:14:00 +0100] information/ApiListener: My API identity: a1
[2020-11-11 12:14:00 +0100] information/ConfigItem: Instantiated 1 ApiListener.
[2020-11-11 12:14:00 +0100] information/ConfigItem: Instantiated 235 CheckCommands.
[2020-11-11 12:14:00 +0100] information/ConfigItem: Instantiated 1 FileLogger.
[2020-11-11 12:14:00 +0100] information/ConfigItem: Instantiated 4 Endpoints.
[2020-11-11 12:14:00 +0100] information/ConfigItem: Instantiated 1 HostGroup.
[2020-11-11 12:14:00 +0100] information/ConfigItem: Instantiated 1 IcingaApplication.
[2020-11-11 12:14:00 +0100] information/ConfigItem: Instantiated 5 Zones.
[2020-11-11 12:14:00 +0100] information/ConfigItem: Instantiated 1 CheckerComponent.
[2020-11-11 12:14:00 +0100] information/ConfigItem: Instantiated 1 NotificationComponent.
[2020-11-11 12:14:00 +0100] information/ScriptGlobal: Dumping variables to file '/Users/aklimov/NET/WS/icinga2/prefix2/var/cache/icinga2/icinga2.vars'
[2020-11-11 12:14:00 +0100] information/cli: Finished validating the configuration file(s).
Object 'lolcat' of type 'HostGroup':
  % declared in '/Users/aklimov/NET/WS/icinga2/prefix2/var/lib/icinga2/api/packages/_api/21547a95-83cd-4af6-892f-bbb3f79644b5/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * __name = "lolcat"
  * action_url = ""
  * display_name = "lolcat"
  * groups = null
  * name = "lolcat"
  * notes = ""
  * notes_url = ""
  * package = "_api"
  * source_location
    * first_column = 0
    * first_line = 1
    * last_column = 24
    * last_line = 1
    * path = "/Users/aklimov/NET/WS/icinga2/prefix2/var/lib/icinga2/api/packages/_api/21547a95-83cd-4af6-892f-bbb3f79644b5/conf.d/hostgroups/lolcat.conf"
  * templates = [ "lolcat" ]
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix2/var/lib/icinga2/api/packages/_api/21547a95-83cd-4af6-892f-bbb3f79644b5/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * type = "HostGroup"
  * vars = null
  * zone = "global-templates"
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix2/var/lib/icinga2/api/packages/_api/21547a95-83cd-4af6-892f-bbb3f79644b5/conf.d/hostgroups/lolcat.conf', lines 3:2-3:26
➜  icinga2 git:(bugfix/message-routing-for-global-zones) prefix3/sbin/icinga2 daemon -C; prefix3/sbin/icinga2 object list -t hostgroup
[2020-11-11 12:14:18 +0100] information/cli: Icinga application loader (version: v2.12.0-145-gcb476172e)
[2020-11-11 12:14:18 +0100] information/cli: Loading configuration file(s).
[2020-11-11 12:14:18 +0100] information/ConfigItem: Committing config item(s).
[2020-11-11 12:14:18 +0100] information/ApiListener: My API identity: a2
[2020-11-11 12:14:18 +0100] information/ConfigItem: Instantiated 1 ApiListener.
[2020-11-11 12:14:18 +0100] information/ConfigItem: Instantiated 235 CheckCommands.
[2020-11-11 12:14:18 +0100] information/ConfigItem: Instantiated 1 FileLogger.
[2020-11-11 12:14:18 +0100] information/ConfigItem: Instantiated 4 Endpoints.
[2020-11-11 12:14:18 +0100] information/ConfigItem: Instantiated 1 HostGroup.
[2020-11-11 12:14:18 +0100] information/ConfigItem: Instantiated 1 IcingaApplication.
[2020-11-11 12:14:18 +0100] information/ConfigItem: Instantiated 5 Zones.
[2020-11-11 12:14:18 +0100] information/ConfigItem: Instantiated 1 CheckerComponent.
[2020-11-11 12:14:18 +0100] information/ConfigItem: Instantiated 1 NotificationComponent.
[2020-11-11 12:14:18 +0100] information/ScriptGlobal: Dumping variables to file '/Users/aklimov/NET/WS/icinga2/prefix3/var/cache/icinga2/icinga2.vars'
[2020-11-11 12:14:18 +0100] information/cli: Finished validating the configuration file(s).
Object 'lolcat' of type 'HostGroup':
  % declared in '/Users/aklimov/NET/WS/icinga2/prefix3/var/lib/icinga2/api/packages/_api/5b2fe254-d2d6-48a5-bccc-361ce22c9f5b/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * __name = "lolcat"
  * action_url = ""
  * display_name = "lolcat"
  * groups = null
  * name = "lolcat"
  * notes = ""
  * notes_url = ""
  * package = "_api"
  * source_location
    * first_column = 0
    * first_line = 1
    * last_column = 24
    * last_line = 1
    * path = "/Users/aklimov/NET/WS/icinga2/prefix3/var/lib/icinga2/api/packages/_api/5b2fe254-d2d6-48a5-bccc-361ce22c9f5b/conf.d/hostgroups/lolcat.conf"
  * templates = [ "lolcat" ]
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix3/var/lib/icinga2/api/packages/_api/5b2fe254-d2d6-48a5-bccc-361ce22c9f5b/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * type = "HostGroup"
  * vars = null
  * zone = "global-templates"
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix3/var/lib/icinga2/api/packages/_api/5b2fe254-d2d6-48a5-bccc-361ce22c9f5b/conf.d/hostgroups/lolcat.conf', lines 3:2-3:26
➜  icinga2 git:(bugfix/message-routing-for-global-zones) prefix4/sbin/icinga2 daemon -C; prefix4/sbin/icinga2 object list -t hostgroup
[2020-11-11 12:14:37 +0100] information/cli: Icinga application loader (version: v2.12.0-145-gcb476172e)
[2020-11-11 12:14:37 +0100] information/cli: Loading configuration file(s).
[2020-11-11 12:14:37 +0100] information/ConfigItem: Committing config item(s).
[2020-11-11 12:14:37 +0100] information/ApiListener: My API identity: a3
[2020-11-11 12:14:37 +0100] information/ConfigItem: Instantiated 1 ApiListener.
[2020-11-11 12:14:37 +0100] information/ConfigItem: Instantiated 235 CheckCommands.
[2020-11-11 12:14:37 +0100] information/ConfigItem: Instantiated 1 FileLogger.
[2020-11-11 12:14:37 +0100] information/ConfigItem: Instantiated 4 Endpoints.
[2020-11-11 12:14:37 +0100] information/ConfigItem: Instantiated 1 HostGroup.
[2020-11-11 12:14:37 +0100] information/ConfigItem: Instantiated 1 IcingaApplication.
[2020-11-11 12:14:37 +0100] information/ConfigItem: Instantiated 5 Zones.
[2020-11-11 12:14:37 +0100] information/ConfigItem: Instantiated 1 CheckerComponent.
[2020-11-11 12:14:37 +0100] information/ConfigItem: Instantiated 1 NotificationComponent.
[2020-11-11 12:14:37 +0100] information/ScriptGlobal: Dumping variables to file '/Users/aklimov/NET/WS/icinga2/prefix4/var/cache/icinga2/icinga2.vars'
[2020-11-11 12:14:37 +0100] information/cli: Finished validating the configuration file(s).
Object 'lolcat' of type 'HostGroup':
  % declared in '/Users/aklimov/NET/WS/icinga2/prefix4/var/lib/icinga2/api/packages/_api/d0b92a71-a839-415c-ac38-2dc47ed2b77a/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * __name = "lolcat"
  * action_url = ""
  * display_name = "lolcat"
  * groups = null
  * name = "lolcat"
  * notes = ""
  * notes_url = ""
  * package = "_api"
  * source_location
    * first_column = 0
    * first_line = 1
    * last_column = 24
    * last_line = 1
    * path = "/Users/aklimov/NET/WS/icinga2/prefix4/var/lib/icinga2/api/packages/_api/d0b92a71-a839-415c-ac38-2dc47ed2b77a/conf.d/hostgroups/lolcat.conf"
  * templates = [ "lolcat" ]
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix4/var/lib/icinga2/api/packages/_api/d0b92a71-a839-415c-ac38-2dc47ed2b77a/conf.d/hostgroups/lolcat.conf', lines 1:0-1:24
  * type = "HostGroup"
  * vars = null
  * zone = "global-templates"
    % = modified in '/Users/aklimov/NET/WS/icinga2/prefix4/var/lib/icinga2/api/packages/_api/d0b92a71-a839-415c-ac38-2dc47ed2b77a/conf.d/hostgroups/lolcat.conf', lines 3:2-3:26
➜  icinga2 git:(bugfix/message-routing-for-global-zones)

@Al2Klimov Al2Klimov merged commit 39bc159 into master Nov 24, 2020
@icinga-probot icinga-probot bot deleted the bugfix/message-routing-for-global-zones branch November 24, 2020 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/api REST API area/distributed Distributed monitoring (master, satellites, clients) bug Something isn't working ref/NC
Projects
None yet
Development

Successfully merging this pull request may close these issues.

API: Runtime creation/update/deletion of config objects in global zones doesn't get synced properly
4 participants