jichenjc e26ae01680 Enhance doc
1) remove comparison between zvm driver and other drivers
2) add support matrix for more info

Change-Id: Iba94b132a8f7b72ce1a6f20c8021d2dd449dc2d5
2018-02-12 11:14:29 +08:00

68 lines
2.4 KiB
ReStructuredText

.. _topology:
========
Topology
========
Generic concepts and components
-------------------------------
Following picture shows a conceptual view of the relationship between any OpenStack solution and z/VM.
An OpenStack solution is free to run its components wherever it wishes; its options range from running
all components on z/VM, to running some on z/VM and others elsewhere, to running all components on
other platform(s). The solution is also free to source its components wherever it wishes, either using
z/VM. OpenStack enablement components or not.
z/VM ships a set of servers that provide local system management APIs. These servers consist of request
servers that accept local connections, receive the data, and then call one of a set of worker servers to
process the request. These servers are known collectively as SMAPI. The worker servers can interact with
the z/VM hypervisor (CP) or with a directory manager. A directory manager is required for this
environment.
Overall architecture
--------------------
z/VM openstack enablement rely on z/VM cloud connector, the compute service (nova-compute) can either
run on remote server other than z/VM itself or run on top of virtual server which hosted on z/VM.
.. image:: ./images/arch.jpg
Function Call flow
------------------
Following is a picture describe the call routine of spawn function,
openstack zvm driver managed zvm through REST API call provided by
zvm cloud connector.
.. actdiag::
actdiag {
nova.spawn -> driver.spawn -> sdk.createuser -> zvm.createuser ->
sdk.adddisk -> zvm.adddisk -> sdk.setupnet -> zvm.setupnet
lane nova-compute {
label = "nova compute"
nova.spawn [label = "nova compute driver spawn"]
}
lane zvm-driver {
label = "zvm driver"
driver.spawn [label = "zvm driver spawn"]
}
lane zvm-cloud-connector {
label = "zvm cloud connector"
sdk.createuser [label = "create zvm user definition"]
sdk.adddisk [label = "add disk to created user"]
sdk.setupnet [label = "setup network to created user"]
}
lane zvm-system-management {
label = "zvm system management interface"
zvm.createuser [label = "use zvm dirmaint to create user"]
zvm.adddisk [label = "use zvm dirmaint and cp to add disk"]
zvm.setupnet [label = "use zvm cp to setup network"]
}
}