Jira (PUP-10157) Observe server_list for CA requests

0 views
Skip to first unread message

Josh Cooper (JIRA)

unread,
Dec 4, 2019, 12:58:03 AM12/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
 
Puppet / Bug PUP-10157
Observe server_list for CA requests
Change By: Josh Cooper
Summary: Observer Observe server_list for CA requests
Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)
Atlassian logo

Josh Cooper (JIRA)

unread,
Dec 4, 2019, 1:00:04 AM12/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
puppet does not observe the {{server_list}} setting when making CA requests. This is a regression introduced in https://tickets.puppetlabs.com/browse/PUP-10040 as it wasn't apparent that {{Puppet::Rest::Routes}} called {{Puppet::Util::Connection.determine_server}} to set the {{@default_server}} .

We need to enable the server_list resolver such that:

# If we successfully resolved the CA server/port once in a session, then we should always reuse that same server/port
# Next if {{ca_server}} is set explicitly on the CLI or puppet.conf, we should always use that regardless of
SRV, {{server}} or {{server_list}}
# Next if SRV records are enabled, we should try that
# Next if {{server_list}} is set, we should try each server/port combo
# Otherwise fallback to {{ca_server}} setting which defaults to {{server}}

All of those should already be working except (
2) & ( 4).

Questions:

In step
1, if we fail to use a cached value, should resolution to performed again? Currently failures don't clear the cache.
In step
2, if SRV records are enabled, the new code prefers SRV over the explicit server, which is wrong.
In step 2, If the explicit server fails, should we fallback to other resolvers? Currently we don't and we should probably keep that as-is.
In step 4, the old behavior was to only try the first server/port in server list. However, I think that was a limitation of the code, as there wasn't a way using the context system for puppet to try multiple server/port combinations. Perhaps would be better (less crafty exceptional logic) to try all the server/ports in server_list.

Josh Cooper (JIRA)

unread,
Dec 4, 2019, 11:40:03 AM12/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Sprint: Coremunity Grooming

Josh Cooper (JIRA)

unread,
Dec 4, 2019, 11:40:03 AM12/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Team: Coremunity

Josh Cooper (JIRA)

unread,
Dec 4, 2019, 11:40:04 AM12/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Sprint: Coremunity Grooming

Josh Cooper (JIRA)

unread,
Dec 4, 2019, 11:41:03 AM12/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
Sprint: Coremunity Grooming Hopper

Josh Cooper (JIRA)

unread,
Dec 4, 2019, 11:41:03 AM12/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
 
Puppet / Bug PUP-10157
Observe server_list for CA requests
Change By: Josh Cooper
Sprint: Coremunity Grooming

Melissa Stone (JIRA)

unread,
Dec 4, 2019, 12:10:03 PM12/4/19
to puppe...@googlegroups.com
Melissa Stone assigned an issue to Melissa Stone
Change By: Melissa Stone
Assignee: Melissa Stone

Melissa Stone (JIRA)

unread,
Dec 4, 2019, 12:10:03 PM12/4/19
to puppe...@googlegroups.com
Melissa Stone updated an issue
Change By: Melissa Stone
Sprint: Coremunity Hopper Platform Core KANBAN

Josh Cooper (JIRA)

unread,
Dec 4, 2019, 4:34:04 PM12/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
Change By: Josh Cooper
puppet does not observe the {{server_list}} setting when making CA requests. This is a regression introduced in https://tickets.puppetlabs.com/browse/PUP-10040 as it wasn't apparent that {{Puppet::Rest::Routes}} called {{Puppet::Util::Connection.determine_server}} to set the {{@default_server}}.

We need to enable the server_list resolver such that:

# If we successfully resolved the CA server/port once in a session, then we should always reuse that same server/port
# - Next if {{ca_server}} is set explicitly on the CLI or puppet.conf, we should always use that regardless of SRV, {{server}} or {{server_list}} -
# Next if SRV records are enabled, we should try that
# Next if {{server_list}} is set, we should try each server/port combo
# Otherwise fallback to {{ca_server}} setting which defaults to {{server}}

