Page MenuHomeVyOS Platform

Break up the vyos.util module
Closed, ResolvedPublic

Description

Initially, the vyos.util module only had a few misc functions. Now it's thousand lines long and contains a whole lot of functions that mostly belong to a few categories. I suggest that we break it up into multiple files:

  • vyos.utils.dict — manipulation and search in dictionaries.
  • vyos.utils.process — spawning subprocesses and checking running processes.
  • vyos.utils.file — file manipulation and checking (chmods, chowns, inotify waits...)
  • vyos.utils.system — wrappers around systemd unit commands and similar.
  • vyos.utils.net — interface and port utilities.
  • vyos.utils.convert — value conversions (seconds to human-readable time intervals, MAC to EUI64...).

I believe it's better to do a gradual migration: first introduce new modules, then replace all uses of vyos.util functions with calls to new functions, and only then remove the old vyos.util.

Details

Version
-
Is it a breaking change?
Perfectly compatible
Issue type
Internal change (not visible to end users)

Related Objects

Mentioned In
rVYOSONEX461195c5046d: vyos.utils.dict: T5195: fix syntax warning
rVYOSONEXdc993e006983: utils: T5195: fix timeout comment
rVYOSONEX3512c7081beb: utils: T5195: fix timeout comment
rVYOSONEXccd150c5b151: utils: T5195: fix timeout comment
rVYOSONEXb3272fca703c: utils: T5195: fix timeout comment
rVYOSONEX11b273108d78: utils: T5195: fix timeout comment
rVYOSONEX23356ee43534: vyos.utils.dict: T5195: fix syntax warning
rVYOSONEX1a9fd55c74e3: Merge pull request #3625 from vyos/mergify/bp/sagitta-stream/pr-3606
rVYOSONEXbcba26778269: Merge pull request #3624 from vyos/mergify/bp/circinus-stream/pr-3606
rVYOSONEX393e5336dd65: Merge pull request #3622 from vyos/mergify/bp/sagitta/pr-3606
rVYOSONEXf4201dc274ab: vyos.utils: T5195: import vyos.cpu to this package
rVYOSONEX5df6e65da681: vyos.utils: T5195: import vyos.cpu to this package
rVYOSONEX66af3962fa79: vyos.utils: T5195: import vyos.cpu to this package
rVYOSONEXe318eb33446d: vyos.utils: T5195: import vyos.cpu to this package
rVYOSONEX50a5a29ae128: Merge pull request #3606 from c-po/utils-cpu-T5195
rVYOSONEX48c09cb91079: Merge pull request #2770 from vyos/mergify/bp/sagitta/pr-2769
rVYOSONEX8d16ec73841a: smoketest: T5195: fix BasicInterfaceTest tearDown() timeout penalty
rVYOSONEX041db49533d5: smoketest: T5195: fix BasicInterfaceTest tearDown() timeout penalty
rVYOSONEX44c190dd44f8: Merge pull request #2769 from c-po/T5195-penalty
rVYOSONEXf67c73eed925: Merge pull request #2767 from vyos/mergify/bp/sagitta/pr-2764
rVYOSONEX368ff14787d6: T5195: add timeout argument to process_named_running()
rVYOSONEXad9bdfc248cf: T5195: add timeout argument to process_named_running()
rVYOSONEX9b7a96d27653: Merge pull request #2764 from c-po/T5195-process
rVYOSONEXc3d2e0289825: image: T5195: vyos.util -> vyos.utils package refactoring
rVYOSONEXfcded7930b54: image: T5195: vyos.util -> vyos.utils package refactoring
rVYOSONEXd1c4294534dd: T5195: move helpers from vyos.validate to vyos.utils package
rVYOSONEXa7d26396ef7d: T5195: fix remaining references to decommissioned vyos.util
rVYOSONEX4056974666cd: T5195: remove empty vyos.util
rVYOSONEX3284444b1755: T5195: remove obsoleted mangle_dict_keys
rVYOSONEXf8797df83d9c: T5195: add/fix missing imports
rVYOSONEXea3cacea5759: T5195: move individual helper functions to vyos.utils module
rVYOSONEX5f77ccf91eb4: T5195: vyos.util -> vyos.utils package refactoring part #2
rVYOSONEX14644632ed4f: T5195: add missing "import os" for vyos.utils.process
rVYOSONEXd1ca536da448: T5195: vyos.util -> vyos.utils package refactoring (#2093)
rVYOSONEXac60fe7d1840: T5195: drop sysctl_* implementation from vyos.util - prefer vyos.utils.system
rVYOSONEX4e2a087cc7e9: T5195: move boot_* helpers to vyos.utils.boot
rVYOSONEX618984bb98ac: vyos.utils: T5195: take the time and use the full command over an abbreviation
rVYOSONEX79abc95eff24: vyos.utils: T5195: add network namespace helper interface_exists_in_netns()
rVYOSONEX20eec3e8a434: vyos.utils: T5195: add vyos.utils.network
rVYOSONEXfb452c77c689: Merge pull request #2047 from sever-sever/T5256
rVYOSONEX07de3355e92f: vyos.utils: T5195: fix option list output in vyos.utils.dict.
rVYOSONEXc739eb23bb26: vyos.util: T5195: remove the unused camel case to snake case function
rVYOSONEXd051e9def858: Merge pull request #2000 from dmbaturin/T5195-remove-snake-case-function
rVYOSONEX63fb721b96ba: vyos.utils: T5195: add vyos.utils.file
rVYOSONEXe5e6a32eced3: Merge pull request #1989 from dmbaturin/T5195-file-utils
rVYOSONEXfe7232e6a91e: vyos.utils: T5195: add vyos.utils.convert
rVYOSONEXced599b0d6b0: Merge pull request #1990 from dmbaturin/T5195-conversion-utils
rVYOSONEX2309df5f1c73: vyos.utils: T5195: add vyos.utils.io
rVYOSONEX79a693ed7adf: Merge pull request #1991 from dmbaturin/T5195-io-utils
rVYOSONEX9495ac100114: vyos.utils: T5195: add vyos.utils.dict.check_mutually_exclusive_options
rVYOSONEXebae70726419: T5195: add vyos.utils.dict
rVYOSONEX6e7dfd008ae8: Merge pull request #1976 from dmbaturin/dict-utils

Event Timeline

dmbaturin triaged this task as Normal priority.