def lbmonitor_exists(client, module):
    log('Checking if monitor exists')
    if lbmonitor.count_filtered(
            client, 'monitorname:%s' % module.params['monitorname']) > 0:
        return True
    else:
        return False
def lbmonitor_identical(client, module, lbmonitor_proxy):
    log('Checking if monitor is identical')

    count = lbmonitor.count_filtered(
        client, 'monitorname:%s' % module.params['monitorname'])
    if count == 0:
        return False

    lbmonitor_list = lbmonitor.get_filtered(
        client, 'monitorname:%s' % module.params['monitorname'])
    diff_dict = lbmonitor_proxy.diff_object(lbmonitor_list[0])

    # Skipping hashed fields since the cannot be compared directly
    hashed_fields = [
        'password',
        'secondarypassword',
        'radkey',
    ]
    for key in hashed_fields:
        if key in diff_dict:
            del diff_dict[key]

    if diff_dict == {}:
        return True
    else:
        return False
Exemple #3
0
    def lbmonitor_identical():
        log('Entering lbmonitor_identical')

        count = lbmonitor.count_filtered(client, 'monitorname:%s' % module.params['monitorname'])
        if count == 0:
            return False

        lbmonitor_list = lbmonitor.get_filtered(client, 'monitorname:%s' % module.params['monitorname'])
        diff_dict = lbmonitor_proxy.diff_object(lbmonitor_list[0])

        # Skipping hashed fields since the cannot be compared directly
        # TODO emulate the hash function for effective equality comparison
        hashed_fields = [
            'password',
            'secondarypassword',
            'radkey',
        ]
        for key in hashed_fields:
            if key in diff_dict:
                del diff_dict[key]

        if diff_dict == {}:
            return True
        else:
            return False
Exemple #4
0
    def test_create_and_delete_entity(self):
        monitor_name = 'lb-monitor-1'
        playbook =  [{
            'hosts': 'netscaler',
            'gather_facts': False,
            'tasks': [{
                    'name': 'setup monitor',
                    'local_action': {
                        'operation': 'present',
                        'module': 'netscaler_lb_monitor',

                        'monitorname': monitor_name,
                        'type': 'HTTP-INLINE',
                        'action': 'DOWN',
                        #'respcode': [ '"200"', '"203"'],
                        #'httprequest': 'HEAD /file.html',
                    
                    },
            }]
        }]

        from nssrc.com.citrix.netscaler.nitro.resource.config.lb.lbmonitor import lbmonitor
        playbook[0]['tasks'][0]['local_action'].update(utils.nitro_dict)
        # Create entity
        result = utils.run_ansible_play(playbook, testcase='Create_lb_monitor_entity')
        self.assertIsNotNone(result, msg='Result from playbook run did not return valid json')
        self.assertFalse(result['failed'], msg='Playbook initial returned failed status')
        self.assertTrue(result['changed'], msg='Changed status was not set correctly')

        # Make sure the named entiry exists only once
        count = lbmonitor.count_filtered(utils.get_nitro_client(), 'monitorname:%s' % monitor_name)
        self.assertEqual(count,1, msg='%s was not deleted properly' % monitor_name)

        # Delete entity
        playbook[0]['tasks'][0]['local_action']['operation'] = 'absent'
        result = utils.run_ansible_play(playbook, testcase='Delete_lb_monitor_entity')
        self.assertIsNotNone(result, msg='Result from playbook run did not return valid json')
        self.assertFalse(result['failed'], msg='Playbook initial returned failed status')
        self.assertTrue(result['changed'], msg='Changed status was not set correctly')

        # Make sure the named entiry does not exist
        count = lbmonitor.count_filtered(utils.get_nitro_client(), 'monitorname:%s' % monitor_name)
        self.assertEqual(count,0, msg='%s was not deleted properly' % monitor_name)
def lbmonitor_identical(client, module, lbmonitor_proxy):
    log('Checking if monitor is identical')

    count = lbmonitor.count_filtered(client, 'monitorname:%s' % module.params['monitorname'])
    if count == 0:
        return False

    lbmonitor_list = lbmonitor.get_filtered(client, 'monitorname:%s' % module.params['monitorname'])
    diff_dict = lbmonitor_proxy.diff_object(lbmonitor_list[0])

    # Skipping hashed fields since the cannot be compared directly
    hashed_fields = [
        'password',
        'secondarypassword',
        'radkey',
    ]
    for key in hashed_fields:
        if key in diff_dict:
            del diff_dict[key]

    if diff_dict == {}:
        return True
    else:
        return False
def lbmonitor_exists(client, module):
    log('Checking if monitor exists')
    if lbmonitor.count_filtered(client, 'monitorname:%s' % module.params['monitorname']) > 0:
        return True
    else:
        return False
Exemple #7
0
 def lbmonitor_exists():
     log('Entering lbmonitor_exists')
     if lbmonitor.count_filtered(client, 'monitorname:%s' % module.params['monitorname']) > 0:
         return True
     else:
         return False