]> Frank Brehm's Git Trees - pixelpark/create-vmware-tpl.git/commitdiff
Translations
authorFrank Brehm <frank.brehm@pixelpark.com>
Tue, 10 Oct 2023 10:33:23 +0000 (12:33 +0200)
committerFrank Brehm <frank.brehm@pixelpark.com>
Tue, 10 Oct 2023 10:33:23 +0000 (12:33 +0200)
locale/create_vm_template.pot
locale/de_DE/LC_MESSAGES/create_vm_template.po
locale/en_US/LC_MESSAGES/create_vm_template.po

index b8cf0e986601015abf9037db7a7138d0035606f0..ffd36e50776a715574022e1ed44a3774f5cfb728 100644 (file)
 # Translations template for create_vm_template.
-# Copyright (C) 2022 Frank Brehm, Pixelpark GmbH, Berlin
+# Copyright (C) 2023 Frank Brehm, Pixelpark GmbH, Berlin
 # This file is distributed under the same license as the create_vm_template project.
-# Frank Brehm <frank.brehm@pixelpark.com>, 2022.
+# Frank Brehm <frank.brehm@pixelpark.com>, 2023.
 #
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: create_vm_template 2.6.3\n"
+"Project-Id-Version: create_vm_template 2.8.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2022-08-31 12:59+0200\n"
+"POT-Creation-Date: 2023-10-10 12:16+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.10.3\n"
+"Generated-By: Babel 2.13.0\n"
 
-#: lib/cr_vmware_tpl/app.py:69
+#: lib/cr_vmware_tpl/app.py:63
 msgid "Value must be at least 1, {} was given."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:73
+#: lib/cr_vmware_tpl/app.py:67
 msgid "Value must be at most {m} - {v} was given."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:98
+#: lib/cr_vmware_tpl/app.py:92
 msgid "File {!r} does not exists."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:101
+#: lib/cr_vmware_tpl/app.py:95
 msgid "File {!r} is not a regular file."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:122
+#: lib/cr_vmware_tpl/app.py:118
 msgid ""
 "Creates in the given VSphere environment and cluster a template object, which can be used to "
 "spawn different virtual machines."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:240
+#: lib/cr_vmware_tpl/app.py:238
 msgid "Enter password for host {h!r} and user {u!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:268
+#: lib/cr_vmware_tpl/app.py:266
 msgid "Abort creation of VMWare template after successsful creation of template VM."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:272
+#: lib/cr_vmware_tpl/app.py:270
 msgid "VMWare options"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:276
+#: lib/cr_vmware_tpl/app.py:274
 msgid "Remote VSphere host to connect to (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:282
+#: lib/cr_vmware_tpl/app.py:280
 msgid "Port on VSphere host to connect on (Default: {})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:287
+#: lib/cr_vmware_tpl/app.py:285
 msgid "USER"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:288
+#: lib/cr_vmware_tpl/app.py:286
 msgid "User name to use when connecting to VSphere host (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:293
+#: lib/cr_vmware_tpl/app.py:291
 msgid "PASSWORD"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:294
+#: lib/cr_vmware_tpl/app.py:292
 msgid "Password to use when connecting to VSphere host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:298
+#: lib/cr_vmware_tpl/app.py:296
 msgid "FOLDER"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:299
+#: lib/cr_vmware_tpl/app.py:297
 msgid "VM folder in VSphere, where to create the template (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:305
+#: lib/cr_vmware_tpl/app.py:303
 msgid "Host cluster in VSphere, where to create the template (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:312
+#: lib/cr_vmware_tpl/app.py:310
 msgid "The abbreviation for the operating system (e.g. 'oel7' or 'centos8', Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:322
+#: lib/cr_vmware_tpl/app.py:320
 msgid "Maximum number of templates to stay in templates folder (1 <= x < {max_nr}, Default: {def_nr})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:329
+#: lib/cr_vmware_tpl/app.py:327
 msgid "Execute rotation of existing templates only, don't create a new one."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:336
+#: lib/cr_vmware_tpl/app.py:334
 msgid "Got command line arguments:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:375
+#: lib/cr_vmware_tpl/app.py:382
+msgid "Using VSphere config:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/app.py:392
 msgid "Starting {a!r}, version {v!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:383
+#: lib/cr_vmware_tpl/app.py:400
 msgid "Temporary VM"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:80 lib/cr_vmware_tpl/handler.py:131 lib/cr_vmware_tpl/handler.py:308
+#: lib/cr_vmware_tpl/cobbler/__init__.py:66 lib/cr_vmware_tpl/handler/__init__.py:82
+#: lib/cr_vmware_tpl/handler/__init__.py:200
 msgid "{w} is not an instance of {c}, but an instance of {i} instead."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:141
+#: lib/cr_vmware_tpl/cobbler/__init__.py:127
 msgid "Command {c!r} is neither an Array nor a String, but a {t!r} instead."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:161 lib/cr_vmware_tpl/cobbler.py:222 lib/cr_vmware_tpl/handler.py:904
+#: lib/cr_vmware_tpl/cobbler/__init__.py:147 lib/cr_vmware_tpl/cobbler/files.py:49
+#: lib/cr_vmware_tpl/handler/vm.py:186
 msgid "Initializing {} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:164 lib/cr_vmware_tpl/cobbler.py:225 lib/cr_vmware_tpl/handler.py:906
+#: lib/cr_vmware_tpl/cobbler/__init__.py:150 lib/cr_vmware_tpl/cobbler/files.py:52
+#: lib/cr_vmware_tpl/handler/vm.py:188
 msgid "Loading SSH system host keys."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:167 lib/cr_vmware_tpl/cobbler.py:228 lib/cr_vmware_tpl/handler.py:908
+#: lib/cr_vmware_tpl/cobbler/__init__.py:153 lib/cr_vmware_tpl/cobbler/files.py:55
+#: lib/cr_vmware_tpl/handler/vm.py:190
 msgid "Setting SSH missing host key policy to {}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:173 lib/cr_vmware_tpl/cobbler.py:232 lib/cr_vmware_tpl/handler.py:912
+#: lib/cr_vmware_tpl/cobbler/__init__.py:159 lib/cr_vmware_tpl/cobbler/files.py:59
+#: lib/cr_vmware_tpl/handler/vm.py:194
 msgid "Connecting to {h!r}, port {p} as {u!r} per SSH ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:180
+#: lib/cr_vmware_tpl/cobbler/__init__.py:166
 msgid "Executing: {!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:191
+#: lib/cr_vmware_tpl/cobbler/__init__.py:177
 msgid "No output."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:193 lib/cr_vmware_tpl/cobbler.py:195 lib/cr_vmware_tpl/cobbler.py:1038
-#: lib/cr_vmware_tpl/cobbler.py:1041 lib/cr_vmware_tpl/handler.py:927
-#: lib/cr_vmware_tpl/handler.py:1044 lib/cr_vmware_tpl/handler.py:1051
-#: lib/cr_vmware_tpl/handler.py:1124 lib/cr_vmware_tpl/handler.py:1131
+#: lib/cr_vmware_tpl/cobbler/__init__.py:179 lib/cr_vmware_tpl/cobbler/__init__.py:181
+#: lib/cr_vmware_tpl/cobbler/__init__.py:271 lib/cr_vmware_tpl/cobbler/__init__.py:274
+#: lib/cr_vmware_tpl/handler/vm.py:209 lib/cr_vmware_tpl/handler/vm.py:326
+#: lib/cr_vmware_tpl/handler/vm.py:333 lib/cr_vmware_tpl/handler/vm.py:406
+#: lib/cr_vmware_tpl/handler/vm.py:413
 msgid "Output on {}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:200 lib/cr_vmware_tpl/cobbler.py:257
+#: lib/cr_vmware_tpl/cobbler/__init__.py:186 lib/cr_vmware_tpl/cobbler/files.py:82
 msgid "Could not connect via {w} to {user}@{host}: {e}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:207 lib/cr_vmware_tpl/cobbler.py:265 lib/cr_vmware_tpl/handler.py:932
+#: lib/cr_vmware_tpl/cobbler/__init__.py:193 lib/cr_vmware_tpl/cobbler/files.py:90
+#: lib/cr_vmware_tpl/handler/vm.py:214
 msgid "Closing SSH connection."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:211 lib/cr_vmware_tpl/cobbler.py:784
+#: lib/cr_vmware_tpl/cobbler/__init__.py:197 lib/cr_vmware_tpl/cobbler/profile.py:381
 msgid "Completed SSH process:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:237
-msgid "Simulating SCP of {local!r} to {user}@{host}:{remote} ..."
-msgstr ""
-
-#: lib/cr_vmware_tpl/cobbler.py:250
-msgid "SCP of {local!r} to {user}@{host}:{remote} ..."
-msgstr ""
-
-#: lib/cr_vmware_tpl/cobbler.py:275 lib/cr_vmware_tpl/cobbler.py:357 lib/cr_vmware_tpl/cobbler.py:495
-#: lib/cr_vmware_tpl/cobbler.py:720 lib/cr_vmware_tpl/cobbler.py:787 lib/cr_vmware_tpl/cobbler.py:982
-#: lib/cr_vmware_tpl/cobbler.py:1007 lib/cr_vmware_tpl/cobbler.py:1028
+#: lib/cr_vmware_tpl/cobbler/__init__.py:207 lib/cr_vmware_tpl/cobbler/__init__.py:261
+#: lib/cr_vmware_tpl/cobbler/files.py:147 lib/cr_vmware_tpl/cobbler/files.py:218
+#: lib/cr_vmware_tpl/cobbler/profile.py:188 lib/cr_vmware_tpl/cobbler/profile.py:384
+#: lib/cr_vmware_tpl/cobbler/system.py:113 lib/cr_vmware_tpl/cobbler/system.py:138
 msgid "No error message"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:280
+#: lib/cr_vmware_tpl/cobbler/__init__.py:212
 msgid "Could not get version of cobbler: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:287
+#: lib/cr_vmware_tpl/cobbler/__init__.py:219
 msgid "Version of {} is:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:290 lib/cr_vmware_tpl/config.py:928
+#: lib/cr_vmware_tpl/cobbler/__init__.py:222 lib/cr_vmware_tpl/config/__init__.py:263
 msgid "Unsupported version {ver!r} of {co}, valid versions of {co} are {valid}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:296 lib/cr_vmware_tpl/config.py:1518
+#: lib/cr_vmware_tpl/cobbler/__init__.py:228 lib/cr_vmware_tpl/config/cobbler.py:134
 msgid "Cobbler root directory"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:307
-msgid "Checking existence of remote directory {!r} ..."
-msgstr ""
-
-#: lib/cr_vmware_tpl/cobbler.py:319 lib/cr_vmware_tpl/cobbler.py:354
-msgid "Remote directory"
+#: lib/cr_vmware_tpl/cobbler/__init__.py:258
+msgid "Executing cobbler sync ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:322
-msgid "{dsc} {rdir!r} on host {host!r} does not exists or is not a directory."
+#: lib/cr_vmware_tpl/cobbler/__init__.py:266
+msgid "Could syncing cobbler: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:331
-msgid "Ensuring existence of remote directory {!r} ..."
+#: lib/cr_vmware_tpl/cobbler/__init__.py:280 lib/cr_vmware_tpl/cobbler/__init__.py:318
+msgid "Trying to get IP of MAC address {!r} given by DHCP ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:352
-msgid "Output:"
+#: lib/cr_vmware_tpl/cobbler/__init__.py:296 lib/cr_vmware_tpl/cobbler/__init__.py:336
+msgid "Found invalid IP address {ip!r} in leases file: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:362
-msgid "{dsc} {rdir!r} on host {host!r} could not be created: {err}"
+#: lib/cr_vmware_tpl/cobbler/__init__.py:309 lib/cr_vmware_tpl/cobbler/__init__.py:354
+msgid "Found DHCP IP assignments:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:379
+#: lib/cr_vmware_tpl/cobbler/distro.py:46
 msgid "Sorted list of found distros:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:395
+#: lib/cr_vmware_tpl/cobbler/distro.py:62
 msgid "Sorted list of found repositories:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:403
+#: lib/cr_vmware_tpl/cobbler/distro.py:70
 msgid "Checking existence of repos for distro {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:408
+#: lib/cr_vmware_tpl/cobbler/distro.py:75
 msgid "Repo {r!r} for distro {d!r} not found on cobbler server."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:413
+#: lib/cr_vmware_tpl/cobbler/distro.py:80
 msgid "Found repo {r!r} for distro {d!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:430
-msgid "Sorted list of found profiles:"
+#: lib/cr_vmware_tpl/cobbler/files.py:63
+msgid "Simulating SCP of {local!r} to {user}@{host}:{remote} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:75
+msgid "SCP of {local!r} to {user}@{host}:{remote} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:97
+msgid "Checking existence of remote directory {!r} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:109 lib/cr_vmware_tpl/cobbler/files.py:144
+msgid "Remote directory"
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:112
+msgid "{dsc} {rdir!r} on host {host!r} does not exists or is not a directory."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:121
+msgid "Ensuring existence of remote directory {!r} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:142
+msgid "Output:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:152
+msgid "{dsc} {rdir!r} on host {host!r} could not be created: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:440
+#: lib/cr_vmware_tpl/cobbler/files.py:163
 msgid "Checking remote file {rfile!r} based on local {lfile!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:445
+#: lib/cr_vmware_tpl/cobbler/files.py:168
 msgid "Local file {!r} either not exists or is not a regular file."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:451
+#: lib/cr_vmware_tpl/cobbler/files.py:174
 msgid "{typ} sum of {ks!r} is: {dig}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:470
+#: lib/cr_vmware_tpl/cobbler/files.py:193
 msgid "Remote file {!r} has the correct content."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:474
+#: lib/cr_vmware_tpl/cobbler/files.py:197
 msgid "File {!r} has to be copied."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:482
+#: lib/cr_vmware_tpl/cobbler/files.py:205
 msgid "Getting content of remote file {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:500
+#: lib/cr_vmware_tpl/cobbler/files.py:223
 msgid "Error getting content of {rfile!r} on host {host!r} - returncode was {rc}: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:527
+#: lib/cr_vmware_tpl/cobbler/files.py:250
 msgid "Ensuring currentness of rsyslog config files ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:533 lib/cr_vmware_tpl/cobbler.py:848 lib/cr_vmware_tpl/cobbler.py:867
-#: lib/cr_vmware_tpl/cobbler.py:886 lib/cr_vmware_tpl/cobbler.py:906 lib/cr_vmware_tpl/cobbler.py:923
+#: lib/cr_vmware_tpl/cobbler/files.py:256 lib/cr_vmware_tpl/cobbler/files.py:274
+#: lib/cr_vmware_tpl/cobbler/files.py:293 lib/cr_vmware_tpl/cobbler/files.py:312
+#: lib/cr_vmware_tpl/cobbler/files.py:332 lib/cr_vmware_tpl/cobbler/files.py:349
 msgid "Ensuring {loc!r} => {rem!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:546
