Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update all platforms to use pycparser 2.21 or greater for Py 3.9 or higher, fixes fips fault with openssl v3.x #62419

Closed
wants to merge 62 commits into from

Conversation

dmurphy18
Copy link
Contributor

What does this PR do?

Update all platforms to use pycparser 2.21 or greater for Py 3.9 or higher. Earlier versions of pycparser made use of md5 which is no longer supported on RHEL 9 or Ubutnu 22.04 given they use Openssl v3.x which has dropped support for SHA-1 and MD5. Also pycparser v2.21 added support for Py 3.9 and 3.10.

What issues does this PR fix or reference?

Fixes: #62400

Previous Behavior

Fault due to missing sig on RHEL 9 with FIPS enabled, sig was created with md5 which is not available.
Simple command would cause fault

salt-call --local test.versions

fips enabled with fips-mode-setup --enable

New Behavior

No faults and command functions correctly

Merge requirements satisfied?

[NOTICE] Bug fixes or features added to Salt require tests.

Commits signed with GPG?

Yes

Please review Salt's Contributing Guide for best practices.

See GitHub's page on GPG signing for more information about signing commits with GPG.

nicholasmhughes and others added 30 commits July 14, 2022 11:13
When running the test suite it chunks, specially when running against
the changed files, some of the test groups might not collect any test
and Jenkins does not help with getting the exit code from scripts.
This is where ``pytest-custom-exit-code` comes in, it allows exiting
with a 0 exit code when no tests are collected.

Signed-off-by: Pedro Algarvio <[email protected]>
Previously when changing a cron.present job from using a normal time
specification to special or vice-versa, it would duplicate the entry in
the crontab.
The original assertion used "mock_method.call_args.assert_called_with",
which does nothing at all.  Correct usage is either
"mock_method.call_args == ..." or "mock_method.assert_called_with(...)"
This allows the cron.set_job and cron.set_special commands to change
cron entries from special to non-special or vise-versa.  It also removes
all changes to states/cron from this PR's original commit, while
retaining the behavioral changes to the cron.present state
…th-merge

update master with 3005rc1 tag via merge
```
tests\unit\modules\inspectlib\test_collector.py:27: in <module>
    @skipIf(no_symlinks(), "Git missing 'core.symlinks=true' config")
        Inspector  = <class 'salt.modules.inspectlib.collector.Inspector'>
        MagicMock  = <class 'mock.mock.MagicMock'>
        TestCase   = <class 'tests.support.unit.TestCase'>
        __builtins__ = <builtins>
        __cached__ = 'C:\\Users\\Administrator\\AppData\\Local\\Temp\\kitchen\\testing\\tests\\unit\\modules\\inspectlib\\__pycache__\\test_collector.cpython-38.pyc'
        __doc__    = '\n    :codeauthor: Bo Maryniuk <[email protected]>\n'
        __file__   = 'C:\\Users\\Administrator\\AppData\\Local\\Temp\\kitchen\\testing\\tests\\unit\\modules\\inspectlib\\test_collector.py'
        __loader__ = <_pytest.assertion.rewrite.AssertionRewritingHook object at 0x0000022B0C3A6B20>
        __name__   = 'tests.unit.modules.inspectlib.test_collector'
        __package__ = 'tests.unit.modules.inspectlib'
        __spec__   = ModuleSpec(name='tests.unit.modules.inspectlib.test_collector', loader=<_pytest.assertion.rewrite.AssertionRewritingHo...C:\\Users\\Administrator\\AppData\\Local\\Temp\\kitchen\\testing\\tests\\unit\\modules\\inspectlib\\test_collector.py')
        no_symlinks = <function no_symlinks at 0x0000022B0D05CC10>
        os         = <module 'os' from 'c:\\python38\\lib\\os.py'>
        patch      = <function patch at 0x0000022B2836FB80>
        skipIf     = <function skipIf at 0x0000022B270738B0>
tests\support\helpers.py:82: in no_symlinks
    output = subprocess.Popen(
        output     = ''
c:\python38\lib\subprocess.py:858: in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
        args       = ['git', 'config', '--get', 'core.symlinks']
        bufsize    = -1
        c2pread    = 5
        c2pwrite   = Handle(2176)
        close_fds  = True
        creationflags = 0
        cwd        = 'C:\\Users\\Administrator\\AppData\\Local\\Temp\\salt-tests-tmpdir'
        encoding   = None
        env        = None
        errors     = None
        errread    = -1
        errwrite   = Handle(2196)
        executable = None
        f          = <_io.BufferedReader name=5>
        p2cread    = Handle(1984)
        p2cwrite   = -1
        pass_fds   = ()
        preexec_fn = None
        restore_signals = True
        self       = <subprocess.Popen object at 0x0000022B3012E400>
        shell      = False
        start_new_session = False
        startupinfo = None
        stderr     = None
        stdin      = None
        stdout     = -1
        text       = None
        universal_newlines = None
c:\python38\lib\subprocess.py:1311: in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
E   NotADirectoryError: [WinError 267] The directory name is invalid
        args       = 'git config --get core.symlinks'
        attribute_list = {'handle_list': [1984, 2196, 2176]}
        c2pread    = 5
        c2pwrite   = Handle(2176)
        close_fds  = False
        creationflags = 0
        cwd        = 'C:\\Users\\Administrator\\AppData\\Local\\Temp\\salt-tests-tmpdir'
        env        = None
        errread    = -1
        errwrite   = Handle(2196)
        executable = None
        handle_list = [1984, 2196, 2176]
        have_handle_list = False
        p2cread    = Handle(1984)
        p2cwrite   = -1
        pass_fds   = ()
        preexec_fn = None
        self       = <subprocess.Popen object at 0x0000022B3012E400>
        shell      = False
        startupinfo = <subprocess.STARTUPINFO object at 0x0000022B2F5E54C0>
        unused_restore_signals = True
        unused_start_new_session = False
        use_std_handles = True
```

Signed-off-by: Pedro Algarvio <[email protected]>
…s being tested

```
AssertionError: '/private/tmp/kitchen/testing/.nox/pytest-[4315 chars]…………' != '.…………………………………………………………………………………………………………[4052 chars]…………'
- /private/tmp/kitchen/testing/.nox/pytest-parametrized-3-crypto-none-transport-zeromq-coverage-true/lib/python3.9/site-packages/_distutils_hack/__init__.py:30: UserWarning: Setuptools is replacing distutils.
-   warnings.warn("Setuptools is replacing distutils.")
```

Signed-off-by: Pedro Algarvio <[email protected]>
Signed-off-by: Pedro Algarvio <[email protected]>
matthewsaum and others added 23 commits July 28, 2022 10:46
Updated versionadded frmo 9999.9 to 3006.0

Co-authored-by: Nicholas Hughes <[email protected]>
Co-authored-by: Megan Wilhite <[email protected]>
Added the newline needed for salt documentation generation
Signed-off-by: Pedro Algarvio <[email protected]>
Signed-off-by: Pedro Algarvio <[email protected]>
Signed-off-by: Pedro Algarvio <[email protected]>
Signed-off-by: Pedro Algarvio <[email protected]>
* Update versionadded from 3006 to 3005

* Add known issue about SSC 8.9.0 dependency

* Add explanation for the issue

* Update release candidate documentation

* Add clarification per Shane's review

* Add RHEL GPG key info

* Revise topic per Murphy's review

* Switch to the SaltStack ORG on quay.io

Signed-off-by: Pedro Algarvio <[email protected]>

* Update the salt pip executable to salt-pip

* Fix pre-install and post-install scripts

Make the date display in the logs properly

* Add pyinstaller hook which pulls in all of salt and the standard library

Signed-off-by: Pedro Algarvio <[email protected]>

* Add changelog for saltstack#62383 which fixes saltstack#62362

Signed-off-by: Pedro Algarvio <[email protected]>

* Windows search path is different

Signed-off-by: Pedro Algarvio <[email protected]>

* Salt should not do any logic to include/exclude requirements. That's pip's job.

Refs saltstack#62386
Fixes saltstack#62392

Signed-off-by: Pedro Algarvio <[email protected]>

Co-authored-by: Megan Wilhite <[email protected]>
Co-authored-by: Alyssa Rock <[email protected]>
Co-authored-by: Twangboy <[email protected]>
Version 3005rc2

Conflicts:
* doc/topics/releases/releasecandidate.rst
* tests/pytests/integration/modules/test_virt.py
Update the bootstrap default URL and examples to current version
* add file.rmdir tests for original function

* update file.rmdir exec module for recursive operation and verbose output

* fixes saltstack#62178 add file.rmdir state

* add older_than capability to file.rmdir exec and state modules

* change test to use direct import of file module

* Revert "change test to use direct import of file module"

This reverts commit ff8c666.

* revert previous test modification and add import to win_file

* rename file.rmdir state to file.pruned
@dmurphy18 dmurphy18 requested review from s0undt3ch and a team as code owners August 3, 2022 17:14
@github-actions
Copy link

github-actions bot commented Aug 3, 2022

Hi! I'm your friendly PR bot!

You might be wondering what I'm doing commenting here on your PR.

Yes, as a matter of fact, I am...

I'm just here to help us improve the documentation. I can't respond to
questions or anything, but what I can do, I do well!

Okay... so what do you do?

I detect modules that are missing docstrings or "CLI Example" on existing docstrings!
When I was created we had a lot of these. The documentation for these
modules need some love and attention to make Salt better for our users.

So what does that have to do with my PR?

I noticed that in this PR there are some files changed that have some of these
issues. So I'm leaving this comment to let you know your options.

Okay, what are they?

Well, my favorite, is that since you were making changes here I'm hoping that
you would be the most familiar with this module and be able to add some other
examples or fix any of the reported issues.

If I can, then what?

Well, you can either add them to this PR or add them to another PR. Either way is fine!

Well... what if I can't, or don't want to?

That's also fine! We appreciate all contributions to the Salt Project. If you
can't add those other examples, either because you're too busy, or unfamiliar,
or you just aren't interested, we still appreciate the contributions that
you've made already.

Whatever approach you decide to take, just drop a comment here letting us know!

Detected Issues (click me)
Check Known Missing Docstrings...........................................Failed
- hook id: invoke
- exit code: 1

/home/runner/.cache/pre-commit/repo0vfkb6ko/py_env-python3/lib/python3.9/site-packages/_distutils_hack/init.py:33: UserWarning: Setuptools is replacing distutils.
warnings.warn("Setuptools is replacing distutils.")
The function 'exist' on 'salt/modules/chroot.py' was previously known to not have a CLI Example, which is no longer the case. Please remove it from 'MISSING_EXAMPLES'. in 'tasks/docstrings.py'
The function 'create_deployment' on 'salt/modules/kubernetesmod.py' does not have a 'CLI Example:' in its docstring
The function 'create_pod' on 'salt/modules/kubernetesmod.py' does not have a 'CLI Example:' in its docstring
The function 'create_service' on 'salt/modules/kubernetesmod.py' does not have a 'CLI Example:' in its docstring
The function 'replace_deployment' on 'salt/modules/kubernetesmod.py' does not have a 'CLI Example:' in its docstring
The function 'replace_service' on 'salt/modules/kubernetesmod.py' does not have a 'CLI Example:' in its docstring
The function 'mkdirs' on 'salt/utils/smb.py' does not have a docstring
The function 'delete_file' on 'salt/utils/smb.py' does not have a docstring
The function 'delete_directory' on 'salt/utils/smb.py' does not have a docstring
The function 'set_volumes_tags' on 'salt/modules/boto_ec2.py' does not have a 'CLI Example:' in its docstring
The function 'check_nova' on 'salt/utils/openstack/nova.py' does not have a docstring
The function 'get_entry' on 'salt/utils/openstack/nova.py' does not have a docstring
The function 'get_entry_multi' on 'salt/utils/openstack/nova.py' does not have a docstring
The function 'get_endpoint_url_v3' on 'salt/utils/openstack/nova.py' does not have a docstring
The function 'sanatize_novaclient' on 'salt/utils/openstack/nova.py' does not have a docstring
The function 'check_neutron' on 'salt/utils/openstack/neutron.py' does not have a docstring
The function 'check_keystone' on 'salt/utils/openstack/neutron.py' does not have a docstring
The function 'sanitize_neutronclient' on 'salt/utils/openstack/neutron.py' does not have a docstring
The function 'delete_alarm' on 'salt/modules/boto_cloudwatch.py' does not have a 'CLI Example:' in its docstring
The function 'check_ipc_path_max_len' on 'salt/utils/zeromq.py' does not have a docstring
The function 'verify_logs_filter' on 'salt/utils/verify.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'create' on 'salt/modules/lxc.py' does not have a 'CLI Example:' in its docstring
The function 'render' on 'salt/renderers/pyobjects.py' does not have a docstring
The function 'lock_holders' on 'salt/modules/zk_concurrency.py' does not have a 'CLI Example:' in its docstring
The function 'lock' on 'salt/modules/zk_concurrency.py' does not have a 'CLI Example:' in its docstring
The function 'unlock' on 'salt/modules/zk_concurrency.py' does not have a 'CLI Example:' in its docstring
The function 'party_members' on 'salt/modules/zk_concurrency.py' does not have a 'CLI Example:' in its docstring
The function 'path_depth' on 'salt/utils/find.py' does not have a docstring
The function 'get_connection' on 'salt/modules/netmiko_mod.py' does not have a 'CLI Example:' in its docstring
The function 'call' on 'salt/modules/netmiko_mod.py' does not have a 'CLI Example:' in its docstring
The function 'multi_call' on 'salt/modules/netmiko_mod.py' does not have a 'CLI Example:' in its docstring
The function 'split_username' on 'salt/utils/win_runas.py' does not have a docstring
The function 'represent_ordereddict' on 'salt/utils/yamldumper.py' does not have a docstring
The function 'represent_undefined' on 'salt/utils/yamldumper.py' does not have a docstring
The function 'get_dumper' on 'salt/utils/yamldumper.py' does not have a docstring
The function 'ext_pillar' on 'salt/pillar/makostack.py' does not have a docstring
The function 'fqdns' on 'salt/modules/network.py' was previously known to not have a CLI Example, which is no longer the case. Please remove it from 'MISSING_EXAMPLES'. in 'tasks/docstrings.py'
The function 'post_event' on 'salt/modules/datadog_api.py' does not have a 'CLI Example:' in its docstring
The function 'expand_repo_def' on 'salt/modules/aptpkg.py' does not have a 'CLI Example:' in its docstring
The function 'nesthash' on 'salt/modules/virt.py' does not have a 'CLI Example:' in its docstring
The function 'init' on 'salt/modules/virt.py' does not have a 'CLI Example:' in its docstring
The function 'node_devices' on 'salt/modules/virt.py' does not have a 'CLI Example:' in its docstring
The function 'network_update' on 'salt/modules/virt.py' does not have a 'CLI Example:' in its docstring
The function 'pool_update' on 'salt/modules/virt.py' does not have a 'CLI Example:' in its docstring
The function 'describe_cache_clusters' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'cache_cluster_exists' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'create_cache_cluster' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'modify_cache_cluster' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'delete_cache_cluster' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'describe_replication_groups' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'replication_group_exists' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'create_replication_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'modify_replication_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'delete_replication_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'describe_cache_subnet_groups' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'cache_subnet_group_exists' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'list_cache_subnet_groups' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'create_cache_subnet_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'modify_cache_subnet_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'delete_cache_subnet_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'describe_cache_security_groups' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'cache_security_group_exists' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'create_cache_security_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'delete_cache_security_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'authorize_cache_security_group_ingress' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'revoke_cache_security_group_ingress' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'list_tags_for_resource' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'add_tags_to_resource' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'remove_tags_from_resource' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'copy_snapshot' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'describe_cache_parameter_groups' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'create_cache_parameter_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'delete_cache_parameter_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'get_conn' on 'salt/utils/etcd_util.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'tree' on 'salt/utils/etcd_util.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'get_os_version_info' on 'salt/utils/win_osinfo.py' does not have a docstring
The function 'render_jinja' on 'salt/utils/saltclass.py' does not have a docstring
The function 'render_yaml' on 'salt/utils/saltclass.py' does not have a docstring
The function 'get_class' on 'salt/utils/saltclass.py' does not have a docstring
The function 'get_env_from_dict' on 'salt/utils/saltclass.py' does not have a docstring
The function 'dict_merge' on 'salt/utils/saltclass.py' does not have a docstring
The function 'dict_search_and_replace' on 'salt/utils/saltclass.py' does not have a docstring
The function 'find_value_to_expand' on 'salt/utils/saltclass.py' does not have a docstring
The function 'find_and_process_re' on 'salt/utils/saltclass.py' does not have a docstring
The function 'expand_variables' on 'salt/utils/saltclass.py' does not have a docstring
The function 'expand_classes_in_order' on 'salt/utils/saltclass.py' does not have a docstring
The function 'expanded_dict_from_minion' on 'salt/utils/saltclass.py' does not have a docstring
The function 'get_pillars' on 'salt/utils/saltclass.py' does not have a docstring
The function 'get_tops' on 'salt/utils/saltclass.py' does not have a docstring
The function 'jinja_raise' on 'salt/utils/jinja.py' does not have a docstring
The function 'regex_escape' on 'salt/utils/jinja.py' does not have a docstring
The function 'method_call' on 'salt/utils/jinja.py' does not have a docstring
The function 'show_full_context' on 'salt/utils/jinja.py' does not have a docstring
The function 'start' on 'salt/engines/junos_syslog.py' does not have a docstring
The function 'load' on 'salt/utils/yamlloader_old.py' does not have a docstring
The function 'get_filter_pillar' on 'salt/modules/napalm_netacl.py' does not have a 'CLI Example:' in its docstring
The function 'get_term_pillar' on 'salt/modules/napalm_netacl.py' does not have a 'CLI Example:' in its docstring
The function 'setup_handlers' on 'salt/log_handlers/log4mongo_mod.py' does not have a docstring
The function 'create' on 'salt/modules/boto_elb.py' does not have a 'CLI Example:' in its docstring
The function 'delete' on 'salt/modules/boto_elb.py' does not have a 'CLI Example:' in its docstring
The function 'set_attributes' on 'salt/modules/boto_elb.py' does not have a 'CLI Example:' in its docstring
The function 'set_health_check' on 'salt/modules/boto_elb.py' does not have a 'CLI Example:' in its docstring
The function 'get_filter_pillar' on 'salt/modules/capirca_acl.py' does not have a 'CLI Example:' in its docstring
The function 'get_term_pillar' on 'salt/modules/capirca_acl.py' does not have a 'CLI Example:' in its docstring
The function 'get_configured_provider' on 'salt/cloud/clouds/clc.py' does not have a docstring
The function 'get_creds' on 'salt/cloud/clouds/clc.py' does not have a docstring
The function 'get_queue_data' on 'salt/cloud/clouds/clc.py' does not have a docstring
The function 'wrap_tmpl_func' on 'salt/utils/templates.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'render_jinja_tmpl' on 'salt/utils/templates.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'render_mako_tmpl' on 'salt/utils/templates.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'render_wempy_tmpl' on 'salt/utils/templates.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'assumed_creds' on 'salt/utils/aws.py' does not have a docstring
The function 'signal_event' on 'salt/cloud/clouds/profitbricks.py' does not have a docstring
The function 'to_salt_event' on 'salt/beacons/watchdog.py' does not have a docstring
The function 'close' on 'salt/beacons/watchdog.py' does not have a docstring
The function 'make_con' on 'salt/proxy/netmiko_px.py' does not have a docstring
The function 'connection' on 'salt/proxy/netmiko_px.py' does not have a docstring
The function 'create_vmfs_datastore' on 'salt/modules/vsphere.py' was previously known to not have a CLI Example, which is no longer the case. Please remove it from 'MISSING_EXAMPLES'. in 'tasks/docstrings.py'
The function 'list_licenses' on 'salt/modules/vsphere.py' was previously known to not have a CLI Example, which is no longer the case. Please remove it from 'MISSING_EXAMPLES'. in 'tasks/docstrings.py'
The function 'get_vm' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'get_vm_config_file' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'get_advanced_configs' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'set_advanced_configs' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'delete_advanced_configs' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'compare_vm_configs' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'get_vm_config' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'update_vm' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'register_vm' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'load' on 'salt/utils/yamlloader.py' does not have a docstring
The function 'get_error' on 'salt/utils/boto3mod.py' does not have a docstring
The function 'exactly_one' on 'salt/utils/boto3mod.py' does not have a docstring
The function 'ordered' on 'salt/utils/boto3mod.py' does not have a docstring
The function 'get_resource' on 'salt/modules/pagerduty_util.py' does not have a 'CLI Example:' in its docstring
The function 'create_or_update_resource' on 'salt/modules/pagerduty_util.py' does not have a 'CLI Example:' in its docstring
The function 'delete_resource' on 'salt/modules/pagerduty_util.py' does not have a 'CLI Example:' in its docstring
The function 'resource_present' on 'salt/modules/pagerduty_util.py' does not have a 'CLI Example:' in its docstring
The function 'resource_absent' on 'salt/modules/pagerduty_util.py' does not have a 'CLI Example:' in its docstring
The function 'ext_pillar' on 'salt/pillar/stack.py' does not have a docstring
Found 11 warnings
Found 127 errors


Thanks again!

1 similar comment
@github-actions
Copy link

github-actions bot commented Aug 3, 2022

Hi! I'm your friendly PR bot!

You might be wondering what I'm doing commenting here on your PR.

Yes, as a matter of fact, I am...

I'm just here to help us improve the documentation. I can't respond to
questions or anything, but what I can do, I do well!

Okay... so what do you do?

I detect modules that are missing docstrings or "CLI Example" on existing docstrings!
When I was created we had a lot of these. The documentation for these
modules need some love and attention to make Salt better for our users.

So what does that have to do with my PR?

I noticed that in this PR there are some files changed that have some of these
issues. So I'm leaving this comment to let you know your options.

Okay, what are they?

Well, my favorite, is that since you were making changes here I'm hoping that
you would be the most familiar with this module and be able to add some other
examples or fix any of the reported issues.

If I can, then what?

Well, you can either add them to this PR or add them to another PR. Either way is fine!

Well... what if I can't, or don't want to?

That's also fine! We appreciate all contributions to the Salt Project. If you
can't add those other examples, either because you're too busy, or unfamiliar,
or you just aren't interested, we still appreciate the contributions that
you've made already.

Whatever approach you decide to take, just drop a comment here letting us know!

Detected Issues (click me)
Check Known Missing Docstrings...........................................Failed
- hook id: invoke
- exit code: 1

/home/runner/.cache/pre-commit/repo0vfkb6ko/py_env-python3/lib/python3.9/site-packages/_distutils_hack/init.py:33: UserWarning: Setuptools is replacing distutils.
warnings.warn("Setuptools is replacing distutils.")
The function 'exist' on 'salt/modules/chroot.py' was previously known to not have a CLI Example, which is no longer the case. Please remove it from 'MISSING_EXAMPLES'. in 'tasks/docstrings.py'
The function 'create_deployment' on 'salt/modules/kubernetesmod.py' does not have a 'CLI Example:' in its docstring
The function 'create_pod' on 'salt/modules/kubernetesmod.py' does not have a 'CLI Example:' in its docstring
The function 'create_service' on 'salt/modules/kubernetesmod.py' does not have a 'CLI Example:' in its docstring
The function 'replace_deployment' on 'salt/modules/kubernetesmod.py' does not have a 'CLI Example:' in its docstring
The function 'replace_service' on 'salt/modules/kubernetesmod.py' does not have a 'CLI Example:' in its docstring
The function 'mkdirs' on 'salt/utils/smb.py' does not have a docstring
The function 'delete_file' on 'salt/utils/smb.py' does not have a docstring
The function 'delete_directory' on 'salt/utils/smb.py' does not have a docstring
The function 'set_volumes_tags' on 'salt/modules/boto_ec2.py' does not have a 'CLI Example:' in its docstring
The function 'check_nova' on 'salt/utils/openstack/nova.py' does not have a docstring
The function 'get_entry' on 'salt/utils/openstack/nova.py' does not have a docstring
The function 'get_entry_multi' on 'salt/utils/openstack/nova.py' does not have a docstring
The function 'get_endpoint_url_v3' on 'salt/utils/openstack/nova.py' does not have a docstring
The function 'sanatize_novaclient' on 'salt/utils/openstack/nova.py' does not have a docstring
The function 'check_neutron' on 'salt/utils/openstack/neutron.py' does not have a docstring
The function 'check_keystone' on 'salt/utils/openstack/neutron.py' does not have a docstring
The function 'sanitize_neutronclient' on 'salt/utils/openstack/neutron.py' does not have a docstring
The function 'delete_alarm' on 'salt/modules/boto_cloudwatch.py' does not have a 'CLI Example:' in its docstring
The function 'check_ipc_path_max_len' on 'salt/utils/zeromq.py' does not have a docstring
The function 'verify_logs_filter' on 'salt/utils/verify.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'create' on 'salt/modules/lxc.py' does not have a 'CLI Example:' in its docstring
The function 'render' on 'salt/renderers/pyobjects.py' does not have a docstring
The function 'lock_holders' on 'salt/modules/zk_concurrency.py' does not have a 'CLI Example:' in its docstring
The function 'lock' on 'salt/modules/zk_concurrency.py' does not have a 'CLI Example:' in its docstring
The function 'unlock' on 'salt/modules/zk_concurrency.py' does not have a 'CLI Example:' in its docstring
The function 'party_members' on 'salt/modules/zk_concurrency.py' does not have a 'CLI Example:' in its docstring
The function 'path_depth' on 'salt/utils/find.py' does not have a docstring
The function 'get_connection' on 'salt/modules/netmiko_mod.py' does not have a 'CLI Example:' in its docstring
The function 'call' on 'salt/modules/netmiko_mod.py' does not have a 'CLI Example:' in its docstring
The function 'multi_call' on 'salt/modules/netmiko_mod.py' does not have a 'CLI Example:' in its docstring
The function 'split_username' on 'salt/utils/win_runas.py' does not have a docstring
The function 'represent_ordereddict' on 'salt/utils/yamldumper.py' does not have a docstring
The function 'represent_undefined' on 'salt/utils/yamldumper.py' does not have a docstring
The function 'get_dumper' on 'salt/utils/yamldumper.py' does not have a docstring
The function 'ext_pillar' on 'salt/pillar/makostack.py' does not have a docstring
The function 'fqdns' on 'salt/modules/network.py' was previously known to not have a CLI Example, which is no longer the case. Please remove it from 'MISSING_EXAMPLES'. in 'tasks/docstrings.py'
The function 'post_event' on 'salt/modules/datadog_api.py' does not have a 'CLI Example:' in its docstring
The function 'expand_repo_def' on 'salt/modules/aptpkg.py' does not have a 'CLI Example:' in its docstring
The function 'nesthash' on 'salt/modules/virt.py' does not have a 'CLI Example:' in its docstring
The function 'init' on 'salt/modules/virt.py' does not have a 'CLI Example:' in its docstring
The function 'node_devices' on 'salt/modules/virt.py' does not have a 'CLI Example:' in its docstring
The function 'network_update' on 'salt/modules/virt.py' does not have a 'CLI Example:' in its docstring
The function 'pool_update' on 'salt/modules/virt.py' does not have a 'CLI Example:' in its docstring
The function 'describe_cache_clusters' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'cache_cluster_exists' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'create_cache_cluster' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'modify_cache_cluster' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'delete_cache_cluster' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'describe_replication_groups' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'replication_group_exists' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'create_replication_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'modify_replication_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'delete_replication_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'describe_cache_subnet_groups' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'cache_subnet_group_exists' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'list_cache_subnet_groups' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'create_cache_subnet_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'modify_cache_subnet_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'delete_cache_subnet_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'describe_cache_security_groups' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'cache_security_group_exists' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'create_cache_security_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'delete_cache_security_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'authorize_cache_security_group_ingress' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'revoke_cache_security_group_ingress' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'list_tags_for_resource' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'add_tags_to_resource' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'remove_tags_from_resource' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'copy_snapshot' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'describe_cache_parameter_groups' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'create_cache_parameter_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'delete_cache_parameter_group' on 'salt/modules/boto3_elasticache.py' does not have a 'CLI Example:' in its docstring
The function 'get_conn' on 'salt/utils/etcd_util.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'tree' on 'salt/utils/etcd_util.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'get_os_version_info' on 'salt/utils/win_osinfo.py' does not have a docstring
The function 'render_jinja' on 'salt/utils/saltclass.py' does not have a docstring
The function 'render_yaml' on 'salt/utils/saltclass.py' does not have a docstring
The function 'get_class' on 'salt/utils/saltclass.py' does not have a docstring
The function 'get_env_from_dict' on 'salt/utils/saltclass.py' does not have a docstring
The function 'dict_merge' on 'salt/utils/saltclass.py' does not have a docstring
The function 'dict_search_and_replace' on 'salt/utils/saltclass.py' does not have a docstring
The function 'find_value_to_expand' on 'salt/utils/saltclass.py' does not have a docstring
The function 'find_and_process_re' on 'salt/utils/saltclass.py' does not have a docstring
The function 'expand_variables' on 'salt/utils/saltclass.py' does not have a docstring
The function 'expand_classes_in_order' on 'salt/utils/saltclass.py' does not have a docstring
The function 'expanded_dict_from_minion' on 'salt/utils/saltclass.py' does not have a docstring
The function 'get_pillars' on 'salt/utils/saltclass.py' does not have a docstring
The function 'get_tops' on 'salt/utils/saltclass.py' does not have a docstring
The function 'jinja_raise' on 'salt/utils/jinja.py' does not have a docstring
The function 'regex_escape' on 'salt/utils/jinja.py' does not have a docstring
The function 'method_call' on 'salt/utils/jinja.py' does not have a docstring
The function 'show_full_context' on 'salt/utils/jinja.py' does not have a docstring
The function 'start' on 'salt/engines/junos_syslog.py' does not have a docstring
The function 'load' on 'salt/utils/yamlloader_old.py' does not have a docstring
The function 'get_filter_pillar' on 'salt/modules/napalm_netacl.py' does not have a 'CLI Example:' in its docstring
The function 'get_term_pillar' on 'salt/modules/napalm_netacl.py' does not have a 'CLI Example:' in its docstring
The function 'setup_handlers' on 'salt/log_handlers/log4mongo_mod.py' does not have a docstring
The function 'create' on 'salt/modules/boto_elb.py' does not have a 'CLI Example:' in its docstring
The function 'delete' on 'salt/modules/boto_elb.py' does not have a 'CLI Example:' in its docstring
The function 'set_attributes' on 'salt/modules/boto_elb.py' does not have a 'CLI Example:' in its docstring
The function 'set_health_check' on 'salt/modules/boto_elb.py' does not have a 'CLI Example:' in its docstring
The function 'get_filter_pillar' on 'salt/modules/capirca_acl.py' does not have a 'CLI Example:' in its docstring
The function 'get_term_pillar' on 'salt/modules/capirca_acl.py' does not have a 'CLI Example:' in its docstring
The function 'get_configured_provider' on 'salt/cloud/clouds/clc.py' does not have a docstring
The function 'get_creds' on 'salt/cloud/clouds/clc.py' does not have a docstring
The function 'get_queue_data' on 'salt/cloud/clouds/clc.py' does not have a docstring
The function 'wrap_tmpl_func' on 'salt/utils/templates.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'render_jinja_tmpl' on 'salt/utils/templates.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'render_mako_tmpl' on 'salt/utils/templates.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'render_wempy_tmpl' on 'salt/utils/templates.py' was previously known to not have a docstring, which is no longer the case. Please remove it from 'MISSING_DOCSTRINGS' .in 'tasks/docstrings.py'
The function 'assumed_creds' on 'salt/utils/aws.py' does not have a docstring
The function 'signal_event' on 'salt/cloud/clouds/profitbricks.py' does not have a docstring
The function 'to_salt_event' on 'salt/beacons/watchdog.py' does not have a docstring
The function 'close' on 'salt/beacons/watchdog.py' does not have a docstring
The function 'make_con' on 'salt/proxy/netmiko_px.py' does not have a docstring
The function 'connection' on 'salt/proxy/netmiko_px.py' does not have a docstring
The function 'create_vmfs_datastore' on 'salt/modules/vsphere.py' was previously known to not have a CLI Example, which is no longer the case. Please remove it from 'MISSING_EXAMPLES'. in 'tasks/docstrings.py'
The function 'list_licenses' on 'salt/modules/vsphere.py' was previously known to not have a CLI Example, which is no longer the case. Please remove it from 'MISSING_EXAMPLES'. in 'tasks/docstrings.py'
The function 'get_vm' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'get_vm_config_file' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'get_advanced_configs' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'set_advanced_configs' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'delete_advanced_configs' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'compare_vm_configs' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'get_vm_config' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'update_vm' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'register_vm' on 'salt/modules/vsphere.py' does not have a 'CLI Example:' in its docstring
The function 'load' on 'salt/utils/yamlloader.py' does not have a docstring
The function 'get_error' on 'salt/utils/boto3mod.py' does not have a docstring
The function 'exactly_one' on 'salt/utils/boto3mod.py' does not have a docstring
The function 'ordered' on 'salt/utils/boto3mod.py' does not have a docstring
The function 'get_resource' on 'salt/modules/pagerduty_util.py' does not have a 'CLI Example:' in its docstring
The function 'create_or_update_resource' on 'salt/modules/pagerduty_util.py' does not have a 'CLI Example:' in its docstring
The function 'delete_resource' on 'salt/modules/pagerduty_util.py' does not have a 'CLI Example:' in its docstring
The function 'resource_present' on 'salt/modules/pagerduty_util.py' does not have a 'CLI Example:' in its docstring
The function 'resource_absent' on 'salt/modules/pagerduty_util.py' does not have a 'CLI Example:' in its docstring
The function 'ext_pillar' on 'salt/pillar/stack.py' does not have a docstring
Found 11 warnings
Found 127 errors


Thanks again!

@Ch3LL
Copy link
Contributor

Ch3LL commented Aug 3, 2022

There are a lot more commits here that are from the master branch and not just your changes.

@dmurphy18 dmurphy18 closed this Aug 3, 2022
@dmurphy18 dmurphy18 deleted the 3k5_fips branch May 3, 2023 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.