Git Product home page Git Product logo

Comments (4)

matburt avatar matburt commented on May 18, 2024 1

Some more implementation details:

  • RabbitMQ container instance needs to modified to support autoclustering (paired with etcd or consul, likely the former)
  • Automatic Provisioning/Deprovisioning of Instances
  • Queue/Instance Group Membership should be driven entirely by the UI and not require inventory/installer involvement at all.
    • Requires POST support for instance_group/n/instances and instances/n/instance_groups endpoints.

In order to facilitate automatically placing Instances in Instance Groups for container based deployments we will need some way to automatically assign these transient instances. We'll do this with Instance Group Policies.

These Policies allow you to specify a certain percentage, or minimum number of instances that an Instance Group will attempt to keep as members. This will happen automatically as instances are provisioned/deprovisioned.

Instances that are removed from Instance Groups will automatically stay assigned to the tower instance group.

from awx.

mabashian avatar mabashian commented on May 18, 2024

UI implication notes:

  • Implement Instance Group CRUD (add/edit/delete)
    • Anticipating Name, Description and policy (Minimum Instances and Percentage of New Nodes and Static Instances) fields
    • Percentage of New Nodes will be a slider component
    • Minimum Instances which is currently a dropdown component
    • Static list of Instances that always belong to the Instance Group (don't see this in the mockup)
  • Implement Instance associate/disassociate with Instance Group from Instances related tab
    • Modal with Instance list (see host/group associate/disassociate) multi-select
  • Instances remain read-only

ITEMS THAT NEED CLARIFICATION

  • Should clicking on Instance show Instance Groups related tab where user can associate/disassociate the Instance from particular Instance Groups? Haven't had this request yet
  • Can Instance Groups be associated with other Instance Groups (like groups in inventories)? Thinking no, but need to follow up
  • In the planning meeting there was mention of a potential button for rebalancing an Instance Group but unclear as to whether that is needed. If it is needed, where should that button go? List, Instance Group form, etc? Thinking we don't need this, all rebalancing will happen automatically
  • Instances that get removed from an Instance Group when deleting Instance Group/disassociating Instance from Group will get added back to the base Instance Group. Do we need special prompt help text to explain this to the user? Basically can't add/remove an Instance through the UI. Yes, include a message in the prompt denoting that an instance will get moved back to the base group upon disassociation
  • Static list of instances policy in Instance Group form is currently not in the mockups but should it be?
  • Websocket support on these pages unclear. Could use jobs websocket channel group as a trigger to detect changes in status. This would require us to make a REST call on each status change.
  • Should Minimum Instances policy be a number field instead of dropdown? If this number is capped at like 10 then dropdown. If uncapped then number picker (see schedules).
  • Instance Group Instance list - should we denote manually added Instances v. instances added via policy?

from awx.

wenottingham avatar wenottingham commented on May 18, 2024

@matburt since the branch landed, should this be closed?

from awx.

matburt avatar matburt commented on May 18, 2024

Yep, closing with #1058

from awx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.