Skip to content

Commit

Permalink
Fixes #22368: Prepare 7.3 doc (#951)
Browse files Browse the repository at this point in the history
  • Loading branch information
amousset committed Feb 13, 2023
1 parent 5cf6c3f commit 0334d8f
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 52 deletions.
4 changes: 2 additions & 2 deletions src/reference/dependencies/Makefile
Expand Up @@ -61,8 +61,8 @@ generic_methods.adoc: ncf-repo rudder-agent-windows-repo
cd ncf-repo && git checkout branches/rudder/$(RUDDER_VERSION) 2>/dev/null || git checkout master
cd ncf-repo && git pull
cp rudder-agent-windows-repo/plugin/src/ncf/30_generic_methods/*.cf ncf-repo/tree/30_generic_methods/ || true
cp tools/ncf_doc_rudder.py ncf-repo/tools/
./ncf-repo/tools/ncf_doc_rudder.py
cp tools/ncf_doc_rudder.py ncf-repo/tests/
./ncf-repo/tests/ncf_doc_rudder.py
# Remove language setting on code field (#9621)
sed -i 's/```.*/```/' generic_methods.md
pandoc -t asciidoc -f markdown generic_methods.md > generic_methods.adoc
Expand Down
50 changes: 0 additions & 50 deletions src/reference/dependencies/tools/ncf_doc_rudder.py
Expand Up @@ -9,60 +9,16 @@
import requests
import sys
import re
from distutils.version import StrictVersion
from pprint import pprint

# URL of the rudder_info api
release_info_url = "http://www.rudder-project.org/release-info/rudder/"

def slugify(s):
s = "_" + s
s = s.lower()
s = s.strip()
s = re.sub('\W', '_', s)
return s

def get_min_versions():
"Build the dictionary of minimal Rudder version including compatibility with a given CFEngine version"
min_version = {}

try:
versions = requests.get(release_info_url + "versions/supported").content.decode('ascii').splitlines()
except requests.exceptions.RequestException as e:
print(e)
sys.exit(1)

for rudder_version in versions:
try:
cfengine_version = requests.get(release_info_url + "versions/" + rudder_version + "/components/cfengine").content.decode('ascii')
except requests.exceptions.RequestException as e:
print(e)
sys.exit(1)

if cfengine_version in min_version:
if StrictVersion(rudder_version) >= StrictVersion(min_version[cfengine_version]):
continue
min_version[cfengine_version] = rudder_version

return min_version

def rudder_version(min_version, version):
"""Extract minimal Rudder version"""
canonified_version = re.findall(r'>=? ?(\d+\.\d+)', version)[0]

cfengine_versions = list(min_version.keys())
cfengine_versions.sort(key=StrictVersion)

for cfengine_version in cfengine_versions:
if StrictVersion(canonified_version) <= StrictVersion(cfengine_version):
return min_version[cfengine_version]
return False


if __name__ == '__main__':
# Get CFEngine <=> Rudder versions
versions = get_min_versions()

# Get all generic methods
generic_methods = ncf.get_all_generic_methods_metadata()["data"]["generic_methods"]

Expand All @@ -84,18 +40,12 @@ def rudder_version(min_version, version):

# Generate markdown for each generic method
for generic_method in categories[category]:
# do not display generic methods not compatible with a released Rudder version
rudder_version_needed = rudder_version(versions, generic_method["agent_version"])
if not rudder_version_needed:
continue
bundle_name = generic_method["bundle_name"]
content.append('\n### '+ bundle_name)
content.append(generic_method["description"])
if "deprecated" in generic_method:
content.append('\n**WARNING**: This generic method is deprecated.')
content.append(generic_method["deprecated"])

content.append('\nCompatible with nodes running Rudder '+rudder_version_needed+' or higher.')

if "documentation" in generic_method:
content.append('\n#### Usage')
Expand Down

0 comments on commit 0334d8f

Please sign in to comment.