-msgid "Using temporary kickstart file {!r}."
+#: lib/cr_vmware_tpl/cobbler/files.py:268
+msgid "Ensuring currentness of snippets below {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:560 lib/cr_vmware_tpl/cobbler.py:827
-msgid "Generated kickstart file content:"
+#: lib/cr_vmware_tpl/cobbler/files.py:287
+msgid "Ensuring currentness of bashrc files."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:565
-msgid "Ensuring currentness of profile kickstart script {!r}."
+#: lib/cr_vmware_tpl/cobbler/files.py:306
+msgid "Ensuring currentness of vimrc files."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:570 lib/cr_vmware_tpl/handler.py:297 lib/cr_vmware_tpl/handler.py:339
-#: lib/cr_vmware_tpl/handler.py:364
-msgid "Removing {!r} ..."
+#: lib/cr_vmware_tpl/cobbler/files.py:325
+msgid "Ensuring currentness of logrotate files."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:580
-msgid "Ensuring profile {!r} ..."
+#: lib/cr_vmware_tpl/cobbler/files.py:346
+msgid "Ensuring currentness of create-motd.sh."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:599
-msgid "Checking existing profile {!r} ..."
+#: lib/cr_vmware_tpl/cobbler/files.py:367
+msgid "Ensuring currentness of authorized_keys file of root {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:604
-msgid "Got profile variables:"
+#: lib/cr_vmware_tpl/cobbler/files.py:382
+msgid "Ensuring currentness of repo files below {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:626
-msgid "Got {what} on reading and parsing of profile {p!r}:"
+#: lib/cr_vmware_tpl/cobbler/files.py:388
+msgid "Local path {!r} is not a directory."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:646
-msgid "Checking existing profile {n!r} ({d}) ..."
+#: lib/cr_vmware_tpl/cobbler/files.py:392
+msgid "Ensuring repo files for {}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:663
-msgid "Checking for distro:"
+#: lib/cr_vmware_tpl/cobbler/files.py:399
+msgid "Finished with repo files."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:684
-msgid "Checking for repos:"
+#: lib/cr_vmware_tpl/cobbler/files.py:409
+msgid "Ensuring currentness of postfix files below {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:695
-msgid "Checking for nameservers:"
+#: lib/cr_vmware_tpl/cobbler/files.py:418
+msgid "Finished with postfix files."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:702
-msgid "Checking for DNS search domains:"
+#: lib/cr_vmware_tpl/cobbler/files.py:426
+msgid "Webroot directory"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:712
-msgid "No need for changing profile {!r}"
+#: lib/cr_vmware_tpl/cobbler/files.py:427
+msgid "Ensuring existence of {what} {dir!r}..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:725
-msgid "Error editing a cobbler profile - returncode was {rc}: {err}"
+#: lib/cr_vmware_tpl/cobbler/profile.py:57
+msgid "Sorted list of found profiles:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:735
-msgid "Creating new profile {!r} ..."
+#: lib/cr_vmware_tpl/cobbler/profile.py:65
+msgid "Using {!r} as a template for the kickstart file."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:792
-msgid "Error creating a cobbler profile - returncode was {rc}: {err}"
+#: lib/cr_vmware_tpl/cobbler/profile.py:72
+msgid "Using temporary kickstart file {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:797
-msgid "There was an error message on creating profile {!r}:"
+#: lib/cr_vmware_tpl/cobbler/profile.py:86 lib/cr_vmware_tpl/cobbler/system.py:51
+msgid "Generated kickstart file content:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:807
-msgid "Did not found profile {!r} after trying creation."
+#: lib/cr_vmware_tpl/cobbler/profile.py:91
+msgid "Ensuring currentness of profile kickstart script {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:817
-msgid "Ensuring currentness of system kickstart script {!r}."
+#: lib/cr_vmware_tpl/cobbler/profile.py:96 lib/cr_vmware_tpl/handler/__init__.py:189
+#: lib/cr_vmware_tpl/handler/__init__.py:231 lib/cr_vmware_tpl/handler/__init__.py:259
+msgid "Removing {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:842
-msgid "Ensuring currentness of snippets below {!r}."
+#: lib/cr_vmware_tpl/cobbler/profile.py:106
+msgid "Ensuring profile {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:861
-msgid "Ensuring currentness of bashrc files."
+#: lib/cr_vmware_tpl/cobbler/profile.py:125
+msgid "Checking existing profile {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:880
-msgid "Ensuring currentness of vimrc files."
+#: lib/cr_vmware_tpl/cobbler/profile.py:130
+msgid "Got profile variables:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:899
-msgid "Ensuring currentness of logrotate files."
+#: lib/cr_vmware_tpl/cobbler/profile.py:152
+msgid "Got {what} on reading and parsing of profile {p!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:920
-msgid "Ensuring currentness of create-motd.sh."
+#: lib/cr_vmware_tpl/cobbler/profile.py:171
+msgid "Checking existing profile {n!r} ({d}) ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:936
-msgid "Creating new system {!r} ..."
+#: lib/cr_vmware_tpl/cobbler/profile.py:176
+msgid "No need for changing profile {!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:987
-msgid "Error creating a cobbler system - returncode was {rc}: {err}"
+#: lib/cr_vmware_tpl/cobbler/profile.py:193
+msgid "Error editing a cobbler profile - returncode was {rc}: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:997
-msgid "Removing system {!r} ..."
+#: lib/cr_vmware_tpl/cobbler/profile.py:214
+msgid "Checking for distro:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1012
-msgid "Error removing the cobbler system {n!r} - returncode was {rc}: {err}"
+#: lib/cr_vmware_tpl/cobbler/profile.py:230
+msgid "Checking for repos:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1025
-msgid "Executing cobbler sync ..."
+#: lib/cr_vmware_tpl/cobbler/profile.py:241
+msgid "Checking for nameservers:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1033
-msgid "Could syncing cobbler: {}"
+#: lib/cr_vmware_tpl/cobbler/profile.py:248
+msgid "Checking for DNS search domains:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1055
-msgid "Ensuring currentness of authorized_keys file of root {!r}."
+#: lib/cr_vmware_tpl/cobbler/profile.py:268
+msgid "Arguments for editing the profile:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1070
-msgid "Ensuring currentness of repo files below {!r}."
+#: lib/cr_vmware_tpl/cobbler/profile.py:284 lib/cr_vmware_tpl/cobbler/profile.py:289
+#: lib/cr_vmware_tpl/cobbler/profile.py:294 lib/cr_vmware_tpl/cobbler/profile.py:299
+#: lib/cr_vmware_tpl/cobbler/profile.py:303
+msgid "Profile ks_meta {!r} is not ok."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1076
-msgid "Local path {!r} is not a directory."
+#: lib/cr_vmware_tpl/cobbler/profile.py:314
+msgid "Creating new profile {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1080
-msgid "Ensuring repo files for {}."
+#: lib/cr_vmware_tpl/cobbler/profile.py:389
+msgid "Error creating a cobbler profile - returncode was {rc}: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1087
-msgid "Finished with repo files."
+#: lib/cr_vmware_tpl/cobbler/profile.py:394
+msgid "There was an error message on creating profile {!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1097
-msgid "Ensuring currentness of postfix files below {!r}."
+#: lib/cr_vmware_tpl/cobbler/profile.py:404
+msgid "Did not found profile {!r} after trying creation."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1106
-msgid "Finished with postfix files."
+#: lib/cr_vmware_tpl/cobbler/system.py:41
+msgid "Ensuring currentness of system kickstart script {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1113 lib/cr_vmware_tpl/cobbler.py:1151
-msgid "Trying to get IP of MAC address {!r} given by DHCP ..."
+#: lib/cr_vmware_tpl/cobbler/system.py:67
+msgid "Creating new system {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1129 lib/cr_vmware_tpl/cobbler.py:1169
-msgid "Found invalid IP address {ip!r} in leases file: {err}"
+#: lib/cr_vmware_tpl/cobbler/system.py:118
+msgid "Error creating a cobbler system - returncode was {rc}: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1142 lib/cr_vmware_tpl/cobbler.py:1187
-msgid "Found DHCP IP assignments:"
+#: lib/cr_vmware_tpl/cobbler/system.py:128
+msgid "Removing system {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1196
-msgid "Webroot directory"
+#: lib/cr_vmware_tpl/cobbler/system.py:143
+msgid "Error removing the cobbler system {n!r} - returncode was {rc}: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1197
-msgid "Ensuring existence of {what} {dir!r}..."
+#: lib/cr_vmware_tpl/config/__init__.py:226
+msgid "Used config filename stems:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:169
-msgid "Invalid port {!r} for LDAP server given."
+#: lib/cr_vmware_tpl/config/__init__.py:229
+msgid "Additional config file: '{}'."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:182
-msgid "An empty Base DN for LDAP searches is not allowed."
+#: lib/cr_vmware_tpl/config/__init__.py:231
+msgid "Collected config files:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:288
-msgid "Invalid value {val!r} in section {sec!r} for a LDAP {what}."
+#: lib/cr_vmware_tpl/config/__init__.py:396
+msgid "Evaluating configuration ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:341
-msgid "Unknown LDAP configuration key {key} found in section {sec!r}."
+#: lib/cr_vmware_tpl/config/__init__.py:401
+msgid "Checking for unconfigured options ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:386 lib/cr_vmware_tpl/config.py:394 lib/cr_vmware_tpl/config.py:403
-msgid "The given parameter {p!r} must be sequential type (given: {v!r})."
+#: lib/cr_vmware_tpl/config/__init__.py:432
+msgid "Evaluating section {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:417
-msgid "The name of a Cobbler distro may not be empty."
+#: lib/cr_vmware_tpl/config/__init__.py:434
+msgid "Content of section:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:476
-msgid "Invalid architecture {a!r} for distro {n!r} given. Valid architectures are {v}."
+#: lib/cr_vmware_tpl/config/__init__.py:478
+msgid "Unhandled configuration section {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:629
-msgid ""
-"Found unknown config parameter {p!r} with value {v!r} in configuration of the Cobbler repository"
-" {r!r}."
+#: lib/cr_vmware_tpl/config/__init__.py:486
+msgid "Given method {!r} is not a valid crypt method."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:634
-msgid "Found Cobbler repository configuration:"
+#: lib/cr_vmware_tpl/config/__init__.py:498
+msgid "Hashed root password: {!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1053
-msgid "Checking for unconfigured options ..."
+#: lib/cr_vmware_tpl/config/__init__.py:505
+msgid "Stripping no more necessary stuff from configuration ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1083
-msgid "File {!r} not found on current host."
+#: lib/cr_vmware_tpl/config/__init__.py:508 lib/cr_vmware_tpl/config/__init__.py:513
+#: lib/cr_vmware_tpl/config/__init__.py:518 lib/cr_vmware_tpl/config/__init__.py:522
+#: lib/cr_vmware_tpl/config/__init__.py:526
+msgid "Stripping {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1088
-msgid "Path {!r} is not a regular file."
+#: lib/cr_vmware_tpl/config/cobbler.py:43
+msgid "Verifying cobbler distros ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1093
-msgid "File {!r} is not readable."
+#: lib/cr_vmware_tpl/config/cobbler.py:46
+msgid "Did not found configured Cobbler distros."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1097
-msgid "Evaluating {!r} for nameservers."
+#: lib/cr_vmware_tpl/config/cobbler.py:53
+msgid "Did not found distro of configured Cobbler distro {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1110
-msgid "Found invalid IP address {addr!r} as a nameserver in {file!r}:"
+#: lib/cr_vmware_tpl/config/cobbler.py:58
+msgid "Did not found the base install repo URL of configured Cobbler distro {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1116
-msgid "Found nameservers in {!r}:"
+#: lib/cr_vmware_tpl/config/cobbler.py:64
+msgid "Did not found repo definitions for configured Cobbler distro {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1129
-msgid "Verifying cobbler distros ..."
+#: lib/cr_vmware_tpl/config/cobbler.py:72
+msgid "Searching for distro with ID {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1132
-msgid "Did not found configured Cobbler distros."
+#: lib/cr_vmware_tpl/config/cobbler.py:75
+msgid "Did not found distro {!r} in configured Cobbler distros."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1139
-msgid "Did not found distro of configured Cobbler distro {!r}."
+#: lib/cr_vmware_tpl/config/cobbler.py:81
+msgid "Using OS {os!r} with cobbler distro {di!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1144
-msgid "Did not found the base install repo URL of configured Cobbler distro {!r}."
+#: lib/cr_vmware_tpl/config/cobbler.py:88 lib/cr_vmware_tpl/config/cobbler.py:182
+#: lib/cr_vmware_tpl/config/cobbler.py:206 lib/cr_vmware_tpl/config/eval.py:125
+#: lib/cr_vmware_tpl/config/eval.py:186 lib/cr_vmware_tpl/config/timeouts.py:68
+msgid "Checking config section {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1150
-msgid "Did not found repo definitions for configured Cobbler distro {!r}."
+#: lib/cr_vmware_tpl/config/cobbler.py:133 lib/cr_vmware_tpl/config/cobbler.py:158
+msgid "Path for {what} {path!r} is not absolute."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1159
-msgid "Did not found distro {!r} in configured Cobbler distros."
+#: lib/cr_vmware_tpl/config/cobbler.py:159
+msgid "Webserver document root"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1165
-msgid "Using OS {os!r} with cobbler distro {di!r}."
+#: lib/cr_vmware_tpl/config/cobbler.py:170
+msgid "The value of {what!r} must be one of {valid!r}, but found {val!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1177
-msgid "Evaluating section {!r} ..."
+#: lib/cr_vmware_tpl/config/cobbler.py:189
+msgid "Found Cobbler repository {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1179
-msgid "Content of section:"
+#: lib/cr_vmware_tpl/config/cobbler.py:200
+msgid "Evaluated Cobbler repositories:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1223
-msgid "Unhandled configuration section {!r}."
+#: lib/cr_vmware_tpl/config/distro.py:72 lib/cr_vmware_tpl/config/distro.py:80
+#: lib/cr_vmware_tpl/config/distro.py:89
+msgid "The given parameter {p!r} must be sequential type (given: {v!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1229
-msgid "Value {!r} for a timeout is invalid."
+#: lib/cr_vmware_tpl/config/distro.py:103
+msgid "The name of a Cobbler distro may not be empty."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1259 lib/cr_vmware_tpl/config.py:1320 lib/cr_vmware_tpl/config.py:1419
-#: lib/cr_vmware_tpl/config.py:1472 lib/cr_vmware_tpl/config.py:1566 lib/cr_vmware_tpl/config.py:1601
-msgid "Checking config section {!r} ..."
+#: lib/cr_vmware_tpl/config/distro.py:162
+msgid "Invalid architecture {a!r} for distro {n!r} given. Valid architectures are {v}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1291
-msgid "Value {val} for {p} is less than {minval}, using {default}."
+#: lib/cr_vmware_tpl/config/distro.py:362
+msgid ""
+"Found unknown config parameter {p!r} with value {v!r} in configuration of the Cobbler repository"
+" {r!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1296
-msgid "Value {val} for {p} is greater than {maxval}, using {default}."
+#: lib/cr_vmware_tpl/config/distro.py:367
+msgid "Found Cobbler repository configuration:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1387
-msgid "Checking value {v!r} for {p} ..."
+#: lib/cr_vmware_tpl/config/eval.py:48
+msgid "File {!r} not found on current host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1389
-msgid "Minimal value: {min_val}, maximum value: {max_val}, default value: {def_val}."
+#: lib/cr_vmware_tpl/config/eval.py:53
+msgid "Path {!r} is not a regular file."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1397
-msgid "Value {val} for {prop} is less than {min_val}, using {def_val} seconds."
+#: lib/cr_vmware_tpl/config/eval.py:58
+msgid "File {!r} is not readable."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1404
-msgid "Value {val} for {prop} is greater than {max_val}, using {def_val} seconds."
+#: lib/cr_vmware_tpl/config/eval.py:62
+msgid "Evaluating {!r} for nameservers."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1411
-msgid "Setting timeout {p!r} to {v:0.1f} seconds."
+#: lib/cr_vmware_tpl/config/eval.py:75
+msgid "Found invalid IP address {addr!r} as a nameserver in {file!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1517 lib/cr_vmware_tpl/config.py:1542
-msgid "Path for {what} {path!r} is not absolute."
+#: lib/cr_vmware_tpl/config/eval.py:81
+msgid "Found nameservers in {!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1543
-msgid "Webserver document root"
+#: lib/cr_vmware_tpl/config/eval.py:95
+msgid "Value {!r} for a timeout is invalid."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1554
-msgid "The value of {what!r} must be one of {valid!r}, but found {val!r}."
+#: lib/cr_vmware_tpl/config/eval.py:157
+msgid "Value {val} for {p} is less than {minval}, using {default}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1581
-msgid "Given method {!r} is not a valid crypt method."
+#: lib/cr_vmware_tpl/config/eval.py:162
+msgid "Value {val} for {p} is greater than {maxval}, using {default}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1593
-msgid "Hashed root password: {!r}"
+#: lib/cr_vmware_tpl/config/ldap.py:144
+msgid "Invalid port {!r} for LDAP server given."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1608
-msgid "Found Cobbler repository {!r}."
+#: lib/cr_vmware_tpl/config/ldap.py:157
+msgid "An empty Base DN for LDAP searches is not allowed."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1619
-msgid "Evaluated Cobbler repositories:"
+#: lib/cr_vmware_tpl/config/ldap.py:263
+msgid "Invalid value {val!r} in section {sec!r} for a LDAP {what}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:65
-msgid "Could not find a datastore of {size:0.1f} GiB size in datastore cluster {c_name!r}."
+#: lib/cr_vmware_tpl/config/ldap.py:319
+msgid "Unknown LDAP configuration key {key} found in section {sec!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:82
-msgid "The temporary VM {!r} is already existing, cannot continue."
+#: lib/cr_vmware_tpl/config/timeouts.py:36
+msgid "Checking value {v!r} for {p} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:102
-msgid "Could not find a datastore of {:0.1f} GiB size."
+#: lib/cr_vmware_tpl/config/timeouts.py:38
+msgid "Minimal value: {min_val}, maximum value: {max_val}, default value: {def_val}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:177
-msgid "No ID for Operating system defined, please check the configuration."
+#: lib/cr_vmware_tpl/config/timeouts.py:46
+msgid "Value {val} for {prop} is less than {min_val}, using {def_val} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:249
-msgid "Connecting to LDAP server {!r} ..."
+#: lib/cr_vmware_tpl/config/timeouts.py:53
+msgid "Value {val} for {prop} is greater than {max_val}, using {def_val} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:252
-msgid "Connect options to LDAP server {!r}:"
+#: lib/cr_vmware_tpl/config/timeouts.py:60
+msgid "Setting timeout {p!r} to {v:0.1f} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:267
-msgid "Info about LDAP server {}:"
+#: lib/cr_vmware_tpl/errors.py:28
+msgid "Could not find a datastore of {size:0.1f} GiB size in datastore cluster {c_name!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:281
-msgid "Unbinding from LDAP server {} ..."
+#: lib/cr_vmware_tpl/errors.py:71
+msgid "The temporary VM {!r} is already existing, cannot continue."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:286
-msgid "Disconnecting from LDAP server {} ..."
+#: lib/cr_vmware_tpl/errors.py:91
+msgid "Could not find a datastore of {:0.1f} GiB size."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/__init__.py:128
+msgid "No ID for Operating system defined, please check the configuration."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:305
+#: lib/cr_vmware_tpl/handler/__init__.py:197
 msgid "{}-object not initialized."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:325
+#: lib/cr_vmware_tpl/handler/__init__.py:217
 msgid "Got a {n}: {e}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:332
+#: lib/cr_vmware_tpl/handler/__init__.py:224
 msgid "Closing ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:348
+#: lib/cr_vmware_tpl/handler/__init__.py:240
 msgid "Current configuration:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:350
+#: lib/cr_vmware_tpl/handler/__init__.py:242
+msgid "Current distribution:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/__init__.py:244
 msgid "Starting handling ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:382
+#: lib/cr_vmware_tpl/handler/__init__.py:277
 msgid "Found VSphere cluster {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:384
+#: lib/cr_vmware_tpl/handler/__init__.py:279
 msgid "Could not find VSphere cluster {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:389
+#: lib/cr_vmware_tpl/handler/__init__.py:284
 msgid "Network {n!r} not available in cluster {c!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:405
+#: lib/cr_vmware_tpl/handler/__init__.py:300
 msgid "Only executing of template rotating."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:410
+#: lib/cr_vmware_tpl/handler/__init__.py:305
 msgid "Created VM as {cls}: {vm!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:415
+#: lib/cr_vmware_tpl/handler/__init__.py:310
 msgid "Found Ethernet card as {}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:418
+#: lib/cr_vmware_tpl/handler/__init__.py:313
 msgid "Found Ethernet card:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:421
+#: lib/cr_vmware_tpl/handler/__init__.py:316
 msgid "Did not found MAC address of ethernet card."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:425
+#: lib/cr_vmware_tpl/handler/__init__.py:320
 msgid "Simulation mode - VM not created in real."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:428
+#: lib/cr_vmware_tpl/handler/__init__.py:323
 msgid "Could not find VM after creating."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:430
+#: lib/cr_vmware_tpl/handler/__init__.py:325
 msgid "Using MAC address of template VM: {!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:444
+#: lib/cr_vmware_tpl/handler/__init__.py:339
 msgid "Aborting after creation of template VM."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:445
+#: lib/cr_vmware_tpl/handler/__init__.py:340
 msgid "You are responsible yourself to cleaning up the VM!!!"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:464
-msgid "Checking, whether distro {!r} is available on the cobbler host."
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:470
-msgid "Did not found distro {!r} on the cobbler host."
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:474
-msgid "Distro {!r} is available on the cobbler host."
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:479
-msgid "Not all repos for distro {!r} were found on Cobbler server."
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:486
-msgid "First checking, whether {!r} exists ..."
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:494
-msgid "Temporary VM {n!r} exists, raising {e}."
+#: lib/cr_vmware_tpl/handler/__init__.py:360
+msgid "Creating authorized keys of root from LDAP ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:503
-msgid "Temporary VM {!r} does not exists, will be created."
+#: lib/cr_vmware_tpl/handler/__init__.py:368
+msgid "Using temporary file {!r} for authorized keys of root."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:519
-msgid "Selecting a SAN based datastore with at least {:0.1f} GiB available space."
+#: lib/cr_vmware_tpl/handler/__init__.py:391
+msgid "Generated authorized keys for root:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:531
-msgid "Got datastore {n!r} as a member of datastore cluster {c!r}."
+#: lib/cr_vmware_tpl/handler/cobbler.py:38
+msgid "Checking, whether distro {!r} is available on the cobbler host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:547
-msgid "Using datastore {!r} for volume of temporary VM to create."
+#: lib/cr_vmware_tpl/handler/cobbler.py:44
+msgid "Did not found distro {!r} on the cobbler host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:560
-msgid "Found storage cluster {!r}."
+#: lib/cr_vmware_tpl/handler/cobbler.py:48
+msgid "Distro {!r} is available on the cobbler host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:568
-msgid "Cannot use datastore cluster {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
+#: lib/cr_vmware_tpl/handler/cobbler.py:53
+msgid "Not all repos for distro {!r} were found on Cobbler server."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:577
-msgid "Could not get {c} object with name {n!r}."
+#: lib/cr_vmware_tpl/handler/cobbler.py:60
+msgid "Trying to evaluate the IP address of the template VM ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:594
-msgid "Trying to get a recommendation for a datastore from VSphere storageResourceManager ..."
+#: lib/cr_vmware_tpl/handler/cobbler.py:64 lib/cr_vmware_tpl/handler/vm.py:47
+msgid "Waiting initially for {} seconds:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:606
-msgid "Got no recommendation for a datastore from VSphere storageResourceManager: {c} - {e}"
+#: lib/cr_vmware_tpl/handler/cobbler.py:80
+msgid "Did not got the IP address of MAC address {mac!r} after {delay} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:656
-msgid "Cannot use datastore {n!r} - not accessible."
+#: lib/cr_vmware_tpl/handler/cobbler.py:85
+msgid "Got IP addresses for template VM:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:660
-msgid "Cannot use datastore {n!r}, not in cluster {c!r}."
+#: lib/cr_vmware_tpl/handler/ldap.py:59
+msgid "Connecting to LDAP server {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:664
-msgid "Checking datastore:"
+#: lib/cr_vmware_tpl/handler/ldap.py:62
+msgid "Connect options to LDAP server {!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:667
-msgid "Cannot use datastore {n!r}, is of type {t!r}."
+#: lib/cr_vmware_tpl/handler/ldap.py:77
+msgid "Info about LDAP server {}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:672
-msgid "Cannot use datastore {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
+#: lib/cr_vmware_tpl/handler/ldap.py:91
+msgid "Unbinding from LDAP server {} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:680
-msgid "Found {} usable datastores."
+#: lib/cr_vmware_tpl/handler/ldap.py:96
+msgid "Disconnecting from LDAP server {} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:682
-msgid "Did not found an usable datastore."
+#: lib/cr_vmware_tpl/handler/ldap.py:103
+msgid "No LDAP connection initialized."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:709
-msgid "Defined interface to create:"
+#: lib/cr_vmware_tpl/handler/ldap.py:112
+msgid "Trying to get a list of all DPX admins with their public SSH keys ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:721
-msgid "VM-Folder object for template VM: {c} - {n!r}"
+#: lib/cr_vmware_tpl/handler/ldap.py:115
+msgid "LDAP search starting in {!r} with filter:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:733
-msgid "Trying to evaluate the IP address of the template VM ..."
+#: lib/cr_vmware_tpl/handler/ldap.py:124
+msgid "Error retrieving DPX admin list from LDAP:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:737 lib/cr_vmware_tpl/handler.py:765
-msgid "Waiting initially for {} seconds:"
+#: lib/cr_vmware_tpl/handler/ldap.py:172
+msgid "Got an admin {cn} <{mail}>."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:753
-msgid "Did not got the IP address of MAC address {mac!r} after {delay} seconds."
+#: lib/cr_vmware_tpl/handler/ldap.py:175
+msgid "Got an admin:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:758
-msgid "Got IP addresses for template VM:"
+#: lib/cr_vmware_tpl/handler/ldap.py:181
+msgid "Did not found any admins below base DN {!r} with filter:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:763
+#: lib/cr_vmware_tpl/handler/vm.py:45
 msgid "Waiting for finishing installation ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:781
+#: lib/cr_vmware_tpl/handler/vm.py:63
 msgid "Waiting for SSH available ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:787
+#: lib/cr_vmware_tpl/handler/vm.py:69
 msgid "Got following address_infos for {h!r}, IPv4 TCP port {p}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:792
+#: lib/cr_vmware_tpl/handler/vm.py:74
 msgid "Did not get address infos for {h!r}, IPv4 TCP port {p}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:797
+#: lib/cr_vmware_tpl/handler/vm.py:79
 msgid "Using address info: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:847
+#: lib/cr_vmware_tpl/handler/vm.py:129
 msgid "Needed {m} minutes and {s:0.1f} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:852
+#: lib/cr_vmware_tpl/handler/vm.py:134
 msgid "SSH not available after {:0.1f} seconds, giving up."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:860
+#: lib/cr_vmware_tpl/handler/vm.py:142
 msgid "Trying to connect to {a} via TCP port {p} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:867
+#: lib/cr_vmware_tpl/handler/vm.py:149
 msgid "Error creating socket: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:876
+#: lib/cr_vmware_tpl/handler/vm.py:158
 msgid "Could not connect: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:879
+#: lib/cr_vmware_tpl/handler/vm.py:161
 msgid "Connected to {a} via TCP port {p}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:885
+#: lib/cr_vmware_tpl/handler/vm.py:167
 msgid "Got SSHD banner: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:919
+#: lib/cr_vmware_tpl/handler/vm.py:201
 msgid "Commands to execute:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:940
+#: lib/cr_vmware_tpl/handler/vm.py:222
 msgid "Showing post install log ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:969
+#: lib/cr_vmware_tpl/handler/vm.py:251
 msgid "Trying to get possible post-installation errors ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:983
+#: lib/cr_vmware_tpl/handler/vm.py:265
 msgid "Got postinstall errors:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:985
+#: lib/cr_vmware_tpl/handler/vm.py:267
 msgid "No postinstall errors found."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:988
+#: lib/cr_vmware_tpl/handler/vm.py:270
 msgid "Template VM {!r} has to be removed."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:993
+#: lib/cr_vmware_tpl/handler/vm.py:275
 msgid "Executing tasks per SSH after installation ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1046 lib/cr_vmware_tpl/handler.py:1126
+#: lib/cr_vmware_tpl/handler/vm.py:328 lib/cr_vmware_tpl/handler/vm.py:408
 msgid "No output on {}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1058
+#: lib/cr_vmware_tpl/handler/vm.py:340
 msgid "Waiting for {} seconds before shutting down:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1079
+#: lib/cr_vmware_tpl/handler/vm.py:361
 msgid "Last actions before powering off VM {!r} ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1110 lib/cr_vmware_tpl/handler.py:1143
+#: lib/cr_vmware_tpl/handler/vm.py:392 lib/cr_vmware_tpl/handler/vm.py:425
 msgid "Current state of template VM is {!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1112
+#: lib/cr_vmware_tpl/handler/vm.py:394
 msgid "Template VM is already shut off."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1117
+#: lib/cr_vmware_tpl/handler/vm.py:399
 msgid "Cannot shut down VM {h!r}, is currently in state {s!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1120
+#: lib/cr_vmware_tpl/handler/vm.py:402
 msgid "Powering off VM {!r} per SSH ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1139
+#: lib/cr_vmware_tpl/handler/vm.py:421
 msgid "Waiting for successful shut down of VM ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1167
+#: lib/cr_vmware_tpl/handler/vm.py:449
 msgid "Still waiting for completing shutdown, current state is {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1172
+#: lib/cr_vmware_tpl/handler/vm.py:454
 msgid "Template VM {h!r} was shutting down in {t:0.1f} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1180
+#: lib/cr_vmware_tpl/handler/vm.py:462
 msgid "VM {h!r} was not shut down after {t:0.1f} seconds, current state is {s!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1187
-msgid "Setting a new, randomized MAC address for template VM ..."
+#: lib/cr_vmware_tpl/handler/vmware.py:53
+msgid "First checking, whether {!r} exists ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1192
-msgid "New MAC address: {!r}."
+#: lib/cr_vmware_tpl/handler/vmware.py:61
+msgid "Temporary VM {n!r} exists, raising {e}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1200
-msgid "Searching for existing templates and rotate them ..."
+#: lib/cr_vmware_tpl/handler/vmware.py:70
+msgid "Temporary VM {!r} does not exists, will be created."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1209
-msgid "Did not found any existing templates."
+#: lib/cr_vmware_tpl/handler/vmware.py:86
+msgid "Selecting a SAN based datastore with at least {:0.1f} GiB available space."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1213
-msgid "Found one existing template."
-msgid_plural "Found {} existing templates."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_vmware_tpl/handler/vmware.py:98
+msgid "Got datastore {n!r} as a member of datastore cluster {c!r}."
+msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1232
-msgid "Found template {n!r}, created: {ts}."
+#: lib/cr_vmware_tpl/handler/vmware.py:114
+msgid "Using datastore {!r} for volume of temporary VM to create."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1243
-msgid "Templates sorted by creation date:"
+#: lib/cr_vmware_tpl/handler/vmware.py:127
+msgid "Found storage cluster {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1253
-msgid "Templates to remove:"
+#: lib/cr_vmware_tpl/handler/vmware.py:135
+msgid "Cannot use datastore cluster {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1255
-msgid "There are no templates to remove."
+#: lib/cr_vmware_tpl/handler/vmware.py:144
+msgid "Could not get {c} object with name {n!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1260
-msgid "Removing template {!r} ..."
+#: lib/cr_vmware_tpl/handler/vmware.py:161
+msgid "Trying to get a recommendation for a datastore from VSphere storageResourceManager ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1262
-msgid "Successful removed template {!r}."
+#: lib/cr_vmware_tpl/handler/vmware.py:173
+msgid "Got no recommendation for a datastore from VSphere storageResourceManager: {c} - {e}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1276
-msgid "Renaming template {o!r} => {n!r} ..."
+#: lib/cr_vmware_tpl/handler/vmware.py:223
+msgid "Cannot use datastore {n!r} - not accessible."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1279
-msgid "Successful renamed template into {!r}."
+#: lib/cr_vmware_tpl/handler/vmware.py:227
+msgid "Cannot use datastore {n!r}, not in cluster {c!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1289
-msgid "Renaming VM {o!r} => {n!r} ..."
+#: lib/cr_vmware_tpl/handler/vmware.py:231
+msgid "Checking datastore:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1297
-msgid "Successful renamed VM into {!r}."
+#: lib/cr_vmware_tpl/handler/vmware.py:234
+msgid "Cannot use datastore {n!r}, is of type {t!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1299
-msgid "Changing VM {!r} into a VMWare template ..."
+#: lib/cr_vmware_tpl/handler/vmware.py:239
+msgid "Cannot use datastore {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1302
-msgid "Object {!r} is now a VMWare template."
+#: lib/cr_vmware_tpl/handler/vmware.py:247
+msgid "Found {} usable datastores."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1308
-msgid "Creating authorized keys of root from LDAP ..."
+#: lib/cr_vmware_tpl/handler/vmware.py:249
+msgid "Did not found an usable datastore."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1314
-msgid "Using temporary file {!r} for authorized keys of root."
+#: lib/cr_vmware_tpl/handler/vmware.py:276
+msgid "Defined interface to create:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1338
-msgid "Generated authorized keys for root:"
+#: lib/cr_vmware_tpl/handler/vmware.py:288
+msgid "VM-Folder object for template VM: {c} - {n!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1350
-msgid "No LDAP connection initialized."
+#: lib/cr_vmware_tpl/handler/vmware.py:300
+msgid "Setting a new, randomized MAC address for template VM ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1359
-msgid "Trying to get a list of all DPX admins with their public SSH keys ..."
+#: lib/cr_vmware_tpl/handler/vmware.py:305
+msgid "New MAC address: {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1363
-msgid "LDAP search starting in {!r} with filter:"
+#: lib/cr_vmware_tpl/handler/vmware.py:313
+msgid "Searching for existing templates and rotate them ..."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1372
-msgid "Error retrieving DPX admin list from LDAP:"
+#: lib/cr_vmware_tpl/handler/vmware.py:322
+msgid "Did not found any existing templates."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1420
-msgid "Got an admin {cn} <{mail}>."
+#: lib/cr_vmware_tpl/handler/vmware.py:326
+msgid "Found one existing template."
+msgid_plural "Found {} existing templates."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:345
+msgid "Found template {n!r}, created: {ts}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1423
-msgid "Got an admin:"
+#: lib/cr_vmware_tpl/handler/vmware.py:356
+msgid "Templates sorted by creation date:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1429
-msgid "Did not found any admins below base DN {!r} with filter:"
+#: lib/cr_vmware_tpl/handler/vmware.py:366
+msgid "Templates to remove:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:368
+msgid "There are no templates to remove."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:373
+msgid "Removing template {!r} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:375
+msgid "Successful removed template {!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:389
+msgid "Renaming template {o!r} => {n!r} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:392
+msgid "Successful renamed template into {!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:402
+msgid "Renaming VM {o!r} => {n!r} ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:410
+msgid "Successful renamed VM into {!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:412
+msgid "Changing VM {!r} into a VMWare template ..."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:415
+msgid "Object {!r} is now a VMWare template."
 msgstr ""
 
 #: lib/cr_vmware_tpl/xlate.py:54
