Esempio n. 1
0
    def check_analytics_node_config(self, host):
        helper = BucketHelper(host)
        if not helper.bucket_exists('default'):
            helper.create_bucket(bucket='default', ramQuotaMB=100)

        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/node/config',
                port=18095,
                headers='',
                client_cert=True,
                curl=True)
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/node/config',
                port=18095,
                headers=' -u Administrator:password ',
                client_cert=False,
                curl=True)

        self.assertTrue(
            json.loads(output)['analyticsCcHttpPort'],
            "Cannot execute command on port 18095")
Esempio n. 2
0
    def check_analytics_cluster_restart(self, host):
        helper = BucketHelper(host)
        if not helper.bucket_exists('default'):
            helper.create_bucket(bucket='default', ramQuotaMB=100)

        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster/restart',
                port=18095,
                headers='',
                client_cert=True,
                curl=True,
                verb='POST')
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster/restart',
                port=18095,
                headers=' -u Administrator:password ',
                client_cert=False,
                curl=True,
                verb='POST')

        self.assertEqual(
            json.loads(output)['status'], "SHUTTING_DOWN",
            "/analytics/cluster/restart API failed")
Esempio n. 3
0
    def test_limited_access_user(self):
        servs_inout = self.servers[1:4]
        rest = RestConnection(self.master)
        services_in = []
        self.log.info("list of services to be added {0}".format(
            self.services_in))

        for service in self.services_in.split("-"):
            services_in.append(service.split(":")[0])
        self.log.info(
            "list of services to be added after formatting {0}".format(
                services_in))

        #add nodes to the cluster
        rebalance = self.cluster.async_rebalance(
            self.servers[:self.nodes_init],
            servs_inout, [],
            services=services_in)
        self.task_manager.get_task_result(rebalance)

        self.sleep(20)

        #check for analytics services, for Vulcan check on http port
        cbas_node = self.get_nodes_from_services_map(service_type='cbas')
        if cbas_node is not None:
            helper = BucketHelper(cbas_node)
            if not helper.bucket_exists('default'):
                helper.create_bucket(bucket='default', ramQuotaMB=100)

            query = "'statement=create dataset default_ds on default'"
            if self.client_cert_state == 'enable':
                output = x509main()._execute_command_clientcert(
                    cbas_node.ip,
                    url='/analytics/service',
                    port=18095,
                    headers=' --data pretty=true --data-urlencode ' + query,
                    client_cert=True,
                    curl=True,
                    verb='POST')
            else:
                output = x509main()._execute_command_clientcert(
                    cbas_node.ip,
                    url='/analytics/service',
                    port=18095,
                    headers=' --data pretty=true --data-urlencode ' + query +
                    ' -u Administrator:password ',
                    client_cert=False,
                    curl=True,
                    verb='POST')

            self.assertEqual(
                json.loads(output)['status'], "fatal", "Create Index Failed")
            self.assertEqual(
                json.loads(output)['errors'][0]['msg'],
                'User must have permission (cluster.analytics!select)',
                "Incorrect error message.")
            self.assertEqual(
                json.loads(output)['errors'][0]['code'], 20001,
                "Incorrect code.")
Esempio n. 4
0
    def check_analytics_service(self, host):
        helper = BucketHelper(host)
        if not helper.bucket_exists('default'):
            helper.create_bucket(bucket='default', ramQuotaMB=100)

        query = "'statement=create dataset default_ds on default'"
        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/service',
                port=18095,
                headers=' --data pretty=true --data-urlencode ' + query,
                client_cert=True,
                curl=True,
                verb='POST')
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/service',
                port=18095,
                headers=' --data pretty=true --data-urlencode ' + query +
                ' -u Administrator:password ',
                client_cert=False,
                curl=True,
                verb='POST')

        self.assertEqual(
            json.loads(output)['status'], "success", "Create Index Failed")

        query = "'statement=create dataset default_ds1 on default'"
        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/service',
                port=8095,
                headers=' --data pretty=true --data-urlencode ' + query +
                ' -u Administrator:password ',
                client_cert=True,
                curl=True,
                verb='POST',
                plain_curl=True)
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/service',
                port=8095,
                headers=' --data pretty=true --data-urlencode ' + query +
                ' -u Administrator:password ',
                client_cert=False,
                curl=True,
                verb='POST',
                plain_curl=True)

        self.assertEqual(
            json.loads(output)['status'], "success", "Create Index Failed")
