This message was deleted.
# puppet-enterprise
s
This message was deleted.
b
Hi justin. Can you describe what your goal is? Having a HA Puppet infrastructure? Or a working failover for agents?
I'm a big fan of haproxies in front of the primaries/compilers, that works totally fine
and then just configure the haproxies address in the puppet.conf as single server, not a server list
If you explain a bit more about your setup (constrains) and the goal, we can probably figure something out
j
I am wanting HA, but not sure how that work with only a single orchestrator service, but we have two sides from every data center that go primary and then a fail over, but we use different proxy for primary and failover and it can be different depending on country and dc. This issue I am finding when fail over cant reach primary due to internal issue that might happen, even though agents are connected to dr, primary loses them or the start trying to hit primary from dr side and fail. So when the proxy comes back on the round robin it might go through primary but try to hit failover site.
That sounds really confusing, lol
b
do you need HA for the orchestrator or only for the puppet agent runs?
yes a bit 😄
j
I need the abilkity to talk to agents no matter what side they connect too
b
so what's possible is: having a Puppet stack at each site and crosssign their TLS certificates. that enables agents to talk to both sites directly
j
Already have all that
I have pcp agent setup with site 1, then site 2, but also server_list with site1, site2 , then master
b
I still don't really understand your setup
what kind of proxy do you mean
j
I just get into issues where if it talks to site 2 but it asking for site 1 and cant due to netwrok outage
b
what is 'it'?
j
agent
b
puppet or pxp agent?
j
Both, like when pulling down task/plans over pcp, or when puppet pushes or pull http request from compiler
Copy code
{
		"broker-ws-uris":["<wss://puppet-compile.domain.net:4004/pcp2/>", "<wss://puppet-compile-dr.domain.net:4004/pcp2/>"],
		"master-uris":["<https://puppet.domain.net:8140>"],
		"primary-uris":["<https://puppet.domain.net:8140>"],
		"master-proxy":"<http://proxy.domain.local:4004>",
	}
b
how does the failover from the primary to the DR work? do you have a loadbalancer in front of it?
ah just the url list then?
j
Yeah
each site has it own lb
Is there anything on HA orcherstrator ?
b
I am not sure about the HA concepts in PE. I usually do that with FOSS
but a picture of your setup would help
j
Each Side has monolithic with compiler, compiler site behind an LB at one address for pxp, another address on the LB goes to cluster of proxy servers. Those proxy and compiler can talk to whoever it need to be if that internal connection doesn’t go out,
b
since thats PE, I suggest raising a support ticket
j
I guess I can do that too, I get lost in working on things.
Thanks though
c
The PE Orchestrator does not have a HA feature. PE DR provides HA for
puppet
agent runs, using existing code and classification. Everything else (ca operations, code deployment, classification changes, orchestration, etc.) is in a "warm standby" mode that becomes writable if the Replica is promoted to Primary.
b
in the PCP/PXP setup, can there be only one orchestrator but multiple brokers?
c
Correct. The communications fabric (brokers) can be horizontally scaled via compilers --- but the thing that coordinates activity over that fabric is single-instance.
j
Hmm, but is there away for an agent to use a specific proxy and compiler address first before attempting the other other compiles on the wrong the proxy even though it could reach it connectivity was not gone internally? I can figure out away dealing with the hot standby, but having it sit push the facts up and then come back to pull something and use the wrong combination that might not work
b
/me nods
again do you mean the puppet agent or the pxp agent?
j
I came across an issue a few month ago where we lost internal connection and the agents were connected to the DR but once connectivity return it would ignore them until I kicked them off
Both
Might be nice if you can add weights to server_lists items, so It takes at the primary first
c
There's no supported PE architecture where the pxp-agents can end up connected to a DR replica prior to promotion --- because the service does not run prior to promotion.
j
Even the DR replica kind of not the issue, it more needing to keep it on one side until something happen and it knows to try the other side, but with two proxy each agent needs, it might be difficult to point correctly where it should go, since agent/pcp round robin.