index 3263553273b58ec7de2dec2dca25fbfbfb7691e1..b8f8a64fd683d621bb8b54f2be96cd6b08d7e540 100644 (file)
@@ -1,14 +1,14 @@
 # German (Germany) translations for create_vm_template.
-# Copyright (C) 2022 Frank Brehm, Pixelpark GmbH, Berlin
+# Copyright (C) 2023 Frank Brehm, Pixelpark GmbH, Berlin
 # This file is distributed under the same license as the create_vm_template project.
-# Frank Brehm <frank.brehm@pixelpark.com>, 2022.
+# Frank Brehm <frank.brehm@pixelpark.com>, 2023.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: create_vm_template 2.6.3\n"
+"Project-Id-Version: create_vm_template 2.8.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2022-08-31 12:59+0200\n"
-"PO-Revision-Date: 2022-08-31 13:00+0200\n"
+"POT-Creation-Date: 2023-10-10 12:16+0200\n"
+"PO-Revision-Date: 2023-10-10 12:25+0200\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: de_DE\n"
 "Language-Team: de_DE <frank.brehm@pixelpark.com>\n"
@@ -16,25 +16,25 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.10.3\n"
+"Generated-By: Babel 2.13.0\n"
 
-#: lib/cr_vmware_tpl/app.py:69
+#: lib/cr_vmware_tpl/app.py:63
 msgid "Value must be at least 1, {} was given."
 msgstr "Der Wert muss mindesten 1 sein, {} wurde gegeben."
 
-#: lib/cr_vmware_tpl/app.py:73
+#: lib/cr_vmware_tpl/app.py:67
 msgid "Value must be at most {m} - {v} was given."
 msgstr "Der Wert darf höchsten {m} sein - {} wurde gegeben."
 
-#: lib/cr_vmware_tpl/app.py:98
+#: lib/cr_vmware_tpl/app.py:92
 msgid "File {!r} does not exists."
 msgstr "Die Datei {!r} existiert nicht."
 
-#: lib/cr_vmware_tpl/app.py:101
+#: lib/cr_vmware_tpl/app.py:95
 msgid "File {!r} is not a regular file."
 msgstr "Die Datei {!r} ist keine reguläre Datei."
 
-#: lib/cr_vmware_tpl/app.py:122
+#: lib/cr_vmware_tpl/app.py:118
 msgid ""
 "Creates in the given VSphere environment and cluster a template object, which can be used to "
 "spawn different virtual machines."
@@ -42,448 +42,568 @@ msgstr ""
 "Erstellt in der gegebenen VSphere-Umgebung und -Cluster ein Vorlagen-Objekt, das genutzt werden "
 "kann, daraus verschiede virtuelle Maschinen zu erzeugen."
 
-#: lib/cr_vmware_tpl/app.py:240
+#: lib/cr_vmware_tpl/app.py:238
 msgid "Enter password for host {h!r} and user {u!r}:"
 msgstr "Eingabe des Passwortes für Host {h!r} und Nutzer {u!r}:"
 
-#: lib/cr_vmware_tpl/app.py:268
+#: lib/cr_vmware_tpl/app.py:266
 msgid "Abort creation of VMWare template after successsful creation of template VM."
 msgstr "Abbruch der der Erstellung der VMWare-Vorlage nach erfolgreicher Erstellung der Vorlagen-VM."
 
-#: lib/cr_vmware_tpl/app.py:272
+#: lib/cr_vmware_tpl/app.py:270
 msgid "VMWare options"
 msgstr "VMWare-Optionen"
 
-#: lib/cr_vmware_tpl/app.py:276
+#: lib/cr_vmware_tpl/app.py:274
 msgid "Remote VSphere host to connect to (Default: {!r})."
 msgstr "Der VSphere-Host, mit dem sich verbunden werden soll (Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:282
+#: lib/cr_vmware_tpl/app.py:280
 msgid "Port on VSphere host to connect on (Default: {})."
 msgstr "Der Port am VSphere-Host, mit dem sich verbunden werden soll (Vorgabe: {})."
 
-#: lib/cr_vmware_tpl/app.py:287
+#: lib/cr_vmware_tpl/app.py:285
 msgid "USER"
 msgstr "BENUTZER"
 
-#: lib/cr_vmware_tpl/app.py:288
+#: lib/cr_vmware_tpl/app.py:286
 msgid "User name to use when connecting to VSphere host (Default: {!r})."
 msgstr "Der Benutzername, um sich mit dem vSphere-Host zu verbinden (Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:293
+#: lib/cr_vmware_tpl/app.py:291
 msgid "PASSWORD"
 msgstr "PASSWORT"
 
-#: lib/cr_vmware_tpl/app.py:294
+#: lib/cr_vmware_tpl/app.py:292
 msgid "Password to use when connecting to VSphere host."
 msgstr "Das Passwort, um sich mit dem VSphere-Host zu verbinden."
 
-#: lib/cr_vmware_tpl/app.py:298
+#: lib/cr_vmware_tpl/app.py:296
 msgid "FOLDER"
 msgstr "ORDNER"
 
-#: lib/cr_vmware_tpl/app.py:299
+#: lib/cr_vmware_tpl/app.py:297
 msgid "VM folder in VSphere, where to create the template (Default: {!r})."
 msgstr "Der VM-Ordner in VSphere, in dem die Vorlage erstellt werden soll (Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:305
+#: lib/cr_vmware_tpl/app.py:303
 msgid "Host cluster in VSphere, where to create the template (Default: {!r})."
 msgstr "Der Host-Cluster in VSphere, in dem die Vorlage erstellt werden soll (Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:312
+#: lib/cr_vmware_tpl/app.py:310
 msgid "The abbreviation for the operating system (e.g. 'oel7' or 'centos8', Default: {!r})."
 msgstr "Die Abkürzung für das Betriebssystem (z.Bsp. 'oel7' oder 'centos8', Vorgabe: {!r})."
 
-#: lib/cr_vmware_tpl/app.py:322
+#: lib/cr_vmware_tpl/app.py:320
 msgid "Maximum number of templates to stay in templates folder (1 <= x < {max_nr}, Default: {def_nr})."
 msgstr ""
 "Die maximale Anzahl von Vorlagen zum Verbleib im Vorlagen-Ordner (1 <= x < {max_nr}, Vorgabe: "
 "{def_nr})."
 
-#: lib/cr_vmware_tpl/app.py:329
+#: lib/cr_vmware_tpl/app.py:327
 msgid "Execute rotation of existing templates only, don't create a new one."
 msgstr "Führe nur Rotation der existierenden Vorlagen aus, erstelle keine neue Vorlage."
 
-#: lib/cr_vmware_tpl/app.py:336
+#: lib/cr_vmware_tpl/app.py:334
 msgid "Got command line arguments:"
 msgstr "Erhaltene Kommandozeilenargumente:"
 
-#: lib/cr_vmware_tpl/app.py:375
+#: lib/cr_vmware_tpl/app.py:382
+msgid "Using VSphere config:"
+msgstr "Verwendete VSphere-Konfiguration:"
+
+#: lib/cr_vmware_tpl/app.py:392
 msgid "Starting {a!r}, version {v!r} ..."
 msgstr "Starte {a!r}, Version {v!r} …"
 
-#: lib/cr_vmware_tpl/app.py:383
+#: lib/cr_vmware_tpl/app.py:400
 msgid "Temporary VM"
 msgstr "Temporäre VM"
 
-#: lib/cr_vmware_tpl/cobbler.py:80 lib/cr_vmware_tpl/handler.py:131 lib/cr_vmware_tpl/handler.py:308
+#: lib/cr_vmware_tpl/cobbler/__init__.py:66 lib/cr_vmware_tpl/handler/__init__.py:82
+#: lib/cr_vmware_tpl/handler/__init__.py:200
 msgid "{w} is not an instance of {c}, but an instance of {i} instead."
 msgstr "{w} ist keine Instanz von {c}, sondern statt dessen eine Instanz von {i}."
 
-#: lib/cr_vmware_tpl/cobbler.py:141
+#: lib/cr_vmware_tpl/cobbler/__init__.py:127
 msgid "Command {c!r} is neither an Array nor a String, but a {t!r} instead."
 msgstr "Das Kommando {c!r} is weder ein Array, noch ein  String, sondern statt dessen {t!r}."
 
-#: lib/cr_vmware_tpl/cobbler.py:161 lib/cr_vmware_tpl/cobbler.py:222 lib/cr_vmware_tpl/handler.py:904
+#: lib/cr_vmware_tpl/cobbler/__init__.py:147 lib/cr_vmware_tpl/cobbler/files.py:49
+#: lib/cr_vmware_tpl/handler/vm.py:186
 msgid "Initializing {} ..."
 msgstr "Initialisiere {} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:164 lib/cr_vmware_tpl/cobbler.py:225 lib/cr_vmware_tpl/handler.py:906
+#: lib/cr_vmware_tpl/cobbler/__init__.py:150 lib/cr_vmware_tpl/cobbler/files.py:52
+#: lib/cr_vmware_tpl/handler/vm.py:188
 msgid "Loading SSH system host keys."
 msgstr "Lade SSH-Systemschlüssel."
 
-#: lib/cr_vmware_tpl/cobbler.py:167 lib/cr_vmware_tpl/cobbler.py:228 lib/cr_vmware_tpl/handler.py:908
+#: lib/cr_vmware_tpl/cobbler/__init__.py:153 lib/cr_vmware_tpl/cobbler/files.py:55
+#: lib/cr_vmware_tpl/handler/vm.py:190
 msgid "Setting SSH missing host key policy to {}."
 msgstr "Setze Richtline für vermißte Schlüssel auf {}."
 
-#: lib/cr_vmware_tpl/cobbler.py:173 lib/cr_vmware_tpl/cobbler.py:232 lib/cr_vmware_tpl/handler.py:912
+#: lib/cr_vmware_tpl/cobbler/__init__.py:159 lib/cr_vmware_tpl/cobbler/files.py:59
+#: lib/cr_vmware_tpl/handler/vm.py:194
 msgid "Connecting to {h!r}, port {p} as {u!r} per SSH ..."
 msgstr "Verbinde mich zu {h!r}, Port {p}, als {u!r} per SSH …"
 
-#: lib/cr_vmware_tpl/cobbler.py:180
+#: lib/cr_vmware_tpl/cobbler/__init__.py:166
 msgid "Executing: {!r}"
 msgstr "Ausführen: {!r}"
 
-#: lib/cr_vmware_tpl/cobbler.py:191
+#: lib/cr_vmware_tpl/cobbler/__init__.py:177
 msgid "No output."
 msgstr "Keine Ausgabe."
 
-#: lib/cr_vmware_tpl/cobbler.py:193 lib/cr_vmware_tpl/cobbler.py:195 lib/cr_vmware_tpl/cobbler.py:1038
-#: lib/cr_vmware_tpl/cobbler.py:1041 lib/cr_vmware_tpl/handler.py:927
-#: lib/cr_vmware_tpl/handler.py:1044 lib/cr_vmware_tpl/handler.py:1051
-#: lib/cr_vmware_tpl/handler.py:1124 lib/cr_vmware_tpl/handler.py:1131
+#: lib/cr_vmware_tpl/cobbler/__init__.py:179 lib/cr_vmware_tpl/cobbler/__init__.py:181
+#: lib/cr_vmware_tpl/cobbler/__init__.py:271 lib/cr_vmware_tpl/cobbler/__init__.py:274
+#: lib/cr_vmware_tpl/handler/vm.py:209 lib/cr_vmware_tpl/handler/vm.py:326
+#: lib/cr_vmware_tpl/handler/vm.py:333 lib/cr_vmware_tpl/handler/vm.py:406
+#: lib/cr_vmware_tpl/handler/vm.py:413
 msgid "Output on {}:"
 msgstr "Ausgabe an {}:"
 
-#: lib/cr_vmware_tpl/cobbler.py:200 lib/cr_vmware_tpl/cobbler.py:257
+#: lib/cr_vmware_tpl/cobbler/__init__.py:186 lib/cr_vmware_tpl/cobbler/files.py:82
 msgid "Could not connect via {w} to {user}@{host}: {e}"
 msgstr "Konnte mich nicht über {w} zu {user}@{host} verbinden: {e}"
 
-#: lib/cr_vmware_tpl/cobbler.py:207 lib/cr_vmware_tpl/cobbler.py:265 lib/cr_vmware_tpl/handler.py:932
+#: lib/cr_vmware_tpl/cobbler/__init__.py:193 lib/cr_vmware_tpl/cobbler/files.py:90
+#: lib/cr_vmware_tpl/handler/vm.py:214
 msgid "Closing SSH connection."
 msgstr "Schließe SSH-Verbindung."
 
-#: lib/cr_vmware_tpl/cobbler.py:211 lib/cr_vmware_tpl/cobbler.py:784
+#: lib/cr_vmware_tpl/cobbler/__init__.py:197 lib/cr_vmware_tpl/cobbler/profile.py:381
 msgid "Completed SSH process:"
 msgstr "Beendeter SSH-Prozess:"
 
-#: lib/cr_vmware_tpl/cobbler.py:237
-msgid "Simulating SCP of {local!r} to {user}@{host}:{remote} ..."
-msgstr "Simuliere SCP von {local!r} nach {user}@{host}:{remote} …"
-
-#: lib/cr_vmware_tpl/cobbler.py:250
-msgid "SCP of {local!r} to {user}@{host}:{remote} ..."
-msgstr "SCP von {local!r} nach {user}@{host}:{remote} …"
-
-#: lib/cr_vmware_tpl/cobbler.py:275 lib/cr_vmware_tpl/cobbler.py:357 lib/cr_vmware_tpl/cobbler.py:495
-#: lib/cr_vmware_tpl/cobbler.py:720 lib/cr_vmware_tpl/cobbler.py:787 lib/cr_vmware_tpl/cobbler.py:982
-#: lib/cr_vmware_tpl/cobbler.py:1007 lib/cr_vmware_tpl/cobbler.py:1028
+#: lib/cr_vmware_tpl/cobbler/__init__.py:207 lib/cr_vmware_tpl/cobbler/__init__.py:261
+#: lib/cr_vmware_tpl/cobbler/files.py:147 lib/cr_vmware_tpl/cobbler/files.py:218
+#: lib/cr_vmware_tpl/cobbler/profile.py:188 lib/cr_vmware_tpl/cobbler/profile.py:384
+#: lib/cr_vmware_tpl/cobbler/system.py:113 lib/cr_vmware_tpl/cobbler/system.py:138
 msgid "No error message"
 msgstr "Keine Fehlermeldung"
 
-#: lib/cr_vmware_tpl/cobbler.py:280
+#: lib/cr_vmware_tpl/cobbler/__init__.py:212
 msgid "Could not get version of cobbler: {}"
 msgstr "Konnte Version von Cobbler nicht ermitteln: {}"
 
-#: lib/cr_vmware_tpl/cobbler.py:287
+#: lib/cr_vmware_tpl/cobbler/__init__.py:219
 msgid "Version of {} is:"
 msgstr "Die Version von {} ist:"
 
-#: lib/cr_vmware_tpl/cobbler.py:290 lib/cr_vmware_tpl/config.py:928
+#: lib/cr_vmware_tpl/cobbler/__init__.py:222 lib/cr_vmware_tpl/config/__init__.py:263
 msgid "Unsupported version {ver!r} of {co}, valid versions of {co} are {valid}."
 msgstr "Nicht unterstützte Version {ver!r} von {co}, gültige Versionen von {co} sind {valid}."
 
-#: lib/cr_vmware_tpl/cobbler.py:296 lib/cr_vmware_tpl/config.py:1518
+#: lib/cr_vmware_tpl/cobbler/__init__.py:228 lib/cr_vmware_tpl/config/cobbler.py:134
 msgid "Cobbler root directory"
 msgstr "Root-Verzeichnis von Cobbler"
 
-#: lib/cr_vmware_tpl/cobbler.py:307
-msgid "Checking existence of remote directory {!r} ..."
-msgstr "Überprüfe die Existenz des entfernten Verzeichnisses {!r} …"
-
-#: lib/cr_vmware_tpl/cobbler.py:319 lib/cr_vmware_tpl/cobbler.py:354
-msgid "Remote directory"
-msgstr "Entferntes Verzeichnis"
+#: lib/cr_vmware_tpl/cobbler/__init__.py:258
+msgid "Executing cobbler sync ..."
+msgstr "Führe Cobbler Synchronisation aus …"
 
-#: lib/cr_vmware_tpl/cobbler.py:322
-msgid "{dsc} {rdir!r} on host {host!r} does not exists or is not a directory."
-msgstr "{dsc} {rdir!r} auf Host {host!r} existiert nicht oder ist kein Verzeichnis."
+#: lib/cr_vmware_tpl/cobbler/__init__.py:266
+msgid "Could syncing cobbler: {}"
+msgstr "Konnte Cobbler syncen: {}"
 
-#: lib/cr_vmware_tpl/cobbler.py:331
-msgid "Ensuring existence of remote directory {!r} ..."
-msgstr "Stelle die Existenz des entfernten Verzeichnisses {!r} sicher …"
+#: lib/cr_vmware_tpl/cobbler/__init__.py:280 lib/cr_vmware_tpl/cobbler/__init__.py:318
+msgid "Trying to get IP of MAC address {!r} given by DHCP ..."
+msgstr "Versuche die IP der MAC-Adresse {!r} zu ermitteln, die von DHCP vergeben wurde …"
 
-#: lib/cr_vmware_tpl/cobbler.py:352
-msgid "Output:"
-msgstr "Ausgabe:"
+#: lib/cr_vmware_tpl/cobbler/__init__.py:296 lib/cr_vmware_tpl/cobbler/__init__.py:336
+msgid "Found invalid IP address {ip!r} in leases file: {err}"
+msgstr "Fand eine ungültige IP-Adress {ip!r} in der leases-Datei: {err}"
 
-#: lib/cr_vmware_tpl/cobbler.py:362
-msgid "{dsc} {rdir!r} on host {host!r} could not be created: {err}"
-msgstr "{dsc} {rdir!r} auf Host {host!r} konnte nicht erstellt werden: {err}"
+#: lib/cr_vmware_tpl/cobbler/__init__.py:309 lib/cr_vmware_tpl/cobbler/__init__.py:354
+msgid "Found DHCP IP assignments:"
+msgstr "Gefundene DHCP-IP-Zuordnungen:"
 
-#: lib/cr_vmware_tpl/cobbler.py:379
+#: lib/cr_vmware_tpl/cobbler/distro.py:46
 msgid "Sorted list of found distros:"
 msgstr "Sortierte Liste der gefundenen Distros:"
 
-#: lib/cr_vmware_tpl/cobbler.py:395
+#: lib/cr_vmware_tpl/cobbler/distro.py:62
 msgid "Sorted list of found repositories:"
 msgstr "Sortierte Liste der gefundenen Repositories:"
 
-#: lib/cr_vmware_tpl/cobbler.py:403
+#: lib/cr_vmware_tpl/cobbler/distro.py:70
 msgid "Checking existence of repos for distro {!r}."
 msgstr "Überprüfe die Existenz der Repositories für Distro {!r}."
 
-#: lib/cr_vmware_tpl/cobbler.py:408
+#: lib/cr_vmware_tpl/cobbler/distro.py:75
 msgid "Repo {r!r} for distro {d!r} not found on cobbler server."
 msgstr "Repository {r!r} für Distro {d!r} wurde auf dem Cobbler-Server nicht gefunden."
 
-#: lib/cr_vmware_tpl/cobbler.py:413
+#: lib/cr_vmware_tpl/cobbler/distro.py:80
 msgid "Found repo {r!r} for distro {d!r}."
 msgstr "Fand Repository {r!r} für Distro {d!r}."
 
-#: lib/cr_vmware_tpl/cobbler.py:430
-msgid "Sorted list of found profiles:"
-msgstr "Sortierte Liste der gefundenen Profile:"
+#: lib/cr_vmware_tpl/cobbler/files.py:63
+msgid "Simulating SCP of {local!r} to {user}@{host}:{remote} ..."
+msgstr "Simuliere SCP von {local!r} nach {user}@{host}:{remote} …"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:75
+msgid "SCP of {local!r} to {user}@{host}:{remote} ..."
+msgstr "SCP von {local!r} nach {user}@{host}:{remote} …"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:97
+msgid "Checking existence of remote directory {!r} ..."
+msgstr "Überprüfe die Existenz des entfernten Verzeichnisses {!r} …"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:109 lib/cr_vmware_tpl/cobbler/files.py:144
+msgid "Remote directory"
+msgstr "Entferntes Verzeichnis"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:112
+msgid "{dsc} {rdir!r} on host {host!r} does not exists or is not a directory."
+msgstr "{dsc} {rdir!r} auf Host {host!r} existiert nicht oder ist kein Verzeichnis."
 
-#: lib/cr_vmware_tpl/cobbler.py:440
+#: lib/cr_vmware_tpl/cobbler/files.py:121
+msgid "Ensuring existence of remote directory {!r} ..."
+msgstr "Stelle die Existenz des entfernten Verzeichnisses {!r} sicher …"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:142
+msgid "Output:"
+msgstr "Ausgabe:"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:152
+msgid "{dsc} {rdir!r} on host {host!r} could not be created: {err}"
+msgstr "{dsc} {rdir!r} auf Host {host!r} konnte nicht erstellt werden: {err}"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:163
 msgid "Checking remote file {rfile!r} based on local {lfile!r} ..."
 msgstr "Überprüfe die entfernte Datei {rfile!r} basierend auf der lokalen Datei {lfile!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:445
+#: lib/cr_vmware_tpl/cobbler/files.py:168
 msgid "Local file {!r} either not exists or is not a regular file."
 msgstr "Die lokale Datei {!r} existiert entweder nicht oder ist keine reguläre Datei."
 
-#: lib/cr_vmware_tpl/cobbler.py:451
+#: lib/cr_vmware_tpl/cobbler/files.py:174
 msgid "{typ} sum of {ks!r} is: {dig}"
 msgstr "Die {typ}-Summe von {ks!r} ist: {dig}"
 
-#: lib/cr_vmware_tpl/cobbler.py:470
+#: lib/cr_vmware_tpl/cobbler/files.py:193
 msgid "Remote file {!r} has the correct content."
 msgstr "Die entfernte Datei {!r} hat den richtigen Inhalt."
 
-#: lib/cr_vmware_tpl/cobbler.py:474
+#: lib/cr_vmware_tpl/cobbler/files.py:197
 msgid "File {!r} has to be copied."
 msgstr "Die Datei {!r} muss kopiert werden."
 
-#: lib/cr_vmware_tpl/cobbler.py:482
+#: lib/cr_vmware_tpl/cobbler/files.py:205
 msgid "Getting content of remote file {!r} ..."
 msgstr "Erhalte den Inhalt der entfernten Datei {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:500
