From 4e795a13bf6a80aa3f7bb1715639ff1f3c6ef5c5 Mon Sep 17 00:00:00 2001 From: Tomas Karasek Date: Thu, 30 Mar 2023 16:16:18 +0200 Subject: [PATCH 1/8] fix examples link in readme --- template/README.template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/README.template.md b/template/README.template.md index 4da976f..b6a6240 100644 --- a/template/README.template.md +++ b/template/README.template.md @@ -84,7 +84,7 @@ For more information on Ansible collection usage, see [Ansible's official usage ## Examples -Use-case examples for this collection can be found [here](./examples/README.md). +Use-case examples for this collection can be found [here](./examples). ## Licensing From 879d4ca43e576219ad05c3e5c6834f857ad3f0ef Mon Sep 17 00:00:00 2001 From: Tomas Karasek Date: Thu, 6 Apr 2023 14:19:17 +0200 Subject: [PATCH 2/8] describerelease process in README --- template/README.template.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/template/README.template.md b/template/README.template.md index b6a6240..4f92654 100644 --- a/template/README.template.md +++ b/template/README.template.md @@ -86,6 +86,24 @@ For more information on Ansible collection usage, see [Ansible's official usage Use-case examples for this collection can be found [here](./examples). +## Releasing + +When releasing, make sure that the desired version number is in `COLLECTION_VERSION` variable in Makefile. + +Then go to [https://github.com/equinix-labs/ansible-collection-equinix/releases/new](https://github.com/ansible-collection-equinix/metal-python/releases/new) and create a new release from `main`. Don't choose an existing tag. Put `v{COLLECTION_VERSION}` to the field for "Release title". For example if COLLECTION_VERSION is "0.1.2", use "v0.1.2". + +Add release notes in format of [Terraform Provider Equinix](https://github.com/equinix/terraform-provider-equinix/releases), with at least one of the sections (NOTES, FEATURES, BUG FIXES, ENHANCEMENTS). + +Click "Publish release", and the manual part should be over. + +The release will create a tag, and we have a Github action in place that should create an Ansible Galaxy release for version from COLLECTION_VERSION. + +Verify that the [releasing Github action](https://github.com/equinix-labs/ansible-collection-equinix/actions) succeeded. + +Verify that new version of (equinix.cloud)[https://galaxy.ansible.com/equinix/cloud] is avaiable in Ansible Galaxy. + + + ## Licensing GNU General Public License v3.0. From c8659809a00a46a4e399534ef8873fd815db2c05 Mon Sep 17 00:00:00 2001 From: Tomas Karasek Date: Wed, 12 Apr 2023 12:44:55 +0200 Subject: [PATCH 3/8] Add development documentation to README --- template/README.template.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/template/README.template.md b/template/README.template.md index 4f92654..1732c79 100644 --- a/template/README.template.md +++ b/template/README.template.md @@ -86,6 +86,27 @@ For more information on Ansible collection usage, see [Ansible's official usage Use-case examples for this collection can be found [here](./examples). +## Development + +If you want to develop the collecton, it's best to clone it under directory tree `ansible_collections/equinix/cloud`. That way the integration tests can be run without actually installing. + +``` +git clone https://github.com/equinix-labs/ansible-collection-equinix devdir/ansible_collections/equinix/cloud +``` + +You can try to run integration test for metal_project, that won't incur any fee. + +``` +cd devdir/ansible_collections/equinix/cloud +ansible-test integration -vvv metal_project +``` + +You can then edit existing code, or add new modules or tests. + +To install the collection from local directory, do `make install` in the root of the repo. + + + ## Releasing When releasing, make sure that the desired version number is in `COLLECTION_VERSION` variable in Makefile. @@ -103,7 +124,6 @@ Verify that the [releasing Github action](https://github.com/equinix-labs/ansibl Verify that new version of (equinix.cloud)[https://galaxy.ansible.com/equinix/cloud] is avaiable in Ansible Galaxy. - ## Licensing GNU General Public License v3.0. From c7668e2fb3a02ac96608e9e8fd266a3335314ae2 Mon Sep 17 00:00:00 2001 From: Tomas Karasek Date: Wed, 12 Apr 2023 12:45:34 +0200 Subject: [PATCH 4/8] regenerate readme --- README.md | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0052d4f..12b8de4 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,45 @@ For more information on Ansible collection usage, see [Ansible's official usage ## Examples -Use-case examples for this collection can be found [here](./examples/README.md). +Use-case examples for this collection can be found [here](./examples). + +## Development + +If you want to develop the collecton, it's best to clone it under directory tree `ansible_collections/equinix/cloud`. That way the integration tests can be run without actually installing. + +``` +git clone https://github.com/equinix-labs/ansible-collection-equinix devdir/ansible_collections/equinix/cloud +``` + +You can try to run integration test for metal_project, that won't incur any fee. + +``` +cd devdir/ansible_collections/equinix/cloud +ansible-test integration -vvv metal_project +``` + +You can then edit existing code, or add new modules or tests. + +To install the collection from local directory, do `make install` in the root of the repo. + + + +## Releasing + +When releasing, make sure that the desired version number is in `COLLECTION_VERSION` variable in Makefile. + +Then go to [https://github.com/equinix-labs/ansible-collection-equinix/releases/new](https://github.com/ansible-collection-equinix/metal-python/releases/new) and create a new release from `main`. Don't choose an existing tag. Put `v{COLLECTION_VERSION}` to the field for "Release title". For example if COLLECTION_VERSION is "0.1.2", use "v0.1.2". + +Add release notes in format of [Terraform Provider Equinix](https://github.com/equinix/terraform-provider-equinix/releases), with at least one of the sections (NOTES, FEATURES, BUG FIXES, ENHANCEMENTS). + +Click "Publish release", and the manual part should be over. + +The release will create a tag, and we have a Github action in place that should create an Ansible Galaxy release for version from COLLECTION_VERSION. + +Verify that the [releasing Github action](https://github.com/equinix-labs/ansible-collection-equinix/actions) succeeded. + +Verify that new version of (equinix.cloud)[https://galaxy.ansible.com/equinix/cloud] is avaiable in Ansible Galaxy. + ## Licensing From 286f3a7908ee6f8c884f8d486e5d0514581111f2 Mon Sep 17 00:00:00 2001 From: Tomas Karasek Date: Wed, 12 Apr 2023 13:13:48 +0200 Subject: [PATCH 5/8] regenerate REDAME --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 12b8de4..6b28271 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,10 @@ Modules for managing Equinix infrastructure. Name | Description | --- | ------------ | -[equinix.cloud.metal_device](./docs/modules/metal_device.md)|Create, update, or delete Equinix Metal devices| -[equinix.cloud.metal_ip_assignment](./docs/modules/metal_ip_assignment.md)|Manage Equinix Metal IP assignments| -[equinix.cloud.metal_project](./docs/modules/metal_project.md)|Manage Projects in Equinix Metal| -[equinix.cloud.metal_reserved_ip_block](./docs/modules/metal_reserved_ip_block.md)|Create/delete blocks of reserved IP addresses in a project.| +[equinix.cloud.metal_device](https://github.com/equinix-labs/ansible-collection-equinix/blob/0.0.1/docs/modules/metal_device.md)|Create, update, or delete Equinix Metal devices| +[equinix.cloud.metal_ip_assignment](https://github.com/equinix-labs/ansible-collection-equinix/blob/0.0.1/docs/modules/metal_ip_assignment.md)|Manage Equinix Metal IP assignments| +[equinix.cloud.metal_project](https://github.com/equinix-labs/ansible-collection-equinix/blob/0.0.1/docs/modules/metal_project.md)|Manage Projects in Equinix Metal| +[equinix.cloud.metal_reserved_ip_block](https://github.com/equinix-labs/ansible-collection-equinix/blob/0.0.1/docs/modules/metal_reserved_ip_block.md)|Create/delete blocks of reserved IP addresses in a project.| ### Info Modules @@ -33,11 +33,11 @@ Modules for retrieving information about existing Equinix infrastructure. Name | Description | --- | ------------ | -[equinix.cloud.metal_available_ips_info](./docs/modules/metal_available_ips_info.md)|Get list of avialable IP addresses from a reserved IP block| -[equinix.cloud.metal_device_info](./docs/modules/metal_device_info.md)|Select list of Equinix Metal devices| -[equinix.cloud.metal_ip_assignment_info](./docs/modules/metal_ip_assignment_info.md)|Gather IP address assignments for a device| -[equinix.cloud.metal_project_info](./docs/modules/metal_project_info.md)|Gather information about Equinix Metal projects| -[equinix.cloud.metal_reserved_ip_block_info](./docs/modules/metal_reserved_ip_block_info.md)|Gather list of reserved IP blocks| +[equinix.cloud.metal_available_ips_info](https://github.com/equinix-labs/ansible-collection-equinix/blob/0.0.1/docs/modules/metal_available_ips_info.md)|Get list of avialable IP addresses from a reserved IP block| +[equinix.cloud.metal_device_info](https://github.com/equinix-labs/ansible-collection-equinix/blob/0.0.1/docs/modules/metal_device_info.md)|Select list of Equinix Metal devices| +[equinix.cloud.metal_ip_assignment_info](https://github.com/equinix-labs/ansible-collection-equinix/blob/0.0.1/docs/modules/metal_ip_assignment_info.md)|Gather IP address assignments for a device| +[equinix.cloud.metal_project_info](https://github.com/equinix-labs/ansible-collection-equinix/blob/0.0.1/docs/modules/metal_project_info.md)|Gather information about Equinix Metal projects| +[equinix.cloud.metal_reserved_ip_block_info](https://github.com/equinix-labs/ansible-collection-equinix/blob/0.0.1/docs/modules/metal_reserved_ip_block_info.md)|Gather list of reserved IP blocks| ### Inventory Plugins @@ -46,7 +46,7 @@ Dynamically add Equinix infrastructure to an Ansible inventory. Name | --- | -[equinix.cloud.metal_device](./docs/inventory/metal_device.md)| +[equinix.cloud.metal_device](https://github.com/equinix-labs/ansible-collection-equinix/blob/0.0.1/docs/inventory/metal_device.md)| @@ -63,7 +63,7 @@ The Python module dependencies are not installed by `ansible-galaxy`. They can be manually installed using pip: ```shell -pip install -r https://raw.githubusercontent.com/equinix-labs/ansible-collection-equinix/main/requirements.txt +pip install -r https://raw.githubusercontent.com/equinix-labs/ansible-collection-equinix/0.0.1/requirements.txt ``` ## Usage From 2742b0ac37c2309db9c3075ffff542c6f427c868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Kar=C3=A1sek?= Date: Thu, 13 Apr 2023 16:52:08 +0200 Subject: [PATCH 6/8] Update template/README.template.md Co-authored-by: Charles Treatman --- template/README.template.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/README.template.md b/template/README.template.md index 1732c79..e5b9ce5 100644 --- a/template/README.template.md +++ b/template/README.template.md @@ -121,7 +121,7 @@ The release will create a tag, and we have a Github action in place that should Verify that the [releasing Github action](https://github.com/equinix-labs/ansible-collection-equinix/actions) succeeded. -Verify that new version of (equinix.cloud)[https://galaxy.ansible.com/equinix/cloud] is avaiable in Ansible Galaxy. +Verify that new version of [equinix.cloud](https://galaxy.ansible.com/equinix/cloud) is available in Ansible Galaxy. ## Licensing From bd9a47c7e44f963753192affe830467784069de7 Mon Sep 17 00:00:00 2001 From: Tomas Karasek Date: Fri, 14 Apr 2023 10:22:16 +0200 Subject: [PATCH 7/8] typo in link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6b28271..7b2c941 100644 --- a/README.md +++ b/README.md @@ -128,11 +128,11 @@ The release will create a tag, and we have a Github action in place that should Verify that the [releasing Github action](https://github.com/equinix-labs/ansible-collection-equinix/actions) succeeded. -Verify that new version of (equinix.cloud)[https://galaxy.ansible.com/equinix/cloud] is avaiable in Ansible Galaxy. +Verify that new version of [equinix.cloud](https://galaxy.ansible.com/equinix/cloud) is avaiable in Ansible Galaxy. ## Licensing GNU General Public License v3.0. -See [COPYING](COPYING) to see the full text. \ No newline at end of file +See [COPYING](COPYING) to see the full text. From 95bdec26dddf09fd5fa0d1df89836f3cf46fdf55 Mon Sep 17 00:00:00 2001 From: Tomas Karasek Date: Fri, 14 Apr 2023 10:49:20 +0200 Subject: [PATCH 8/8] fix description of the release process --- template/README.template.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/template/README.template.md b/template/README.template.md index e5b9ce5..b0eb394 100644 --- a/template/README.template.md +++ b/template/README.template.md @@ -109,15 +109,13 @@ To install the collection from local directory, do `make install` in the root of ## Releasing -When releasing, make sure that the desired version number is in `COLLECTION_VERSION` variable in Makefile. - -Then go to [https://github.com/equinix-labs/ansible-collection-equinix/releases/new](https://github.com/ansible-collection-equinix/metal-python/releases/new) and create a new release from `main`. Don't choose an existing tag. Put `v{COLLECTION_VERSION}` to the field for "Release title". For example if COLLECTION_VERSION is "0.1.2", use "v0.1.2". +Go to [https://github.com/equinix-labs/ansible-collection-equinix/releases/new](https://github.com/ansible-collection-equinix/metal-python/releases/new) and create a new release from `main`. Don't choose an existing tag. Put version to the field for "Release title", for example `v0.1.2`. Don't add collection number to the Makefile. Add release notes in format of [Terraform Provider Equinix](https://github.com/equinix/terraform-provider-equinix/releases), with at least one of the sections (NOTES, FEATURES, BUG FIXES, ENHANCEMENTS). Click "Publish release", and the manual part should be over. -The release will create a tag, and we have a Github action in place that should create an Ansible Galaxy release for version from COLLECTION_VERSION. +The release will create a tag, and we have a Github action in place that should create an Ansible Galaxy release. The script that creates tarball for Galay removes the first "v", so releasing `v0.1.2` should upload collection equinix.cloud version 0.1.2. Verify that the [releasing Github action](https://github.com/equinix-labs/ansible-collection-equinix/actions) succeeded.