Giter Club home page Giter Club logo

salt-formulas's Introduction

SUSE Salt Formulas

This repository contains Salt Formulas to be shipped for openSUSE and SUSE Linux Enterprise Server. Formulas can be used with stand-alone Salt or within Uyuni / SUSE Manager offering UI support for configuration through Pillar data.

Repository Structure

For each Formula there is a separate directory where the directory name consists of the Formula name and a -formula suffix. Each of these directories should be mostly consistent with the Salt Formulas conventions, while additional metadata files (form.yml, metadata.yml) should go to a separate metadata directory, for example:

example-formula
|-- example/
|   |-- files/
|   |   |-- foo.conf
|   |-- bar.sls
|   |-- init.sls
|   |-- map.jinja
|-- metadata/
|   |-- form.yml
|   |-- metadata.yml
|-- example-formula.changes
|-- example-formula.spec
|-- LICENSE
|-- README.md

Packaging Information

For information about packaging Formulas as RPM packages (including a spec file template) please refer to the packaging guide.

Stable Branches

The repository includes stable branches for maintaining bug-fixes of released versions. When submitting a bug-fix, please consider if it needs a cherry-pick to stable branch, e.g. Manager-4.0.

salt-formulas's People

Contributors

aaannz avatar admd avatar agraul avatar atorlee avatar cavalheiro avatar cbosdo avatar juliogonzalez avatar keichwa avatar mackdk avatar mallozup avatar mateiw avatar mbologna avatar mcalmer avatar moio avatar nadvornik avatar renner avatar rjmateus avatar sbluhm avatar srbarrios avatar witekest avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

salt-formulas's Issues

[info] SaltStack Formulas Working Group

Please excuse the intrusion but I just wanted to bring to people's attention the recently established SaltStack Formulas Working Group.
The aim of the working group is to bring together those people working on Salt formulas with the goal of sharing knowledge and collaborating to enable the effective development of Salt formulas.

Most contributors currently work in the @saltstack-formulas organization but there is no need for this to be exclusive, so if you are interested in joining or seeing what we are up to then please drop by the #formulas channel in the SaltStack community Slack. We also have a Zoom meeting twice a month.

I will close this issue after a short time depending on interest.

Cannot add virtualization-host formula on a SLES 12 system - missing `python3-libvirt-python` package

On my Uyuni 2021.03 server, I've added a SLES 12 SP5 system that is hosting a few VMs on KVM. When I enable the virtualization-host formula for this host, the highstate can never be installed:

----------
          ID: virthost_packages
    Function: pkg.installed
        Name: virthost_packages
      Result: false
     Comment: An error was encountered while installing package(s): Zypper command failure: Running scope as unit run-r79db77c2e2734aaa93021b5b59f9aaf3.scope.
Package 'python3-libvirt-python' not found.
     Started: 21:31:50.436522
    Duration: 722.826
         SLS: virtualization-host
     Changed: {}
----------
          ID: null
    Function: service.running
        Name: null
      Result: false
     Comment: One or more requisite failed: virtualization-host.virthost_packages
     Started: 21:31:51.160504
    Duration: 0.015
         SLS: virtualization-host
     Changed: {}
----------

On SLES 12 SP5, there is no package called python3-libvirt-python, rather it has the python-libvirt-python package. I believe, the issue is in the following line where the package name is hardcoded rather than being put in a conditional:

If I move this package to the condition at the top of the file, then I'm able to apply the highstate on the SLES 12 SP5 host machine. But I do not know if this is the right way to handle this:

# diff -u /tmp/map.jinja /usr/share/susemanager/formulas/states/virtualization-host/map.jinja
--- /tmp/map.jinja      2021-04-29 02:10:55.890300715 +0530
+++ /usr/share/susemanager/formulas/states/virtualization-host/map.jinja        2021-04-29 02:01:22.867180432 +0530
@@ -3,6 +3,7 @@
     {% set hypervisor_packages = [
         'patterns-server-%s_server'|format(pillar['hypervisor']|lower()),
         'python3-six',
+        'python3-libvirt-python',
        ]
     %}
   {% elif grains['osfullname'] == 'Leap' %}
@@ -21,7 +22,6 @@
       'qemu-tools',
       'guestfs-tools',
       'libvirt-client',
-      'python3-libvirt-python',
       'kernel-default',
     ]
   %}

Files managed by Salt should have a header stating this

Ansible has a variable for this, ansible_managed. Salt does not. I suggest to add "This file is managed by SaltStack, all changes will be lost." in the first few lines of each template that fully manages a file.

Example: https://github.com/SUSE/salt-formulas/blob/master/bind-formula/bind/files/suse/named.conf

Edit: I noticed in the commit messages that you consider yourself not the upstream of the bind formula. From running a diff, I conclude that you consider https://github.com/saltstack-formulas/bind-formula as upstream, but there the SUSE version has custom features that are not upstreamed?

Lets use this https://github.com/SUSE/salt-formulas/blob/master/prometheus-formula/prometheus/files/general-rules.yml as example because with BIND, I should probably fix it upstream.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.