Add Github action to verify links are valid in repo (#847)

* Set up markdown link checker GH action

* Update to only show errors and add details

* fix workflow file

* Fix all broken links
This commit is contained in:
Eoin Bailey 2020-08-26 17:39:59 +01:00 коммит произвёл GitHub
Родитель 790d50bb9b
Коммит 38c8fe28c6
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
16 изменённых файлов: 48 добавлений и 23 удалений

13
.github/workflows/action.yml поставляемый Normal file
Просмотреть файл

@ -0,0 +1,13 @@
name: Check Markdown links
on: push
jobs:
markdown-link-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: gaurav-nelson/github-action-markdown-link-check@v1
with:
use-quiet-mode: 'yes'
config-file: 'mlc_config.json'

Просмотреть файл

@ -6,7 +6,7 @@ Additional configuration tasks include:
- Enabling [support](enable_support.md) uploads and proactive service (recommended for all clusters)
- Copying data to cloud storage - Read [Moving data onto the vFXT cluster](getting_data_onto_vfxt.md) for details.
- Customizing port accessibility - Read [Required ports](required_ports.md) for more information.
- Customizing port accessibility - Read [Required ports](../../required_ports.md) for more information.
- Configuring ExpressRoute or VPN access for clients - Refer to the [Azure ExpressRoute documentation](<https://docs.microsoft.com/en-us/azure/expressroute/>) or the [Azure VPN Gateway documentation](<https://docs.microsoft.com/en-us/azure/vpn-gateway/>) for details.
- System tuning - Read [Cluster Tuning](tuning.md) to learn more about adjusting custom settings for optimal performance in conjunction with Avere Global Services.

Просмотреть файл

@ -124,7 +124,7 @@ More information about junctions can be found [here](http://library.averesystems
- Choose the core filer export.
- Click **Next**.
![Screenshot of the "Add new junction" page with the fields completed for junction, core filer, and export](images/24addjunction.png)
<!-- ![Screenshot of the "Add new junction" page with the fields completed for junction, core filer, and export](images/24addjunction.png) -->
The junction will appear after a few seconds. Create additional junctions as needed.

Просмотреть файл

@ -14,7 +14,7 @@ This section explains strategies for creating a multi-client, multithreaded file
It also explains some utilities that can help. The ``msrsync`` utility can be used to partially automate the process of dividing a dataset into buckets and using rsync commands. The ``parallelcp`` script is another utility that reads the source directory and issues copy commands automatically.
To install a data ingestor VM with all of these parallel data ingestion tools follow the [data ingestor tutorial](data_ingestor.md).
To install a data ingestor VM with all of these parallel data ingestion tools follow the [data ingestor tutorial](../../data_ingestor.md).
Click the link to jump to a section:

Просмотреть файл

@ -75,7 +75,7 @@ cp /create-minimal-cluster ./cmc
vi cmc
```
Edit the following fields in the `cmc` script to supply the values you captured from [outputs (above)](browse-to-outputs) for resource group, location, virtual network, and subnet:
Edit the following fields in the `cmc` script to supply the values you captured from [outputs (above)](#browse-to-outputs) for resource group, location, virtual network, and subnet:
```bash
RESOURCE_GROUP=<from controller Outputs>

Просмотреть файл

@ -3,7 +3,7 @@
Follow these steps to connect client machines to access your vFXT cluster.
1. Configure a core filer and junction as described in the previous step, [Configure storage](configure_storage.md).
1. Decide how to load-balance client traffic among your cluster nodes. Read [Balancing client load](balancing-client-load), below, for details.
1. Decide how to load-balance client traffic among your cluster nodes. Read [Balancing client load](#balancing-client-load), below, for details.
1. Choose the [IP address and junction path](#identifying-ip-addresses-and-paths-to-mount) to mount.
1. Issue the [mount command](#mount-command-arguments), with appropriate arguments.
@ -42,7 +42,7 @@ function mount_round_robin() {
fi
}
```
The function above is part of the [Batch example](maya_azure_batch_avere_vfxt_demo.md); the entire file is available [here](../src/tutorials/mayabatch/centosbootstrap.sh).
The function above is part of the [Batch example](../../maya_azure_batch_avere_vfxt_demo.md); the entire file is available [here](../../../src/tutorials/mayabatch/centosbootstrap.sh).
## Identifying IP addresses and paths to mount
@ -73,7 +73,7 @@ The junction path corresponds to the **Namespace path** field you defined when c
!["Add new junction" dialog with /avere/files in the namespace path field](images/create_junction_example.png)
In addition to the paths, include the [Mount command arguments](mount-command-arguments) described below when mounting each client.
In addition to the paths, include the [Mount command arguments](#mount-command-arguments) described below when mounting each client.
## Mount command arguments

Просмотреть файл

@ -75,11 +75,11 @@ You can use the [cloud shell](#cloud-shell) or the [Azure portal](#azure-portal)
2. Click one of the images and select the link to enable programmatic access. This link appears at the bottom of the image details, below the **Create** button.
![Screenshot of a link to programmatic access which is below the Create button](images/2-prog-access-link.png)
<!-- ![Screenshot of a link to programmatic access which is below the Create button](images/2-prog-access-link.png) -->
3. Click the button to enable access for your subscription. Youll only need to do this once for each subscription. Save the setting.
![Screenshot showing mouse click to enable programmatic access](images/3-enable-prog-access.png)
<!-- ![Screenshot showing mouse click to enable programmatic access](images/3-enable-prog-access.png) -->
4. Repeat steps 2 and 3 for the other image.
@ -102,7 +102,7 @@ vi avere-cluster.json
4. Edit the file to include your subscription ID. Save the file as ``avere-cluster.json``.
![Console text editor showing the subscription ID and the "remove this line" selected for deletion](images/edit_role.png)
<!-- ![Console text editor showing the subscription ID and the "remove this line" selected for deletion](images/edit_role.png) -->
5. Create the role:

Просмотреть файл

@ -4,7 +4,7 @@ Because the Avere cluster is compatible with diverse software and hardware envir
This section gives some examples of the kinds of custom tuning that can be done.
**Tip:** The VDBench utility can be helfpul in generating I/O workloads to test a vFXT cluster. Read [Measuring vFXT Performance](vdbench.md) to learn more.
**Tip:** The VDBench utility can be helfpul in generating I/O workloads to test a vFXT cluster. Read [Measuring vFXT Performance](../../vdbench.md) to learn more.
## General optimizations

14
mlc_config.json Normal file
Просмотреть файл

@ -0,0 +1,14 @@
{
"ignorePatterns": [
{
"pattern": "^http://example.net"
},
{
"pattern": "10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"
}
,
{
"pattern": "127.0.0.1"
}
]
}

Просмотреть файл

@ -1,3 +1,3 @@
# Resource files for "Why use the Avere vFXT for Rendering?"
The contents of these folders is described in [Why use the Avere vFXT for Rendering?](../../docs/why_avere_for_rendering.md).
The contents of these folders is described in [Why use the Avere vFXT for Rendering?](../../../docs/why_avere_for_rendering.md).

Просмотреть файл

@ -1,6 +1,6 @@
# NFS NAS Core Filer
The templates in this folder implements an NFS based NAS Filer described in [Why use the Avere vFXT for Rendering?](../../../docs/why_avere_for_rendering.md).
The templates in this folder implements an NFS based NAS Filer described in [Why use the Avere vFXT for Rendering?](../../../../docs/why_avere_for_rendering.md).
A VNET is created for the NAS filer, but you can easily adjust the templates to replace the VNET resource with reference to your own VNET.

Просмотреть файл

@ -1,5 +1,5 @@
# Resource files for "Why use the Avere vFXT for Rendering?"
The contents of these folders is described in [Why use the Avere vFXT for Rendering?](../../../docs/why_avere_for_rendering.md).
The contents of these folders is described in [Why use the Avere vFXT for Rendering?](../../../../docs/why_avere_for_rendering.md).
The bootstrap file is used by the machines of an Azure Batch pool to mount NFS filers at varying distances, and also add round robin mounts for the vServers of the Avere vFXT core filer.

Просмотреть файл

@ -1,6 +1,6 @@
# VNET Peering of NFS NAS Core Filers
The template and parameter files implement the VNET peering described in [Why use the Avere vFXT for Rendering?](../../../docs/why_avere_for_rendering.md).
The template and parameter files implement the VNET peering described in [Why use the Avere vFXT for Rendering?](../../../../docs/why_avere_for_rendering.md).
The main East US VNETs is peered to 4 smaller VNETs, as shown in the following diagram:

Просмотреть файл

@ -36,7 +36,7 @@ The NFS filer holds your digital assets, rendering tools, and any other files re
For this step there are two options:
1. **use your on-premises NFS filer** - The on-premises NFS based filer may have one or more IP addresses. This on-premises filer will need to be configured to allow `no_root_squash` and access to the avere subnet created in the network section.
1. **build a simple NFS filer** - If you don't have an oprem filer, install the [Simple NFS Filer](simplenfsfiler/). Once you have completed the installation, you will need to copy digital assets to it. If you don't have digital assets, copy the blender assets described in this [this article](install_blender.md).
1. **build a simple NFS filer** - If you don't have an oprem filer, install the [Simple NFS Filer](../simplenfsfiler/). Once you have completed the installation, you will need to copy digital assets to it. If you don't have digital assets, copy the blender assets described in this [this article](install_blender.md).
# Azure Region
@ -51,7 +51,7 @@ The render manager is responsible for orchestrating the render jobs across the r
1. **Network access** - network access from the cloud render nodes will need network access to the render manager.
1. **Scaling** - if the render manager participates in scale-up and scale-down of render nodes it will need access to Azure resource manager.
If you do not have a render manager, install the [Opencue](opencue/) render manager for this tutorial.
If you do not have a render manager, install the [Opencue](https://www.opencue.io/) render manager for this tutorial.
# Network
@ -74,10 +74,10 @@ There are two ways to build custom images on Azure:
1. **import from an existing image** - this approach uses one of your existing images whether they rely on-premisis or in another cloud:
1. [build from on-premisis and upload to Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/create-upload-centos)
1. [migrate image from AWS](https://docs.microsoft.com/en-us/azure/site-recovery/migrate-tutorial-aws-azure) - fix safe link.
1. [migrate image from GCP](../../../docs/CustomImageTransfer_GCE2Azure.md)
1. [migrate image from GCP](../../../docs/customImageTransfer_GCE2Azure.md)
1. **build from an Azure stock image** - Another approach is to deploy a virtual machine (VM) on Azure, and install all your render software and render manager agents. Once this is complete, [this article](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/capture-image) describes how to capture the VM to an image.
If you don't have render software, use the stock image approach above, and use [this article](install_blender.md) to install blender and [this article](../opencue) to install the Opencue agent.
If you don't have render software, use the stock image approach above, and use [this article](install_blender.md) to install blender and [this article](https://www.opencue.io/) to install the Opencue agent.
As you are building your image, here are some tips:
* ensure the waagent is installed and able to access the network, otherwise the VM will be stuck in "creating" and be eventually collected by Microsoft

Просмотреть файл

@ -26,8 +26,8 @@ The following table shows the roles required for each of the avere operations:
| **Bring your own VNET Administrator** | deploy vFXT controller, and vFXT into the same resource group but reference the VNET from a different resource group | "[User Access Administrator](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#user-access-administrator)" and "[Contributor](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#contributor)" scoped to the target vFXT resource Group, and "[Virtual Machine Contributor](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#virtual-machine-contributor)", "[User Access Administrator](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#user-access-administrator)", and "[Avere Contributor](https://github.com/Azure/Avere/blob/main/src/vfxt/src/roles/AvereContributor.txt)" scoped to the VNET resource group.|
Here are the instructions to create custom Avere Roles:
1. "Avere Operator" - apply the "[Avere Operator](https://github.com/Azure/Avere/blob/main/src/vfxt/src/roles/AvereOperator.txt)", using instructions from [the Avere documention for runtime role creation](https://docs.microsoft.com/azure/avere-vfxt/avere-vfxt-pre-role). Microsoft employees should specify already defined role "Avere Cluster Runtime Operator".
1. "Avere Contributor" - apply the ["Avere Contributor" role file](src/roles/AvereContributor.txt), using instructions from [the Avere documentation for runtime role creation](https://docs.microsoft.com/azure/avere-vfxt/avere-vfxt-pre-role). Microsoft employees should specify already defined roleName "Avere Cluster Create" with roleId "a7b1b19a-0e83-4fe5-935c-faaefbfd18c3".
1. "Avere Operator" - apply the "[Avere Operator](https://github.com/Azure/Avere/blob/main/src/vfxt/src/roles/AvereOperator.txt)", using instructions from [the Avere documention for runtime role creation](https://docs.microsoft.com/en-us/azure/avere-vfxt/avere-vfxt-prereqs#configure-subscription-owner-permissions). Microsoft employees should specify already defined role "Avere Cluster Runtime Operator".
1. "Avere Contributor" - apply the ["Avere Contributor" role file](src/roles/AvereContributor.txt), using instructions from [the Avere documentation for runtime role creation](https://docs.microsoft.com/en-us/azure/avere-vfxt/avere-vfxt-prereqs#configure-subscription-owner-permissions). Microsoft employees should specify already defined roleName "Avere Cluster Create" with roleId "a7b1b19a-0e83-4fe5-935c-faaefbfd18c3".
After creating the contributor role, you will need to get the role ID to pass to template (Microsoft employees use roleId "a7b1b19a-0e83-4fe5-935c-faaefbfd18c3"). The AAD role id is a GUID used for creating of the vFXT cluster. This is the ID obtained using the following az command: `az role definition list --query '[*].{roleName:roleName, name:name}' -o table --name 'Avere Contributor'`. Currently the template defaults to the [Owner role](https://docs.microsoft.com/azure/role-based-access-control/built-in-roles#owner) with GUID 8e3af657-a8ff-443c-a75c-2fe8c4bcb635.

Просмотреть файл

@ -1,7 +1,5 @@
# Avere vFXT for Azure cluster controller node - ARM template deployment
This template implements [Deploy](../../docs/jumpstart_deploy.md).
<a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FAvere%2Fmain%2Fsrc%2Fvfxt%2Flegacy%2Fazuredeploy.json" target="_blank">
<img src="https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/deploytoazure.png"/>
</a>