# SOME DESCRIPTIVE TITLE. # Copyright (C) 2021, VyOS maintainers and contributors # This file is distributed under the same license as the VyOS package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: VyOS 1.4\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-10-21 12:01+0200\n" "PO-Revision-Date: 2022-10-21 10:04+0000\n" "Language-Team: German (Germany) (https://www.transifex.com/vyos/teams/155110/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de_DE\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../../contributing/debugging.rst:5 d9abb064d6ec46698758d0f175f7b250 msgid "Debugging" msgstr "" #: ../../contributing/debugging.rst:7 7fb551891e1a4f0c8ac9917eb715e178 msgid "" "There are two flags available to aid in debugging configuration scripts. " "Since configuration loading issues will manifest during boot, the flags are " "passed as kernel boot parameters." msgstr "" #: ../../contributing/debugging.rst:12 19772cc03d234060bb88c9b6d1c6ce3a msgid "ISO image build" msgstr "" #: ../../contributing/debugging.rst:14 c23659ab849a46b59d6b774017f364eb msgid "" "When having trouble compiling your own ISO image or debugging Jenkins issues" " you can follow the steps at :ref:`iso_build_issues`." msgstr "" #: ../../contributing/debugging.rst:18 f711dd3a740242ca9155020137c35f77 msgid "System Startup" msgstr "" #: ../../contributing/debugging.rst:20 1954ad919001400681578eed03136e5e msgid "" "The system startup can be debugged (like loading in the configuration file " "from ``/config/config.boot``. This can be achieve by extending the Kernel " "command-line in the bootloader." msgstr "" #: ../../contributing/debugging.rst:25 f865988e532244acbdfb851b45b734a2 msgid "Kernel" msgstr "" #: ../../contributing/debugging.rst:27 7917e5ed63eb4ebbb3632ace2f89edd8 msgid "" "``vyos-debug`` - Adding the parameter to the linux boot line will produce " "timing results for the execution of scripts during commit. If one is seeing " "an unexpected delay during manual or boot commit, this may be useful in " "identifying bottlenecks. The internal flag is ``VYOS_DEBUG``, and is found " "in vyatta-cfg_. Output is directed to ``/var/log/vyatta/cfg-stdout.log``." msgstr "" #: ../../contributing/debugging.rst:33 bc15a266694b4c6c9b9e1c7bf9996f1c msgid "" "``vyos-config-debug`` - During development, coding errors can lead to a " "commit failure on boot, possibly resulting in a failed initialization of the" " CLI. In this circumstance, the kernel boot parameter ``vyos-config-debug`` " "will ensure access to the system as user ``vyos``, and will log a Python " "stack trace to the file ``/tmp/boot-config-trace``. File ``boot-config-" "trace`` will generate only if config loaded with a failure status." msgstr "" #: ../../contributing/debugging.rst:42 927250c6b0fb4a99a77084985694f7c8 msgid "Live System" msgstr "" #: ../../contributing/debugging.rst:44 12a2672d770344088afbffa70ffc74cc msgid "" "A number of flags can be set up to change the behaviour of VyOS at runtime. " "These flags can be toggled using either environment variables or creating " "files." msgstr "" #: ../../contributing/debugging.rst:48 b29d56dc00ec4533b6636c8778d70099 msgid "" "For each feature, a file called ``vyos.feature.debug`` can be created to " "toggle the feature on. If a parameter is required it can be placed inside " "the file as its first line." msgstr "" #: ../../contributing/debugging.rst:52 e466228a7cae4312883ae8bbefa4fdf5 msgid "" "The file can be placed in ``/tmp`` for one time debugging (as the file will " "be removed on reboot) or placed in '/config' to stay permanently." msgstr "" #: ../../contributing/debugging.rst:55 f370c2cf80634831956e8734a9ae24b1 msgid "" "For example, ``/tmp/vyos.ifconfig.debug`` can be created to enable interface" " debugging." msgstr "" #: ../../contributing/debugging.rst:58 e71ea39e57f54e92b55270142994fc09 msgid "" "It is also possible to set up the debugging using environment variables. In " "that case, the name will be (in uppercase) VYOS_FEATURE_DEBUG." msgstr "" #: ../../contributing/debugging.rst:61 cb30841880024964a3fcbf7b9fdd0946 msgid "" "For example running, ``export VYOS_IFCONFIG_DEBUG=\"\"`` on your vbash, will" " have the same effect as ``touch /tmp/vyos.ifconfig.debug``." msgstr "" #: ../../contributing/debugging.rst:64 731e8847dcd44bfe92fdda526ff194b4 msgid "" "``ifconfig`` - Once set, all commands used, and their responses received " "from the OS, will be presented on the screen for inspection." msgstr "" #: ../../contributing/debugging.rst:67 27e26aae8d964b249b9a190ef75da061 msgid "" "``command`` - Once set, all commands used, and their responses received from" " the OS, will be presented on the screen for inspection." msgstr "" #: ../../contributing/debugging.rst:70 5ef22224a4fc44e2a79717a9a957ca1d msgid "" "``developer`` - Should a command fail, instead of printing a message to the " "user explaining how to report issues, the python interpreter will start a " "PBD post-mortem session to allow the developer to debug the issue. As the " "debugger will wait from input from the developer, it has the capacity to " "prevent a router to boot and therefore should only be permanently set up on " "production if you are ready to see the OS fail to boot." msgstr "" #: ../../contributing/debugging.rst:77 18e8907f0d36479ea5161e45c5ec576d msgid "" "``log`` - In some rare cases, it may be useful to see what the OS is doing, " "including during boot. This option sends all commands used by VyOS to a " "file. The default file is ``/tmp/full-log`` but it can be changed." msgstr "" #: ../../contributing/debugging.rst:81 e8bcb010512d4fba8d59c97d869321a7 msgid "" "In order to retrieve the debug output on the command-line you need to " "disable ``vyos-configd`` in addition. This can be run either one-time by " "calling ``sudo systemctl stop vyos-configd`` or make this reboot-safe by " "calling ``sudo systemctl disable vyos-configd``." msgstr "" #: ../../contributing/debugging.rst:87 867c3d7496274fe79c97081b7e704248 msgid "FRR" msgstr "" #: ../../contributing/debugging.rst:89 812b9cd9ae6e4a4fb2c73eedea6b7b49 msgid "" "Recent versions use the ``vyos.frr`` framework. The Python class is located " "inside our ``vyos-1x:python/vyos/frr.py``. It comes with an embedded " "debugging/ (print style) debugger as vyos.ifconfig does." msgstr "" #: ../../contributing/debugging.rst:93 038ea4d82d7d4c918310759e41c190e5 msgid "To enable debugging just run: ``$ touch /tmp/vyos.frr.debug``" msgstr "" #: ../../contributing/debugging.rst:96 dceda9b7f48d4884a1e0a004b936eb7c msgid "Debugging Python Code with PDB" msgstr "" #: ../../contributing/debugging.rst:98 cd88176ad7d142448cf6ac2d8e455e39 msgid "" "Sometimes it might be useful to debug Python code interactively on the live " "system rather than a IDE. This can be achieved using pdb." msgstr "" #: ../../contributing/debugging.rst:101 c07c3d6e486c44669f5b3b3ec8ca96f1 msgid "" "Let us assume you want to debug a Python script that is called by an op-mode" " command. After you found the script by looking up the op-mode-defitions you" " can edit the script in the live system using e.g. vi: ``vi " "/usr/libexec/vyos/op_mode/show_xyz.py``" msgstr "" #: ../../contributing/debugging.rst:106 514228796e6c40b0b3256acb705bfcc2 msgid "" "Insert the following statement right before the section where you want to " "investigate a problem (e.g. a statement you see in a backtrace): ``import " "pdb; pdb.set_trace()`` Optionally you can surrounded this statement by an " "``if`` which only triggers under the condition you are interested in." msgstr "" #: ../../contributing/debugging.rst:112 c4311e64a9744e4080d75c4c5db2b92d msgid "" "Once you run ``show xyz`` and your condition is triggered you should be " "dropped into the python debugger:" msgstr "" #: ../../contributing/debugging.rst:122 dc107ce6ee184239bafa54bdd9d70500 msgid "" "You can type ``help`` to get an overview of the available commands, and " "``help command`` to get more information on each command." msgstr "" #: ../../contributing/debugging.rst:125 6f979c80ad2c4e72a1b51dca2d47d967 msgid "Useful commands are:" msgstr "" #: ../../contributing/debugging.rst:127 88b8de755a664a7498ec6fc3ff4cf17c msgid "examine variables using ``pp(var)``" msgstr "" #: ../../contributing/debugging.rst:128 e507a6e6fe2f453bae93a6ff56230a2c msgid "contine execution using ``cont``" msgstr "" #: ../../contributing/debugging.rst:129 916108c9344b4dbdae1c1f711a832939 msgid "get a backtrace using ``bt``" msgstr "" #: ../../contributing/debugging.rst:132 a9fe7dad4d714d4e8d03e427443b2470 msgid "Config Migration Scripts" msgstr "" #: ../../contributing/debugging.rst:134 ae021de2a9594b20a143453fe35f91dc msgid "" "When writing a new configuration migrator it may happen that you see an " "error when you try to invoke it manually on a development system. This error" " will look like:" msgstr "" #: ../../contributing/debugging.rst:148 23268f450e6a4ddcaa2f7d06e3ec5b81 msgid "" "The reason is that the configuration migration backend is rewritten and uses" " a new form of \"magic string\" which is applied on demand when real config " "migration is run on boot. When runnint individual migrators for testing, you" " need to convert the \"magic string\" on your own by:" msgstr "" #: ../../contributing/debugging.rst:158 8ea3762fb0844be0882803885c0eda19 msgid "Configuration Error on System Boot" msgstr "" #: ../../contributing/debugging.rst:160 b5a16f1b27f04b00871631f0b3bde437 msgid "" "Beeing brave and running the latest rolling releases will sometimes trigger " "bugs due to corner cases we missed in our design. Those bugs should be filed" " via Phabricator_ but you can help us to narrow doen the issue. Login to " "your VyOS system and change into configuration mode by typing ``configure``." " Now re-load your boot configuration by simply typing ``load`` followed by " "return." msgstr "" #: ../../contributing/debugging.rst:166 eb0d350d49b54104b57d23f9e360c7b8 msgid "" "You shoudl now see a Python backtrace which will help us to handle the " "issue, please attach it to the Phabricator_ task." msgstr "" #: ../../contributing/debugging.rst:170 0d4185dd8b384bd281a9bdcb9f6a1cc8 msgid "Boot Timing" msgstr "" #: ../../contributing/debugging.rst:172 62039345d4e04c6296b6e614a2f5c333 msgid "" "During the migration and extensive rewrite of functionality from Perl into " "Python a significant increase in the overall system boottime was noticed. " "The system boot time can be analysed and a graph can be generated in the end" " which shows in detail who called whom during the system startup phase." msgstr "" #: ../../contributing/debugging.rst:177 9817ac9f29a5498c973c3a224f01dc7f msgid "" "This is done by utilizing the ``systemd-bootchart`` package which is now " "installed by default on the VyOS 1.3 (equuleus) branch. The configuration is" " also versioned so we get comparable results. ``systemd-bootchart`` is " "configured using this file: bootchart.conf_" msgstr "" #: ../../contributing/debugging.rst:182 556676d2db2c4b3c82dee76fa99d570b msgid "" "To enable boot time graphing change the Kernel commandline and add the " "folowing string: ``init=/usr/lib/systemd/systemd-bootchart``" msgstr "" #: ../../contributing/debugging.rst:185 d946cf69e7364195b4a57b9743dc0a8a msgid "This can also be done permanently by changing ``/boot/grub/grub.cfg``." msgstr "" #: ../../contributing/debugging.rst:188 11ace3b44bff4e62b514f7e511f19bb8 msgid "Priorities" msgstr "" #: ../../contributing/debugging.rst:190 4383613095884c7e96f71695b1575997 msgid "" "VyOS CLI is all about priorities. Every CLI node has a corresponding " "``node.def`` file and possibly an attached script that is executed when the " "node is present. Nodes can have a priority, and on system bootup - or any " "other ``commit`` to the config all scripts are executed from lowest to " "higest priority. This is good as this gives a deterministic behavior." msgstr "" #: ../../contributing/debugging.rst:196 6236dba2871a4a6b85a73550abc56e8d msgid "" "To debug issues in priorities or to see what's going on in the background " "you can use the ``/opt/vyatta/sbin/priority.pl`` script which lists to you " "the execution order of the scripts." msgstr ""