+#: lib/cr_vmware_tpl/cobbler/files.py:223
 msgid "Error getting content of {rfile!r} on host {host!r} - returncode was {rc}: {err}"
 msgstr "Fehler beim Erhalten des Inhalts von {rfile!r} auf Host {host!r} der Returncode war {rc}: {err}"
 
-#: lib/cr_vmware_tpl/cobbler.py:527
+#: lib/cr_vmware_tpl/cobbler/files.py:250
 msgid "Ensuring currentness of rsyslog config files ..."
 msgstr "Stelle die Aktualität des Rsyslog-Konfigurationsdateien sicher …"
 
-#: lib/cr_vmware_tpl/cobbler.py:533 lib/cr_vmware_tpl/cobbler.py:848 lib/cr_vmware_tpl/cobbler.py:867
-#: lib/cr_vmware_tpl/cobbler.py:886 lib/cr_vmware_tpl/cobbler.py:906 lib/cr_vmware_tpl/cobbler.py:923
+#: lib/cr_vmware_tpl/cobbler/files.py:256 lib/cr_vmware_tpl/cobbler/files.py:274
+#: lib/cr_vmware_tpl/cobbler/files.py:293 lib/cr_vmware_tpl/cobbler/files.py:312
+#: lib/cr_vmware_tpl/cobbler/files.py:332 lib/cr_vmware_tpl/cobbler/files.py:349
 msgid "Ensuring {loc!r} => {rem!r}."
 msgstr "Stelle {loc!r} => {rem!r} sicher."
 
-#: lib/cr_vmware_tpl/cobbler.py:546
+#: lib/cr_vmware_tpl/cobbler/files.py:268
+msgid "Ensuring currentness of snippets below {!r}."
+msgstr "Stelle die Aktualität der Snippets unterhalb von {!r} sicher."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:287
+msgid "Ensuring currentness of bashrc files."
+msgstr "Stelle die Aktualität der bashrc-Dateien sicher."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:306
+msgid "Ensuring currentness of vimrc files."
+msgstr "Stelle die Aktualität der vimrc-Dateien sicher."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:325
+msgid "Ensuring currentness of logrotate files."
+msgstr "Stelle die Aktualität der logrotate-Dateien sicher."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:346
+msgid "Ensuring currentness of create-motd.sh."
+msgstr "Stelle die Aktualität von create-motd.sh sicher."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:367
+msgid "Ensuring currentness of authorized_keys file of root {!r}."
+msgstr "Stelle die Aktualität der authorized_keys-Datei von root {!r} sicher."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:382
+msgid "Ensuring currentness of repo files below {!r}."
+msgstr "Stelle die Aktualität der repo-Dateien unterhalb von {!r} sicher."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:388
+msgid "Local path {!r} is not a directory."
+msgstr "Der lokale Pfad {!r} ist kein Verzeichnis."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:392
+msgid "Ensuring repo files for {}."
+msgstr "Stelle repo-Dateien für {} sicher."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:399
+msgid "Finished with repo files."
+msgstr "repo-Dateien beendet."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:409
+msgid "Ensuring currentness of postfix files below {!r}."
+msgstr "Stelle die Aktualität der Postfix-Dateien unterhalb von {!r} sicher."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:418
+msgid "Finished with postfix files."
+msgstr "Postfix-Dateien beendet."
+
+#: lib/cr_vmware_tpl/cobbler/files.py:426
+msgid "Webroot directory"
+msgstr "Webroot-Verzeichnis"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:427
+msgid "Ensuring existence of {what} {dir!r}..."
+msgstr "Stelle die Existenz von {what} {dir!r} sicher …"
+
+#: lib/cr_vmware_tpl/cobbler/profile.py:57
+msgid "Sorted list of found profiles:"
+msgstr "Sortierte Liste der gefundenen Profile:"
+
+#: lib/cr_vmware_tpl/cobbler/profile.py:65
+msgid "Using {!r} as a template for the kickstart file."
+msgstr "Verwende {!r} als Vorlage für die Kickstart-Datei.."
+
+#: lib/cr_vmware_tpl/cobbler/profile.py:72
 msgid "Using temporary kickstart file {!r}."
 msgstr "Verwende temporäre Kickstart-Datei {!r}."
 
-#: lib/cr_vmware_tpl/cobbler.py:560 lib/cr_vmware_tpl/cobbler.py:827
+#: lib/cr_vmware_tpl/cobbler/profile.py:86 lib/cr_vmware_tpl/cobbler/system.py:51
 msgid "Generated kickstart file content:"
 msgstr "Generierter Kickstartdatei-Inhalt:"
 
-#: lib/cr_vmware_tpl/cobbler.py:565
+#: lib/cr_vmware_tpl/cobbler/profile.py:91
 msgid "Ensuring currentness of profile kickstart script {!r}."
 msgstr "Stelle die Aktualität des Profil-Kickstart-Skripts {!r} sicher."
 
-#: lib/cr_vmware_tpl/cobbler.py:570 lib/cr_vmware_tpl/handler.py:297 lib/cr_vmware_tpl/handler.py:339
-#: lib/cr_vmware_tpl/handler.py:364
+#: lib/cr_vmware_tpl/cobbler/profile.py:96 lib/cr_vmware_tpl/handler/__init__.py:189
+#: lib/cr_vmware_tpl/handler/__init__.py:231 lib/cr_vmware_tpl/handler/__init__.py:259
 msgid "Removing {!r} ..."
 msgstr "Enferne {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:580
+#: lib/cr_vmware_tpl/cobbler/profile.py:106
 msgid "Ensuring profile {!r} ..."
 msgstr "Stelle Profil {!r} sicher …"
 
-#: lib/cr_vmware_tpl/cobbler.py:599
+#: lib/cr_vmware_tpl/cobbler/profile.py:125
 msgid "Checking existing profile {!r} ..."
 msgstr "Überprüfe die Existenz des Profils {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:604
+#: lib/cr_vmware_tpl/cobbler/profile.py:130
 msgid "Got profile variables:"
 msgstr "Erhaltene Profil-Variablen:"
 
-#: lib/cr_vmware_tpl/cobbler.py:626
+#: lib/cr_vmware_tpl/cobbler/profile.py:152
 msgid "Got {what} on reading and parsing of profile {p!r}:"
 msgstr "Erhielt {what} beim Lesen und Parsen des Profils {p!r}:"
 
-#: lib/cr_vmware_tpl/cobbler.py:646
+#: lib/cr_vmware_tpl/cobbler/profile.py:171
 msgid "Checking existing profile {n!r} ({d}) ..."
 msgstr "Überprüfe die Existenz des Profils {n!r} ({d}) …"
 
-#: lib/cr_vmware_tpl/cobbler.py:663
+#: lib/cr_vmware_tpl/cobbler/profile.py:176
+msgid "No need for changing profile {!r}"
+msgstr "Keine Notwendigkeit zum Ändern des Profils {!r}"
+
+#: lib/cr_vmware_tpl/cobbler/profile.py:193
+msgid "Error editing a cobbler profile - returncode was {rc}: {err}"
+msgstr "Fehler beim Bearbeiten eines Cobbler-Profils - Returncode war {rc}: {err}"
+
+#: lib/cr_vmware_tpl/cobbler/profile.py:214
 msgid "Checking for distro:"
 msgstr "Überprüfe nach Distribution:"
 
-#: lib/cr_vmware_tpl/cobbler.py:684
+#: lib/cr_vmware_tpl/cobbler/profile.py:230
 msgid "Checking for repos:"
 msgstr "Überprüfe nach Repository:"
 
-#: lib/cr_vmware_tpl/cobbler.py:695
+#: lib/cr_vmware_tpl/cobbler/profile.py:241
 msgid "Checking for nameservers:"
 msgstr "Überprüfe Nameserver:"
 
-#: lib/cr_vmware_tpl/cobbler.py:702
+#: lib/cr_vmware_tpl/cobbler/profile.py:248
 msgid "Checking for DNS search domains:"
 msgstr "Überprüfe DNS-Suchdomänen:"
 
-#: lib/cr_vmware_tpl/cobbler.py:712
-msgid "No need for changing profile {!r}"
-msgstr "Keine Notwendigkeit zum Ändern des Profils {!r}"
+#: lib/cr_vmware_tpl/cobbler/profile.py:268
+msgid "Arguments for editing the profile:"
+msgstr "Argumente zum Bearbeiten des Profils:"
 
-#: lib/cr_vmware_tpl/cobbler.py:725
-msgid "Error editing a cobbler profile - returncode was {rc}: {err}"
-msgstr "Fehler beim Bearbeiten eines Cobbler-Profils - Returncode war {rc}: {err}"
+#: lib/cr_vmware_tpl/cobbler/profile.py:284 lib/cr_vmware_tpl/cobbler/profile.py:289
+#: lib/cr_vmware_tpl/cobbler/profile.py:294 lib/cr_vmware_tpl/cobbler/profile.py:299
+#: lib/cr_vmware_tpl/cobbler/profile.py:303
+msgid "Profile ks_meta {!r} is not ok."
+msgstr "Die Metadaten des Profils {!r} sind nicht okay.."
 
-#: lib/cr_vmware_tpl/cobbler.py:735
+#: lib/cr_vmware_tpl/cobbler/profile.py:314
 msgid "Creating new profile {!r} ..."
 msgstr "Erstelle neues Profil {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:792
+#: lib/cr_vmware_tpl/cobbler/profile.py:389
 msgid "Error creating a cobbler profile - returncode was {rc}: {err}"
 msgstr "Fehler beim Erstellen eines Cobbler-Profils - Returncode war {rc}: {err}"
 
-#: lib/cr_vmware_tpl/cobbler.py:797
+#: lib/cr_vmware_tpl/cobbler/profile.py:394
 msgid "There was an error message on creating profile {!r}:"
 msgstr "Es gab eine Fehlermeldung beim Anlegen des Profils {!r}:"
 
-#: lib/cr_vmware_tpl/cobbler.py:807
+#: lib/cr_vmware_tpl/cobbler/profile.py:404
 msgid "Did not found profile {!r} after trying creation."
 msgstr "Konnte Profil {!r} nach seiner versuchten Erstellung nicht finden."
 
-#: lib/cr_vmware_tpl/cobbler.py:817
+#: lib/cr_vmware_tpl/cobbler/system.py:41
 msgid "Ensuring currentness of system kickstart script {!r}."
 msgstr "Stelle Aktualität des System-Kickstart-Skripts {!r} sicher."
 
-#: lib/cr_vmware_tpl/cobbler.py:842
-msgid "Ensuring currentness of snippets below {!r}."
-msgstr "Stelle die Aktualität der Snippets unterhalb von {!r} sicher."
-
-#: lib/cr_vmware_tpl/cobbler.py:861
-msgid "Ensuring currentness of bashrc files."
-msgstr "Stelle die Aktualität der bashrc-Dateien sicher."
-
-#: lib/cr_vmware_tpl/cobbler.py:880
-msgid "Ensuring currentness of vimrc files."
-msgstr "Stelle die Aktualität der vimrc-Dateien sicher."
-
-#: lib/cr_vmware_tpl/cobbler.py:899
-msgid "Ensuring currentness of logrotate files."
-msgstr "Stelle die Aktualität der logrotate-Dateien sicher."
-
-#: lib/cr_vmware_tpl/cobbler.py:920
-msgid "Ensuring currentness of create-motd.sh."
-msgstr "Stelle die Aktualität von create-motd.sh sicher."
-
-#: lib/cr_vmware_tpl/cobbler.py:936
+#: lib/cr_vmware_tpl/cobbler/system.py:67
 msgid "Creating new system {!r} ..."
 msgstr "Erstelle neues System {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:987
+#: lib/cr_vmware_tpl/cobbler/system.py:118
 msgid "Error creating a cobbler system - returncode was {rc}: {err}"
 msgstr "Fehler bein Erstellen eises Cobbler-Systems - Returncode war {rc}: {err}"
 
-#: lib/cr_vmware_tpl/cobbler.py:997
+#: lib/cr_vmware_tpl/cobbler/system.py:128
 msgid "Removing system {!r} ..."
 msgstr "Enferne System {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:1012
+#: lib/cr_vmware_tpl/cobbler/system.py:143
 msgid "Error removing the cobbler system {n!r} - returncode was {rc}: {err}"
 msgstr "Fehler bein Entfernen des Cobbler-Systems {n!r} Returncode war {rc}: {err}"
 
-#: lib/cr_vmware_tpl/cobbler.py:1025
-msgid "Executing cobbler sync ..."
-msgstr "Führe Cobbler Synchronisation aus …"
+#: lib/cr_vmware_tpl/config/__init__.py:226
+msgid "Used config filename stems:"
+msgstr "Verwendete Stämme für Konfigurations-Dateien:"
 
-#: lib/cr_vmware_tpl/cobbler.py:1033
-msgid "Could syncing cobbler: {}"
-msgstr "Konnte Cobbler syncen: {}"
+#: lib/cr_vmware_tpl/config/__init__.py:229
+msgid "Additional config file: '{}'."
+msgstr "Zusätzliche Konfigurationsdatei: '{}'."
 
-#: lib/cr_vmware_tpl/cobbler.py:1055
-msgid "Ensuring currentness of authorized_keys file of root {!r}."
-msgstr "Stelle die Aktualität der authorized_keys-Datei von root {!r} sicher."
+#: lib/cr_vmware_tpl/config/__init__.py:231
+msgid "Collected config files:"
+msgstr "Ermittelte Konfigurations-Dateien:"
 
-#: lib/cr_vmware_tpl/cobbler.py:1070
-msgid "Ensuring currentness of repo files below {!r}."
-msgstr "Stelle die Aktualität der repo-Dateien unterhalb von {!r} sicher."
+#: lib/cr_vmware_tpl/config/__init__.py:396
+msgid "Evaluating configuration ..."
+msgstr "Untersuche Konfiguration …"
 
-#: lib/cr_vmware_tpl/cobbler.py:1076
-msgid "Local path {!r} is not a directory."
-msgstr "Der lokale Pfad {!r} ist kein Verzeichnis."
+#: lib/cr_vmware_tpl/config/__init__.py:401
+msgid "Checking for unconfigured options ..."
+msgstr "Überprüfe nicht konfigurierte Optionen …"
 
-#: lib/cr_vmware_tpl/cobbler.py:1080
-msgid "Ensuring repo files for {}."
-msgstr "Stelle repo-Dateien für {} sicher."
+#: lib/cr_vmware_tpl/config/__init__.py:432
+msgid "Evaluating section {!r} ..."
+msgstr "Überprüfe Abschnitt {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:1087
-msgid "Finished with repo files."
-msgstr "repo-Dateien beendet."
+#: lib/cr_vmware_tpl/config/__init__.py:434
+msgid "Content of section:"
+msgstr "Inhalt des Abschnitts:"
 
-#: lib/cr_vmware_tpl/cobbler.py:1097
-msgid "Ensuring currentness of postfix files below {!r}."
-msgstr "Stelle die Aktualität der Postfix-Dateien unterhalb von {!r} sicher."
+#: lib/cr_vmware_tpl/config/__init__.py:478
+msgid "Unhandled configuration section {!r}."
+msgstr "Nicht behandelter Konfigurationsabschnitt {!r}."
 
-#: lib/cr_vmware_tpl/cobbler.py:1106
-msgid "Finished with postfix files."
-msgstr "Postfix-Dateien beendet."
+#: lib/cr_vmware_tpl/config/__init__.py:486
+msgid "Given method {!r} is not a valid crypt method."
+msgstr "Die angegebene Methode {!r} is keine gültige crypt-Methode."
 
-#: lib/cr_vmware_tpl/cobbler.py:1113 lib/cr_vmware_tpl/cobbler.py:1151
-msgid "Trying to get IP of MAC address {!r} given by DHCP ..."
-msgstr "Versuche die IP der MAC-Adresse {!r} zu ermitteln, die von DHCP vergeben wurde …"
+#: lib/cr_vmware_tpl/config/__init__.py:498
+msgid "Hashed root password: {!r}"
+msgstr "Das gehashte Root-Passwort: {!r}"
 
-#: lib/cr_vmware_tpl/cobbler.py:1129 lib/cr_vmware_tpl/cobbler.py:1169
-msgid "Found invalid IP address {ip!r} in leases file: {err}"
-msgstr "Fand eine ungültige IP-Adress {ip!r} in der leases-Datei: {err}"
+#: lib/cr_vmware_tpl/config/__init__.py:505
+msgid "Stripping no more necessary stuff from configuration ..."
+msgstr "Entferne nicht mehr notwendige Daten aus der Konfiguration …"
 
-#: lib/cr_vmware_tpl/cobbler.py:1142 lib/cr_vmware_tpl/cobbler.py:1187
-msgid "Found DHCP IP assignments:"
-msgstr "Gefundene DHCP-IP-Zuordnungen:"
+#: lib/cr_vmware_tpl/config/__init__.py:508 lib/cr_vmware_tpl/config/__init__.py:513
+#: lib/cr_vmware_tpl/config/__init__.py:518 lib/cr_vmware_tpl/config/__init__.py:522
+#: lib/cr_vmware_tpl/config/__init__.py:526
+msgid "Stripping {!r} ..."
+msgstr "Strippe {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:1196
-msgid "Webroot directory"
-msgstr "Webroot-Verzeichnis"
+#: lib/cr_vmware_tpl/config/cobbler.py:43
+msgid "Verifying cobbler distros ..."
+msgstr "Verifiziere Cobbler-Distros …"
 
-#: lib/cr_vmware_tpl/cobbler.py:1197
-msgid "Ensuring existence of {what} {dir!r}..."
-msgstr "Stelle die Existenz von {what} {dir!r} sicher …"
+#: lib/cr_vmware_tpl/config/cobbler.py:46
+msgid "Did not found configured Cobbler distros."
+msgstr "Fand keine konfigurierten Cobbler-Distros.."
 
-#: lib/cr_vmware_tpl/config.py:169
-msgid "Invalid port {!r} for LDAP server given."
-msgstr "Ungültigen Port {!r} für LDAP-Server angegeben."
+#: lib/cr_vmware_tpl/config/cobbler.py:53
+msgid "Did not found distro of configured Cobbler distro {!r}."
+msgstr "Fand keine Distro der konfigurierten Cobbler-Distro {!r}."
 
-#: lib/cr_vmware_tpl/config.py:182
-msgid "An empty Base DN for LDAP searches is not allowed."
-msgstr "Eine leere Basis-DN für LDAP-Suchen ist nicht erlaubt."
+#: lib/cr_vmware_tpl/config/cobbler.py:58
+msgid "Did not found the base install repo URL of configured Cobbler distro {!r}."
+msgstr "Fand keine URL für Basis-Installationsrepository für konfigurierte Cobbler-Distro {!r}."
 
-#: lib/cr_vmware_tpl/config.py:288
-msgid "Invalid value {val!r} in section {sec!r} for a LDAP {what}."
-msgstr "Ungültiger Wert {val!r} in Abschnitt {sec!r} für ein LDAP-{what}."
+#: lib/cr_vmware_tpl/config/cobbler.py:64
+msgid "Did not found repo definitions for configured Cobbler distro {!r}."
+msgstr "Fand keine Repository-Definitionen für konfigurierte Cobbler-Distro {!r}."
 
-#: lib/cr_vmware_tpl/config.py:341
-msgid "Unknown LDAP configuration key {key} found in section {sec!r}."
-msgstr "Unbekannter LDAP-Konfigurationsschlüssel {key} in Abschnitt {sec!r} gefunden."
+#: lib/cr_vmware_tpl/config/cobbler.py:72
+msgid "Searching for distro with ID {!r} ..."
+msgstr "Suche nach der Distribution mit der ID {!r} …"
+
+#: lib/cr_vmware_tpl/config/cobbler.py:75
+msgid "Did not found distro {!r} in configured Cobbler distros."
+msgstr "Fand Distro {!r} nicht in den konfigurierten Cobbler-Distros."
+
+#: lib/cr_vmware_tpl/config/cobbler.py:81
+msgid "Using OS {os!r} with cobbler distro {di!r}."
+msgstr "Verwende Betriebssystem {os!r} mit Cobbler-Distro {di!r}."
+
+#: lib/cr_vmware_tpl/config/cobbler.py:88 lib/cr_vmware_tpl/config/cobbler.py:182
+#: lib/cr_vmware_tpl/config/cobbler.py:206 lib/cr_vmware_tpl/config/eval.py:125
+#: lib/cr_vmware_tpl/config/eval.py:186 lib/cr_vmware_tpl/config/timeouts.py:68
+msgid "Checking config section {!r} ..."
+msgstr "Überprüfe Konfigurationsabschnitt {!r} …"
+
+#: lib/cr_vmware_tpl/config/cobbler.py:133 lib/cr_vmware_tpl/config/cobbler.py:158
+msgid "Path for {what} {path!r} is not absolute."
+msgstr "Der Pfad für {what} {path!r} ist nicht absolut."
+
+#: lib/cr_vmware_tpl/config/cobbler.py:159
+msgid "Webserver document root"
+msgstr "Stammverzeichnis des Webservers"
 
-#: lib/cr_vmware_tpl/config.py:386 lib/cr_vmware_tpl/config.py:394 lib/cr_vmware_tpl/config.py:403
+#: lib/cr_vmware_tpl/config/cobbler.py:170
+msgid "The value of {what!r} must be one of {valid!r}, but found {val!r}."
+msgstr "Der Wert von {what!r} muss einer aus {valid!r} sein, habe aber {val!r} gefunden."
+
+#: lib/cr_vmware_tpl/config/cobbler.py:189
+msgid "Found Cobbler repository {!r}."
+msgstr "Fand Cobbler-Repository {!r}."
+
+#: lib/cr_vmware_tpl/config/cobbler.py:200
+msgid "Evaluated Cobbler repositories:"
+msgstr "Ermittelte Cobbler-Repositories:"
+
+#: lib/cr_vmware_tpl/config/distro.py:72 lib/cr_vmware_tpl/config/distro.py:80
+#: lib/cr_vmware_tpl/config/distro.py:89
 msgid "The given parameter {p!r} must be sequential type (given: {v!r})."
 msgstr "Der übergebene Parameter {p!r} muss ein sequentieller Typ sein (gegeben: {v!r})."
 
-#: lib/cr_vmware_tpl/config.py:417
+#: lib/cr_vmware_tpl/config/distro.py:103
 msgid "The name of a Cobbler distro may not be empty."
 msgstr "Der Name einer Cobbler-Distro darf nicht leer sein."
 
-#: lib/cr_vmware_tpl/config.py:476
+#: lib/cr_vmware_tpl/config/distro.py:162
 msgid "Invalid architecture {a!r} for distro {n!r} given. Valid architectures are {v}."
 msgstr "Ungültige Architektur {a!r} für Distro {n!r} angegeben. Gültige Architekturen sind {v}."
 
-#: lib/cr_vmware_tpl/config.py:629
+#: lib/cr_vmware_tpl/config/distro.py:362
 msgid ""
 "Found unknown config parameter {p!r} with value {v!r} in configuration of the Cobbler repository"
 " {r!r}."
@@ -491,597 +611,540 @@ msgstr ""
 "Ungültigen Konfigurations-Parameter {p!r} mit dem Wert {v!r} in der Konfiguration des "
 "CobblerRepositories {r!r} gefunden."
 
-#: lib/cr_vmware_tpl/config.py:634
+#: lib/cr_vmware_tpl/config/distro.py:367
 msgid "Found Cobbler repository configuration:"
 msgstr "Fand Cobbler-Repository-Konfiguration:"
 
-#: lib/cr_vmware_tpl/config.py:1053
-msgid "Checking for unconfigured options ..."
-msgstr "Überprüfe nicht konfigurierte Optionen …"
-
-#: lib/cr_vmware_tpl/config.py:1083
+#: lib/cr_vmware_tpl/config/eval.py:48
 msgid "File {!r} not found on current host."
 msgstr "Die Datei {!r} wurde auf dem aktuellen Host nicht gefunden."
 
-#: lib/cr_vmware_tpl/config.py:1088
+#: lib/cr_vmware_tpl/config/eval.py:53
 msgid "Path {!r} is not a regular file."
 msgstr "Der Pfad {!r} ist keine reguläre Datei."
 
-#: lib/cr_vmware_tpl/config.py:1093
+#: lib/cr_vmware_tpl/config/eval.py:58
 msgid "File {!r} is not readable."
 msgstr "Die Datei {!r} ist nicht lesbar."
 
-#: lib/cr_vmware_tpl/config.py:1097
+#: lib/cr_vmware_tpl/config/eval.py:62
 msgid "Evaluating {!r} for nameservers."
 msgstr "Untersuche {!r} nach Nameservern."
 
