Changelog
Kanrisuru 1.0.0 (April 27, 2022)
- Launch the first major release of Kanrisuru
Kanrisuru 1.0.0.beta1 (February 27, 2022)
- Add parallel mode for cluster. Allows hosts to run commands concurrently, reducing time it takes due to the high I/O blocking nature of the network requests.
- Add test cases for cluster parallel mode.
- Clean up methods on cluster class to use map and each methods in a simplified manner.
- Remove
/specdir from codecoverage.
Kanrisuru 0.20.0 (February 21, 2022)
- Allow hosts to be connected via proxy host. This is much like using a bastion / jump server.
- Add integration test cases for proxy host connection.
Kanrisuru 0.19.4 (February 19, 2022)
- Add additional family types to
sscommand.
Kanrisuru 0.19.3 (February 19, 2022)
- Fix bug in
sscommand with passing opts to parser.
Kanrisuru 0.19.2 (February 02, 2022)
- Add
to_hto result class.
Kanrisuru 0.19.1 (February 02, 2022)
- Fix
load_envcommand with parsing output, useto_afor cleaner newline parsing.
Kanrisuru 0.19.0 (January 25, 2022)
- Add readonly version of
sysctlcommand with test cases.
Kanrisuru 0.18.0 (January 23, 2022)
- Add
historycommand with test cases.
Kanrisuru 0.17.0 (January 20, 2022)
- Add
nproccommand with test cases.
Kanrisuru 0.16.17 (January 10, 2022)
- Add additional options to
wgetcommand. - Rename some options to better reflect options from wget program.
Kanrisuru 0.16.16 (January 08, 2022)
- Fix issue with
downloadcommand when downloading directories from remote server.
Kanrisuru 0.16.15 (January 07, 2022)
- Add recursive and all_targets opts to
umountcommand.
Kanrisuru 0.16.14 (January 02, 2022)
- Fix
get_usercommand by parsing output to get user name if uid is passed in.
Kanrisuru 0.16.13 (January 01, 2022)
- Add
non_uniqueandsystemopts tocreate_groupcommand
Kanrisuru 0.16.12 (January 01, 2022)
- Update date ranges for 2022 on license files.
- Add unit test case for
Kanrisuru::Logger.
Kanrisuru 0.16.11 (December 28, 2021)
- Add functional and integration test cases for the
Kanrisuru::Remote::Clusterclass. - Allow for passing a command instance into
executeandexecute_shellon a cluster instance, by deep copying a command object.
Kanrisuru 0.16.10 (December 28, 2021)
- Add
inameandiregexparams tofindcommand.
Kanrisuru 0.16.9 (December 27, 2021)
- Use cp intead of mv for recurisive dir overwrite on upload command.
Kanrisuru 0.16.8 (December 27, 2021)
- Fix return value of field for dmi parser.
- Fix upload command to copy contents of directory when transfering directories from tmp location.
Kanrisuru 0.16.7 (December 27, 2021)
- Update homepage to docs website.
Kanrisuru 0.16.6 (December 26, 2021)
- Add
deleteto fstab class to delete an entry from the fstab.
Kanrisuru 0.16.5 (December 25, 2021)
- Refactor
dmi_field_translateto reduce complexity.
Kanrisuru 0.16.4 (December 25, 2021)
- Refactor
Kanrisuru::Fstab::EntryandKanrisuru::Fstab::Optionsclasses into separate files.
Kanrisuru 0.16.3 (December 25, 2021)
- Refactor
Kanrisuru::Mode::Permissionclass into separate file.
Kanrisuru 0.16.2 (December 19, 2021)
- Organize functional ip specs
- Log in realtime, debug output the stdout from the remote server, as opposed to waiting until after the command is done.
- Fix the
opensuse_leapfor the stubnetwork rspec helper. - Refactor and cleanup the
append_arraymethod for theKanrisuru::Commandinstance - Move
gpg_optsforzyppercommand into re-usable method - Add functional test cases for
zyppercommand.
Kanrisuru 0.16.1 (December 16, 2021)
- Fix require class for
os_package.
Kanrisuru 0.16.0 (December 14, 2021)
- Fix
append_arrayfor theKanrisuru::Commandclass with negated check on Array type. - Add
to_fmethod forKanrisuru::CommandandKanrisuru::Resultwith unit test cases. - Refactor
lsblk_versioninto seperate command namespace with it’s own parser. - Add functional test cases for several core modules.
- Add
return_valueoption tostub_command!method for non-result return methods. These are few and far between, but need to be tested appropriately. - Refactor several core modules with use of
commandcalls for legibility. - Fix several issues with
create_user,update_user, anddelete_user.
Kanrisuru 0.15.0 (December 13, 2021)
- Add opts for
ipcommand. - Refactor
ipobject commands into smaller methods. Refactorversionfor consistent use and stub ability in funcitonal test cases. - Add functional test cases for
ipcommand. - Add
append_flag_notoKanrisuru::Commandclass. Adds no to value forfalseystatements. Thenoflag is commonly appended to indicate a deactived state for many arguments passed to programs on the command line. - Fix test case
transferby appending the osname to the filename to avoid parallel overwrite.
Kanrisuru 0.14.0 (December 08, 2021)
- Add additional unit test cases for
utilmethods. - Refactor the
coremodule commands into smaller files, with each command split up. Also refactor parsing code into separateParserclass.
Kanrisuru 0.13.0 (December 06, 2021)
- Add functional test cases for
Kanrisuru::Resultclass. - Refactor integration tests for better parallelization with the
parallel_testsgem. This dropped overall test time from 35 minutes, to 22 minutes after first integration with 1 processor. After scaling upto 8 core machine, the run time dropped to 16 minutes, but was still sending the entire test file to a processor. By splitting up each host test into a seperate file, the run time dropped to a little over 9 minutes. There’s probably a way to optimize which test gets run together, but overall a much better scenario.
Kanrisuru 0.12.1 (December 05, 2021)
- Fix typo in spec.
- Cleanup bad code style.
Kanrisuru 0.12.0 (December 05, 2021)
- Add functional test cases for
mountcommand. - Fix typos and command preperation for
mountcommand. - Refactor
os_packagemodule into smaller modules forKanrisuru::OsPackage::Collection,Kanrisuru::OsPackage::Define, andKanrisuru::OsPackage::Include. - Add
append_arraytocommandclass for easy string to array conversion for variable option passing. - Cleanup bad coding styles.
- Add parallel testing support for long running integration tests on remote servers.
- Refactor specs to use variable spec_dir path for parallel testing on remote hosts with possible overwriting at the same time.
Kanrisuru 0.11.1 (December 04, 2021)
- Cleanup self-assignment branches
- Fix linting issues.
Kanrisuru 0.11.0 (December 04, 2021)
- Add codequality badge, cleanup code linting issues.
- Fix
fstabissue with blkid device return type. - Fix
findspec with sudo permissions. - Change
stub_networkresult override to useblock.callwith a conditional check for indvidual command stubs. - Add
architecturemethod tocpu. - Add functional test cases for
cpuclass. - Add more unit test cases.
Kanrisuru 0.10.0 (December 03, 2021)
- Add
stub_commandandunstub_commandto mock indvidual command results from a remote server. - Add
countanddeletetoKanrisuru::Remote::Envclass for managing environment variables. - Add unit and functional test cases for
Kanrisuru::Remote::Env. - Add functional test cases for the
archivecommand. - Fix typo bugs in the
archivecommand. Fix--excludeopt field inarchivecommand. - Add unit test cases for
Kanrisuru::Modeclass.
Kanrisuru 0.9.2 (November 30, 2021)
- Add unit test cases for all core commands.
- Add unit test cases for
clusterclass. - Add codecov xml output for coverage badge.
Kanrisuru 0.9.1 (November 29, 2021)
- Fix type on
address_sizesforKanrisuru::Remote::Cpuclass. - Add unit test cases for the
cpuclass.
Kanrisuru 0.9.0 (November 23, 2021)
- Add
deletetoKanrisuru::Remote::Clusterclass to allow removal of hosts from cluster. - Add functional test cases for remote cluster class.
Kanrisuru 0.8.23 (November 19, 2021)
- Add functional test cases for
yumcommand - Add stub by operating system method, with support for
ubuntuandcentosos types. - Fix
ArgumentErrortypo in yum commands,eraseandremove.
Kanrisuru 0.8.22 (November 18, 2021)
- Add functional test cases for
aptcommand
Kanrisuru 0.8.21 (November 15, 2021)
- Fix bug with
Kanrisuru::Modeclass, lookup table had incorrect value for execute only symbolic to numeric field.
Kanrisuru 0.8.20 (November 13, 2021)
- Unstub network requests for full rspec test-suite run
Kanrisuru 0.8.19 (October 31, 2021)
- Add functional test cases for
sscommand. - Enforce contraints on
familyparameter forsscommand. - Deprecating
string_join_arrayin favor ofarray_join_string. Both methods do the same thing, and thearray_join_stringhas a better nameing interface; will be removed in the next major release. - Replace
string_join_arraymethod calls inapt,transfer,yum, andzypperwitharray_join_string.
Kanrisuru 0.8.18 (October 19, 2021)
- Add functional test cases for
findcommmand. - Add
regex_typeoption forfindcommand. - Fix bug with
sizeoption when using number in a string format, regex testing has been simplified on matching correctness for size with options like100,+100,-100Mfor comparitive fields.
Kanrisuru 0.8.17 (October 16, 2021)
- Add functional test cases for
transfermodule - Update wget command to accept hash for
headersopt.
Kanrisuru 0.8.16 (October 14, 2021)
- Add functional test cases for
streamandpathmodules - Create
expect_commandhelper for quick testing on raw command result
Kanrisuru 0.8.15 (October 12, 20201)
- Move functional specs to integration. Anything that performs an actual network request will be under the integrations test.
- Create a
StubNetworkto quickly monkey patch theKanrisuru::Remote::Hostto simulate aNet::SSHchannel request. Will add additional functionality for different simulations later on. - Start with testing the
statcommand as a functional test.
Kanrisuru 0.8.14 (October 8, 20201)
- Update
Kanrisuru::Remote::Clusterinstantiation method to use array splat instead of passing array directly.
Kanrisuru 0.8.13 (October 4, 20201)
- Fix
wccommand. Ensure result parsing is cast to integer values.
Kanrisuru 0.8.12 (October 4, 20201)
- Refactor
rmdircommand to only work on empty directories.
Kanrisuru 0.8.11 (October 1, 20201)
- Allow
Kanrisuru::Modeas mode type option in mkdir method.
Kanrisuru 0.8.10 (August 24, 20201)
- Fix bug with rspec test case.
Kanrisuru 0.8.9 (August 24, 2021)
- Fix spelling error exception
ArgumentErrorinKanrisuru::Modeclass.
Kanrisuru 0.8.8 (August 21, 2021)
- Add shorthand notation for tar command actions, such as
xforextract,tforlist, andcforcreate.
Kanrisuru 0.8.7 (August 21, 2021)
- Fix
FileInfofield for ls command. Was set tomemory_blocks, but was incorrect, corrected this tohard_links.
Kanrisuru 0.8.6 (August 21, 2021)
- Add
minimum_io_size,physical_sector_size, andlogical_sector_sizeto the blkid low level disk probe for devices.
Kanrisuru 0.8.5 (August 20, 2021)
- Add
summarizeoption toducommand. This will only output a total disk usage size for the entire directory versus disk usage for each file individually.
Kanrisuru 0.8.4 (August 20, 2021)
- Convert
fsizefield to anintegerfor du disk module command.
Kanrisuru 0.8.3 (August 20, 2021)
- Fix bug with disk usage,
ducommand by escaping the awk variables in the command. - Update
ducommand to execute with shell user.
Kanrisuru 0.8.2 (August 19, 2021)
- Convert
majorandminordevice field values to anintegerin lsblk disk module.
Kanrisuru 0.8.1 (August 19, 2021)
- Fix
nodepsflag value forlsblkcommand in disk module.
Kanrisuru 0.8.0 (August 18, 2021)
- Add last / lastb implementation in system core module.
Kanrisuru 0.7.3 (August 9, 2021)
- Fixed bug with zypper remove package, where the package names weren’t being added to the linux command.
- Test case added to ensure package is removed.
Kanrisuru 0.7.2 (August 9, 2021)
- Fixed bug with the
os_method_cacheinstance variable set in the namespaced instance of a host. This was causing collision issues inbetween host instances, where, hosts with the same aliased method name was getting overwritten (with a different OS), since the namespace instance variable existing on the host class definition wasn’t getting reset inbetween host instantiations. Given that theos_method_cacheis normally re-instantiated, this bug fix addresses this so that theos_method_cacheis always defined on the host instance, ie:
host.instance_variable_get(:@os_method_cache)
host.instance_variable_set(:@os_method_cache, os_method_cache)
This is done instead of being saved on the namespace module. With the previous bug fix of using namespaced keys, there’s no way for a method to be overwritten otherwise with a global os_method_cache.
Kanrisuru 0.7.1 (August 8, 2021)
- Fix bug with
os_includewhen caching namespace unbound methods, use the namespace in the cache key to avoid any namespace collisions with the same method name, namely:"#{namespace}.#{method_name}"
Kanrisuru 0.7.0 (August 8, 2021)
- Simplify
FileInfostruct for return object oflscommand. - Rename
sizetofsizefor theOpenFilestruct to avoid method naming conflicts of the struct class. - Allow
os_includeandos_collectionto define multiple groupings of methods with the same namespace. - Add
clearmethod for remote env class, to remove any session based env variables. - Add
to_smethod to result for quick analysis of string based return values. - Remove duplicate
numericmethod in the utils module.
Kanrisuru 0.6.0 (August 1, 2021)
- Add
lsofimplementation in system core module - Fix changelog formatting
- Add changelog url to gemspec
Kanrisuru 0.5.2 (July 30, 2021)
- Add changelog documentation
- Update documentation table with new tested core module
- Deprecating
cpu_infowith replacement oflscpu.cpu_infowill be removed in the next major release.
Kanrisuru 0.5.1 (July 29, 2021)
- Unit test cases for core module structs, constants and types.
Kanrisuru 0.5.0 (July 29, 2021)
- Add
zypperpackage manager core module - Add
dmicore module. Support for getting hardware information from virtual and physical machines. - Add only options for test_hosts to filter on which hosts to use for function style test cases. This is used within a test case and takes priority over command line
HOSTS=andEXCLUDE=env variables. - Add additional bit conversion string handling in the util module, such as kib, mib, and gib.
- Remove redudant namespacing in struct names, such as
Kanrisuru::Core::Yum::YumPackageOverview, toKanrisuru::Core::Yum::PackageOverview. - Fix backups test case for
cpcommand with the correct filename. - Use 0755 as expected numeric mode for all OS functional tests in the
mkdirtest case. - Fix bug with
lscpuregex match on cpus with more than 9 cores, ie/cpu\d/to/cpu\d+/
Kanrisuru 0.4.1 (July 26, 2021)
- Add
kernel_statisticsto system core module.
Kanrisuru 0.4.0 (July 25, 2021)
- Update internal exit code of command from 0, to array of accpeted exit codes, with 0 being the default value.
- Add
append_exit_codeto command, allowing additional exit codes to be considered true forsuccess?return value. - Add
@porttoNet::SSH.startmethod - Fix test case with
host.osreturn value ofopensuse_leap. - Add
cpu_flagsmethod tocpumodule
Kanrisuru 0.3.2 (July 23, 2021)
- Fix typo from
keytosignalin hash fetch method.
Kanrisuru 0.3.1 (July 22, 2021)
- Add additional methods to
cpupulling fromlscpustruct. - Fix
address_sizeincpumethod call.
Kanrisuru 0.3.0 (July 22, 2021)
- Add
lscpusystem core module - Replace
cpumodule internal fetching of data fromcpu_infotolscpustruct.
Kanrisuru 0.2.9 (July 20, 2021)
- Fix fstab entry from
entrytoentry[:entry]in thefor_eachiteration.
Kanrisuru 0.2.8 (July 20, 2021)
- Update gem development and runtime depedencies with stricter depencies.
Kanrisuru 0.2.7 (July 18, 2021)
- Set opensuse upstream to sles (Suse Enterprise Linux) in
os_family
Kanrisuru 0.2.6 (July 17, 2021)
- Force “-“ to “_” from
os-releaserelease name inhost.osmodule.
Kanrisuru 0.2.5 (July 16, 2021)
- Update gem depedencies to non-zero values.
- Change summary and description fields for
apt. - Move
normalize_sizefromaptcore module, toKanrisuru::Util::Bitsclass. - Add additional test cases for
aptcore module. - Add
-hitowhocommand to explicility print out ip address for user. - Update
inode?command to execute without shell user. - Add
yumpackage manager core module
Kanrisuru 0.2.4 (July 10, 2021)
- Fix error in
ip_ruleandip_addresssub modules with command typo.
Kanrisuru 0.2.3 (July 07, 2021)
- Add
aptpackage manager core module
Kanrisuru 0.2.2 (June 16, 2021)
- Fix
read_file_chunkon checking bounds for start and end line values.
Kanrisuru 0.2.1 (June 16, 2021)
- Add first working release on rubygems.org
Kanrisuru 0.2.0 (June 16, 2021) [YANKED]
Kanrisuru 0.1.0 (December 12, 2020)
- Initialize repository, start working on project.