Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
Extending SaltStack

You're reading from   Extending SaltStack Build and write salt modules

Arrow left icon
Product type Paperback
Published in Mar 2016
Publisher Packt
ISBN-13 9781785888618
Length 240 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
Joseph Hall Joseph Hall
Author Profile Icon Joseph Hall
Joseph Hall
Arrow right icon
View More author details
Toc

Table of Contents (21) Chapters Close

Extending SaltStack
Credits
Foreword
About the Author
About the Reviewer
www.PacktPub.com
Preface
1. Starting with the Basics FREE CHAPTER 2. Writing Execution Modules 3. Extending Salt Configuration 4. Wrapping States Around Execution Modules 5. Rendering Data 6. Handling Return Data 7. Scripting with Runners 8. Adding External File Servers 9. Connecting to the Cloud 10. Monitoring with Beacons 11. Extending the Master Connecting Different Modules Contributing Code Upstream Index

Separating Master and Minion functionality


It's easy to think of Salt in terms of the following: the Master sends commands to the Minions, the Minions do the work, and then the Minions send the results back to the Master. However, the Master and the Minion are two distinct components that work together in harmony to complete their respective tasks.

It is important to keep in mind that when the Minion is running in a Masterless mode (using salt-call --local), it behaves as its own Master, and outside of a few specific features (such as salt-key and runners that make use of local_client), any feature that is available on the Master is also available on the Minion, using the same configuration options that would appear in the master file, but in the minion file instead.

But when running with a Master and one or more Minions, they are two distinct entities. Some module types are available to either the Master or the Minion; there are many more that are only available for that specific service.

Let us have a look at a diagrammatic representation of the Salt Master topology:

And now follows the diagrammatic representation of the Salt Minion topology:

Like the Master and the Minion, each module type is specific and distinct. However, like the Master and the Minion, modules connect to each other and work in concert to accomplish larger workflows. Regardless of module type, the Master and the Minion will always communicate directly (using transport modules, which are beyond the scope of this book). Beyond that, different modules are able to communicate with each other to varying degrees.

The Master generally uses its own modules directly. Some of those modules may be used to provide Minions with resources (such as file server modules), but a number of them are used entirely for providing resources to the Master itself. Master returners are functionally identical to returners that execute on the Minion, with the exception of how they get their data.

Minion modules communicate with each other extensively. Execution modules can pull data from grain and SDB modules (and from pillars, through the Master) and cross-call each other. State modules are themselves called from an execution module, but also have access to cross-callback to execution modules. Renderers are used by a number of different module types, and when all is said and done, returners transport return data to the correct destination.

Salt Cloud is the odd man out, because while it can be accessed via either a runner or an execution module, it can also be accessed directly, and even used independently of the rest of Salt. In fact, it can be used to manage nodes without even installing Salt on them.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at £13.99/month. Cancel anytime
Visually different images