### feat: Incoporate azure resources
Per [Azure official document](https://learn.microsoft.com/en-us/azure/aks/azure-netapp-files), users have to complete following steps before they deploy trident and create tbc (tridentbackendconfig):
1. Create a netapp account
2. Create capacity pool
3. Create subnet and delegate to Azure NetApp Files
This PR tries to incorporate these steps into the process of initialing Azure driver in trident. Users do not need to create these Azure resources anymore. All they need is to deploy trident and then create a tbc.
After a tbc deployed, trident-orchestrator starts to initialize Azure driver, it will discover netapp account, capacity pool and subnet and they make up the virtual storage pools. What this PR implement is that when these Azure resources are not explicitly specified in tbc, and no Azure resource can be discovered, trident-orchestrator will create them.
## Project tracking
Do any added TODOs have an issue in the backlog?
Did you add unit tests? Why not?
Does this code need functional testing?
Is a code review walkthrough needed? why or why not?
Should additional test coverage be executed in addition to pre-merge?
Does this code need a note in the changelog?
Yes. feat(Azure): Incorporate azure resources.
Does this code require documentation changes?
Yes.
Additional Information
Manual test steps
1. create an aks cluster
export LOCATION=""
export CLUSTER="aks-anf-demo"
export CLUSTER_GROUP="aks-anf-demo-group"
az group create -n CLUSTER_GROUP -l $LOCATION
az aks create -n $CLUSTER -g $CLUSTER_GROUP
2. add necessary permission to aks managed identity
export subID=$(az account show --query id -o tsv)
export MC_RESOURCE_GROUP=$(az aks show -n $CLUSTER -g $CLUSTER_GROUP --query "nodeResourceGroup" -o tsv)
AGENT_POOL_MSI_OBJECT_ID=`az identity show -n ${CLUSTER}-agentpool -g $MC_RESOURCE_GROUP --query "principalId" -o tsv`
AGENT_POOL_MSI_CLIENT_ID=`az identity show -n ${CLUSTER}-agentpool -g $MC_RESOURCE_GROUP --query "clientId" -o tsv`
az role assignment create --assignee $AGENT_POOL_MSI_OBJECT_ID --role Owner --scope /subscriptions/$subID/resourceGroups/$MC_RESOURCE_GROUP
Change description
### feat: Incoporate azure resources Per [Azure official document](https://learn.microsoft.com/en-us/azure/aks/azure-netapp-files), users have to complete following steps before they deploy trident and create tbc (tridentbackendconfig): 1. Create a netapp account 2. Create capacity pool 3. Create subnet and delegate to Azure NetApp Files This PR tries to incorporate these steps into the process of initialing Azure driver in trident. Users do not need to create these Azure resources anymore. All they need is to deploy trident and then create a tbc. After a tbc deployed, trident-orchestrator starts to initialize Azure driver, it will discover netapp account, capacity pool and subnet and they make up the virtual storage pools. What this PR implement is that when these Azure resources are not explicitly specified in tbc, and no Azure resource can be discovered, trident-orchestrator will create them. ## Project trackingDo any added TODOs have an issue in the backlog?
Did you add unit tests? Why not?
Does this code need functional testing?
Is a code review walkthrough needed? why or why not?
Should additional test coverage be executed in addition to pre-merge?
Does this code need a note in the changelog?
Yes. feat(Azure): Incorporate azure resources.
Does this code require documentation changes?
Yes.
Additional Information
Manual test steps
1. create an aks cluster
2. add necessary permission to aks managed identity
3. build and push image
4. deploy trident
5. create TridentBackendConfig and wait until it creates backend successfully.
6. Create SC, PVC, Pod