-#: lib/cr_vmware_tpl/config.py:1110
+#: lib/cr_vmware_tpl/config/eval.py:75
 msgid "Found invalid IP address {addr!r} as a nameserver in {file!r}:"
 msgstr "Fand eine ungültige IP-Adresse {addr!r} für einen Nameserver in {file!r}:"
 
-#: lib/cr_vmware_tpl/config.py:1116
+#: lib/cr_vmware_tpl/config/eval.py:81
 msgid "Found nameservers in {!r}:"
 msgstr "In {!r} gefundene Nameserver:"
 
-#: lib/cr_vmware_tpl/config.py:1129
-msgid "Verifying cobbler distros ..."
-msgstr "Verifiziere Cobbler-Distros …"
-
-#: lib/cr_vmware_tpl/config.py:1132
-msgid "Did not found configured Cobbler distros."
-msgstr "Fand keine konfigurierten Cobbler-Distros.."
-
-#: lib/cr_vmware_tpl/config.py:1139
-msgid "Did not found distro of configured Cobbler distro {!r}."
-msgstr "Fand keine Distro der konfigurierten Cobbler-Distro {!r}."
-
-#: lib/cr_vmware_tpl/config.py:1144
-msgid "Did not found the base install repo URL of configured Cobbler distro {!r}."
-msgstr "Fand keine URL für Basis-Installationsrepository für konfigurierte Cobbler-Distro {!r}."
-
-#: lib/cr_vmware_tpl/config.py:1150
-msgid "Did not found repo definitions for configured Cobbler distro {!r}."
-msgstr "Fand keine Repository-Definitionen für konfigurierte Cobbler-Distro {!r}."
-
-#: lib/cr_vmware_tpl/config.py:1159
-msgid "Did not found distro {!r} in configured Cobbler distros."
-msgstr "Fand Distro {!r} nicht in den konfigurierten Cobbler-Distros."
-
-#: lib/cr_vmware_tpl/config.py:1165
-msgid "Using OS {os!r} with cobbler distro {di!r}."
-msgstr "Verwende Betriebssystem {os!r} mit Cobbler-Distro {di!r}."
-
-#: lib/cr_vmware_tpl/config.py:1177
-msgid "Evaluating section {!r} ..."
-msgstr "Überprüfe Abschnitt {!r} …"
-
-#: lib/cr_vmware_tpl/config.py:1179
-msgid "Content of section:"
-msgstr "Inhalt des Abschnitts:"
-
-#: lib/cr_vmware_tpl/config.py:1223
-msgid "Unhandled configuration section {!r}."
-msgstr "Nicht behandelter Konfigurationsabschnitt {!r}."
-
-#: lib/cr_vmware_tpl/config.py:1229
+#: lib/cr_vmware_tpl/config/eval.py:95
 msgid "Value {!r} for a timeout is invalid."
 msgstr "Der Wert {!r} für eine Zeitüberschreitung ist ungültig."
 
-#: lib/cr_vmware_tpl/config.py:1259 lib/cr_vmware_tpl/config.py:1320 lib/cr_vmware_tpl/config.py:1419
-#: lib/cr_vmware_tpl/config.py:1472 lib/cr_vmware_tpl/config.py:1566 lib/cr_vmware_tpl/config.py:1601
-msgid "Checking config section {!r} ..."
-msgstr "Überprüfe Konfigurationsabschnitt {!r} …"
-
-#: lib/cr_vmware_tpl/config.py:1291
+#: lib/cr_vmware_tpl/config/eval.py:157
 msgid "Value {val} for {p} is less than {minval}, using {default}."
 msgstr "Der Wert {val} für {p} ist kleiner als {minval}, verwende {default}."
 
-#: lib/cr_vmware_tpl/config.py:1296
+#: lib/cr_vmware_tpl/config/eval.py:162
 msgid "Value {val} for {p} is greater than {maxval}, using {default}."
 msgstr "Der Wert {val} für {p} ist größer als {maxval}, verwende {default}."
 
-#: lib/cr_vmware_tpl/config.py:1387
+#: lib/cr_vmware_tpl/config/ldap.py:144
+msgid "Invalid port {!r} for LDAP server given."
+msgstr "Ungültigen Port {!r} für LDAP-Server angegeben."
+
+#: lib/cr_vmware_tpl/config/ldap.py:157
+msgid "An empty Base DN for LDAP searches is not allowed."
+msgstr "Eine leere Basis-DN für LDAP-Suchen ist nicht erlaubt."
+
+#: lib/cr_vmware_tpl/config/ldap.py:263
+msgid "Invalid value {val!r} in section {sec!r} for a LDAP {what}."
+msgstr "Ungültiger Wert {val!r} in Abschnitt {sec!r} für ein LDAP-{what}."
+
+#: lib/cr_vmware_tpl/config/ldap.py:319
+msgid "Unknown LDAP configuration key {key} found in section {sec!r}."
+msgstr "Unbekannter LDAP-Konfigurationsschlüssel {key} in Abschnitt {sec!r} gefunden."
+
+#: lib/cr_vmware_tpl/config/timeouts.py:36
 msgid "Checking value {v!r} for {p} ..."
 msgstr "Überprüfe Wert {v!r} für {p} …"
 
-#: lib/cr_vmware_tpl/config.py:1389
+#: lib/cr_vmware_tpl/config/timeouts.py:38
 msgid "Minimal value: {min_val}, maximum value: {max_val}, default value: {def_val}."
 msgstr "Minimalwert: {min_val}, Maximalwert: {max_val}, Vorgabewert: {def_val}."
 
-#: lib/cr_vmware_tpl/config.py:1397
+#: lib/cr_vmware_tpl/config/timeouts.py:46
 msgid "Value {val} for {prop} is less than {min_val}, using {def_val} seconds."
 msgstr "Der Wert {val} für {prop} ist kleiner als {min_val}, verwende {def_val} Sekunden."
 
-#: lib/cr_vmware_tpl/config.py:1404
+#: lib/cr_vmware_tpl/config/timeouts.py:53
 msgid "Value {val} for {prop} is greater than {max_val}, using {def_val} seconds."
 msgstr "Der Wert {val} für {prop} ist größer als {max_val}, verwende {def_val} Sekunden."
 
-#: lib/cr_vmware_tpl/config.py:1411
+#: lib/cr_vmware_tpl/config/timeouts.py:60
 msgid "Setting timeout {p!r} to {v:0.1f} seconds."
 msgstr "Setze Timeout {p!r} auf {v:0.1f} Sekunden."
 
-#: lib/cr_vmware_tpl/config.py:1517 lib/cr_vmware_tpl/config.py:1542
-msgid "Path for {what} {path!r} is not absolute."
-msgstr "Der Pfad für {what} {path!r} ist nicht absolut."
-
-#: lib/cr_vmware_tpl/config.py:1543
-msgid "Webserver document root"
-msgstr "Stammverzeichnis des Webservers"
-
-#: lib/cr_vmware_tpl/config.py:1554
-msgid "The value of {what!r} must be one of {valid!r}, but found {val!r}."
-msgstr "Der Wert von {what!r} muss einer aus {valid!r} sein, habe aber {val!r} gefunden."
-
-#: lib/cr_vmware_tpl/config.py:1581
-msgid "Given method {!r} is not a valid crypt method."
-msgstr "Die angegebene Methode {!r} is keine gültige crypt-Methode."
-
-#: lib/cr_vmware_tpl/config.py:1593
-msgid "Hashed root password: {!r}"
-msgstr "Das gehashte Root-Passwort: {!r}"
-
-#: lib/cr_vmware_tpl/config.py:1608
-msgid "Found Cobbler repository {!r}."
-msgstr "Fand Cobbler-Repository {!r}."
-
-#: lib/cr_vmware_tpl/config.py:1619
-msgid "Evaluated Cobbler repositories:"
-msgstr "Ermittelte Cobbler-Repositories:"
-
-#: lib/cr_vmware_tpl/handler.py:65
+#: lib/cr_vmware_tpl/errors.py:28
 msgid "Could not find a datastore of {size:0.1f} GiB size in datastore cluster {c_name!r}."
 msgstr "Konnte keinen Datastore von {size:0.1f} GiB Größe im Datastore-Cluster {c_name!r} finden."
 
-#: lib/cr_vmware_tpl/handler.py:82
+#: lib/cr_vmware_tpl/errors.py:71
 msgid "The temporary VM {!r} is already existing, cannot continue."
 msgstr "Die temporäre VM {!r} existiert bereits, fortsetzen unmöglich."
 
-#: lib/cr_vmware_tpl/handler.py:102
+#: lib/cr_vmware_tpl/errors.py:91
 msgid "Could not find a datastore of {:0.1f} GiB size."
 msgstr "Konnte keinen Datastore von {size:0.1f} GiB Größe finden."
 
-#: lib/cr_vmware_tpl/handler.py:177
+#: lib/cr_vmware_tpl/handler/__init__.py:128
 msgid "No ID for Operating system defined, please check the configuration."
 msgstr "Keine ID für das Betriebssystem gefunden, bitte die Konfiguration überprüfen."
 
-#: lib/cr_vmware_tpl/handler.py:249
-msgid "Connecting to LDAP server {!r} ..."
-msgstr "Verbinden mit LDAP-Server {!r} …"
-
-#: lib/cr_vmware_tpl/handler.py:252
-msgid "Connect options to LDAP server {!r}:"
-msgstr "Verbindungs-Optionen zu LDAP-Server {!r}:"
-
-#: lib/cr_vmware_tpl/handler.py:267
-msgid "Info about LDAP server {}:"
-msgstr "Informationen zu LDAP-Server {}:"
-
-#: lib/cr_vmware_tpl/handler.py:281
-msgid "Unbinding from LDAP server {} ..."
-msgstr "Abmeldung von LDAP-Server {} …"
-
-#: lib/cr_vmware_tpl/handler.py:286
-msgid "Disconnecting from LDAP server {} ..."
-msgstr "Trenne Verbindung zu LDAP-Server {} …"
-
-#: lib/cr_vmware_tpl/handler.py:305
+#: lib/cr_vmware_tpl/handler/__init__.py:197
 msgid "{}-object not initialized."
 msgstr "Das {}-Objekt ist nicht initialisiert."
 
-#: lib/cr_vmware_tpl/handler.py:325
+#: lib/cr_vmware_tpl/handler/__init__.py:217
 msgid "Got a {n}: {e}"
 msgstr "Erhielt ein {n}: {e}"
 
-#: lib/cr_vmware_tpl/handler.py:332
+#: lib/cr_vmware_tpl/handler/__init__.py:224
 msgid "Closing ..."
 msgstr "Schließe …"
 
-#: lib/cr_vmware_tpl/handler.py:348
+#: lib/cr_vmware_tpl/handler/__init__.py:240
 msgid "Current configuration:"
 msgstr "Aktuelle Konfiguration:"
 
-#: lib/cr_vmware_tpl/handler.py:350
+#: lib/cr_vmware_tpl/handler/__init__.py:242
+msgid "Current distribution:"
+msgstr "Aktuelle Distribution:"
+
+#: lib/cr_vmware_tpl/handler/__init__.py:244
 msgid "Starting handling ..."
 msgstr "Starte Abhandlung …"
 
-#: lib/cr_vmware_tpl/handler.py:382
+#: lib/cr_vmware_tpl/handler/__init__.py:277
 msgid "Found VSphere cluster {!r}."
 msgstr "Fand VSphere-Cluster {!r}."
 
-#: lib/cr_vmware_tpl/handler.py:384
+#: lib/cr_vmware_tpl/handler/__init__.py:279
 msgid "Could not find VSphere cluster {!r}."
 msgstr "Konnte VSphere-Cluster {!r} nicht finden."
 
-#: lib/cr_vmware_tpl/handler.py:389
+#: lib/cr_vmware_tpl/handler/__init__.py:284
 msgid "Network {n!r} not available in cluster {c!r}."
 msgstr "Das Netzwerk {n!r} ist in Cluster {c!r} nicht verfügbar."
 
-#: lib/cr_vmware_tpl/handler.py:405
+#: lib/cr_vmware_tpl/handler/__init__.py:300
 msgid "Only executing of template rotating."
 msgstr "Führe nor Rotation der Vorlagen aus."
 
-#: lib/cr_vmware_tpl/handler.py:410
+#: lib/cr_vmware_tpl/handler/__init__.py:305
 msgid "Created VM as {cls}: {vm!r}"
 msgstr "Erstellte VM als {cls}: {vm!r}"
 
-#: lib/cr_vmware_tpl/handler.py:415
+#: lib/cr_vmware_tpl/handler/__init__.py:310
 msgid "Found Ethernet card as {}."
 msgstr "Fand Ethernet-Karte als {}."
 
-#: lib/cr_vmware_tpl/handler.py:418
+#: lib/cr_vmware_tpl/handler/__init__.py:313
 msgid "Found Ethernet card:"
 msgstr "Gefundene Ethernet-Karte:"
 
-#: lib/cr_vmware_tpl/handler.py:421
+#: lib/cr_vmware_tpl/handler/__init__.py:316
 msgid "Did not found MAC address of ethernet card."
 msgstr "Fand keine MAC-Adresse derEthernet-Karte."
 
-#: lib/cr_vmware_tpl/handler.py:425
+#: lib/cr_vmware_tpl/handler/__init__.py:320
 msgid "Simulation mode - VM not created in real."
 msgstr "Simulationsmodus - die VM wird in in Realität nicht erstellt."
 
-#: lib/cr_vmware_tpl/handler.py:428
+#: lib/cr_vmware_tpl/handler/__init__.py:323
 msgid "Could not find VM after creating."
 msgstr "Konnte VM nach Erstellung nicht finden."
 
-#: lib/cr_vmware_tpl/handler.py:430
+#: lib/cr_vmware_tpl/handler/__init__.py:325
 msgid "Using MAC address of template VM: {!r}"
 msgstr "Verwende MAC-Adresse der Vorlagen-VM: {!r}"
 
-#: lib/cr_vmware_tpl/handler.py:444
+#: lib/cr_vmware_tpl/handler/__init__.py:339
 msgid "Aborting after creation of template VM."
 msgstr "Abbruch nach Erstellung der Vorlagen-VM."
 
-#: lib/cr_vmware_tpl/handler.py:445
+#: lib/cr_vmware_tpl/handler/__init__.py:340
 msgid "You are responsible yourself to cleaning up the VM!!!"
 msgstr "Du bist selbst für das Wegräumen der VM verantwortlich!!"
 
-#: lib/cr_vmware_tpl/handler.py:464
+#: lib/cr_vmware_tpl/handler/__init__.py:360
+msgid "Creating authorized keys of root from LDAP ..."
+msgstr "Erstelle authorized_keys von root aus dem LDAP …"
+
+#: lib/cr_vmware_tpl/handler/__init__.py:368
+msgid "Using temporary file {!r} for authorized keys of root."
+msgstr "Verwende temporäre Datei {!r} für authorized_keys-Datei von root."
+
+#: lib/cr_vmware_tpl/handler/__init__.py:391
+msgid "Generated authorized keys for root:"
+msgstr "Generierte authorized_keys-Datei für root:"
+
+#: lib/cr_vmware_tpl/handler/cobbler.py:38
 msgid "Checking, whether distro {!r} is available on the cobbler host."
 msgstr "Überprüfe, ob die Distro {!r} auf dem Cobbler-Host verfügbar ist."
 
-#: lib/cr_vmware_tpl/handler.py:470
+#: lib/cr_vmware_tpl/handler/cobbler.py:44
 msgid "Did not found distro {!r} on the cobbler host."
 msgstr "Fand Distro {!r} nicht auf dem Cobbler-Host."
 
-#: lib/cr_vmware_tpl/handler.py:474
+#: lib/cr_vmware_tpl/handler/cobbler.py:48
 msgid "Distro {!r} is available on the cobbler host."
 msgstr "Die Distro {!r} ist auf dem Cobbler-Host verfügbar."
 
-#: lib/cr_vmware_tpl/handler.py:479
+#: lib/cr_vmware_tpl/handler/cobbler.py:53
 msgid "Not all repos for distro {!r} were found on Cobbler server."
 msgstr "Nicht alle Repositories für Distro {!r} wurden auf dem Cobbler-Server gefunden."
 
-#: lib/cr_vmware_tpl/handler.py:486
-msgid "First checking, whether {!r} exists ..."
-msgstr "Überprüfe zuerst, ob {!r} existiert …"
-
-#: lib/cr_vmware_tpl/handler.py:494
-msgid "Temporary VM {n!r} exists, raising {e}."
-msgstr "Die temporäre VM {n!r} existiert bereits, löse {e} aus."
-
-#: lib/cr_vmware_tpl/handler.py:503
-msgid "Temporary VM {!r} does not exists, will be created."
-msgstr "Die temporäre VM {!r} existiert noch nicht, sie wird erstellt."
-
-#: lib/cr_vmware_tpl/handler.py:519
-msgid "Selecting a SAN based datastore with at least {:0.1f} GiB available space."
-msgstr "Wähle ein SAN-basierten Datastore mit mindestens {:0.1f} freien Speicherplatz aus."
-
-#: lib/cr_vmware_tpl/handler.py:531
-msgid "Got datastore {n!r} as a member of datastore cluster {c!r}."
-msgstr "Erhielt Datastore {n!r} als Mitglied des Datastore-Clusters {c!r}."
-
-#: lib/cr_vmware_tpl/handler.py:547
-msgid "Using datastore {!r} for volume of temporary VM to create."
-msgstr "Verwende Datastore {!r} für die Disk der temporären VM."
-
-#: lib/cr_vmware_tpl/handler.py:560
-msgid "Found storage cluster {!r}."
-msgstr "Fand Datastore-Cluster {!r}."
-
-#: lib/cr_vmware_tpl/handler.py:568
-msgid "Cannot use datastore cluster {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
-msgstr ""
-"Konnte Datastore-Cluster {n!r} nicht verwenden, da der freie Platz von {free:0.1f} GiB weniger "
-"als {min:0.1f} GiB ist."
-
-#: lib/cr_vmware_tpl/handler.py:577
-msgid "Could not get {c} object with name {n!r}."
-msgstr "Konnte kein {c}-Objekt mit dem Namen {n!r} erhalten."
+#: lib/cr_vmware_tpl/handler/cobbler.py:60
+msgid "Trying to evaluate the IP address of the template VM ..."
+msgstr "Versuche die IP-Adresse der Vorlagen-VM zu ermitteln …"
 
-#: lib/cr_vmware_tpl/handler.py:594
-msgid "Trying to get a recommendation for a datastore from VSphere storageResourceManager ..."
-msgstr "Versuche eine Empfehlung für einen Datastore vom VSphere storageResourceManager zu erhalten …"
+#: lib/cr_vmware_tpl/handler/cobbler.py:64 lib/cr_vmware_tpl/handler/vm.py:47
+msgid "Waiting initially for {} seconds:"
+msgstr "Warte initial {} Sekunden:"
 
-#: lib/cr_vmware_tpl/handler.py:606
-msgid "Got no recommendation for a datastore from VSphere storageResourceManager: {c} - {e}"
-msgstr "Keine Empfehlung für einen Datastore vom VSphere storageResourceManager erhalten: {c} - {e}"
+#: lib/cr_vmware_tpl/handler/cobbler.py:80
+msgid "Did not got the IP address of MAC address {mac!r} after {delay} seconds."
+msgstr "Erhielt keine IP-Adresse der MAC-Adress {mac!r} nach {delay} Sekunden."
 
-#: lib/cr_vmware_tpl/handler.py:656
-msgid "Cannot use datastore {n!r} - not accessible."
-msgstr "Kann Datastore {n!r} nicht verwenden - nicht verfügbar."
+#: lib/cr_vmware_tpl/handler/cobbler.py:85
+msgid "Got IP addresses for template VM:"
+msgstr "Erhielt IP-Adressen für Vorlagen-VM:"
 
-#: lib/cr_vmware_tpl/handler.py:660
-msgid "Cannot use datastore {n!r}, not in cluster {c!r}."
-msgstr "Kann Datastore {n!r} nicht verwenden, da er nicht im Cluster {c!r} liegt."
+#: lib/cr_vmware_tpl/handler/ldap.py:59
+msgid "Connecting to LDAP server {!r} ..."
+msgstr "Verbinden mit LDAP-Server {!r} …"
 
-#: lib/cr_vmware_tpl/handler.py:664
-msgid "Checking datastore:"
-msgstr "Überprüfe Datastore:"
+#: lib/cr_vmware_tpl/handler/ldap.py:62
+msgid "Connect options to LDAP server {!r}:"
+msgstr "Verbindungs-Optionen zu LDAP-Server {!r}:"
 
-#: lib/cr_vmware_tpl/handler.py:667
-msgid "Cannot use datastore {n!r}, is of type {t!r}."
-msgstr "Kann Datastore {n!r} nicht verwenden, da er vom Typ {t!r} ist."
+#: lib/cr_vmware_tpl/handler/ldap.py:77
+msgid "Info about LDAP server {}:"
+msgstr "Informationen zu LDAP-Server {}:"
 
-#: lib/cr_vmware_tpl/handler.py:672
-msgid "Cannot use datastore {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
-msgstr ""
-"Kann Datastore {n!r} nicht verwenden, da der freie Speicherplatz {free:0.1f} GiB weniger als "
-"{min:0.1f} GiB ist."
+#: lib/cr_vmware_tpl/handler/ldap.py:91
+msgid "Unbinding from LDAP server {} ..."
+msgstr "Abmeldung von LDAP-Server {} …"
 
-#: lib/cr_vmware_tpl/handler.py:680
-msgid "Found {} usable datastores."
-msgstr "Habe {} verwendungsfähige Datastores gefunden."
+#: lib/cr_vmware_tpl/handler/ldap.py:96
+msgid "Disconnecting from LDAP server {} ..."
+msgstr "Trenne Verbindung zu LDAP-Server {} …"
 
-#: lib/cr_vmware_tpl/handler.py:682
-msgid "Did not found an usable datastore."
-msgstr "Keinen verwendungsfähigen Datastore gefunden."
+#: lib/cr_vmware_tpl/handler/ldap.py:103
+msgid "No LDAP connection initialized."
+msgstr "Keine LDAP-Verbindung initialisiert."
 
-#: lib/cr_vmware_tpl/handler.py:709
-msgid "Defined interface to create:"
-msgstr "Definition des zu erstellenden Interfaces:"
+#: lib/cr_vmware_tpl/handler/ldap.py:112
+msgid "Trying to get a list of all DPX admins with their public SSH keys ..."
+msgstr "Versuche eine Liste aller DPX-Administratoren mit ihren öffentlichen SSH-Schlüsseln zu erhalten …"
 
-#: lib/cr_vmware_tpl/handler.py:721
-msgid "VM-Folder object for template VM: {c} - {n!r}"
-msgstr "VM-Ordner-Objekt der temporären VM: {c} - {n!r}"
+#: lib/cr_vmware_tpl/handler/ldap.py:115
+msgid "LDAP search starting in {!r} with filter:"
+msgstr "Die LDAP-Suche startet in {!r} mit dem Filter:"
 
-#: lib/cr_vmware_tpl/handler.py:733
-msgid "Trying to evaluate the IP address of the template VM ..."
-msgstr "Versuche die IP-Adresse der Vorlagen-VM zu ermitteln …"
+#: lib/cr_vmware_tpl/handler/ldap.py:124
+msgid "Error retrieving DPX admin list from LDAP:"
+msgstr "Fehler neim Ermitteln der DPX-Administratoren-Liste aus dem LDAP:"
 
-#: lib/cr_vmware_tpl/handler.py:737 lib/cr_vmware_tpl/handler.py:765
-msgid "Waiting initially for {} seconds:"
-msgstr "Warte initial {} Sekunden:"
+#: lib/cr_vmware_tpl/handler/ldap.py:172
+msgid "Got an admin {cn} <{mail}>."
+msgstr "Erhielt Administrator {cn} <{mail}>."
 
-#: lib/cr_vmware_tpl/handler.py:753
-msgid "Did not got the IP address of MAC address {mac!r} after {delay} seconds."
-msgstr "Erhielt keine IP-Adresse der MAC-Adress {mac!r} nach {delay} Sekunden."
+#: lib/cr_vmware_tpl/handler/ldap.py:175
+msgid "Got an admin:"
+msgstr "Erhielt einen Administrator:"
 
