boozallen / aissemble

Booz Allen's lean manufacturing approach for holistically designing, developing and fielding AI solutions across the engineering lifecycle from data processing to model building, tuning, and training to secure operational deployment
Other
33 stars 8 forks source link

Cyclic helm tests in `test-mda-models` #4

Open d-ryan-ashcraft opened 5 months ago

d-ryan-ashcraft commented 5 months ago

While migrating to the ghcr.io as aissemble's new helm repository, we encountered some cyclic tests in the the test-mda-models module. The core issue is the test-chart execution of maven-exec-plugin, which generally looks like:

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <id>test-chart</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                        <configuration>
                            <executable>helm</executable>
                            <arguments>
                                <argument>template</argument>
                                <argument>aissemble-spark-application</argument>
                                <argument>--repo</argument>
                                <argument>${aissemble.helm.repo}</argument>
                                <argument>--version</argument>
                                <argument>${version.aissemble}</argument>
                                <argument>--values</argument>
                                <argument>
                                    src/aissemble_test_data_delivery_pyspark_model_basic/resources/apps/pyspark-data-delivery-basic-base-values.yaml,tests/resources/apps/pyspark-data-delivery-basic-test-values.yaml
                                </argument>
                                <argument>-s</argument>
                                <argument>templates/deployment.yaml</argument>
                            </arguments>
                            <outputFile>target/apps/pyspark-data-delivery-basic-test-chart.yaml</outputFile>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

In this block, we reference a remote helm repo:

                                <argument>--repo</argument>
                                <argument>${aissemble.helm.repo}</argument>

Of course in the process of migrating to a new helm repo, no charts have been deployed here yet, which uncovered the cycle. We should likely do the following:

This impacts the following four modules:

In the meantime, the test-chart execution has been disabled by pulling up the existing skip-test profile in those four modules into a common profile in test-mda-models and making it active by default. There is a link to this issue on that block as well as each test-chart execution to help folks that might encounter it until it is fixed.

cpointe-ibllanos commented 5 months ago

I can assign this to myself once I am added to the org.