Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
- Puppet >= 7.0.0 < 9.0.0
- ,
Start using this module
Add this module to your Puppetfile:
mod 'lsst-ccs_sal', '2.9.0'
Learn more about managing modules with a PuppetfileDocumentation
ccs_sal
Welcome to your new module. A short overview of the generated parts can be found in the PDK documentation.
The README template below provides a starting point with details about what information to include in your README.
Table of Contents
- Description
- Setup - The basics of getting started with ccs_sal
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Description
Briefly tell users why they might want to use your module. Explain what your module does and what kind of problems users can solve with it.
This should be a fairly short description helps the user decide if your module is what they want.
Setup
What ccs_sal affects OPTIONAL
If it's obvious what your module touches, you can skip this section. For example, folks can probably figure out that your mysql_instance module affects their MySQL instances.
If there's more that they should know about, though, this is the place to mention:
- Files, packages, services, or operations that the module will alter, impact, or execute.
- Dependencies that your module automatically installs.
- Warnings or other important notices.
Setup Requirements OPTIONAL
If your module requires anything extra before setting up (pluginsync enabled, another module, etc.), mention it here.
If your most recent release breaks compatibility or requires particular steps for upgrading, you might want to include an additional "Upgrading" section here.
Beginning with ccs_sal
The very basic steps needed for a user to get the module up and running. This can include setup steps, if necessary, or it can be an example of the most basic use of the module.
Usage
Include usage examples for common use cases in the Usage section. Show your users how to use your module to solve problems, and be sure to include code examples. Include three to five examples of the most important or common tasks a user can accomplish with your module. Show users how to accomplish more complex tasks that involve different types, classes, and functions working in tandem.
Reference
This section is deprecated. Instead, add reference information to your code as Puppet Strings comments, and then use Strings to generate a REFERENCE.md in your module. For details on how to add code comments and generate documentation with Strings, see the Puppet Strings documentation and style guide.
If you aren't ready to use Strings yet, manually create a REFERENCE.md in the root of your module directory and list out each of your module's classes, defined types, facts, functions, Puppet tasks, task plans, and resource types and providers, along with the parameters for each.
For each element (class, defined type, function, and so on), list:
- The data type, if applicable.
- A description of what the element does.
- Valid values, if the data type doesn't make it obvious.
- Default value, if any.
For example:
### `pet::cat`
#### Parameters
##### `meow`
Enables vocalization in your cat. Valid options: 'string'.
Default: 'medium-loud'.
Limitations
In the Limitations section, list any incompatibilities, known issues, or other warnings.
Development
In the Development section, tell other users the ground rules for contributing to your project and how they should submit their work.
Release Notes/Contributors/Etc. Optional
If you aren't using changelog, put your release notes here (though you should
consider using changelog). You can also add any additional sections you feel are
necessary or important to include here. Please use the ##
header.
Reference
Table of Contents
Classes
ccs_sal
: Install stuff for CCS/SAL gateway.ccs_sal::etc
: Configure /etc for CCS/SALccs_sal::rpms
: Install rpms needed by CCS/SALccs_sal::service
: Manage systemd service files for CCS/SAL
Classes
ccs_sal
Install stuff for CCS/SAL gateway.
Parameters
The following parameters are available in the ccs_sal
class:
rpms
ospl_home
dds
dds_domain
dds_interface
dds_extra
instrument
java_home
kafka
kafka_broker_address
kafka_registry_url
kafka_sasl_username
kafka_sasl_password
kafka_templates_directory
lfa
prefix_service
rpm_repo
rpm_requirements
rpms_private
rpm_repo_private
rpm_user
rpm_pass
rpms
Data type: Hash[String,String,1]
Hash of packages and rpms to install. Eg: "ts_sal_utils" => "ts_sal_utils-4.0.0-1.x86_64.rpm"
ospl_home
Data type: String
String giving OSPL_HOME.
Default value: '/opt/OpenSpliceDDS/VX.Y.Z/example/example'
dds
Data type: Boolean
Boolean; if true install DDS support
Default value: true
dds_domain
Data type: String
String giving LSST_DDS_DOMAIN (eg base)
Default value: 'summit'
dds_interface
Data type: String
String giving name of SAL interface (eg somehost-dds)
Default value: 'localhost-dds'
dds_extra
Data type: String
String giving extra content for DDS setup file.
Default value: 'export LD_PRELOAD=${JAVA_HOME}/jre/lib/amd64/libjsig.so'
instrument
Data type: String
String giving instrument (eg comcam).
Default value: 'comcam'
java_home
Data type: String
String giving JAVA_HOME (only used by DDS).
Default value: '/usr/java/default'
kafka
Data type: Boolean
Boolean; if true install Kafka support kafka will be used.
Default value: false
kafka_broker_address
Data type: String
String giving broker address
Default value: 'sasquatch-tts-kafka-bootstrap.lsst.codes:9094'
kafka_registry_url
Data type: String
String giving registry URL
Default value: 'https://tucson-teststand.lsst.codes/schema-registry'
kafka_sasl_username
Data type: String
String giving SASL username
Default value: 'username'
kafka_sasl_password
Data type: String
String giving SASL password
Default value: 'password'
kafka_templates_directory
Data type: String
String giving location of templates directory
Default value: '/home/tonyj/avro-templates'
lfa
Data type: Hash
Hash of properties (id, secret, endpoint, bucket) for large file annex (lfa) configuration.
Default value: {}
prefix_service
Data type: Boolean
Boolean; if false do not prefix systemctl services with the instrument. Also applies to the .app files in /etc/ccs.
Default value: true
rpm_repo
Data type: String
String giving repo url for rpm download
Default value: 'https://repo-nexus.lsst.org/nexus/repository/ts_yum/releases'
rpm_requirements
Data type: Array[String]
Array of system rpm requirements to install
Default value: ['linuxptp']
rpms_private
Data type: Hash[String,String]
Optional hash of rpms to download from private repo.
Default value: {}
rpm_repo_private
Data type: Optional[String]
private repo name
Default value: undef
rpm_user
Data type: Optional[Variant[Sensitive[String[1]],String[1]]]
private repo username
Default value: undef
rpm_pass
Data type: Optional[Variant[Sensitive[String[1]],String[1]]]
private repo password
Default value: undef
ccs_sal::etc
Configure /etc for CCS/SAL
ccs_sal::rpms
Install rpms needed by CCS/SAL
ccs_sal::service
Manage systemd service files for CCS/SAL
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v2.9.0 (2024-10-23)
Implemented enhancements:
v2.8.1 (2024-08-30)
v2.8.0 (2024-08-29)
Implemented enhancements:
- Add option to write lfa.properties file #48 (glennmorris)
v2.7.0 (2024-08-07)
Implemented enhancements:
v2.6.0 (2024-07-17)
Implemented enhancements:
- Version 2.6.0 #44 (glennmorris)
- (setup-sal5) allow customization of JAVA_HOME #43 (glennmorris)
v2.5.0 (2024-07-09)
Implemented enhancements:
- Version 2.5.0 #42 (glennmorris)
- (setup-sal5) allow customization of the LD_PRELOAD string #41 (glennmorris)
v2.4.0 (2024-05-23)
Implemented enhancements:
- Prep for release 2.4.0 #40 (glennmorris)
- (puppet-ccs_sal) add apache license #38 (dtapiacl)
Fixed bugs:
- Make the prefix_service option also apply to .app file names #39 (glennmorris)
v2.3.0 (2024-03-20)
Implemented enhancements:
- Make required system rpms customizable #35 (glennmorris)
v2.2.3 (2024-03-14)
Fixed bugs:
- Fix typo in setup-sal file #34 (glennmorris)
v2.2.2 (2024-03-06)
Implemented enhancements:
- Bump version to 2.2.2 #33 (glennmorris)
- Add option to use kafka instead of dds #32 (glennmorris)
v2.2.1 (2024-02-09)
Implemented enhancements:
- Add option to not apply instrument- prefix to service names #30 (glennmorris)
Merged pull requests:
- Bump version to 2.2.1 #31 (glennmorris)
v2.2.0 (2023-10-04)
Implemented enhancements:
v2.1.0 (2023-08-22)
Implemented enhancements:
v2.0.0 (2023-06-23)
Breaking changes:
Implemented enhancements:
v1.2.0 (2023-01-31)
Implemented enhancements:
Merged pull requests:
- Can't even bump version without a pull request #9 (glennmorris)
v1.1.1 (2022-11-08)
Merged pull requests:
- Allow service files to contain multiple Environment lines #8 (glennmorris)
v1.1.0 (2022-08-16)
Merged pull requests:
v1.0.1 (2022-07-05)
v1.0.0 (2022-04-11)
Merged pull requests:
v0.7.1 (2021-09-29)
v0.7.0 (2021-07-30)
v0.6.1 (2021-07-27)
Merged pull requests:
- Split rpms and their yum repos into private and public #5 (glennmorris)
v0.6.0 (2021-05-22)
v0.5.0 (2021-05-22)
v0.4.0 (2021-05-12)
v0.3.5 (2021-05-12)
v0.3.4 (2021-05-12)
v0.3.3 (2021-04-30)
v0.3.2 (2021-04-30)
v0.3.1 (2021-04-20)
v0.3.0 (2021-04-19)
Merged pull requests:
- Add the ocs-bridge and mcm services #4 (glennmorris)
v0.2.1 (2021-04-06)
Merged pull requests:
- Switch to SAL5 #2 (glennmorris)
v0.2.0 (2021-04-06)
Merged pull requests:
v0.1.0 (2020-06-11)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/stdlib (>= 4.13.1 < 10.0.0)
- puppet/archive (>= 4.0.0 < 8.0.0)
- puppet/systemd (>= 3.0.0 < 8.0.0)
- saz/sudo (>= 7.0.0 < 10.0.0)
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.