-#: lib/cr_vmware_tpl/handler.py:758
-msgid "Got IP addresses for template VM:"
-msgstr "Erhielt IP-Adressen für Vorlagen-VM:"
+#: lib/cr_vmware_tpl/handler/ldap.py:181
+msgid "Did not found any admins below base DN {!r} with filter:"
+msgstr "Fand keine Administratoren unterhalb der Basis-DN {!r} mit dem Filter:"
 
-#: lib/cr_vmware_tpl/handler.py:763
+#: lib/cr_vmware_tpl/handler/vm.py:45
 msgid "Waiting for finishing installation ..."
 msgstr "Warte auf Beendigung der Installation …"
 
-#: lib/cr_vmware_tpl/handler.py:781
+#: lib/cr_vmware_tpl/handler/vm.py:63
 msgid "Waiting for SSH available ..."
 msgstr "Warte auf die Verfügbarkeit von SSH …"
 
-#: lib/cr_vmware_tpl/handler.py:787
+#: lib/cr_vmware_tpl/handler/vm.py:69
 msgid "Got following address_infos for {h!r}, IPv4 TCP port {p}:"
 msgstr "Habe folgende Adress-Informationen für {h!r}, IPv4 TCP-Port {p}, gefunden:"
 
-#: lib/cr_vmware_tpl/handler.py:792
+#: lib/cr_vmware_tpl/handler/vm.py:74
 msgid "Did not get address infos for {h!r}, IPv4 TCP port {p}."
 msgstr "Keine  Adress-Informationen für {h!r}, IPv4 TCP-Port {p}, gefunden."
 
-#: lib/cr_vmware_tpl/handler.py:797
+#: lib/cr_vmware_tpl/handler/vm.py:79
 msgid "Using address info: {}"
 msgstr "Verwende Adress-Informationen: {}"
 
-#: lib/cr_vmware_tpl/handler.py:847
+#: lib/cr_vmware_tpl/handler/vm.py:129
 msgid "Needed {m} minutes and {s:0.1f} seconds."
 msgstr "Insgesamt {m} Minuten und {s:0.1f} Sekunden benötigt."
 
-#: lib/cr_vmware_tpl/handler.py:852
+#: lib/cr_vmware_tpl/handler/vm.py:134
 msgid "SSH not available after {:0.1f} seconds, giving up."
 msgstr "SSH nach {:0.1f} Sekunden nicht verfügbar, gebe auf."
 
-#: lib/cr_vmware_tpl/handler.py:860
+#: lib/cr_vmware_tpl/handler/vm.py:142
 msgid "Trying to connect to {a} via TCP port {p} ..."
 msgstr "Versuche mit {a} auf TCP-Port {p} zu verbinden …"
 
-#: lib/cr_vmware_tpl/handler.py:867
+#: lib/cr_vmware_tpl/handler/vm.py:149
 msgid "Error creating socket: {}"
 msgstr "Fehler bei der Erstellung des Netzwerksockels: {}"
 
-#: lib/cr_vmware_tpl/handler.py:876
+#: lib/cr_vmware_tpl/handler/vm.py:158
 msgid "Could not connect: {}"
 msgstr "Konnte nicht verbinden: {}"
 
-#: lib/cr_vmware_tpl/handler.py:879
+#: lib/cr_vmware_tpl/handler/vm.py:161
 msgid "Connected to {a} via TCP port {p}."
 msgstr "Mit {a} auf TCP-Port {p} verbunden."
 
-#: lib/cr_vmware_tpl/handler.py:885
+#: lib/cr_vmware_tpl/handler/vm.py:167
 msgid "Got SSHD banner: {}"
 msgstr "Erhaltener SSHD-Banner: {}"
 
-#: lib/cr_vmware_tpl/handler.py:919
+#: lib/cr_vmware_tpl/handler/vm.py:201
 msgid "Commands to execute:"
 msgstr "Auszuführende Befehle:"
 
-#: lib/cr_vmware_tpl/handler.py:940
+#: lib/cr_vmware_tpl/handler/vm.py:222
 msgid "Showing post install log ..."
 msgstr "Zeige Post-Installations-Log …"
 
-#: lib/cr_vmware_tpl/handler.py:969
+#: lib/cr_vmware_tpl/handler/vm.py:251
 msgid "Trying to get possible post-installation errors ..."
 msgstr "Versuche, mögliche Post-Installations-Fehler zu ermitteln …"
 
-#: lib/cr_vmware_tpl/handler.py:983
+#: lib/cr_vmware_tpl/handler/vm.py:265
 msgid "Got postinstall errors:"
 msgstr "Post-Installations-Fehler erhalten:"
 
-#: lib/cr_vmware_tpl/handler.py:985
+#: lib/cr_vmware_tpl/handler/vm.py:267
 msgid "No postinstall errors found."
 msgstr "Keine Post-Installations-Fehler gefunden."
 
-#: lib/cr_vmware_tpl/handler.py:988
+#: lib/cr_vmware_tpl/handler/vm.py:270
 msgid "Template VM {!r} has to be removed."
 msgstr "Die Vorlagen-VM {!r} muß gelöscht werden."
 
-#: lib/cr_vmware_tpl/handler.py:993
+#: lib/cr_vmware_tpl/handler/vm.py:275
 msgid "Executing tasks per SSH after installation ..."
 msgstr "Führe Tasks per SSH nach der Installation aus …"
 
-#: lib/cr_vmware_tpl/handler.py:1046 lib/cr_vmware_tpl/handler.py:1126
+#: lib/cr_vmware_tpl/handler/vm.py:328 lib/cr_vmware_tpl/handler/vm.py:408
 msgid "No output on {}."
 msgstr "Keine Ausgabe an {}."
 
-#: lib/cr_vmware_tpl/handler.py:1058
+#: lib/cr_vmware_tpl/handler/vm.py:340
 msgid "Waiting for {} seconds before shutting down:"
 msgstr "Warte {} Sekunden vor dem Herunterfahren:"
 
-#: lib/cr_vmware_tpl/handler.py:1079
+#: lib/cr_vmware_tpl/handler/vm.py:361
 msgid "Last actions before powering off VM {!r} ..."
 msgstr "Letzte Aktionen vor dem Ausschalten der VM {!r} …"
 
-#: lib/cr_vmware_tpl/handler.py:1110 lib/cr_vmware_tpl/handler.py:1143
+#: lib/cr_vmware_tpl/handler/vm.py:392 lib/cr_vmware_tpl/handler/vm.py:425
 msgid "Current state of template VM is {!r}"
 msgstr "Der aktuelle Status der Vorlagen-VM ist {!r}"
 
-#: lib/cr_vmware_tpl/handler.py:1112
+#: lib/cr_vmware_tpl/handler/vm.py:394
 msgid "Template VM is already shut off."
 msgstr "Die Vorlagen-VM ist bereits ausgeschaltet."
 
-#: lib/cr_vmware_tpl/handler.py:1117
+#: lib/cr_vmware_tpl/handler/vm.py:399
 msgid "Cannot shut down VM {h!r}, is currently in state {s!r}."
 msgstr "Kann VM {h!r} nicht herunterfahren, sie ist aktuell im Status {s!r}."
 
-#: lib/cr_vmware_tpl/handler.py:1120
+#: lib/cr_vmware_tpl/handler/vm.py:402
 msgid "Powering off VM {!r} per SSH ..."
 msgstr "Schalte VM {!r} per SSH aus …"
 
-#: lib/cr_vmware_tpl/handler.py:1139
+#: lib/cr_vmware_tpl/handler/vm.py:421
 msgid "Waiting for successful shut down of VM ..."
 msgstr "Warte auf Erfolg des Herunterfahrens der VM …"
 
-#: lib/cr_vmware_tpl/handler.py:1167
+#: lib/cr_vmware_tpl/handler/vm.py:449
 msgid "Still waiting for completing shutdown, current state is {!r}."
 msgstr "Warte noch auf Beendigung des Herunterfahrens, aktueller Status is {!r}."
 
-#: lib/cr_vmware_tpl/handler.py:1172
+#: lib/cr_vmware_tpl/handler/vm.py:454
 msgid "Template VM {h!r} was shutting down in {t:0.1f} seconds."
 msgstr "Die Vorlagen-VM {h!r} wurde in {t:0.1f} Sekunden heruntergefahren."
 
-#: lib/cr_vmware_tpl/handler.py:1180
+#: lib/cr_vmware_tpl/handler/vm.py:462
 msgid "VM {h!r} was not shut down after {t:0.1f} seconds, current state is {s!r}."
 msgstr "Die VM {h!r} ist nach {t:0.1f} Sekunden nioch nicht heruntergefahren, aktueller Status is {!r}."
 
-#: lib/cr_vmware_tpl/handler.py:1187
+#: lib/cr_vmware_tpl/handler/vmware.py:53
+msgid "First checking, whether {!r} exists ..."
+msgstr "Überprüfe zuerst, ob {!r} existiert …"
+
+#: lib/cr_vmware_tpl/handler/vmware.py:61
+msgid "Temporary VM {n!r} exists, raising {e}."
+msgstr "Die temporäre VM {n!r} existiert bereits, löse {e} aus."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:70
+msgid "Temporary VM {!r} does not exists, will be created."
+msgstr "Die temporäre VM {!r} existiert noch nicht, sie wird erstellt."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:86
+msgid "Selecting a SAN based datastore with at least {:0.1f} GiB available space."
+msgstr "Wähle ein SAN-basierten Datastore mit mindestens {:0.1f} freien Speicherplatz aus."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:98
+msgid "Got datastore {n!r} as a member of datastore cluster {c!r}."
+msgstr "Erhielt Datastore {n!r} als Mitglied des Datastore-Clusters {c!r}."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:114
+msgid "Using datastore {!r} for volume of temporary VM to create."
+msgstr "Verwende Datastore {!r} für die Disk der temporären VM."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:127
+msgid "Found storage cluster {!r}."
+msgstr "Fand Datastore-Cluster {!r}."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:135
+msgid "Cannot use datastore cluster {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
+msgstr ""
+"Konnte Datastore-Cluster {n!r} nicht verwenden, da der freie Platz von {free:0.1f} GiB weniger "
+"als {min:0.1f} GiB ist."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:144
+msgid "Could not get {c} object with name {n!r}."
+msgstr "Konnte kein {c}-Objekt mit dem Namen {n!r} erhalten."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:161
+msgid "Trying to get a recommendation for a datastore from VSphere storageResourceManager ..."
+msgstr "Versuche eine Empfehlung für einen Datastore vom VSphere storageResourceManager zu erhalten …"
+
+#: lib/cr_vmware_tpl/handler/vmware.py:173
+msgid "Got no recommendation for a datastore from VSphere storageResourceManager: {c} - {e}"
+msgstr "Keine Empfehlung für einen Datastore vom VSphere storageResourceManager erhalten: {c} - {e}"
+
+#: lib/cr_vmware_tpl/handler/vmware.py:223
+msgid "Cannot use datastore {n!r} - not accessible."
+msgstr "Kann Datastore {n!r} nicht verwenden - nicht verfügbar."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:227
+msgid "Cannot use datastore {n!r}, not in cluster {c!r}."
+msgstr "Kann Datastore {n!r} nicht verwenden, da er nicht im Cluster {c!r} liegt."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:231
+msgid "Checking datastore:"
+msgstr "Überprüfe Datastore:"
+
+#: lib/cr_vmware_tpl/handler/vmware.py:234
+msgid "Cannot use datastore {n!r}, is of type {t!r}."
+msgstr "Kann Datastore {n!r} nicht verwenden, da er vom Typ {t!r} ist."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:239
+msgid "Cannot use datastore {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
+msgstr ""
+"Kann Datastore {n!r} nicht verwenden, da der freie Speicherplatz {free:0.1f} GiB weniger als "
+"{min:0.1f} GiB ist."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:247
+msgid "Found {} usable datastores."
+msgstr "Habe {} verwendungsfähige Datastores gefunden."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:249
+msgid "Did not found an usable datastore."
+msgstr "Keinen verwendungsfähigen Datastore gefunden."
+
+#: lib/cr_vmware_tpl/handler/vmware.py:276
+msgid "Defined interface to create:"
+msgstr "Definition des zu erstellenden Interfaces:"
+
+#: lib/cr_vmware_tpl/handler/vmware.py:288
+msgid "VM-Folder object for template VM: {c} - {n!r}"
+msgstr "VM-Ordner-Objekt der temporären VM: {c} - {n!r}"
+
+#: lib/cr_vmware_tpl/handler/vmware.py:300
 msgid "Setting a new, randomized MAC address for template VM ..."
 msgstr "Setze eine neue, randomisierte MAC-Adresse für die Vorlagen-VM …"
 
-#: lib/cr_vmware_tpl/handler.py:1192
+#: lib/cr_vmware_tpl/handler/vmware.py:305
 msgid "New MAC address: {!r}."
 msgstr "Neue MAC-Adresse: {!r}."
 
-#: lib/cr_vmware_tpl/handler.py:1200
+#: lib/cr_vmware_tpl/handler/vmware.py:313
 msgid "Searching for existing templates and rotate them ..."
 msgstr "Suche nach existierenden Vorlagen und rotiere sie …"
 
-#: lib/cr_vmware_tpl/handler.py:1209
+#: lib/cr_vmware_tpl/handler/vmware.py:322
 msgid "Did not found any existing templates."
 msgstr "Keine existierenden Vorlagen gefunden."
 
-#: lib/cr_vmware_tpl/handler.py:1213
+#: lib/cr_vmware_tpl/handler/vmware.py:326
 msgid "Found one existing template."
 msgid_plural "Found {} existing templates."
 msgstr[0] "Habe eine existierende Vorlage gefunden."
 msgstr[1] "Habe {} existierende Vorlagen gefunden."
 
-#: lib/cr_vmware_tpl/handler.py:1232
+#: lib/cr_vmware_tpl/handler/vmware.py:345
 msgid "Found template {n!r}, created: {ts}."
 msgstr "Vorlage {n!r} gefunden, erstellt am: {ts}."
 
-#: lib/cr_vmware_tpl/handler.py:1243
+#: lib/cr_vmware_tpl/handler/vmware.py:356
 msgid "Templates sorted by creation date:"
 msgstr "Vorlagen nach Erstellungsdatum sortiert:"
 
-#: lib/cr_vmware_tpl/handler.py:1253
+#: lib/cr_vmware_tpl/handler/vmware.py:366
 msgid "Templates to remove:"
 msgstr "Zu löschende Vorlagen:"
 
-#: lib/cr_vmware_tpl/handler.py:1255
+#: lib/cr_vmware_tpl/handler/vmware.py:368
 msgid "There are no templates to remove."
 msgstr "Es gibt keine Vorlagen, die gelöscht werden müssen."
 
-#: lib/cr_vmware_tpl/handler.py:1260
+#: lib/cr_vmware_tpl/handler/vmware.py:373
 msgid "Removing template {!r} ..."
 msgstr "Lösche Vorlage {!r} …"
 
-#: lib/cr_vmware_tpl/handler.py:1262
+#: lib/cr_vmware_tpl/handler/vmware.py:375
 msgid "Successful removed template {!r}."
 msgstr "Vorlage {!r} erfolgreich gelöscht."
 
-#: lib/cr_vmware_tpl/handler.py:1276
+#: lib/cr_vmware_tpl/handler/vmware.py:389
 msgid "Renaming template {o!r} => {n!r} ..."
 msgstr "Umbenennen der Vorlage {o!r} => {n!r} …"
 
-#: lib/cr_vmware_tpl/handler.py:1279
+#: lib/cr_vmware_tpl/handler/vmware.py:392
 msgid "Successful renamed template into {!r}."
 msgstr "Vorlage erfolgreich nach {!r} umbenannt."
 
-#: lib/cr_vmware_tpl/handler.py:1289
+#: lib/cr_vmware_tpl/handler/vmware.py:402
 msgid "Renaming VM {o!r} => {n!r} ..."
 msgstr "Umbenennen der VM {o!r} => {n!r} …"
 
-#: lib/cr_vmware_tpl/handler.py:1297
+#: lib/cr_vmware_tpl/handler/vmware.py:410
 msgid "Successful renamed VM into {!r}."
 msgstr "VM erfolgreich nach {!r} umbenannt."
 
-#: lib/cr_vmware_tpl/handler.py:1299
+#: lib/cr_vmware_tpl/handler/vmware.py:412
 msgid "Changing VM {!r} into a VMWare template ..."
 msgstr "Wandle VM {!r} in eine VMWare-Vorlage um …"
 
-#: lib/cr_vmware_tpl/handler.py:1302
+#: lib/cr_vmware_tpl/handler/vmware.py:415
 msgid "Object {!r} is now a VMWare template."
 msgstr "Das Objekt {!r} ist jeztzt eine VMWare-Vorlage."
 
-#: lib/cr_vmware_tpl/handler.py:1308
-msgid "Creating authorized keys of root from LDAP ..."
-msgstr "Erstelle authorized_keys von root aus dem LDAP …"
-
-#: lib/cr_vmware_tpl/handler.py:1314
-msgid "Using temporary file {!r} for authorized keys of root."
-msgstr "Verwende temporäre Datei {!r} für authorized_keys-Datei von root."
-
-#: lib/cr_vmware_tpl/handler.py:1338
-msgid "Generated authorized keys for root:"
-msgstr "Generierte authorized_keys-Datei für root:"
-
-#: lib/cr_vmware_tpl/handler.py:1350
-msgid "No LDAP connection initialized."
-msgstr "Keine LDAP-Verbindung initialisiert."
-
-#: lib/cr_vmware_tpl/handler.py:1359
-msgid "Trying to get a list of all DPX admins with their public SSH keys ..."
-msgstr "Versuche eine Liste aller DPX-Administratoren mit ihren öffentlichen SSH-Schlüsseln zu erhalten …"
-
-#: lib/cr_vmware_tpl/handler.py:1363
-msgid "LDAP search starting in {!r} with filter:"
-msgstr "Die LDAP-Suche startet in {!r} mit dem Filter:"
-
-#: lib/cr_vmware_tpl/handler.py:1372
-msgid "Error retrieving DPX admin list from LDAP:"
-msgstr "Fehler neim Ermitteln der DPX-Administratoren-Liste aus dem LDAP:"
-
-#: lib/cr_vmware_tpl/handler.py:1420
-msgid "Got an admin {cn} <{mail}>."
-msgstr "Erhielt Administrator {cn} <{mail}>."
-
-#: lib/cr_vmware_tpl/handler.py:1423
-msgid "Got an admin:"
-msgstr "Erhielt einen Administrator:"
-
-#: lib/cr_vmware_tpl/handler.py:1429
-msgid "Did not found any admins below base DN {!r} with filter:"
-msgstr "Fand keine Administratoren unterhalb der Basis-DN {!r} mit dem Filter:"
-
 #: lib/cr_vmware_tpl/xlate.py:54
 msgid "Module directory: {!r}"
 msgstr "Modul-Verzeichnis: {!r}"
index 2d3308ef54b0c2ba9ee6f306a4908d629514a695..6416993c39d8d8435b67facb8d2430f22ef2ab0a 100644 (file)
@@ -1,14 +1,14 @@
 # English (United States) translations for create_vm_template.
-# Copyright (C) 2022 Frank Brehm, Pixelpark GmbH, Berlin
+# Copyright (C) 2023 Frank Brehm, Pixelpark GmbH, Berlin
 # This file is distributed under the same license as the create_vm_template project.
-# Frank Brehm <frank.brehm@pixelpark.com>, 2022.
+# Frank Brehm <frank.brehm@pixelpark.com>, 2023.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: create_vm_template 2.6.3\n"
+"Project-Id-Version: create_vm_template 2.8.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2022-08-31 12:59+0200\n"
-"PO-Revision-Date: 2022-08-31 13:05+0200\n"
+"POT-Creation-Date: 2023-10-10 12:16+0200\n"
+"PO-Revision-Date: 2023-10-10 12:20+0200\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: en_US\n"
 "Language-Team: en_US <frank.brehm@pixelpark.com>\n"
@@ -16,1062 +16,1125 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.10.3\n"
+"Generated-By: Babel 2.13.0\n"
 
-#: lib/cr_vmware_tpl/app.py:69
+#: lib/cr_vmware_tpl/app.py:63
 msgid "Value must be at least 1, {} was given."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:73
+#: lib/cr_vmware_tpl/app.py:67
 msgid "Value must be at most {m} - {v} was given."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:98
+#: lib/cr_vmware_tpl/app.py:92
 msgid "File {!r} does not exists."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:101
+#: lib/cr_vmware_tpl/app.py:95
 msgid "File {!r} is not a regular file."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:122
+#: lib/cr_vmware_tpl/app.py:118
 msgid ""
 "Creates in the given VSphere environment and cluster a template object, which can be used to "
 "spawn different virtual machines."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:240
+#: lib/cr_vmware_tpl/app.py:238
 msgid "Enter password for host {h!r} and user {u!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:268
+#: lib/cr_vmware_tpl/app.py:266
 msgid "Abort creation of VMWare template after successsful creation of template VM."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:272
+#: lib/cr_vmware_tpl/app.py:270
 msgid "VMWare options"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:276
+#: lib/cr_vmware_tpl/app.py:274
 msgid "Remote VSphere host to connect to (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:282
+#: lib/cr_vmware_tpl/app.py:280
 msgid "Port on VSphere host to connect on (Default: {})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:287
+#: lib/cr_vmware_tpl/app.py:285
 msgid "USER"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:288
+#: lib/cr_vmware_tpl/app.py:286
 msgid "User name to use when connecting to VSphere host (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:293
+#: lib/cr_vmware_tpl/app.py:291
 msgid "PASSWORD"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:294
+#: lib/cr_vmware_tpl/app.py:292
 msgid "Password to use when connecting to VSphere host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:298
+#: lib/cr_vmware_tpl/app.py:296
 msgid "FOLDER"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:299
+#: lib/cr_vmware_tpl/app.py:297
 msgid "VM folder in VSphere, where to create the template (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:305
+#: lib/cr_vmware_tpl/app.py:303
 msgid "Host cluster in VSphere, where to create the template (Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:312
+#: lib/cr_vmware_tpl/app.py:310
 msgid "The abbreviation for the operating system (e.g. 'oel7' or 'centos8', Default: {!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:322
+#: lib/cr_vmware_tpl/app.py:320
 msgid "Maximum number of templates to stay in templates folder (1 <= x < {max_nr}, Default: {def_nr})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:329
+#: lib/cr_vmware_tpl/app.py:327
 msgid "Execute rotation of existing templates only, don't create a new one."
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:336
+#: lib/cr_vmware_tpl/app.py:334
 msgid "Got command line arguments:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/app.py:375
+#: lib/cr_vmware_tpl/app.py:382
+msgid "Using VSphere config:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/app.py:392
 msgid "Starting {a!r}, version {v!r} ..."
 msgstr "Starting {a!r}, version {v!r} …"
 
-#: lib/cr_vmware_tpl/app.py:383
+#: lib/cr_vmware_tpl/app.py:400
 msgid "Temporary VM"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:80 lib/cr_vmware_tpl/handler.py:131 lib/cr_vmware_tpl/handler.py:308
+#: lib/cr_vmware_tpl/cobbler/__init__.py:66 lib/cr_vmware_tpl/handler/__init__.py:82
+#: lib/cr_vmware_tpl/handler/__init__.py:200
 msgid "{w} is not an instance of {c}, but an instance of {i} instead."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:141
+#: lib/cr_vmware_tpl/cobbler/__init__.py:127
 msgid "Command {c!r} is neither an Array nor a String, but a {t!r} instead."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:161 lib/cr_vmware_tpl/cobbler.py:222 lib/cr_vmware_tpl/handler.py:904
+#: lib/cr_vmware_tpl/cobbler/__init__.py:147 lib/cr_vmware_tpl/cobbler/files.py:49
+#: lib/cr_vmware_tpl/handler/vm.py:186
 msgid "Initializing {} ..."
 msgstr "Initializing {} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:164 lib/cr_vmware_tpl/cobbler.py:225 lib/cr_vmware_tpl/handler.py:906
+#: lib/cr_vmware_tpl/cobbler/__init__.py:150 lib/cr_vmware_tpl/cobbler/files.py:52
+#: lib/cr_vmware_tpl/handler/vm.py:188
 msgid "Loading SSH system host keys."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:167 lib/cr_vmware_tpl/cobbler.py:228 lib/cr_vmware_tpl/handler.py:908
