Score:-1

Different between of the role of Nova-Conductor and Nova-Compute

qa flag
  • Assert: I don't understand about OPS/Redhat explaination. Because all of information said nova-conductor will help database-accessing for nova-compute, every chart/image showed, too.

From OPS Community

nova-conductor module: Mediates interactions between the nova-compute service and the database. It eliminates direct accesses to the cloud database made by the nova-compute service. The nova-conductor module scales horizontally. However, do not deploy it on nodes where the nova-compute service runs.

From Redhat

The nova-conductor service enables OpenStack to function without compute nodes accessing the database. Conceptually, it implements a new layer on top of nova-compute. It should not be deployed on compute nodes, or else the security benefits of removing database access from nova-compute are negated.

  • Reality: When I download OPS Nova source code looked into nova/compute/manager.py, I saw the many many block code that queries the data from the database (instance list) and updates the data (instance.save).
def _poll_rescued_instances(self, context):
        if CONF.rescue_timeout > 0:
            filters = {'vm_state': vm_states.RESCUED,
                       'host': self.host}
            rescued_instances = objects.InstanceList.get_by_filters(
                context, filters, expected_attrs=["system_metadata"],
                use_slave=True)
def _allocate_network(self, context, instance, requested_networks,
                          security_groups, resource_provider_mapping,
                          network_arqs):
        """Start network allocation asynchronously.  Return an instance
        of NetworkInfoAsyncWrapper that can be used to retrieve the
        allocated networks when the operation has finished.
        """
        # NOTE(comstud): Since we're allocating networks asynchronously,
        # this task state has little meaning, as we won't be in this
        # state for very long.
        instance.vm_state = vm_states.BUILDING
        instance.task_state = task_states.NETWORKING
        instance.save(expected_task_state=[None])

So the assertion of the Openstack and Redhat development community is wrong or true????

  1. Link 1: https://docs.openstack.org/nova/pike/install/get-started-compute.html
  2. Link 2: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/8/html/configuration_reference_guide/section_conductor
  3. Link n: ....
Score:0
br flag

I really don't see the confusion here, both quotes are essentially the same explanation - Conductor is a data-access layer between Compute and the DB to allow for scaling, it's as simple as that.

Then the bit you wrote that starts 'Reallity', I don't see a clear question in there.

Huy võ lê avatar
qa flag
But the block code told that "directly" without any nova-conductor support. Please check that @Chopper3. Where are the supports from nova-conductor to nova-compute, can you explain?
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.