Esempio n. 5
0
    def test_incorrect_user(self):
        host = self.master
        rest = BucketHelper(self.master)
        rest.create_bucket(bucket='default', ramQuotaMB=100)
        query = "'statement=create dataset default_ds on default'"
        servs_inout = self.servers[1:4]

        self.log.info("list of services to be added {0}".format(
            self.services_in))
        services_in = []
        for service in self.services_in.split("-"):
            services_in.append(service.split(":")[0])
        self.log.info(
            "list of services to be added after formatting {0}".format(
                services_in))

        #add nodes to the cluster
        rebalance = self.cluster.async_rebalance(
            self.servers[:self.nodes_init],
            servs_inout, [],
            services=services_in)
        self.task_manager.get_task_result(rebalance)

        self.sleep(20)

        cbas_node = self.get_nodes_from_services_map(service_type='cbas')

        output = x509main()._execute_command_clientcert(
            cbas_node.ip,
            url='/analytics/service',
            port=18095,
            headers=' --data pretty=true --data-urlencode ' + query,
            client_cert=True,
            curl=True,
            verb='POST')
        self.assertEqual(
            json.loads(output)['errors'][0]['msg'], "Unauthorized user.",
            "Incorrect user logged in successfully.")
Esempio n. 6
0
    def check_analytics_cluster(self, host):
        helper = BucketHelper(host)
        if not helper.bucket_exists('default'):
            helper.create_bucket(bucket='default', ramQuotaMB=100)

        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster',
                port=18095,
                headers='',
                client_cert=True,
                curl=True)
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster',
                port=18095,
                headers=' -u Administrator:password ',
                client_cert=False,
                curl=True)

        self.assertEqual(
            json.loads(output)['state'], "ACTIVE", "Create Index Failed")
Esempio n. 7
0
    def check_analytics_cluster_cc(self, host):
        helper = BucketHelper(host)
        if not helper.bucket_exists('default'):
            helper.create_bucket(bucket='default', ramQuotaMB=100)

        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster/cc',
                port=18095,
                headers='',
                client_cert=True,
                curl=True)
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster/cc',
                port=18095,
                headers=' -u Administrator:password ',
                client_cert=False,
                curl=True)

        self.assertTrue(
            json.loads(output)['configUri'],
            "Cannot execute command on port 18095")

        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster/cc/config',
                port=18095,
                headers='',
                client_cert=True,
                curl=True)
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster/cc/config',
                port=18095,
                headers=' -u Administrator:password ',
                client_cert=False,
                curl=True)

        self.assertTrue(
            json.loads(output)['os_name'],
            "Cannot execute command on port 18095")

        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster/cc/stats',
                port=18095,
                headers='',
                client_cert=True,
                curl=True)
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster/cc/stats',
                port=18095,
                headers=' -u Administrator:password ',
                client_cert=False,
                curl=True)

        self.assertTrue(
            json.loads(output)['thread_count'],
            "Cannot execute command on port 18095")

        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster/cc/threaddump',
                port=18095,
                headers='',
                client_cert=True,
                curl=True)
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/analytics/cluster/cc/threaddump',
                port=18095,
                headers=' -u Administrator:password ',
                client_cert=False,
                curl=True)

        self.assertTrue(
            json.loads(output)['date'], "Cannot execute command on port 18095")
Esempio n. 8
0
    def check_ns_server_rest_api(self, host):
        helper = BucketHelper(host)
        if not helper.bucket_exists('default'):
            helper.create_bucket(bucket='default', ramQuotaMB=100)
            self.sleep(10)

        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/pools/default',
                port=18091,
                headers="",
                client_cert=True,
                curl=True)
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/pools/default',
                port=18091,
                headers=' -u Administrator:password ',
                client_cert=False,
                curl=True)

        output = json.loads(output)
        self.log.info("Print output of command is {0}".format(output))
        self.assertEqual(output['rebalanceStatus'], 'none',
                         " The Web request has failed on port 18091 ")

        if self.client_cert_state == 'enable':
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/pools/default',
                port=18091,
                headers=None,
                client_cert=True,
                curl=True,
                verb='POST',
                data='memoryQuota=400')
        else:
            output = x509main()._execute_command_clientcert(
                host.ip,
                url='/pools/default',
                port=18091,
                headers=' -u Administrator:password ',
                client_cert=False,
                curl=True,
                verb='POST',
                data='memoryQuota=400')

        if output == "":
            self.assertTrue(True, "Issue with post on /pools/default")

        output = x509main()._execute_command_clientcert(
            host.ip,
            url='/pools/default',
            port=8091,
            headers=" -u Administrator:password ",
            client_cert=False,
            curl=True,
            verb='GET',
            plain_curl=True)
        self.assertEqual(
            json.loads(output)['rebalanceStatus'], 'none',
            " The Web request has failed on port 8091 ")

        output = x509main()._execute_command_clientcert(
            host.ip,
            url='/pools/default',
            port=8091,
            headers=" -u Administrator:password ",
            client_cert=True,
            curl=True,
            verb='POST',
            plain_curl=True,
            data='memoryQuota=400')
        if output == "":
            self.assertTrue(True, "Issue with post on /pools/default")