* replacing usages of magic strings with flags from the subpackage
* removing the //todo comment regarding the magic strings
* replacing magic strings with operator constants
* move DefaultOperatorFlags to operator package, inject when needed
* If the CredentialsRequest isn't found, retry until timeout instead of immediately erroring out
* `ensureCredentialsRequest` upon every `az aro update`
* Add an E2E test for the `az aro update` scenario where the ARO
operator's CredentialsRequest has been deleted
* add ResourceDeleteAndWait to azureactions
* add delete resource admin action and frontend routing
* add helper functions for lb config manipulation
* refactor azure actions
- moves resource delete code to seperate file
- adds loadbalancer client to handle deleting FrontendIPConfiguration
- updates ResourceDeleteAndWait to handle deleting FrontendIPConfigurations
- adds DeleteByIDAndWait to features/resources client
* add e2e tests
* fix imports and add license headers
* cleanup / fix lint
* add command example to doc
* rename to "managed" resource id
* change query param to camel case
* use var group instead
* return error as adminReply already wraps in CloudError
* fix missed camelCase of query param
* use regex to match frontend ip configurations
* remove focus
* add deny list to prevent deleting PLS and Storage
* fix mixed import
* use fake pls name to prevent accidently deleting e2e cluster pls
* fix test
* add PE to deny list
* Update the cluster authorizer to use a DefaultAzureCredential
* Update the ARO operator to set and use DefaultAzureCredential via env vars
* Add a CredentialsRequest to the ARO operator deployment
* Restart the ARO operator upon `az aro update`
* Removed now unused AzCredentials function
* Changed ARO operator deployment wait time during `az aro update` from
20 minutes -> 5 minutes
* Refactor CliWithApply to generalize to different object types
* Updated Restart in pkg/util/kubernetes to use server-side apply
* Updated Restart in pkg/operator/deploy to only return an error after
at least attempting to restart all of the deployments passed in
* E2E test for ARO operator master deployment's restart upon cluster update
* Wait for the ARO operator's CredentialsRequest to be reconciled before
restarting
* Fix PVC name in PVC status check
* Limit test scope and verify that test works if FIPS is disabled
* Mark test pending again, leave comment about it, and revert debugging
stuff
* swagger: Use struct tags to specify read-only fields
* immutable: Handle `swagger:"readOnly"` tag during validation
The left-hand operand (v) should omit read-only struct fields;
i.e. the field should always be the zero-value for its type.
* api: Add ExternalNoReadOnly method to OpenShiftClusterConverter
ExternalNoReadOnly removes all read-only fields from the external
representation. This is necessary when patching a cluster document;
read-only fields must be omitted from the external representation
in order to pass static validation.
* e2e: Exercise using PUT to update managed outbound IPs
---------
Co-authored-by: Matthew Barnes <mbarnes@fedorapeople.org>
* Add React Router library
* Use React Router for search params
The existing functionality using this appears to be non-functional, but its behavior
is preserved.
* Use cluster resourceID in route for details modal
* Use URL routing to handle Cluster Details navigation
* Route all admin portal frontend subroutes to index.html
* Add handling to portal login redirect to preserve original path
* Update E2E tests for new admin portal routing
* Replace OverviewComponent with new implementation
- Use FluentUI DetailsList for contents
- Always display all properties, even if value is not present
- Modify E2E test to check each individual property
* Build frontend artifacts
* save screenshots more consistently, update to be more BDD
* save the html too
* fix?
* I think there's a race condition here -- use eventually to work around it
* Update admin_portal.go
* Add status conditions to operator MachineSet controller
* Use base ARO GetCluster method for retrieving cluster resource in derived controllers
* Add helper functions for status
* Refactor operator controller conditions tests to use shared default conditions
* updated cluster creation to use version
* added if statement on env variable
* reverted due to redundant code
* updated Create call with OSVersion
* attempt to resolve conflicts
---------
Co-authored-by: v-taphelps <v-taphelps@microsoft.com>
* ARO Cluster Operator Status derives the Cluster Operator's Available/Progressing/Degraded conditions from the state of its controllers
* Implements controller status conditions on the node operator controller
Scope strings should mostly go away once the RP code is fully
migrated to the newer TokenCredential-based Azure SDK, but this
was requested by multiple peer-reviewers.
* Update the list of AKS denied regions
Regions without AKS cluster.
Signed-off-by: Petr Kotas <pkotas@redhat.com>
* Update test/e2e/aks.go
Co-authored-by: Ben Vesel <10840174+bennerv@users.noreply.github.com>
---------
Signed-off-by: Petr Kotas <pkotas@redhat.com>
Co-authored-by: Ben Vesel <10840174+bennerv@users.noreply.github.com>
* e2e test for Hive-managed ARO clusters
* Added license
* Added checks for ControlPlaneConfig overrides
* Added clusterResourceID, adminAPICluster, and skipIfNotHiveManagedCluster()
* Removed var only used in one place
* Removed package-level admin cluster var
httptest is used to send http responses.
Add Mock for databaseaccounts.
Add DatabaseClient, MasterKeyClient interfaces to allow for mock testing.
Add unit tests for subscriptions.
Add billing unit tests.
Add default http.Client to database.go, update references to use DatabaseClient interface. This will keep from importing "net/http" in every package calling it and allow easy changing within database if needed."
Add unit tests for clustermanager in database package
Add asyncoperations unit tests.
Add monitor tests.
Add gateway unit tests.
Add openshiftversions tests.
Add portal tests.
Add openshiftclusters tests.
Tests for billing and subscriptions are placed in test/database to reuse
fake testing code due without import cycling.
* Fixed admin portal v2 navigation and e2e admin portal flakes
Check for docker before running e2e tests
* Assuming docker has failed until proven succeeded
* Made changes based on review feedback