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

nutanix AHV host affinity support #13

Open
JonKohler opened this issue Nov 20, 2018 · 3 comments
Open

nutanix AHV host affinity support #13

JonKohler opened this issue Nov 20, 2018 · 3 comments

Comments

@JonKohler
Copy link
Collaborator

from #185 @jttrail0

A large project was stalled today when we were unable to delegate host affinity today in relation to Prism Central/v3 API, we had not realized it was a feature that no longer existed. This was kind of an essential feature to spinning up and tearing down a big data cluster in which we do NOT want to migrate in the event of node failure.

It appears your client.go only uses the v3 as well as I did not see any v1 code support in the repo thus far. This was a feature in the past that appears to be pulled out of the v3 api, as the Prism Central web call looks to be done on either v0.8 or v1.

We would like not to have to work backwards to make this work as joining a cluster to Prism Central appears to remove the ability to add images to the cluster (they are now only added to PC) and I don't know that RBAC would migrate to Prism Elements alone.

Do you see a short term fix to managing host affinity... I was hoping Terraform would be the answer... our current RESTful stack is Ansible making a bunch of calls via the URI module and some templating magic (not ideal).

My original response:

Hey there @jttrail0 - thanks for reaching you. I know exactly what you're talking about. Funny, I just got another email internally about this same thing, like like it was forwarded on a few times from yourself. I've asked our team to add me to that mail as well.

You are right that our client.go is v3 only. I did this very intentionally, as the v3 API will be the way of the future, but you're spot on in that it has a few challenges:

The APIs are fragmented between v0.8, v1, v2, and v3. This is getting better with each release, but is still a reality. We've got a bit of work to do to truly get to a point where we can just fully deprecate all of the old APIs and just have ONE api per product.
V3 API is not in an LTS branch yet, so all of this is STS code only.
That all said, I'm curious - What exactly are you trying to do?

Asking as Terraform is an immutable infrastructure product, and Ansible by design is doing mutable changes to the instances that are provisioned.

Perhaps a cleaner way to do this is with ansible modules that talk to the various APIs, and could be plumbed into your playbooks properly, such that you're doing work from one tool only.

Also, WRT Images, that has changed back and forth over the past few releases.

Used to be that images were PE only. Then we swung to PC only (and the community slapped us hard on that). Now we've made it a bit of a hybrid, so it shouldn't be PC exclusive.

Either way, our vision for terraform is that it is almost ways going to be pointed at PC, so we're really trying to focus on making that multi-cluster management shine here, as we believe that most terraform high volume configurations will involve more than one cluster, so having everything in a single state file will nice.

@trexmaster
Copy link

I just hit this issue last week (had never user host affinity before) which led to Terraform crashing and the state being corrupted.

@pmiles
Copy link

pmiles commented Oct 4, 2021

Any progress on this ? Is been almost 3 years ...

Thanks

@davhdavh
Copy link

davhdavh commented Nov 6, 2024

status?

abhimutant added a commit that referenced this issue Dec 9, 2024
* datasource for pbrs

* lint fixes. go error (gomnd, gosimple, golint)

* go checks, magic numbers(gomnd)

* fix config testcase as base client will differ in sdks

* tests and docs for pbrs

* change module  name from v4 to v2

* change package  name to networkingv2

* add pbr_v2 example

* fix import

---------