+#: lib/cr_vmware_tpl/cobbler/__init__.py:153 lib/cr_vmware_tpl/cobbler/files.py:55
+#: lib/cr_vmware_tpl/handler/vm.py:190
 msgid "Setting SSH missing host key policy to {}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:173 lib/cr_vmware_tpl/cobbler.py:232 lib/cr_vmware_tpl/handler.py:912
+#: lib/cr_vmware_tpl/cobbler/__init__.py:159 lib/cr_vmware_tpl/cobbler/files.py:59
+#: lib/cr_vmware_tpl/handler/vm.py:194
 msgid "Connecting to {h!r}, port {p} as {u!r} per SSH ..."
 msgstr "Connecting to {h!r}, port {p} as {u!r} per SSH …"
 
-#: lib/cr_vmware_tpl/cobbler.py:180
+#: lib/cr_vmware_tpl/cobbler/__init__.py:166
 msgid "Executing: {!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:191
+#: lib/cr_vmware_tpl/cobbler/__init__.py:177
 msgid "No output."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:193 lib/cr_vmware_tpl/cobbler.py:195 lib/cr_vmware_tpl/cobbler.py:1038
-#: lib/cr_vmware_tpl/cobbler.py:1041 lib/cr_vmware_tpl/handler.py:927
-#: lib/cr_vmware_tpl/handler.py:1044 lib/cr_vmware_tpl/handler.py:1051
-#: lib/cr_vmware_tpl/handler.py:1124 lib/cr_vmware_tpl/handler.py:1131
+#: lib/cr_vmware_tpl/cobbler/__init__.py:179 lib/cr_vmware_tpl/cobbler/__init__.py:181
+#: lib/cr_vmware_tpl/cobbler/__init__.py:271 lib/cr_vmware_tpl/cobbler/__init__.py:274
+#: lib/cr_vmware_tpl/handler/vm.py:209 lib/cr_vmware_tpl/handler/vm.py:326
+#: lib/cr_vmware_tpl/handler/vm.py:333 lib/cr_vmware_tpl/handler/vm.py:406
+#: lib/cr_vmware_tpl/handler/vm.py:413
 msgid "Output on {}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:200 lib/cr_vmware_tpl/cobbler.py:257
+#: lib/cr_vmware_tpl/cobbler/__init__.py:186 lib/cr_vmware_tpl/cobbler/files.py:82
 msgid "Could not connect via {w} to {user}@{host}: {e}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:207 lib/cr_vmware_tpl/cobbler.py:265 lib/cr_vmware_tpl/handler.py:932
+#: lib/cr_vmware_tpl/cobbler/__init__.py:193 lib/cr_vmware_tpl/cobbler/files.py:90
+#: lib/cr_vmware_tpl/handler/vm.py:214
 msgid "Closing SSH connection."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:211 lib/cr_vmware_tpl/cobbler.py:784
+#: lib/cr_vmware_tpl/cobbler/__init__.py:197 lib/cr_vmware_tpl/cobbler/profile.py:381
 msgid "Completed SSH process:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:237
-msgid "Simulating SCP of {local!r} to {user}@{host}:{remote} ..."
-msgstr "Simulating SCP of {local!r} to {user}@{host}:{remote} …"
-
-#: lib/cr_vmware_tpl/cobbler.py:250
-msgid "SCP of {local!r} to {user}@{host}:{remote} ..."
-msgstr "SCP of {local!r} to {user}@{host}:{remote} …"
-
-#: lib/cr_vmware_tpl/cobbler.py:275 lib/cr_vmware_tpl/cobbler.py:357 lib/cr_vmware_tpl/cobbler.py:495
-#: lib/cr_vmware_tpl/cobbler.py:720 lib/cr_vmware_tpl/cobbler.py:787 lib/cr_vmware_tpl/cobbler.py:982
-#: lib/cr_vmware_tpl/cobbler.py:1007 lib/cr_vmware_tpl/cobbler.py:1028
+#: lib/cr_vmware_tpl/cobbler/__init__.py:207 lib/cr_vmware_tpl/cobbler/__init__.py:261
+#: lib/cr_vmware_tpl/cobbler/files.py:147 lib/cr_vmware_tpl/cobbler/files.py:218
+#: lib/cr_vmware_tpl/cobbler/profile.py:188 lib/cr_vmware_tpl/cobbler/profile.py:384
+#: lib/cr_vmware_tpl/cobbler/system.py:113 lib/cr_vmware_tpl/cobbler/system.py:138
 msgid "No error message"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:280
+#: lib/cr_vmware_tpl/cobbler/__init__.py:212
 msgid "Could not get version of cobbler: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:287
+#: lib/cr_vmware_tpl/cobbler/__init__.py:219
 msgid "Version of {} is:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:290 lib/cr_vmware_tpl/config.py:928
+#: lib/cr_vmware_tpl/cobbler/__init__.py:222 lib/cr_vmware_tpl/config/__init__.py:263
 msgid "Unsupported version {ver!r} of {co}, valid versions of {co} are {valid}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:296 lib/cr_vmware_tpl/config.py:1518
+#: lib/cr_vmware_tpl/cobbler/__init__.py:228 lib/cr_vmware_tpl/config/cobbler.py:134
 msgid "Cobbler root directory"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:307
-msgid "Checking existence of remote directory {!r} ..."
-msgstr "Checking existence of remote directory {!r} …"
-
-#: lib/cr_vmware_tpl/cobbler.py:319 lib/cr_vmware_tpl/cobbler.py:354
-msgid "Remote directory"
-msgstr ""
+#: lib/cr_vmware_tpl/cobbler/__init__.py:258
+msgid "Executing cobbler sync ..."
+msgstr "Executing cobbler sync {} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:322
-msgid "{dsc} {rdir!r} on host {host!r} does not exists or is not a directory."
+#: lib/cr_vmware_tpl/cobbler/__init__.py:266
+msgid "Could syncing cobbler: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:331
-msgid "Ensuring existence of remote directory {!r} ..."
-msgstr "Ensuring existence of remote directory {!r} …"
+#: lib/cr_vmware_tpl/cobbler/__init__.py:280 lib/cr_vmware_tpl/cobbler/__init__.py:318
+msgid "Trying to get IP of MAC address {!r} given by DHCP ..."
+msgstr "Trying to get IP of MAC address {!r} given by DHCP …"
 
-#: lib/cr_vmware_tpl/cobbler.py:352
-msgid "Output:"
+#: lib/cr_vmware_tpl/cobbler/__init__.py:296 lib/cr_vmware_tpl/cobbler/__init__.py:336
+msgid "Found invalid IP address {ip!r} in leases file: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:362
-msgid "{dsc} {rdir!r} on host {host!r} could not be created: {err}"
+#: lib/cr_vmware_tpl/cobbler/__init__.py:309 lib/cr_vmware_tpl/cobbler/__init__.py:354
+msgid "Found DHCP IP assignments:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:379
+#: lib/cr_vmware_tpl/cobbler/distro.py:46
 msgid "Sorted list of found distros:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:395
+#: lib/cr_vmware_tpl/cobbler/distro.py:62
 msgid "Sorted list of found repositories:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:403
+#: lib/cr_vmware_tpl/cobbler/distro.py:70
 msgid "Checking existence of repos for distro {!r}."
 msgstr "Checking existence of repos for distro {!r}."
 
-#: lib/cr_vmware_tpl/cobbler.py:408
+#: lib/cr_vmware_tpl/cobbler/distro.py:75
 msgid "Repo {r!r} for distro {d!r} not found on cobbler server."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:413
+#: lib/cr_vmware_tpl/cobbler/distro.py:80
 msgid "Found repo {r!r} for distro {d!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:430
-msgid "Sorted list of found profiles:"
+#: lib/cr_vmware_tpl/cobbler/files.py:63
+msgid "Simulating SCP of {local!r} to {user}@{host}:{remote} ..."
+msgstr "Simulating SCP of {local!r} to {user}@{host}:{remote} …"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:75
+msgid "SCP of {local!r} to {user}@{host}:{remote} ..."
+msgstr "SCP of {local!r} to {user}@{host}:{remote} …"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:97
+msgid "Checking existence of remote directory {!r} ..."
+msgstr "Checking existence of remote directory {!r} …"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:109 lib/cr_vmware_tpl/cobbler/files.py:144
+msgid "Remote directory"
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:112
+msgid "{dsc} {rdir!r} on host {host!r} does not exists or is not a directory."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:440
+#: lib/cr_vmware_tpl/cobbler/files.py:121
+msgid "Ensuring existence of remote directory {!r} ..."
+msgstr "Ensuring existence of remote directory {!r} …"
+
+#: lib/cr_vmware_tpl/cobbler/files.py:142
+msgid "Output:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:152
+msgid "{dsc} {rdir!r} on host {host!r} could not be created: {err}"
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:163
 msgid "Checking remote file {rfile!r} based on local {lfile!r} ..."
 msgstr "Checking remote file {rfile!r} based on local {lfile!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:445
+#: lib/cr_vmware_tpl/cobbler/files.py:168
 msgid "Local file {!r} either not exists or is not a regular file."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:451
+#: lib/cr_vmware_tpl/cobbler/files.py:174
 msgid "{typ} sum of {ks!r} is: {dig}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:470
+#: lib/cr_vmware_tpl/cobbler/files.py:193
 msgid "Remote file {!r} has the correct content."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:474
+#: lib/cr_vmware_tpl/cobbler/files.py:197
 msgid "File {!r} has to be copied."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:482
+#: lib/cr_vmware_tpl/cobbler/files.py:205
 msgid "Getting content of remote file {!r} ..."
 msgstr "Getting content of remote file {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:500
+#: lib/cr_vmware_tpl/cobbler/files.py:223
 msgid "Error getting content of {rfile!r} on host {host!r} - returncode was {rc}: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:527
+#: lib/cr_vmware_tpl/cobbler/files.py:250
 msgid "Ensuring currentness of rsyslog config files ..."
 msgstr "Ensuring currentness of rsyslog config files …"
 
-#: lib/cr_vmware_tpl/cobbler.py:533 lib/cr_vmware_tpl/cobbler.py:848 lib/cr_vmware_tpl/cobbler.py:867
-#: lib/cr_vmware_tpl/cobbler.py:886 lib/cr_vmware_tpl/cobbler.py:906 lib/cr_vmware_tpl/cobbler.py:923
+#: lib/cr_vmware_tpl/cobbler/files.py:256 lib/cr_vmware_tpl/cobbler/files.py:274
+#: lib/cr_vmware_tpl/cobbler/files.py:293 lib/cr_vmware_tpl/cobbler/files.py:312
+#: lib/cr_vmware_tpl/cobbler/files.py:332 lib/cr_vmware_tpl/cobbler/files.py:349
 msgid "Ensuring {loc!r} => {rem!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:546
+#: lib/cr_vmware_tpl/cobbler/files.py:268
+msgid "Ensuring currentness of snippets below {!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:287
+msgid "Ensuring currentness of bashrc files."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:306
+msgid "Ensuring currentness of vimrc files."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:325
+msgid "Ensuring currentness of logrotate files."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:346
+msgid "Ensuring currentness of create-motd.sh."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:367
+msgid "Ensuring currentness of authorized_keys file of root {!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:382
+msgid "Ensuring currentness of repo files below {!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:388
+msgid "Local path {!r} is not a directory."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:392
+msgid "Ensuring repo files for {}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:399
+msgid "Finished with repo files."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:409
+msgid "Ensuring currentness of postfix files below {!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:418
+msgid "Finished with postfix files."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:426
+msgid "Webroot directory"
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/files.py:427
+msgid "Ensuring existence of {what} {dir!r}..."
+msgstr "Ensuring existence of {what} {dir!r} …"
+
+#: lib/cr_vmware_tpl/cobbler/profile.py:57
+msgid "Sorted list of found profiles:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/profile.py:65
+msgid "Using {!r} as a template for the kickstart file."
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/profile.py:72
 msgid "Using temporary kickstart file {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:560 lib/cr_vmware_tpl/cobbler.py:827
+#: lib/cr_vmware_tpl/cobbler/profile.py:86 lib/cr_vmware_tpl/cobbler/system.py:51
 msgid "Generated kickstart file content:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:565
+#: lib/cr_vmware_tpl/cobbler/profile.py:91
 msgid "Ensuring currentness of profile kickstart script {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:570 lib/cr_vmware_tpl/handler.py:297 lib/cr_vmware_tpl/handler.py:339
-#: lib/cr_vmware_tpl/handler.py:364
+#: lib/cr_vmware_tpl/cobbler/profile.py:96 lib/cr_vmware_tpl/handler/__init__.py:189
+#: lib/cr_vmware_tpl/handler/__init__.py:231 lib/cr_vmware_tpl/handler/__init__.py:259
 msgid "Removing {!r} ..."
 msgstr "Removing {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:580
+#: lib/cr_vmware_tpl/cobbler/profile.py:106
 msgid "Ensuring profile {!r} ..."
 msgstr "Ensuring profile {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:599
+#: lib/cr_vmware_tpl/cobbler/profile.py:125
 msgid "Checking existing profile {!r} ..."
 msgstr "Checking existing profile {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:604
+#: lib/cr_vmware_tpl/cobbler/profile.py:130
 msgid "Got profile variables:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:626
+#: lib/cr_vmware_tpl/cobbler/profile.py:152
 msgid "Got {what} on reading and parsing of profile {p!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:646
+#: lib/cr_vmware_tpl/cobbler/profile.py:171
 msgid "Checking existing profile {n!r} ({d}) ..."
 msgstr "Checking existing profile {n!r} ({d}) …"
 
-#: lib/cr_vmware_tpl/cobbler.py:663
+#: lib/cr_vmware_tpl/cobbler/profile.py:176
+msgid "No need for changing profile {!r}"
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/profile.py:193
+msgid "Error editing a cobbler profile - returncode was {rc}: {err}"
+msgstr ""
+
+#: lib/cr_vmware_tpl/cobbler/profile.py:214
 msgid "Checking for distro:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:684
+#: lib/cr_vmware_tpl/cobbler/profile.py:230
 msgid "Checking for repos:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:695
+#: lib/cr_vmware_tpl/cobbler/profile.py:241
 msgid "Checking for nameservers:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:702
+#: lib/cr_vmware_tpl/cobbler/profile.py:248
 msgid "Checking for DNS search domains:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:712
-msgid "No need for changing profile {!r}"
+#: lib/cr_vmware_tpl/cobbler/profile.py:268
+msgid "Arguments for editing the profile:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:725
-msgid "Error editing a cobbler profile - returncode was {rc}: {err}"
+#: lib/cr_vmware_tpl/cobbler/profile.py:284 lib/cr_vmware_tpl/cobbler/profile.py:289
+#: lib/cr_vmware_tpl/cobbler/profile.py:294 lib/cr_vmware_tpl/cobbler/profile.py:299
+#: lib/cr_vmware_tpl/cobbler/profile.py:303
+msgid "Profile ks_meta {!r} is not ok."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:735
+#: lib/cr_vmware_tpl/cobbler/profile.py:314
 msgid "Creating new profile {!r} ..."
 msgstr "Creating new profile {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:792
+#: lib/cr_vmware_tpl/cobbler/profile.py:389
 msgid "Error creating a cobbler profile - returncode was {rc}: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:797
+#: lib/cr_vmware_tpl/cobbler/profile.py:394
 msgid "There was an error message on creating profile {!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:807
+#: lib/cr_vmware_tpl/cobbler/profile.py:404
 msgid "Did not found profile {!r} after trying creation."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:817
+#: lib/cr_vmware_tpl/cobbler/system.py:41
 msgid "Ensuring currentness of system kickstart script {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:842
-msgid "Ensuring currentness of snippets below {!r}."
-msgstr ""
-
-#: lib/cr_vmware_tpl/cobbler.py:861
-msgid "Ensuring currentness of bashrc files."
-msgstr ""
-
-#: lib/cr_vmware_tpl/cobbler.py:880
-msgid "Ensuring currentness of vimrc files."
-msgstr ""
-
-#: lib/cr_vmware_tpl/cobbler.py:899
-msgid "Ensuring currentness of logrotate files."
-msgstr ""
-
-#: lib/cr_vmware_tpl/cobbler.py:920
-msgid "Ensuring currentness of create-motd.sh."
-msgstr ""
-
-#: lib/cr_vmware_tpl/cobbler.py:936
+#: lib/cr_vmware_tpl/cobbler/system.py:67
 msgid "Creating new system {!r} ..."
 msgstr "Creating new system {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:987
+#: lib/cr_vmware_tpl/cobbler/system.py:118
 msgid "Error creating a cobbler system - returncode was {rc}: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:997
+#: lib/cr_vmware_tpl/cobbler/system.py:128
 msgid "Removing system {!r} ..."
 msgstr "Removing system {!r} …"
 
-#: lib/cr_vmware_tpl/cobbler.py:1012
+#: lib/cr_vmware_tpl/cobbler/system.py:143
 msgid "Error removing the cobbler system {n!r} - returncode was {rc}: {err}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1025
-msgid "Executing cobbler sync ..."
-msgstr "Executing cobbler sync {} …"
+#: lib/cr_vmware_tpl/config/__init__.py:226
+msgid "Used config filename stems:"
+msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1033
-msgid "Could syncing cobbler: {}"
+#: lib/cr_vmware_tpl/config/__init__.py:229
+msgid "Additional config file: '{}'."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1055
-msgid "Ensuring currentness of authorized_keys file of root {!r}."
+#: lib/cr_vmware_tpl/config/__init__.py:231
+msgid "Collected config files:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1070
-msgid "Ensuring currentness of repo files below {!r}."
+#: lib/cr_vmware_tpl/config/__init__.py:396
+msgid "Evaluating configuration ..."
+msgstr "Evaluating configuration …"
+
+#: lib/cr_vmware_tpl/config/__init__.py:401
+msgid "Checking for unconfigured options ..."
+msgstr "Checking for unconfigured options …"
+
+#: lib/cr_vmware_tpl/config/__init__.py:432
+msgid "Evaluating section {!r} ..."
+msgstr "Evaluating section {!r} …"
+
+#: lib/cr_vmware_tpl/config/__init__.py:434
+msgid "Content of section:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1076
-msgid "Local path {!r} is not a directory."
+#: lib/cr_vmware_tpl/config/__init__.py:478
+msgid "Unhandled configuration section {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1080
-msgid "Ensuring repo files for {}."
+#: lib/cr_vmware_tpl/config/__init__.py:486
+msgid "Given method {!r} is not a valid crypt method."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1087
-msgid "Finished with repo files."
+#: lib/cr_vmware_tpl/config/__init__.py:498
+msgid "Hashed root password: {!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1097
-msgid "Ensuring currentness of postfix files below {!r}."
+#: lib/cr_vmware_tpl/config/__init__.py:505
+msgid "Stripping no more necessary stuff from configuration ..."
+msgstr "Stripping no more necessary stuff from configuration .…"
+
+#: lib/cr_vmware_tpl/config/__init__.py:508 lib/cr_vmware_tpl/config/__init__.py:513
+#: lib/cr_vmware_tpl/config/__init__.py:518 lib/cr_vmware_tpl/config/__init__.py:522
+#: lib/cr_vmware_tpl/config/__init__.py:526
+msgid "Stripping {!r} ..."
+msgstr "Stripping {!r} …"
+
+#: lib/cr_vmware_tpl/config/cobbler.py:43
+msgid "Verifying cobbler distros ..."
+msgstr "Verifying cobbler distros …"
+
+#: lib/cr_vmware_tpl/config/cobbler.py:46
+msgid "Did not found configured Cobbler distros."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1106
-msgid "Finished with postfix files."
+#: lib/cr_vmware_tpl/config/cobbler.py:53
+msgid "Did not found distro of configured Cobbler distro {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1113 lib/cr_vmware_tpl/cobbler.py:1151
-msgid "Trying to get IP of MAC address {!r} given by DHCP ..."
-msgstr "Trying to get IP of MAC address {!r} given by DHCP …"
+#: lib/cr_vmware_tpl/config/cobbler.py:58
+msgid "Did not found the base install repo URL of configured Cobbler distro {!r}."
+msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1129 lib/cr_vmware_tpl/cobbler.py:1169
-msgid "Found invalid IP address {ip!r} in leases file: {err}"
+#: lib/cr_vmware_tpl/config/cobbler.py:64
+msgid "Did not found repo definitions for configured Cobbler distro {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1142 lib/cr_vmware_tpl/cobbler.py:1187
-msgid "Found DHCP IP assignments:"
+#: lib/cr_vmware_tpl/config/cobbler.py:72
+msgid "Searching for distro with ID {!r} ..."
+msgstr "Searching for distro with ID {!r} …"
+
+#: lib/cr_vmware_tpl/config/cobbler.py:75
+msgid "Did not found distro {!r} in configured Cobbler distros."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1196
-msgid "Webroot directory"
+#: lib/cr_vmware_tpl/config/cobbler.py:81
+msgid "Using OS {os!r} with cobbler distro {di!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/cobbler.py:1197
-msgid "Ensuring existence of {what} {dir!r}..."
-msgstr "Ensuring existence of {what} {dir!r} …"
+#: lib/cr_vmware_tpl/config/cobbler.py:88 lib/cr_vmware_tpl/config/cobbler.py:182
+#: lib/cr_vmware_tpl/config/cobbler.py:206 lib/cr_vmware_tpl/config/eval.py:125
+#: lib/cr_vmware_tpl/config/eval.py:186 lib/cr_vmware_tpl/config/timeouts.py:68
+msgid "Checking config section {!r} ..."
+msgstr "Checking config section {!r} …"
 
-#: lib/cr_vmware_tpl/config.py:169
-msgid "Invalid port {!r} for LDAP server given."
+#: lib/cr_vmware_tpl/config/cobbler.py:133 lib/cr_vmware_tpl/config/cobbler.py:158
+msgid "Path for {what} {path!r} is not absolute."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:182
-msgid "An empty Base DN for LDAP searches is not allowed."
+#: lib/cr_vmware_tpl/config/cobbler.py:159
+msgid "Webserver document root"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:288
-msgid "Invalid value {val!r} in section {sec!r} for a LDAP {what}."
+#: lib/cr_vmware_tpl/config/cobbler.py:170
+msgid "The value of {what!r} must be one of {valid!r}, but found {val!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:341
-msgid "Unknown LDAP configuration key {key} found in section {sec!r}."
+#: lib/cr_vmware_tpl/config/cobbler.py:189
+msgid "Found Cobbler repository {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:386 lib/cr_vmware_tpl/config.py:394 lib/cr_vmware_tpl/config.py:403
+#: lib/cr_vmware_tpl/config/cobbler.py:200
+msgid "Evaluated Cobbler repositories:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/config/distro.py:72 lib/cr_vmware_tpl/config/distro.py:80
+#: lib/cr_vmware_tpl/config/distro.py:89
 msgid "The given parameter {p!r} must be sequential type (given: {v!r})."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:417
+#: lib/cr_vmware_tpl/config/distro.py:103
 msgid "The name of a Cobbler distro may not be empty."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:476
+#: lib/cr_vmware_tpl/config/distro.py:162
 msgid "Invalid architecture {a!r} for distro {n!r} given. Valid architectures are {v}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:629
+#: lib/cr_vmware_tpl/config/distro.py:362
 msgid ""
 "Found unknown config parameter {p!r} with value {v!r} in configuration of the Cobbler repository"
 " {r!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:634
+#: lib/cr_vmware_tpl/config/distro.py:367
 msgid "Found Cobbler repository configuration:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1053
-msgid "Checking for unconfigured options ..."
-msgstr "Checking for unconfigured options …"
-
-#: lib/cr_vmware_tpl/config.py:1083
+#: lib/cr_vmware_tpl/config/eval.py:48
 msgid "File {!r} not found on current host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1088
+#: lib/cr_vmware_tpl/config/eval.py:53
 msgid "Path {!r} is not a regular file."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1093
+#: lib/cr_vmware_tpl/config/eval.py:58
 msgid "File {!r} is not readable."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1097
+#: lib/cr_vmware_tpl/config/eval.py:62
 msgid "Evaluating {!r} for nameservers."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1110
+#: lib/cr_vmware_tpl/config/eval.py:75
 msgid "Found invalid IP address {addr!r} as a nameserver in {file!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1116
+#: lib/cr_vmware_tpl/config/eval.py:81
 msgid "Found nameservers in {!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1129
