Comments (5)
It's covered just above and below https://github.com/ripienaar/mcollective-choria/wiki#dns-srv-records - I do not parse puppet.conf - probably could though.
Most typically you're going to go simple 1 node so default behaviour as puppet or have to configure a multi node cluster where SRV records are better alternatively manual config as at the bottom of the wiki.
I'll keep this one around to see about parsing puppet.conf agent section
from mcollective-choria.
Ah, I only skimmed that section and don't scroll to the bottom. A link to the specific section for manual config would be nice.
from mcollective-choria.
I'm fine with manual config otherwise, there's no reason to tie gnatsd to your puppet master.
from mcollective-choria.
This came up on the users list so I thought I'd have a closer look:
The problem is the performance of doing this:
require "benchmark"
Benchmark.bm(10) do |bm|
bm.report(:require) { require "puppet" }
bm.report(:config) do
unless Puppet.settings.app_defaults_initialized?
Puppet.settings.preferred_run_mode = :agent
Puppet.settings.initialize_global_settings([])
Puppet.settings.initialize_app_defaults(Puppet::Settings.app_defaults_for_run_mode(Puppet.run_mode))
end
end
bm.report(:get) { Puppet.settings[:ssldir] }
end
user system total real
require 0.930000 0.070000 1.000000 ( 1.017435)
config 0.010000 0.000000 0.010000 ( 0.005174)
get 0.000000 0.000000 0.000000 ( 0.000036)
So just doing require puppet takes a second, its a noticeable and very annoying slow down on the CLI.
So I'd do this:
- make it configurable with
choria.ssldir
that understands ~ path expansion - talk to puppet when run as root only - ie. the daemon
I think this strikes a good balance - the daemon loads up puppet anyway for the puppet agent so no wasted effort/time there really
I realise this ticket is about puppet
and not about SSL but the same problem exist, I'm definitely not introducing a 1 second slow down to find the puppet master. For the servername though I could just parse the config myself I suppose, such a hack though so I'll rather support a more robust setup - SRV records to maintain the Just Works - which is compatible with Puppet - or manual config.
from mcollective-choria.
Closing this one, while I wont solve the puppet
thing just yet for reasons stated above there is now code to handle puppet settings and its used for ssl dir location when not root
from mcollective-choria.
Related Issues (20)
- Puppet 6.6: Cannot execute Bolt tasks as the node does not meet the minimum compatability requirements HOT 3
- PuppetDB SRV port overwritten by default port HOT 1
- switch to json serializer by default
- playbook --loglevel doesn't match up with puppet HOT 2
- module is trying to install gem's with apt HOT 2
- bolt_task agent is unable to download tasks containing multiple files HOT 4
- `mco tasks run` with `-C` filter timed out waiting for response from nodes HOT 3
- support nkeys and ngs
- when modulepath is unset playbook app fails badly when a playbook isnt found
- relax certificate name checks when using a remote signer
- playbook name is not exposed correctly during execution HOT 1
- copy rpcutil DDLs
- The CSR fingerprint is not shown when running request_cert
- Default length for single queried facts is too short HOT 9
- treat the scout agent like rpcutil in choria discovery
- copy scout ddls everywhere
- Registration plugin mcollective/registration/choria.rb missing, mcollective will not start HOT 6
- support AAA improvements
- Client asks multiple times for passphrase if client private key is protected with it HOT 4
- Prepare for mcollective::service removal HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mcollective-choria.