All of those should already be working except (2) & (4).

Questions:

In step 1, if we fail to use a cached value, should resolution to performed again? Currently failures don't clear the cache.
In step 2, if SRV records are enabled, the new code prefers SRV over the explicit server, which is wrong.
In step 2, If the explicit server fails, should we fallback to other resolvers? Currently we don't and we should probably keep that as-is. No
In step 4, the old behavior was to only try the first server/port in server list. However, I think that was a limitation of the code, as there wasn't a way using the context system for puppet to try multiple server/port combinations. Perhaps would be better (less crafty exceptional logic) to try all the server/ports in server_list.

Josh Cooper (JIRA)

unread,
Dec 4, 2019, 4:35:04 PM12/4/19
to puppe...@googlegroups.com
Josh Cooper updated an issue
puppet does not observe the {{server_list}} setting when making CA requests. This is a regression introduced in https://tickets.puppetlabs.com/browse/PUP-10040 as it wasn't apparent that {{Puppet::Rest::Routes}} called {{Puppet::Util::Connection.determine_server}} to set the {{@default_server}}.

We need to enable the server_list resolver such that:

# If we successfully resolved the CA server/port once in a session, then we should always reuse that same server/port
# -Next if {{ca_server}} is set explicitly on the CLI or puppet.conf, we should always use that regardless of SRV, {{server}} or {{server_list}}-

# Next if SRV records are enabled, we should try that
# Next if {{server_list}} is set, we should try each server/port combo
# Otherwise Next fallback to {{ca_server}} setting which defaults to {{server}}
# Raise no more routes to try

All of those should already be working except (2) & (4).

Questions:

In step 1, if we fail to use a cached value, should resolution to performed again? Currently failures don't clear the cache.
In step 2, if SRV records are enabled, the new code prefers SRV over the explicit server, which is wrong.
In step 2, If the explicit server fails, should we fallback to other resolvers? No

In step 4, the old behavior was to only try the first server/port in server list. However, I think that was a limitation of the code, as there wasn't a way using the context system for puppet to try multiple server/port combinations. Perhaps would be better (less crafty exceptional logic) to try all the server/ports in server_list.

Melissa Stone (JIRA)

unread,
Dec 11, 2019, 4:39:04 PM12/11/19
to puppe...@googlegroups.com
Melissa Stone commented on Bug PUP-10157
 
Re: Observe server_list for CA requests

This has passed ci as a part of puppet-agent 6.11.1.158.g4266217

Melissa Stone (JIRA)

unread,
Dec 11, 2019, 4:42:04 PM12/11/19
to puppe...@googlegroups.com
Melissa Stone updated an issue
 

The ca service now observes the ServerList resolver when attempting to resolve routes. Previously we were only using SRV Records or the server/ca_server setting to find this information.

Change By: Melissa Stone
Release Notes: Bug Fix

Melissa Stone (JIRA)

unread,
Dec 11, 2019, 4:43:03 PM12/11/19
to puppe...@googlegroups.com
Melissa Stone updated an issue
Change By: Melissa Stone
Release Notes Summary:
The ca service now observes the ServerList resolver when attempting to resolve routes. Previously we were only using SRV Records or the server/ca_server setting to find this information.

Melissa Stone (JIRA)

unread,
Dec 11, 2019, 4:44:04 PM12/11/19
to puppe...@googlegroups.com
Melissa Stone updated an issue
Change By: Melissa Stone
Comment:
The ca service now observes the ServerList resolver when attempting to resolve routes. Previously we were only using SRV Records or the server/ca_server setting to find this information.

Kate Medred (JIRA)

unread,
Jan 13, 2020, 5:31:04 PM1/13/20
to puppe...@googlegroups.com
Kate Medred updated an issue
Change By: Kate Medred
Labels: resolved-issue-added
Reply all
Reply to author
Forward
0 new messages