Best Python code snippet using Airtest
nagios_910.py
Source:nagios_910.py  
...67    for key in sorted(kwargs.keys()):68        s += "\t%s\t%s\n" % (key, kwargs[key])69    s += "\t}\n"70    return s71def _copy_script(**kwargs):72    # TODO : Replace all these shell templates with with python73    return ('file{"/usr/lib64/nagios/plugins/%(name)s":'74              'mode => 755, owner => "nagios", '75              'seltype => "nagios_unconfined_plugin_exec_t", '76              'content => template("packstack/%(name)s.erb"),}\n'77            'nagios_command {"%(name)s": '78              'command_line => "/usr/lib64/nagios/plugins/%(name)s",}\n'79            % kwargs)80def nagios_host(hostname, **kwargs):81    out = ("nagios_host { '%s': " % hostname)82    for key, value in kwargs.items():83        out = "%s, %s => '%s'" % (out, key, value)84    return "%s}\n" % out85def createmanifest(config):86    manifest_entries = ''87    # I should be adding service entries with nagios_service but it appears to  be broken88    # http://projects.puppetlabs.com/issues/342089    service_entries = ''90    for hostname in gethostlist(config):91        manifest_entries += nagios_host(hostname, address=hostname, use='linux-server')92        service_entries += _serviceentry(name='load5-%s'%hostname, service_description='5 minute load average',93                                         host_name=hostname, check_command="check_nrpe!load5", use="generic-service",94                                         normal_check_interval='5')95        service_entries += _serviceentry(name='df_var-%s'%hostname,96                                         service_description='Percent disk space used on /var',97                                         host_name=hostname,98                                         check_command="check_nrpe!df_var", use="generic-service")99    manifest_entries += _copy_script(name="keystone-user-list")100    service_entries += _serviceentry(name='keystone-user-list',101        service_description='number of keystone users',102        host_name=controller.CONF['CONFIG_NAGIOS_HOST'],103        check_command="keystone-user-list", use="generic-service",104        normal_check_interval='5')105    if controller.CONF['CONFIG_GLANCE_INSTALL'] == 'y':106        manifest_entries += _copy_script(name="glance-index")107        service_entries += _serviceentry(name='glance-index',108            service_description='number of glance images',109            host_name=controller.CONF['CONFIG_NAGIOS_HOST'],110            check_command="glance-index", use="generic-service",111            normal_check_interval='5')112    if controller.CONF['CONFIG_NOVA_INSTALL'] == 'y':113        manifest_entries += _copy_script(name="nova-list")114        service_entries += _serviceentry(name='nova-list',115            service_description='number of nova vm instances',116            host_name=controller.CONF['CONFIG_NAGIOS_HOST'],117            check_command="nova-list", use="generic-service",118            normal_check_interval='5')119    if controller.CONF['CONFIG_CINDER_INSTALL'] == 'y':120        manifest_entries += _copy_script(name="cinder-list")121        service_entries += _serviceentry(name='cinder-list',122            service_description='number of cinder volumes',123            host_name=controller.CONF['CONFIG_NAGIOS_HOST'],124            check_command="cinder-list", use="generic-service",125            normal_check_interval='5')126    if controller.CONF['CONFIG_SWIFT_INSTALL'] == 'y':127        manifest_entries += _copy_script(name="swift-list")128        service_entries += _serviceentry(name='swift-list',129            service_description='number of swift containers',130            host_name=controller.CONF['CONFIG_NAGIOS_HOST'],131            check_command="swift-list", use="generic-service",132            normal_check_interval='5')133    manifest_entries += ("file { '/etc/nagios/nagios_service.cfg': \n"134                            "ensure => present, mode => 644,\n"135                            "owner => 'nagios', group => 'nagios',\n"136                            "before => Service['nagios'],\n"137                            "content => '%s'}" % service_entries)138    controller.CONF['CONFIG_NAGIOS_MANIFEST_CONFIG'] = manifest_entries139    manifestfile = "%s_nagios.pp" % controller.CONF['CONFIG_NAGIOS_HOST']140    manifestdata = getManifestTemplate("nagios_server.pp")141    appendManifestFile(manifestfile, manifestdata)...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