-msgid "Verifying cobbler distros ..."
-msgstr "Verifying cobbler distros …"
-
-#: lib/cr_vmware_tpl/config.py:1132
-msgid "Did not found configured Cobbler distros."
-msgstr ""
-
-#: lib/cr_vmware_tpl/config.py:1139
-msgid "Did not found distro of configured Cobbler distro {!r}."
-msgstr ""
-
-#: lib/cr_vmware_tpl/config.py:1144
-msgid "Did not found the base install repo URL of configured Cobbler distro {!r}."
-msgstr ""
-
-#: lib/cr_vmware_tpl/config.py:1150
-msgid "Did not found repo definitions for configured Cobbler distro {!r}."
-msgstr ""
-
-#: lib/cr_vmware_tpl/config.py:1159
-msgid "Did not found distro {!r} in configured Cobbler distros."
+#: lib/cr_vmware_tpl/config/eval.py:95
+msgid "Value {!r} for a timeout is invalid."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1165
-msgid "Using OS {os!r} with cobbler distro {di!r}."
+#: lib/cr_vmware_tpl/config/eval.py:157
+msgid "Value {val} for {p} is less than {minval}, using {default}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1177
-msgid "Evaluating section {!r} ..."
-msgstr "Evaluating section {!r} …"
-
-#: lib/cr_vmware_tpl/config.py:1179
-msgid "Content of section:"
+#: lib/cr_vmware_tpl/config/eval.py:162
+msgid "Value {val} for {p} is greater than {maxval}, using {default}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1223
-msgid "Unhandled configuration section {!r}."
+#: lib/cr_vmware_tpl/config/ldap.py:144
+msgid "Invalid port {!r} for LDAP server given."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1229
-msgid "Value {!r} for a timeout is invalid."
+#: lib/cr_vmware_tpl/config/ldap.py:157
+msgid "An empty Base DN for LDAP searches is not allowed."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1259 lib/cr_vmware_tpl/config.py:1320 lib/cr_vmware_tpl/config.py:1419
-#: lib/cr_vmware_tpl/config.py:1472 lib/cr_vmware_tpl/config.py:1566 lib/cr_vmware_tpl/config.py:1601
-msgid "Checking config section {!r} ..."
-msgstr "Checking config section {!r} …"
-
-#: lib/cr_vmware_tpl/config.py:1291
-msgid "Value {val} for {p} is less than {minval}, using {default}."
+#: lib/cr_vmware_tpl/config/ldap.py:263
+msgid "Invalid value {val!r} in section {sec!r} for a LDAP {what}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1296
-msgid "Value {val} for {p} is greater than {maxval}, using {default}."
+#: lib/cr_vmware_tpl/config/ldap.py:319
+msgid "Unknown LDAP configuration key {key} found in section {sec!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1387
+#: lib/cr_vmware_tpl/config/timeouts.py:36
 msgid "Checking value {v!r} for {p} ..."
 msgstr "Checking value {v!r} for {p} …"
 
-#: lib/cr_vmware_tpl/config.py:1389
+#: lib/cr_vmware_tpl/config/timeouts.py:38
 msgid "Minimal value: {min_val}, maximum value: {max_val}, default value: {def_val}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1397
+#: lib/cr_vmware_tpl/config/timeouts.py:46
 msgid "Value {val} for {prop} is less than {min_val}, using {def_val} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1404
+#: lib/cr_vmware_tpl/config/timeouts.py:53
 msgid "Value {val} for {prop} is greater than {max_val}, using {def_val} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1411
+#: lib/cr_vmware_tpl/config/timeouts.py:60
 msgid "Setting timeout {p!r} to {v:0.1f} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/config.py:1517 lib/cr_vmware_tpl/config.py:1542
-msgid "Path for {what} {path!r} is not absolute."
-msgstr ""
-
-#: lib/cr_vmware_tpl/config.py:1543
-msgid "Webserver document root"
-msgstr ""
-
-#: lib/cr_vmware_tpl/config.py:1554
-msgid "The value of {what!r} must be one of {valid!r}, but found {val!r}."
-msgstr ""
-
-#: lib/cr_vmware_tpl/config.py:1581
-msgid "Given method {!r} is not a valid crypt method."
-msgstr ""
-
-#: lib/cr_vmware_tpl/config.py:1593
-msgid "Hashed root password: {!r}"
-msgstr ""
-
-#: lib/cr_vmware_tpl/config.py:1608
-msgid "Found Cobbler repository {!r}."
-msgstr ""
-
-#: lib/cr_vmware_tpl/config.py:1619
-msgid "Evaluated Cobbler repositories:"
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:65
+#: lib/cr_vmware_tpl/errors.py:28
 msgid "Could not find a datastore of {size:0.1f} GiB size in datastore cluster {c_name!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:82
+#: lib/cr_vmware_tpl/errors.py:71
 msgid "The temporary VM {!r} is already existing, cannot continue."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:102
+#: lib/cr_vmware_tpl/errors.py:91
 msgid "Could not find a datastore of {:0.1f} GiB size."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:177
+#: lib/cr_vmware_tpl/handler/__init__.py:128
 msgid "No ID for Operating system defined, please check the configuration."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:249
-msgid "Connecting to LDAP server {!r} ..."
-msgstr "Connecting to LDAP server {!r} …"
-
-#: lib/cr_vmware_tpl/handler.py:252
-msgid "Connect options to LDAP server {!r}:"
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:267
-msgid "Info about LDAP server {}:"
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:281
-msgid "Unbinding from LDAP server {} ..."
-msgstr "Unbinding from LDAP server {} …"
-
-#: lib/cr_vmware_tpl/handler.py:286
-msgid "Disconnecting from LDAP server {} ..."
-msgstr "Disconnecting from LDAP server {} …"
-
-#: lib/cr_vmware_tpl/handler.py:305
+#: lib/cr_vmware_tpl/handler/__init__.py:197
 msgid "{}-object not initialized."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:325
+#: lib/cr_vmware_tpl/handler/__init__.py:217
 msgid "Got a {n}: {e}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:332
+#: lib/cr_vmware_tpl/handler/__init__.py:224
 msgid "Closing ..."
 msgstr "Closing …"
 
-#: lib/cr_vmware_tpl/handler.py:348
+#: lib/cr_vmware_tpl/handler/__init__.py:240
 msgid "Current configuration:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:350
+#: lib/cr_vmware_tpl/handler/__init__.py:242
+msgid "Current distribution:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/__init__.py:244
 msgid "Starting handling ..."
 msgstr "Starting handling …"
 
-#: lib/cr_vmware_tpl/handler.py:382
+#: lib/cr_vmware_tpl/handler/__init__.py:277
 msgid "Found VSphere cluster {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:384
+#: lib/cr_vmware_tpl/handler/__init__.py:279
 msgid "Could not find VSphere cluster {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:389
+#: lib/cr_vmware_tpl/handler/__init__.py:284
 msgid "Network {n!r} not available in cluster {c!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:405
+#: lib/cr_vmware_tpl/handler/__init__.py:300
 msgid "Only executing of template rotating."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:410
+#: lib/cr_vmware_tpl/handler/__init__.py:305
 msgid "Created VM as {cls}: {vm!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:415
+#: lib/cr_vmware_tpl/handler/__init__.py:310
 msgid "Found Ethernet card as {}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:418
+#: lib/cr_vmware_tpl/handler/__init__.py:313
 msgid "Found Ethernet card:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:421
+#: lib/cr_vmware_tpl/handler/__init__.py:316
 msgid "Did not found MAC address of ethernet card."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:425
+#: lib/cr_vmware_tpl/handler/__init__.py:320
 msgid "Simulation mode - VM not created in real."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:428
+#: lib/cr_vmware_tpl/handler/__init__.py:323
 msgid "Could not find VM after creating."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:430
+#: lib/cr_vmware_tpl/handler/__init__.py:325
 msgid "Using MAC address of template VM: {!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:444
+#: lib/cr_vmware_tpl/handler/__init__.py:339
 msgid "Aborting after creation of template VM."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:445
+#: lib/cr_vmware_tpl/handler/__init__.py:340
 msgid "You are responsible yourself to cleaning up the VM!!!"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:464
-msgid "Checking, whether distro {!r} is available on the cobbler host."
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:470
-msgid "Did not found distro {!r} on the cobbler host."
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:474
-msgid "Distro {!r} is available on the cobbler host."
-msgstr ""
+#: lib/cr_vmware_tpl/handler/__init__.py:360
+msgid "Creating authorized keys of root from LDAP ..."
+msgstr "Creating authorized keys of root from LDAP …"
 
-#: lib/cr_vmware_tpl/handler.py:479
-msgid "Not all repos for distro {!r} were found on Cobbler server."
+#: lib/cr_vmware_tpl/handler/__init__.py:368
+msgid "Using temporary file {!r} for authorized keys of root."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:486
-msgid "First checking, whether {!r} exists ..."
-msgstr "First checking, whether {!r} exists …"
-
-#: lib/cr_vmware_tpl/handler.py:494
-msgid "Temporary VM {n!r} exists, raising {e}."
+#: lib/cr_vmware_tpl/handler/__init__.py:391
+msgid "Generated authorized keys for root:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:503
-msgid "Temporary VM {!r} does not exists, will be created."
+#: lib/cr_vmware_tpl/handler/cobbler.py:38
+msgid "Checking, whether distro {!r} is available on the cobbler host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:519
-msgid "Selecting a SAN based datastore with at least {:0.1f} GiB available space."
+#: lib/cr_vmware_tpl/handler/cobbler.py:44
+msgid "Did not found distro {!r} on the cobbler host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:531
-msgid "Got datastore {n!r} as a member of datastore cluster {c!r}."
+#: lib/cr_vmware_tpl/handler/cobbler.py:48
+msgid "Distro {!r} is available on the cobbler host."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:547
-msgid "Using datastore {!r} for volume of temporary VM to create."
+#: lib/cr_vmware_tpl/handler/cobbler.py:53
+msgid "Not all repos for distro {!r} were found on Cobbler server."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:560
-msgid "Found storage cluster {!r}."
-msgstr ""
+#: lib/cr_vmware_tpl/handler/cobbler.py:60
+msgid "Trying to evaluate the IP address of the template VM ..."
+msgstr "Trying to evaluate the IP address of the template VM …"
 
-#: lib/cr_vmware_tpl/handler.py:568
-msgid "Cannot use datastore cluster {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
+#: lib/cr_vmware_tpl/handler/cobbler.py:64 lib/cr_vmware_tpl/handler/vm.py:47
+msgid "Waiting initially for {} seconds:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:577
-msgid "Could not get {c} object with name {n!r}."
+#: lib/cr_vmware_tpl/handler/cobbler.py:80
+msgid "Did not got the IP address of MAC address {mac!r} after {delay} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:594
-msgid "Trying to get a recommendation for a datastore from VSphere storageResourceManager ..."
-msgstr "Trying to get a recommendation for a datastore from VSphere storageResourceManager …"
-
-#: lib/cr_vmware_tpl/handler.py:606
-msgid "Got no recommendation for a datastore from VSphere storageResourceManager: {c} - {e}"
+#: lib/cr_vmware_tpl/handler/cobbler.py:85
+msgid "Got IP addresses for template VM:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:656
-msgid "Cannot use datastore {n!r} - not accessible."
-msgstr ""
+#: lib/cr_vmware_tpl/handler/ldap.py:59
+msgid "Connecting to LDAP server {!r} ..."
+msgstr "Connecting to LDAP server {!r} …"
 
-#: lib/cr_vmware_tpl/handler.py:660
-msgid "Cannot use datastore {n!r}, not in cluster {c!r}."
+#: lib/cr_vmware_tpl/handler/ldap.py:62
+msgid "Connect options to LDAP server {!r}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:664
-msgid "Checking datastore:"
+#: lib/cr_vmware_tpl/handler/ldap.py:77
+msgid "Info about LDAP server {}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:667
-msgid "Cannot use datastore {n!r}, is of type {t!r}."
-msgstr ""
+#: lib/cr_vmware_tpl/handler/ldap.py:91
+msgid "Unbinding from LDAP server {} ..."
+msgstr "Unbinding from LDAP server {} …"
 
-#: lib/cr_vmware_tpl/handler.py:672
-msgid "Cannot use datastore {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
-msgstr ""
+#: lib/cr_vmware_tpl/handler/ldap.py:96
+msgid "Disconnecting from LDAP server {} ..."
+msgstr "Disconnecting from LDAP server {} …"
 
-#: lib/cr_vmware_tpl/handler.py:680
-msgid "Found {} usable datastores."
+#: lib/cr_vmware_tpl/handler/ldap.py:103
+msgid "No LDAP connection initialized."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:682
-msgid "Did not found an usable datastore."
-msgstr ""
+#: lib/cr_vmware_tpl/handler/ldap.py:112
+msgid "Trying to get a list of all DPX admins with their public SSH keys ..."
+msgstr "Trying to get a list of all DPX admins with their public SSH keys …"
 
-#: lib/cr_vmware_tpl/handler.py:709
-msgid "Defined interface to create:"
+#: lib/cr_vmware_tpl/handler/ldap.py:115
+msgid "LDAP search starting in {!r} with filter:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:721
-msgid "VM-Folder object for template VM: {c} - {n!r}"
+#: lib/cr_vmware_tpl/handler/ldap.py:124
+msgid "Error retrieving DPX admin list from LDAP:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:733
-msgid "Trying to evaluate the IP address of the template VM ..."
-msgstr "Trying to evaluate the IP address of the template VM …"
-
-#: lib/cr_vmware_tpl/handler.py:737 lib/cr_vmware_tpl/handler.py:765
-msgid "Waiting initially for {} seconds:"
+#: lib/cr_vmware_tpl/handler/ldap.py:172
+msgid "Got an admin {cn} <{mail}>."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:753
-msgid "Did not got the IP address of MAC address {mac!r} after {delay} seconds."
+#: lib/cr_vmware_tpl/handler/ldap.py:175
+msgid "Got an admin:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:758
-msgid "Got IP addresses for template VM:"
+#: lib/cr_vmware_tpl/handler/ldap.py:181
+msgid "Did not found any admins below base DN {!r} with filter:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:763
+#: lib/cr_vmware_tpl/handler/vm.py:45
 msgid "Waiting for finishing installation ..."
 msgstr "Waiting for finishing installation …"
 
-#: lib/cr_vmware_tpl/handler.py:781
+#: lib/cr_vmware_tpl/handler/vm.py:63
 msgid "Waiting for SSH available ..."
 msgstr "Waiting for SSH available …"
 
-#: lib/cr_vmware_tpl/handler.py:787
+#: lib/cr_vmware_tpl/handler/vm.py:69
 msgid "Got following address_infos for {h!r}, IPv4 TCP port {p}:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:792
+#: lib/cr_vmware_tpl/handler/vm.py:74
 msgid "Did not get address infos for {h!r}, IPv4 TCP port {p}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:797
+#: lib/cr_vmware_tpl/handler/vm.py:79
 msgid "Using address info: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:847
+#: lib/cr_vmware_tpl/handler/vm.py:129
 msgid "Needed {m} minutes and {s:0.1f} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:852
+#: lib/cr_vmware_tpl/handler/vm.py:134
 msgid "SSH not available after {:0.1f} seconds, giving up."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:860
+#: lib/cr_vmware_tpl/handler/vm.py:142
 msgid "Trying to connect to {a} via TCP port {p} ..."
 msgstr "Trying to connect to {a} via TCP port {p} …"
 
-#: lib/cr_vmware_tpl/handler.py:867
+#: lib/cr_vmware_tpl/handler/vm.py:149
 msgid "Error creating socket: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:876
+#: lib/cr_vmware_tpl/handler/vm.py:158
 msgid "Could not connect: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:879
+#: lib/cr_vmware_tpl/handler/vm.py:161
 msgid "Connected to {a} via TCP port {p}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:885
+#: lib/cr_vmware_tpl/handler/vm.py:167
 msgid "Got SSHD banner: {}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:919
+#: lib/cr_vmware_tpl/handler/vm.py:201
 msgid "Commands to execute:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:940
+#: lib/cr_vmware_tpl/handler/vm.py:222
 msgid "Showing post install log ..."
 msgstr "Showing post install log …"
 
-#: lib/cr_vmware_tpl/handler.py:969
+#: lib/cr_vmware_tpl/handler/vm.py:251
 msgid "Trying to get possible post-installation errors ..."
 msgstr "Trying to get possible post-installation errors …"
 
-#: lib/cr_vmware_tpl/handler.py:983
+#: lib/cr_vmware_tpl/handler/vm.py:265
 msgid "Got postinstall errors:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:985
+#: lib/cr_vmware_tpl/handler/vm.py:267
 msgid "No postinstall errors found."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:988
+#: lib/cr_vmware_tpl/handler/vm.py:270
 msgid "Template VM {!r} has to be removed."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:993
+#: lib/cr_vmware_tpl/handler/vm.py:275
 msgid "Executing tasks per SSH after installation ..."
 msgstr "Executing tasks per SSH after installation …"
 
-#: lib/cr_vmware_tpl/handler.py:1046 lib/cr_vmware_tpl/handler.py:1126
+#: lib/cr_vmware_tpl/handler/vm.py:328 lib/cr_vmware_tpl/handler/vm.py:408
 msgid "No output on {}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1058
+#: lib/cr_vmware_tpl/handler/vm.py:340
 msgid "Waiting for {} seconds before shutting down:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1079
+#: lib/cr_vmware_tpl/handler/vm.py:361
 msgid "Last actions before powering off VM {!r} ..."
 msgstr "Last actions before powering off VM {!r} …"
 
-#: lib/cr_vmware_tpl/handler.py:1110 lib/cr_vmware_tpl/handler.py:1143
+#: lib/cr_vmware_tpl/handler/vm.py:392 lib/cr_vmware_tpl/handler/vm.py:425
 msgid "Current state of template VM is {!r}"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1112
+#: lib/cr_vmware_tpl/handler/vm.py:394
 msgid "Template VM is already shut off."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1117
+#: lib/cr_vmware_tpl/handler/vm.py:399
 msgid "Cannot shut down VM {h!r}, is currently in state {s!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1120
+#: lib/cr_vmware_tpl/handler/vm.py:402
 msgid "Powering off VM {!r} per SSH ..."
 msgstr "Powering off VM {!r} per SSH …"
 
-#: lib/cr_vmware_tpl/handler.py:1139
+#: lib/cr_vmware_tpl/handler/vm.py:421
 msgid "Waiting for successful shut down of VM ..."
 msgstr "Waiting for successful shut down of VM …"
 
-#: lib/cr_vmware_tpl/handler.py:1167
+#: lib/cr_vmware_tpl/handler/vm.py:449
 msgid "Still waiting for completing shutdown, current state is {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1172
+#: lib/cr_vmware_tpl/handler/vm.py:454
 msgid "Template VM {h!r} was shutting down in {t:0.1f} seconds."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1180
+#: lib/cr_vmware_tpl/handler/vm.py:462
 msgid "VM {h!r} was not shut down after {t:0.1f} seconds, current state is {s!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1187
+#: lib/cr_vmware_tpl/handler/vmware.py:53
+msgid "First checking, whether {!r} exists ..."
+msgstr "First checking, whether {!r} exists …"
+
+#: lib/cr_vmware_tpl/handler/vmware.py:61
+msgid "Temporary VM {n!r} exists, raising {e}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:70
+msgid "Temporary VM {!r} does not exists, will be created."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:86
+msgid "Selecting a SAN based datastore with at least {:0.1f} GiB available space."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:98
+msgid "Got datastore {n!r} as a member of datastore cluster {c!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:114
+msgid "Using datastore {!r} for volume of temporary VM to create."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:127
+msgid "Found storage cluster {!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:135
+msgid "Cannot use datastore cluster {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:144
+msgid "Could not get {c} object with name {n!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:161
+msgid "Trying to get a recommendation for a datastore from VSphere storageResourceManager ..."
+msgstr "Trying to get a recommendation for a datastore from VSphere storageResourceManager …"
+
+#: lib/cr_vmware_tpl/handler/vmware.py:173
+msgid "Got no recommendation for a datastore from VSphere storageResourceManager: {c} - {e}"
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:223
+msgid "Cannot use datastore {n!r} - not accessible."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:227
+msgid "Cannot use datastore {n!r}, not in cluster {c!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:231
+msgid "Checking datastore:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:234
+msgid "Cannot use datastore {n!r}, is of type {t!r}."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:239
+msgid "Cannot use datastore {n!r}, free space {free:0.1f} GiB is less than {min:0.1f} GiB."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:247
+msgid "Found {} usable datastores."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:249
+msgid "Did not found an usable datastore."
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:276
+msgid "Defined interface to create:"
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:288
+msgid "VM-Folder object for template VM: {c} - {n!r}"
+msgstr ""
+
+#: lib/cr_vmware_tpl/handler/vmware.py:300
 msgid "Setting a new, randomized MAC address for template VM ..."
 msgstr "Setting a new, randomized MAC address for template VM …"
 
-#: lib/cr_vmware_tpl/handler.py:1192
+#: lib/cr_vmware_tpl/handler/vmware.py:305
 msgid "New MAC address: {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1200
+#: lib/cr_vmware_tpl/handler/vmware.py:313
 msgid "Searching for existing templates and rotate them ..."
 msgstr "Searching for existing templates and rotate them …"
 
-#: lib/cr_vmware_tpl/handler.py:1209
+#: lib/cr_vmware_tpl/handler/vmware.py:322
 msgid "Did not found any existing templates."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1213
+#: lib/cr_vmware_tpl/handler/vmware.py:326
 msgid "Found one existing template."
 msgid_plural "Found {} existing templates."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/cr_vmware_tpl/handler.py:1232
+#: lib/cr_vmware_tpl/handler/vmware.py:345
 msgid "Found template {n!r}, created: {ts}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1243
+#: lib/cr_vmware_tpl/handler/vmware.py:356
 msgid "Templates sorted by creation date:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1253
+#: lib/cr_vmware_tpl/handler/vmware.py:366
 msgid "Templates to remove:"
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1255
+#: lib/cr_vmware_tpl/handler/vmware.py:368
 msgid "There are no templates to remove."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1260
+#: lib/cr_vmware_tpl/handler/vmware.py:373
 msgid "Removing template {!r} ..."
 msgstr "Removing template {!r} …"
 
-#: lib/cr_vmware_tpl/handler.py:1262
+#: lib/cr_vmware_tpl/handler/vmware.py:375
 msgid "Successful removed template {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1276
+#: lib/cr_vmware_tpl/handler/vmware.py:389
 msgid "Renaming template {o!r} => {n!r} ..."
 msgstr "Renaming template {o!r} => {n!r} …"
 
-#: lib/cr_vmware_tpl/handler.py:1279
+#: lib/cr_vmware_tpl/handler/vmware.py:392
 msgid "Successful renamed template into {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1289
+#: lib/cr_vmware_tpl/handler/vmware.py:402
 msgid "Renaming VM {o!r} => {n!r} ..."
 msgstr "Renaming VM {o!r} => {n!r} …"
 
-#: lib/cr_vmware_tpl/handler.py:1297
+#: lib/cr_vmware_tpl/handler/vmware.py:410
 msgid "Successful renamed VM into {!r}."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1299
+#: lib/cr_vmware_tpl/handler/vmware.py:412
 msgid "Changing VM {!r} into a VMWare template ..."
 msgstr "Changing VM {!r} into a VMWare template …"
 
-#: lib/cr_vmware_tpl/handler.py:1302
+#: lib/cr_vmware_tpl/handler/vmware.py:415
 msgid "Object {!r} is now a VMWare template."
 msgstr ""
 
-#: lib/cr_vmware_tpl/handler.py:1308
-msgid "Creating authorized keys of root from LDAP ..."
-msgstr "Creating authorized keys of root from LDAP …"
-
-#: lib/cr_vmware_tpl/handler.py:1314
-msgid "Using temporary file {!r} for authorized keys of root."
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:1338
-msgid "Generated authorized keys for root:"
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:1350
-msgid "No LDAP connection initialized."
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:1359
-msgid "Trying to get a list of all DPX admins with their public SSH keys ..."
-msgstr "Trying to get a list of all DPX admins with their public SSH keys …"
-
-#: lib/cr_vmware_tpl/handler.py:1363
-msgid "LDAP search starting in {!r} with filter:"
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:1372
-msgid "Error retrieving DPX admin list from LDAP:"
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:1420
-msgid "Got an admin {cn} <{mail}>."
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:1423
-msgid "Got an admin:"
-msgstr ""
-
-#: lib/cr_vmware_tpl/handler.py:1429
-msgid "Did not found any admins below base DN {!r} with filter:"
-msgstr ""
-
 #: lib/cr_vmware_tpl/xlate.py:54
 msgid "Module directory: {!r}"
 msgstr ""