コード例 #1
0
ファイル: test_ocp_generator.py プロジェクト: dccurtis/nise
    def test_update_pod_data_usage_lt_request(self):
        """Test that _update_pod_data keeps usage <= limit <= request."""
        pods = self.attributes.get("nodes")[0].get("namespaces")[0].get("pods")
        kwargs = {
            "report_type": "test_report",
            "cpu_usage": self._usage_dict(),
            "mem_usage_gig": self._usage_dict(),
            "pod_seconds": 86400,
            "pod": pods[0],
        }

        generator = OCPGenerator(self.two_hours_ago, self.now)
        in_row = generator._init_data_row(self.two_hours_ago,
                                          self.now,
                                          report_type=OCP_POD_USAGE)
        out_row = generator._update_pod_data(copy(in_row), self.two_hours_ago,
                                             self.now, **kwargs)

        for x in ["cpu_core", "memory_byte"]:
            with self.subTest(row=out_row):
                with self.subTest(x=x):
                    self.assertLessEqual(
                        out_row.get(f"pod_usage_{x}_seconds"),
                        out_row.get(f"pod_request_{x}_seconds"))
                    self.assertLessEqual(out_row.get(f"pod_usage_{x}_seconds"),
                                         out_row.get(f"pod_limit_{x}_seconds"))
                    self.assertLessEqual(
                        out_row.get(f"pod_limit_{x}_seconds"),
                        out_row.get(f"pod_request_{x}_seconds"))
コード例 #2
0
ファイル: test_ocp_generator.py プロジェクト: dccurtis/nise
    def test_update_pod_data(self):
        """Test that _update_pod_data updates pod data"""
        pods = self.attributes.get("nodes")[0].get("namespaces")[0].get("pods")
        usage_dict = self._usage_dict()
        kwargs = {
            "report_type": "test_report",
            "cpu_usage": usage_dict,
            "mem_usage_gig": usage_dict,
            "pod_seconds": 86400,
            "pod": pods[0],
        }
        changed = {
            "pod_usage_cpu_core_seconds",
            "pod_request_cpu_core_seconds",
            "pod_limit_cpu_core_seconds",
            "pod_usage_memory_byte_seconds",
            "pod_request_memory_byte_seconds",
            "pod_limit_memory_byte_seconds",
        }

        generator = OCPGenerator(self.two_hours_ago, self.now)
        generator.nodes = self.attributes
        in_row = generator._init_data_row(self.two_hours_ago,
                                          self.now,
                                          report_type=OCP_POD_USAGE)
        out_row = generator._update_pod_data(
            copy(in_row),
            datetime.strptime(random.choice(list(usage_dict.keys())),
                              "%m-%d-%Y"), self.now, **kwargs)

        for key in changed:
            with self.subTest(key=key):
                self.assertIsNotNone(out_row.get(key))
                self.assertNotEqual(out_row.get(key), in_row.get(key))

        for key in list(set(out_row.keys()) - changed):
            with self.subTest(key=key):
                self.assertIsNotNone(out_row.get(key))
コード例 #3
0
    def test_update_pod_data(self):
        """Test that _update_pod_data updates pod data"""
        pods = next(
            iter(self.attributes.get("nodes")[0].get(
                "namespaces").values())).get("pods")
        kwargs = {
            "cpu_usage": self._usage_dict(),
            "mem_usage_gig": self._usage_dict(),
            "pod_seconds": 86400,
            "pod": pods[0],
        }
        changed = {
            "pod_usage_cpu_core_seconds",
            "pod_request_cpu_core_seconds",
            "pod_limit_cpu_core_seconds",
            "pod_usage_memory_byte_seconds",
            "pod_request_memory_byte_seconds",
            "pod_limit_memory_byte_seconds",
        }

        generator = OCPGenerator(self.two_hours_ago, self.now, {})
        in_row = generator._init_data_row(self.two_hours_ago,
                                          self.now,
                                          report_type=OCP_POD_USAGE)
        out_row = generator._update_pod_data(copy(in_row), self.two_hours_ago,
                                             self.now, **kwargs)

        for key in changed:
            with self.subTest(key=key):
                self.assertEqual(out_row.get(key), pods[0].get(key))
                self.assertNotEqual(out_row.get(key), in_row.get(key))

        for key in list(set(out_row.keys()) - changed):
            with self.subTest(key=key):
                self.assertIn(
                    out_row.get(key),
                    [pods[0].get(key), in_row.get(key)])