11. Components > nova-conductor
nova-api nova-conductor
nova-scheduler nova-computequeue
database
Database Proxy!
Acting as an intermediary between the compute
node and the database node and the database.
12. Components > nova-conductor
Why?
Auditing database operations, revoking access privileges.
That’s Difficult!
They host tenant instances.
Compute nodes are the least trusted of the services in OpenStack.
13. Components > nova-conductor
They strongly recommends
Be isolated to a management network,
Use SSL,
Create unique user accounts per service endpoint.
14. Restrict services to executing with parameters, …
Prevent directly accessing or modifying.
Unfortunately, it complicates fine-grained access control
and audit data access.
Because, it Focus on improving Security, effectively modifying.
Components > nova-conductor
-> Compute nodes are the least trusted
of the services in OpenStack. Because they host tenant instances.
-> Do not deploy it on Compute Nodes.
16. Components > nova-scheduler
nova-api nova-conductor
nova-scheduler nova-computequeue
database
Scheduler!
Takes VM requests from the queue.
Determine on which compute node host it.
17. Components > nova-scheduler
nova-api nova-conductor
nova-scheduler queue
mysql
nova-compute1
nova-compute2
nova-compute3
NEW Instance
Instance B
takes
determines
Create Instance
18. nova-scheduler
Takes a VM instance and determine where it should run
(on which host).
2 step process
20. • Filtering
– RetryFilter
• Prevents the scheduler from selecting the host that fails
to respond.
– AvailablilityZoneFilter
• Filters hosts by availability zone.
– RamFilter
• Select hosts that have sufficient RAM.
• Can overcommitment by configuration.
– ComputeFilter
• Passes all hosts that are operational and enabled.
nova-scheduler > filter scheduler
21. – ComputeCapabilitiesFilter
• Satisfy the extra specs associated with the instance type.
– ImagePropertiesFilter
• Filters hosts based on properties defined on the
instance's image.
nova-scheduler > filter scheduler
26. • Weighing
– Each time the scheduler selects a host and
subsequent selections are adjusted accordingly.
– Virtually consumes resources.
nova-scheduler > filter scheduler
27. In the end...
●The scheduler manager sends an rpc call to the
compute manager of selected hosts.
●The compute manager receives it from the queue and
runs its create_instance method and we get a running
VM instance.
28. Components > nova-compute
nova-api nova-conductor
nova-scheduler nova-computequeue
database
Worker Daemon!
Creates and terminates VMs through hypervisor APIs,
such as Xen, QEMU, KVM, Vmware, ….
29. It Supports multiple hypervisors.
Because, it Has an abstraction layer, Driver.
Components > nova-compute
nova-compute
Compute Agent
(KVM)
libvirt
KVM
VM VM
nova-compute
Compute Agent
(Hyper-v)
Hyper-v
VM VM
nova-scheduler
nova-compute
Abstraction layer,
Driver
any hypervisor
VM VM
32. • Ironic
– OpenStack Component for managing and
provisioning Bare Metal servers.
– Not VMs.
– Makes physical servers as easy to provision as
VMs in cloud.
nova-compute > hypervisors