Azure-sdk-for-go: v6 SDK: Usage Clarification for the Container Service

Created on 2 Nov 2016  路  8Comments  路  Source: Azure/azure-sdk-for-go

Context: I'm trying to implement support for the Container Service into Terraform

Perhaps this isn't the right place to file this bug - but given I was trying to implement it using the Go SDK it seemed sensible - happy to open this elsewhere if needed :)

I've imported v6 of the Container Service SDK - and built up a sample object - however I don't see how it's possible to specify the Operating System assigned to a particular Agent Pool?

Perhaps I'm overlooking something obvious - but I don't see how it's possible to specify the operating system for a particular agent pool? I encounter the same issue using the Azure Portal too - are Container Service Agents instances limited to Linux for the moment?

If that is the case - the documentation doesn't describe this limitation - but I'm assuming I could safely ignore the WindowsProfile for the moment?

Would it be possible for someone to point me in the right direction please? :)

Thanks!

question

Most helpful comment

cc: @Azure/acs

All 8 comments

Hi @tombuildsstuff :D
Right now it is limited to Linux, so you can ignore the Windows Profile

@mcardosos 馃憤馃徏 ok cool - thanks!

Is there any plan to split the API into multiple calls btw? One giant call to manage the cluster makes life challenging to split this out into smaller resources like a resource per pool :)

Do you mean have a method to update only the MasterProfile, another method for LinuxProfile only, etc?

cc: @Azure/acs

@mcardosos @colemickens indeed - right now it's a lot of configuration to update in one API call. it'd be nice to be able to provision the Core with any default configurations, then say "add a linux pool with 5 agents" as a separate API call

e.g. I'd love to be able to have this as separate resources in Terraform:

resource "azurerm_container_service" "test" {
 type = "dcos"
}

resource "azurerm_container_agent_pool" "first_pool" {
  os = "linux"
  count = "3"
  admin_username = "foo"
  admin_password = "bar"
}

resource "azurerm_container_agent_pool" "second_pool" {
  os = "linux"
  count = "3"
  admin_username = "foo"
  admin_password = "bar"
}

@tombuildsstuff, ACS does support specifying OS Type on AgentPool with a field called "osType". Allowed values are "Linux" and 'Windows'. Default is Linux

ACS currently does not support PATCH but you can send a partial object as part of your PUT (update) if you call the rest API. E.g. if you needed to scale up/down you could just provide agentpoolprofile in the request body. Note, however that ACS accepts only one agentpool in agentpoolprofile right now.

If you have Linux agents only then you should not specify WindowsProfile in your request.

@amanohar thanks for clarifying that - I'll look into just adding Linux support for the moment :)

Perhaps I'm looking in the wrong resource, but I don't believe that the osType field is exposed via the SDK at this point?

@tombuildsstuff thanks for the feedback.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

colemickens picture colemickens  路  3Comments

lawrencegripper picture lawrencegripper  路  4Comments

StrongMonkey picture StrongMonkey  路  4Comments

drosseau picture drosseau  路  4Comments

yannart picture yannart  路  3Comments