daisycloud-core/doc/zuul_setup.txt
Zhijiang Hu eab28e15eb Add helper function for allocating CPUs for DPDK pmd threads
1. If one or more NIC is assigned to be DPDK NIC,
allocate_cpus_for_dpdk() will calculate CPU Ids to be used by
DPDK pmd threads when user calling get_host(s) API. Currently, one
CPU per each NUMA region is allocated. For example:

NUMA layout:
     {'numa_node0': [0,1,2,3,4,5,6,7, 16,17,18,19,20,21,22,23],
      'numa_node1': [8,9,10,11,12,13,14,15, 24,25,26,27,28,29,30,31]}

CPU choosed(no matter which NUMA region the NICs are located):
     [1,9]

Note: On systems with HyperThreading enabled, it is recommended to
      also allocate the HT sibling core. But currently, this is not
      supported.

Note: We currently restrict that all NICs which are assigned to be
DPDK NIC must be located in one NUMA region(In future, this limitation
should be removed, keep it for now for simplicity and compatibility
with DVS).

2. Next step is to impl. assigning NIC as a DPDK nic. Otherwise,
allocate_cpus_for_dpdk() returns nothing.

3. In future, user can get cores allocated to dpdk from host_meta info,
then fills them in isolcpus field in host_meta info to let Daisy to build the
final isolcpus kernel parameters for each compute node.

Note: Cores allocated to dpdk should be removed from the nova vcpu_pin_set
but currently we do not support setting the nova vcpu_pin_set.

Note: It is not recommended to isolate cores in the nova vcpu_pin_set
      unless the host will be dedicated for vms that request cpu pinning.
      So for the common usecase, isolcpus = Cores allocated to dpdk.

Change-Id: I58cd6d361d3d194cd35377b1c1bcef113f8036b0
Signed-off-by: Zhijiang Hu <hu.zhijiang@zte.com.cn>
2017-09-30 04:10:31 -04:00

22 lines
529 B
Plaintext

Currently daisycloud-core use 3rd party fashion of check and gate job.
To setup zuul and jenkins job:
1. git clone https://github.com/huzhijiang/ansible-zuul,
2. Copy CMD to its parent directory and run CMD, this will setup zuul
on localhost.
3. Setup jenkins version 1.625.x on localhost. and make it run as root.
4. Add the following plugins to jenkins:
Gearman Plugin
Git plugin
Parameterized Trigger plugin
Post-Build Script Plug-in
SCP publisher plugin
5. Push all jobs in jjb directory/
6. Done.