Hello folks, I would love to get your thoughts on a new way of assigning roles to nodes.
Since nova flavors are created during the installation of the undercloud, they don't correspond to the actual hardware specifications of the available nodes. So, once a node is assigned, we should update the flavor with new hardware specs based on that node. This is a two-step operation: update the node and update the flavor. Now that we have multiple steps and multiple APIs involved in node assignment, it seems that we should turn this procedure into a mistral workflow. I have created a patch that does just that and you're welcome to review it and submit your feedback: https://review.openstack.org/320459 The patch introduces two workflows: assign_node and assign_nodes. The latter is just a loop of the former. It works like this: Given a node_id and a role_name (compute, swift-storage, etc): 1. Retrieve the node's details using ironic 2. Create a JSON patch object to update the node's capabilities 3. Update the node with the new capabilities 4. Get all nodes for that role and determine the lowest common specs 5. Recreate flavor with the common specs The reason for recreating the flavor instead of updating it in place is because mistral and the nova client don't expose the "set_keys" API yet. If the above patch receives favorable comments, we can work on getting those APIs exposed in order to simplify the code in tripleo-common. Honza Pokorny __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: [email protected]?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
