Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add howtoguide for pro on multiple machines #3380

Open
wants to merge 2 commits into
base: docs
Choose a base branch
from
Open

Add howtoguide for pro on multiple machines #3380

wants to merge 2 commits into from

Conversation

dheyay
Copy link
Contributor

@dheyay dheyay commented Jan 10, 2025

Why is this needed?

This PR solves all of our problems because it adds a how to guide for rolling out the pro subscription across multiple machines as per SD-1924

Test Steps


  • (un)check this to re-run the checklist action

@dheyay dheyay requested a review from s-makin January 10, 2025 19:39
@github-actions github-actions bot added the docs label Jan 10, 2025

- `QEMU`_
- `LXD`_
- `Ansible`_
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cloud-init does not have any MAAS related document nor does MAAS have any pro related docs. All there is on MAAS with pro is this: https://maas.io/docs/how-to-deploy-a-real-time-kernel

Which might not be relevant

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's ok to start with this page as an initial version. We can always expand it later with more content if/when necessary :)


This guide will show you how to roll out your pro token across multiple machines using cloud-init for configuration.

Configure using Cloud-init
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can probably frame this better. Any suggestions?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll probably have more suggestions once all the content is in place - let's leave this as a working title for now

- `LXD`_
- `Ansible`_

Verifying deployment
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't know if we need this here or something more extensive 😅

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should include the expected output so that the user knows if they're seeing the right thing or not.

Copy link
Contributor Author

@dheyay dheyay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@s-makin left some comments, also left it in draft so we can go through atleast one review cycle to fix any glaring errors. Thanks!

Copy link
Contributor

@s-makin s-makin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a good start, I've added some suggestions for more content we'll probably want to include

How to attach <how_to_attach>
Simulate attaching <how_to_simulate_attach>
Attach with a configuration file <how_to_attach_with_config_file>
Configure Ubuntu Pro across multiple machines <how_to_roll_out_across_multiple_machines>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's generally better to try and use the same title where possible on the page + in the navigation, or at least something very close. I think changing the title to something like "Attach multiple machines" might work better? "Configure" and "roll out" feel a bit like they're not quite describing the same thing, so it might be confusing for users to equate the two.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, attach multiple machines sounds much better.

@@ -0,0 +1,48 @@
.. _roll_out_multiple_machines:

How to roll out your pro token across multiple machines
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again I'd switch this to something more like "Attach multiple machines" - this is more aligned with the sort of search queries people will use when they are trying to find out how to attach multiple machines at once

How to roll out your pro token across multiple machines
=======================================================

This guide will show you how to roll out your pro token across multiple machines using cloud-init for configuration.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think a natural question here might be "why cloud-init?". It's worth expanding this intro paragraph to mention the alternatives (scripting, API), and the specific situation(s) that might lead you to use cloud-init (e.g., VMs/containers, etc). We should also link to the cloud-init docs here as well - not every user is likely to be familiar with it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's a good catch


- `QEMU`_
- `LXD`_
- `Ansible`_
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's ok to start with this page as an initial version. We can always expand it later with more content if/when necessary :)

token: <YOUR_PRO_TOKEN>


Replace <YOUR_PRO_TOKEN> with the pro token you received from the Ubuntu Pro Dashboard.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obtaining the token from the dashboard should be step 1 - might need more detail here about that


This guide will show you how to roll out your pro token across multiple machines using cloud-init for configuration.

Configure using Cloud-init
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll probably have more suggestions once all the content is in place - let's leave this as a working title for now


Replace <YOUR_PRO_TOKEN> with the pro token you received from the Ubuntu Pro Dashboard.

For more information on how to configure the pro token with cloud-init, take a look at the guide here: `Configure Pro in cloud-init <CLOUD_INIT_PRO_>`_.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're not actually configuring the pro token, so this reads as a bit misleading. I'm not sure what you intended to say, so I can't really suggest an alternative.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can probably say something like "Configuring Pro using Cloud-init"?
The cloud-init link mentions configuring pro services.


The next step is to usea cloud-init to configure your machines with the pro token.

To do this, a cloud-init configuratioin file is required. Create a cloud-init.yaml file with the following content:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is probably step 2 - I wouldn't phrase it as "create a cloud-init.yaml file", because the typical reader of our docs is unlikely to know what that is. Better to tell them to create a file called cloud-init.yaml, then to copy and paste the contents of the code block.


For more information on how to configure the pro token with cloud-init, take a look at the guide here: `Configure Pro in cloud-init <CLOUD_INIT_PRO_>`_.

Cloud-init also has comprehensive guides on configuring cloud-init for different platforms:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is step 3 - launching the machine with the configuration we want to apply. Since this can vary platform by platform I think it makes sense to provide multiple links as you have done. If we want to restrict these instructions to VMs/containers, we may also want to add Multipass and WSL.

- `LXD`_
- `Ansible`_

Verifying deployment
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should include the expected output so that the user knows if they're seeing the right thing or not.

@dheyay
Copy link
Contributor Author

dheyay commented Jan 15, 2025

Updated @s-makin

@dheyay dheyay marked this pull request as ready for review January 17, 2025 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants