Example #1
0
    def test_invalid_storage_sizing(self, deckhand_ingester, drydock_state,
                                    input_files, mock_get_build_data):

        input_file = input_files.join("invalid_validation.yaml")
        design_ref = "file://%s" % str(input_file)

        orch = Orchestrator(state_manager=drydock_state,
                            ingester=deckhand_ingester)

        status, site_design = Orchestrator.get_effective_site(orch, design_ref)

        validator = StorageSizing()
        message_list = validator.execute(site_design, orchestrator=orch)

        regex = re.compile(
            '(Storage partition)|(Logical Volume) .+ size is < 0')
        regex_1 = re.compile('greater than 99%')

        assert len(message_list) == 8
        for msg in message_list:
            msg = msg.to_dict()
            LOG.debug(msg)
            assert regex.search(
                msg.get('message')) is not None or regex_1.search(
                    msg.get('message')) is not None
            assert msg.get('error') is True
Example #2
0
    def test_storage_sizing(self, deckhand_ingester, drydock_state,
                            input_files):

        input_file = input_files.join("storage_sizing.yaml")
        design_ref = "file://%s" % str(input_file)

        orch = Orchestrator(state_manager=drydock_state,
                            ingester=deckhand_ingester)

        status, site_design = Orchestrator.get_effective_site(orch, design_ref)

        validator = StorageSizing()
        message_list = validator.execute(site_design, orchestrator=orch)
        msg = message_list[0].to_dict()

        assert len(message_list) == 1
        assert msg.get('error') is False
Example #3
0
            result_status.set_status(hd_fields.ValidationResult.Failure)
            result_status.message = "Site design failed validation."
            result_status.reason = "See detail messages."
        else:
            result_status.set_status(hd_fields.ValidationResult.Success)
            result_status.message = "Site design passed validation"

        return result_status


rule_set = [
    BootStorageRational(),
    CidrValidity(),
    HugepagesValidity(),
    IpLocalityCheck(),
    MtuRational(),
    NetworkTrunkingRational(),
    NoDuplicateIpsCheck(),
    PlatformSelection(),
    RationalNetworkBond(),
    StoragePartitioning(),
    StorageSizing(),
    StorageMountpoints(),
    UniqueNetworkCheck(),
    HostnameValidity(),
    IpmiValidity(),
    LibvirtValidity(),
    BootactionDefined(),
    BootactionPackageListValid(),
]