hadong has uploaded a new change for review. Change subject: Add snmp_enabled parameter for snmp auto configuration ......................................................................
Add snmp_enabled parameter for snmp auto configuration Change-Id: I113f9835d9ac76deaab50bd9e8dfcb034328e441 Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1046186 Signed-off-by: hadong <[email protected]> --- M ovirt-node.spec.in M plugins/Makefile.am A plugins/snmp-args M plugins/snmp_autoinstall.py M scripts/ovirt-init-functions.sh.in M src/ovirtnode/install.py M src/ovirtnode/ovirtfunctions.py 7 files changed, 44 insertions(+), 10 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-node refs/changes/27/22727/1 diff --git a/ovirt-node.spec.in b/ovirt-node.spec.in index d364659..cb8b553 100644 --- a/ovirt-node.spec.in +++ b/ovirt-node.spec.in @@ -539,6 +539,7 @@ %{python_sitelib}/ovirt/node/setup/snmp/snmp_model.py* %{python_sitelib}/ovirt/node/setup/snmp/snmp_page.py* %{_sysconfdir}/ovirt-plugins.d/snmp.minimize +%{_sysconfdir}/ovirt-commandline.d/snmp-args %{_sysconfdir}/ovirt-config-boot.d/snmp_autoinstall.py* diff --git a/plugins/Makefile.am b/plugins/Makefile.am index 71134e3..e23df84 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -33,7 +33,8 @@ puppet.minimize dist_pluginsargs_DATA = \ - puppet-args + puppet-args \ + snmp-args dist_pyovirtconfigboot_PYTHON = \ snmp_autoinstall.py \ diff --git a/plugins/snmp-args b/plugins/snmp-args new file mode 100644 index 0000000..906c74c --- /dev/null +++ b/plugins/snmp-args @@ -0,0 +1,2 @@ +snmp_enabled +snmp_password diff --git a/plugins/snmp_autoinstall.py b/plugins/snmp_autoinstall.py index 8472bc2..af29648 100644 --- a/plugins/snmp_autoinstall.py +++ b/plugins/snmp_autoinstall.py @@ -17,9 +17,37 @@ # MA 02110-1301, USA. A copy of the GNU General Public License is # also available at http://www.gnu.org/copyleft/gpl.html. -from ovirt_config_setup.snmp import enable_snmpd +from ovirt.node.utils.console import TransactionProgress +from ovirt.node.setup.snmp import snmp_model import ovirtnode.ovirtfunctions as _functions +from ovirt.node.plugins import Changeset args = _functions.get_cmdline_args() -if "snmp_password" in args: - enable_snmpd(args["snmp_password"]) +keys = ["snmp_enabled", "snmp_password"] + +keys_to_model = {"snmp_enabled": "snmp.enabled", + "snmp_password": "snmp.password", + } + +changes = dict((keys_to_model[key], args[key]) for key in keys if key in args) + +if __name__ == "__main__": + snmp = snmp_model.SNMP() + cfg = snmp.retrieve() + effective_model = Changeset({ + "snmp.enabled": True if cfg["enabled"] else False, + "snmp.password": "", + }) + effective_model.update(changes) + is_enabled = effective_model["snmp.enabled"] + pw = effective_model["snmp.password"] or \ + _functions.OVIRT_VARS["OVIRT_SNMP_PASSWORD"] \ + if "OVIRT_SNMP_PASSWORD" in _functions.OVIRT_VARS \ + else "" + snmp.update(is_enabled) + if is_enabled and len(pw) > 0: + tx = snmp.transaction(snmp_password=pw) + TransactionProgress(tx, is_dry=False).run() + # clear ovirt_snmp_passwd from /etc/default/ovirt + pw_keys = ("OVIRT_SNMP_PASSWORD",) + snmp.clear(keys=pw_keys) diff --git a/scripts/ovirt-init-functions.sh.in b/scripts/ovirt-init-functions.sh.in index d9218c7..667e2bb 100644 --- a/scripts/ovirt-init-functions.sh.in +++ b/scripts/ovirt-init-functions.sh.in @@ -334,9 +334,11 @@ # WARNING: use for debugging only, this is not secure! adminpw= + # snmp_enabled=0|1 # snmp_password=<authpassphrase> # enable snmpd and set password for "root" SNMPv3 USM user snmp_password= + snmp_enabled= # CIM related options # cim_enabled=0|1 @@ -649,9 +651,6 @@ enable_cim* | enable_cim | cim_enabled* | cim_enabled) cim_enabled=1 ;; - snmp_password=*) - snmp_password=${i#snmp_password=} - ;; mem_overcommit* | ovirt_overcommit*) i=${i#mem_overcommit=} @@ -843,7 +842,7 @@ # save boot parameters as defaults for ovirt-config-* - params="bootif init init_app vol_boot_size vol_efi_size vol_swap_size vol_root_size vol_config_size vol_logging_size vol_data_size vol_swap2_size vol_data2_size crypt_swap crypt_swap2 upgrade standalone overcommit ip_address ip_netmask ip_gateway ipv6 dns ntp vlan ssh_pwauth syslog_server syslog_port collectd_server collectd_port bootparams hostname firstboot runtime_mode kdump_nfs iscsi_name snmp_password install netconsole_server netconsole_port stateless cim_enabled wipe_fakeraid iscsi_init iscsi_target_name iscsi_target_host iscsi_target_port iscsi_install network_layout bond_name bond_slaves bond_options tuned_profile nfsv4_domain use_strong_rng disable_aes_ni keyboard_layout logrotate_max_size" + params="bootif init init_app vol_boot_size vol_efi_size vol_swap_size vol_root_size vol_config_size vol_logging_size vol_data_size vol_swap2_size vol_data2_size crypt_swap crypt_swap2 upgrade standalone overcommit ip_address ip_netmask ip_gateway ipv6 dns ntp vlan ssh_pwauth syslog_server syslog_port collectd_server collectd_port bootparams hostname firstboot runtime_mode kdump_nfs iscsi_name install netconsole_server netconsole_port stateless cim_enabled wipe_fakeraid iscsi_init iscsi_target_name iscsi_target_host iscsi_target_port iscsi_install network_layout bond_name bond_slaves bond_options tuned_profile nfsv4_domain use_strong_rng disable_aes_ni keyboard_layout logrotate_max_size" # mount /config unless firstboot is forced if [ "$firstboot" != "1" ]; then mount_config diff --git a/src/ovirtnode/install.py b/src/ovirtnode/install.py index 3b51723..90cf0f2 100755 --- a/src/ovirtnode/install.py +++ b/src/ovirtnode/install.py @@ -300,7 +300,10 @@ self.generate_paths() logger.info("Installing the image.") # copy grub.efi to safe location - shutil.copy("/boot/efi/EFI/redhat/grub.efi", "/tmp") + if self.efi_dir_name == "fedora": + shutil.copy("/boot/efi/EFI/fedora/grubx64.efi", "/tmp") + else: + shutil.copy("/boot/efi/EFI/redhat/grub.efi", "/tmp") if "OVIRT_ROOT_INSTALL" in OVIRT_VARS: if OVIRT_VARS["OVIRT_ROOT_INSTALL"] == "n": logger.info("Root Installation Not Required, Finished.") diff --git a/src/ovirtnode/ovirtfunctions.py b/src/ovirtnode/ovirtfunctions.py index ace96b5..7f47eda 100644 --- a/src/ovirtnode/ovirtfunctions.py +++ b/src/ovirtnode/ovirtfunctions.py @@ -1142,7 +1142,7 @@ # -O /dev/null hookdir="/etc/ovirt-config-boot.d" for hook in os.listdir(hookdir): - if not is_auto_install(): + if is_auto_install(): hookscript = os.path.join(hookdir,hook) if hook.endswith(".py"): system_closefds("python " + hookscript) -- To view, visit http://gerrit.ovirt.org/22727 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I113f9835d9ac76deaab50bd9e8dfcb034328e441 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-node Gerrit-Branch: master Gerrit-Owner: hadong <[email protected]> _______________________________________________ node-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/node-patches
