* CHEF-3832: Fix for InSpec Parallel fails to fetch remote profiles due to cache contention.
This fix creates the write exclusive lock on the cache directory of profile till write operation is finished for git fetcher
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Refactored to have locking and unlocking logic inside cache. Cache directory is not required for archived directories and this is currently only required by git fetcher
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* REFACTOR: adds method in fetcher to return true if requires cache locking mechanism to avoid cache contention
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Adds exception handling
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Handles interruption in cache creation process to avoid empty cache directory creation or currupted data
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Refactored to handle interruption through SystemExit
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Fixed the failing test. While creating lock cache_key need to be extracted from the respective fetcher.
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
---------
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* FIX: Handle invalid license exception as handled in base_cli:57
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* Use 174 error code when exiting with license subsystem error from license add
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Co-authored-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Add support for custom port with a socket connection
* Add tests for the postgres_session with custom port
---------
Signed-off-by: Pg <pg.developper.fr@gmail.com>
Co-authored-by: Pg <pg.developper.fr@gmail.com>
* Error logging changes to fix renaming of files in windows
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Parallel rename, delete and logging fix for windows
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Log path changes reverted after testing with static logs directory
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Fix lint
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Logic to rename error log files on interrupt
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* An attempt to reduce the delay on control c interrupt by killing child process instantly
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Only rename existing file of the child process to avoid conficts in renaming
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Fix in renaming with control-c interrupt by invoking from command library itself
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Added logic to wait for processes to die after process kill, to fix error on interrupt
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Removed idle inititation on status super reporter for parallel - needs future improvements
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Fileutils Mkdir usage refactoring
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
Co-authored-by: Nikita Mathur <nikita.mathur@chef.io>
Co-authored-by: Vasu1105 <vasundhara.jagdale@chef.io>
Sending EOF Marker at the end of of the whole suit run here instead of depending on the controls count
Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
Co-authored-by: Vasu1105 <vasundhara.jagdale@progress.com>
* Update license commands description to be updated for local mode
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* To hide licensing information in help for CINC & other distros
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Simple config changes to return array of values with multiple values opt
* New option added to split multiple values with a delimiter regex
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Co-authored-by: Nikita Mathur <Nik08@users.noreply.github.com>
* Fix systemd path for Leap image
* Use vhef client version 17 as doocker cookbook do not support >= 18
* Add nftables resource
* Add nftables tests
* Add fixtures for nftables tests
* enable nftables only when attr is true - then disable iptables
* By default test iptables, not nftables
* Fix tests and lint errors
* Increase unit test coverage for nftables
* Do not use -nn nft option as behaviour changes based on nft version
* Base nft params identification on its version, not os version
Signed-off-by: Jeremy JACQUE <jeremy.jacque@algolia.com>
* Make test more human friendly by reversing unless/if logic
Signed-off-by: Jeremy JACQUE <jeremy.jacque@algolia.com>
* Update mocked cmds with nft params
Signed-off-by: Jeremy JACQUE <jeremy.jacque@algolia.com>
* Fix quoting issue with rubocop
* Fix uninitiallized class vars
* Fix unit test by adding nft version mocking
* Clean nftables doc
---------
Signed-off-by: Jeremy JACQUE <jeremy.jacque@algolia.com>
Co-authored-by: jjacque <jeremy.jacque@algolia.com>
* fix: ensure Invoke-WebRequest headers can be configured
* fix: use array for custom headers
* test: add unit test for Windows simple HTTP request with headers
---------
Signed-off-by: Adrian Mlodzianowski <amlodzianowski@logicworks.net>
Co-authored-by: amlodzianowski <adrianmlodzianowski@gmail.com>
Co-authored-by: Adrian Mlodzianowski <amlodzianowski@logicworks.net>
* KITCHEN: Remove kitchen group from Gemfile,
revert this change when required
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* LINT: Remove trailing whitespace
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* CHEF-LICENSING: Add licensing flags info in help output
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* INFO: Add chef-licensing info to help message
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* Initial commit to set inspec cli command license
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* INTEGRATE: Use chef_licensing endpoint to list licenses info
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* CHORE: Update chef-licensing gem name, update description
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* CHEF-56 License add command integrated (#11)
* Added license add command in inspec license command plugin
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Chef licensing gem changes pointing to url and branch
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* EXEC_NAME is always inspec as set in Dist,
check is not required
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* DOCS: Update docs for the plugin
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
* DOCS: Update docs for the plugin
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Sonu Saha <sonu.saha@progress.com>
Co-authored-by: Nikita Mathur <nikita.mathur@chef.io>
Co-authored-by: Nikita Mathur <Nik08@users.noreply.github.com>
* CFINSPEC-24:Integrate License Software Entitlment.
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* CFINSPEC-506 license execution check
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Software entitlement call changes and handling of error
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Error handling from chef licensing error to standard error
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Updated Gemfile to pick the chef licensing changes from git url
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Trying with https url
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Revert "Trying with https url"
This reverts commit 33f1f4c0ecacf9ba2826e25e55b41219903ea736.
* Adds the license not entitled exit code
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Updates the require statement
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Fix typo
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Set the licensing configure for entitlement id failure
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Use ChefLicensing::Error instead of standard error
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* REFACTOR Move out licensing cong=fig to its own file and make unconditional
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* FIX TESTS - Add reference to licensing config for places where we call runner explicitly.
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Update inputs_test to use license configuration from utils
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
---------
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Co-authored-by: Nikita Mathur <nikita.mathur@chef.io>
Co-authored-by: Clinton Wolfe <clintoncwolfe@gmail.com>
* Dependent profiles fix for any scheme of version used in profiles
* Dependent profile fix when version is blank in dependent profiles
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Co-authored-by: Nikita Mathur <Nik08@users.noreply.github.com>
* Test profile consist of custom resource which has a gem dependency
* CFINSPEC-576 Fix for profile gem depedency loading issue if depedent gem is required in libraries files of the profile
* Fix windows test failure for profile gem dependency
---------
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Matching semver using regex to determine profile name without version in dsl logic
* Testing for selecting control using version in require control dsl
* Documentation for using version with profile name when including or selecting controls in a profile
* Commenting in dsl library about logic for fetching version and matching it
* Comment for regex used to fetch version
* Minor improvement for regex variable placement
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Co-authored-by: Nikita Mathur <Nik08@users.noreply.github.com>
* Revert "Revert "CFINSPEC-240 Extended file format support for waivers (#6193)" (#6366)"
This reverts commit 30146e07fe.
* Waiver support for csv and json
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Removed the word excel from image tag
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Removed excel file format support for attestations file (#6370)
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
* Update waivers.md
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
---------
Signed-off-by: Nikita Mathur <nikita.mathur@chef.io>
Signed-off-by: Ian Maddaus <ian.maddaus@progress.com>
Co-authored-by: Ian Maddaus <ian.maddaus@progress.com>
* This fixes the undefined method 'summary' for #<Gem::SourceFetchProblem:0x000000000139dc70> (NoMethodError) while invoking any inspec command if the custom plugin is installed and if inspec commands are run in an air gap environment.
This fix removes an earlier call for getting gem specification from rubygems.org which is the cause for above error and replaces it with fetching the summary from a locally saved gemspec file. This will work in both airgap and non-airgap environments.
* Adds test for reading description from local gemspec file.
Signed-off-by: Vasu1105 <vasundhara.jagdale@chef.io>
* Failing test for Ruby 3.1 - ERB.new call options changed
* Fix for Ruby 3.1 by using named params to ERB.new
* Restrict test to non-windows systems
* Restrict test to non-windows systems
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
Co-authored-by: Clinton Wolfe <clintoncwolfe@gmail.com>