Co-authored-by: Abhishek <[email protected]>
abhimutant added a commit that referenced this issue Dec 9, 2024
* Feat/1.9.3 (#633)

Co-authored-by: Abhishekism9450 <[email protected]>
Co-authored-by: Deepak Muley <[email protected]>
Co-authored-by: Abhishek <[email protected]>

* Feat/1.9.4 (#645)

Co-authored-by: Frederic M <[email protected]>
Co-authored-by: ArtemProt <[email protected]>
Co-authored-by: Abhishekism9450 <[email protected]>

* new tf design

* import changes

* package name change for fc

* package name for fc is foundationCentral

* package name to foundationcentral

* fixes around acctest

* examples folder

* v4 design

* some fixes after merging

* datasource for subnets,vpcs, fips

* resource for subnets

* adding go mod for public repo

* lint fixes

* lint fix

* lint fix for client name

* test config as client will be different for sdks

* adding crud for fips

* test for subnet

* docs for subnet

* tcs for fips

* lint fixes

* lint fix in fips

* lint fix

* docs for fip

* docs and tcs for vpc

* delete vendor and exclude vendor folder

* change the subnets, floating_ip and vpc module name from v4 to v2, add examples

* fix acc test cases for resource services

* fix acc test cases for datasource services, use internal sdk, create the resources that test cases needed within the test case itself

* change package name from networking to networkingv2

* Revert "delete vendor and exclude vendor folder"

This reverts commit 34ac198.

* Feat/v4 pbrs  on v4 networks  (#13)

* datasource for pbrs

* lint fixes. go error (gomnd, gosimple, golint)

* go checks, magic numbers(gomnd)

* fix config testcase as base client will differ in sdks

* tests and docs for pbrs

* change module  name from v4 to v2

* change package  name to networkingv2

* add pbr_v2 example

* fix import

---------

Co-authored-by: Abhishek <[email protected]>

* Feat/v4 static routes on v4 networks  (#14)

* datasource for pbrs

* lint fixes. go error (gomnd, gosimple, golint)

* go checks, magic numbers(gomnd)

* fix config testcase as base client will differ in sdks

* datasourc for route tables

* resource for static route

* tests and docs for pbrs

* docs for route table

* docs for static route

* lint fixes

* remove other services

* change module name from v4 to v2

* change package name to networkingv2

* change package name to networkingv2

* remove other services

---------

Co-authored-by: Abhishek <[email protected]>

* Feat/v4 network security rules on v4 networks  (#15)

* datasource for pbrs

* lint fixes. go error (gomnd, gosimple, golint)

* go checks, magic numbers(gomnd)

* fix config testcase as base client will differ in sdks

* datasourc for route tables

* resource for static route

* address groups v4

* service groups

* resource for service groups

* crud for service groups

* CRUD for address groups

* data source for network security

* CRUD for network security

* tests and docs for pbrs

* docs for route table

* docs for static route

* lint fixes

* testcases for address groups

* fixing lint issues

* lint fix

* docs for address groups

* test and docs for service groups

* docs and tcs for NSP

* resource tests for NSP

* tcs for NSP

* remove other services

* change module name from v4 to v2

* change package name to networkingv2

---------

Co-authored-by: Abhishek <[email protected]>

* Feat/v4 address group on v4 networks  (#16)

* datasource for pbrs

* lint fixes. go error (gomnd, gosimple, golint)

* go checks, magic numbers(gomnd)

* fix config testcase as base client will differ in sdks

* datasourc for route tables

* resource for static route

* address groups v4

* service groups

* resource for service groups

* crud for service groups

* CRUD for address groups

* tests and docs for pbrs

* docs for route table

* docs for static route

* lint fixes

* testcases for address groups

* fixing lint issues

* lint fix

* docs for address groups

* test and docs for service groups

* add examples for address group and service group

* add examples for address group and service group

* add examples for address group and service group

* Revert "add examples for address group and service group"

This reverts commit 4c1cc92f031ae60a97604a17a374fd2930b21acb.

* remove other modules

* change module name from v4 to v2

* change package name from v2

---------

Co-authored-by: Abhishek <[email protected]>

---------

Co-authored-by: Abhishek Chaudhary <[email protected]>
Co-authored-by: Abhishekism9450 <[email protected]>
Co-authored-by: Deepak Muley <[email protected]>
Co-authored-by: Abhishek <[email protected]>
Co-authored-by: Frederic M <[email protected]>
Co-authored-by: ArtemProt <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants