Change compute node to worker node personality
This update replaces compute references to worker in mtce, kickstarts, installer and bsp files. Tests Performed: Non-containerized deployment AIO-SX: Sanity and Nightly automated test suite AIO-DX: Sanity and Nightly automated test suite 2+2 System: Sanity and Nightly automated test suite 2+2 System: Horizon Patch Orchestration Kubernetes deployment: AIO-SX: Create, delete, reboot and rebuild instances 2+2+2 System: worker nodes are unlock enable and no alarms Story: 2004022 Task: 27013 Depends-On: https://review.openstack.org/#/c/624452/ Change-Id: I225f7d7143d841f80459603b27b95ac3f846c46f Signed-off-by: Tao Liu <tao.liu@windriver.com>
This commit is contained in:
parent
8eb55b2b03
commit
9661e49411
@ -47,7 +47,7 @@ write_config_file("controller",
|
||||
"post_kernel_controller.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_usb_controller.cfg");
|
||||
write_config_file("controller-compute",
|
||||
write_config_file("controller-worker",
|
||||
"${output_dir}/smallsystem_ks.cfg", "filter_out_from_smallsystem",
|
||||
"pre_common_head.cfg",
|
||||
"pre_pkglist.cfg",
|
||||
@ -55,11 +55,11 @@ write_config_file("controller-compute",
|
||||
"pre_disk_aio.cfg",
|
||||
"post_platform_conf_aio.cfg",
|
||||
"post_common.cfg",
|
||||
"post_kernel_aio_and_compute.cfg",
|
||||
"post_kernel_aio_and_worker.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_system_aio.cfg",
|
||||
"post_usb_controller.cfg");
|
||||
write_config_file("controller-compute-lowlatency",
|
||||
write_config_file("controller-worker-lowlatency",
|
||||
"${output_dir}/smallsystem_lowlatency_ks.cfg", "filter_out_from_smallsystem_lowlatency",
|
||||
"pre_common_head.cfg",
|
||||
"pre_pkglist_lowlatency.cfg",
|
||||
@ -67,7 +67,7 @@ write_config_file("controller-compute-lowlatency",
|
||||
"pre_disk_aio.cfg",
|
||||
"post_platform_conf_aio_lowlatency.cfg",
|
||||
"post_common.cfg",
|
||||
"post_kernel_aio_and_compute.cfg",
|
||||
"post_kernel_aio_and_worker.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_system_aio.cfg",
|
||||
"post_usb_controller.cfg");
|
||||
@ -86,7 +86,7 @@ write_config_file("controller",
|
||||
"post_kernel_controller.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_pxeboot_controller.cfg");
|
||||
write_config_file("controller-compute",
|
||||
write_config_file("controller-worker",
|
||||
"${pxeboot_output_dir}/pxeboot_smallsystem.cfg", "filter_out_from_smallsystem",
|
||||
"pre_common_head.cfg",
|
||||
"pre_pkglist.cfg",
|
||||
@ -94,11 +94,11 @@ write_config_file("controller-compute",
|
||||
"pre_disk_aio.cfg",
|
||||
"post_platform_conf_aio.cfg",
|
||||
"post_common.cfg",
|
||||
"post_kernel_aio_and_compute.cfg",
|
||||
"post_kernel_aio_and_worker.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_system_aio.cfg",
|
||||
"post_pxeboot_controller.cfg");
|
||||
write_config_file("controller-compute-lowlatency",
|
||||
write_config_file("controller-worker-lowlatency",
|
||||
"${pxeboot_output_dir}/pxeboot_smallsystem_lowlatency.cfg", "filter_out_from_smallsystem_lowlatency",
|
||||
"pre_common_head.cfg",
|
||||
"pre_pkglist_lowlatency.cfg",
|
||||
@ -106,7 +106,7 @@ write_config_file("controller-compute-lowlatency",
|
||||
"pre_disk_aio.cfg",
|
||||
"post_platform_conf_aio_lowlatency.cfg",
|
||||
"post_common.cfg",
|
||||
"post_kernel_aio_and_compute.cfg",
|
||||
"post_kernel_aio_and_worker.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_system_aio.cfg",
|
||||
"post_pxeboot_controller.cfg");
|
||||
@ -126,7 +126,7 @@ write_config_file("controller",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_net_controller.cfg",
|
||||
"post_net_common.cfg");
|
||||
write_config_file("controller-compute",
|
||||
write_config_file("controller-worker",
|
||||
"${output_dir}/net_smallsystem_ks.cfg", "filter_out_from_smallsystem",
|
||||
"pre_common_head.cfg",
|
||||
"pre_net_common.cfg",
|
||||
@ -135,12 +135,12 @@ write_config_file("controller-compute",
|
||||
"pre_disk_aio.cfg",
|
||||
"post_platform_conf_aio.cfg",
|
||||
"post_common.cfg",
|
||||
"post_kernel_aio_and_compute.cfg",
|
||||
"post_kernel_aio_and_worker.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_system_aio.cfg",
|
||||
"post_net_controller.cfg",
|
||||
"post_net_common.cfg");
|
||||
write_config_file("controller-compute-lowlatency",
|
||||
write_config_file("controller-worker-lowlatency",
|
||||
"${output_dir}/net_smallsystem_lowlatency_ks.cfg", "filter_out_from_smallsystem_lowlatency",
|
||||
"pre_common_head.cfg",
|
||||
"pre_net_common.cfg",
|
||||
@ -149,33 +149,33 @@ write_config_file("controller-compute-lowlatency",
|
||||
"pre_disk_aio.cfg",
|
||||
"post_platform_conf_aio_lowlatency.cfg",
|
||||
"post_common.cfg",
|
||||
"post_kernel_aio_and_compute.cfg",
|
||||
"post_kernel_aio_and_worker.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_system_aio.cfg",
|
||||
"post_net_controller.cfg",
|
||||
"post_net_common.cfg");
|
||||
write_config_file("compute",
|
||||
"${output_dir}/net_compute_ks.cfg", "filter_out_from_compute",
|
||||
write_config_file("worker",
|
||||
"${output_dir}/net_worker_ks.cfg", "filter_out_from_worker",
|
||||
"pre_common_head.cfg",
|
||||
"pre_net_common.cfg",
|
||||
"pre_pkglist.cfg",
|
||||
"pre_disk_setup_common.cfg",
|
||||
"pre_disk_compute.cfg",
|
||||
"post_platform_conf_compute.cfg",
|
||||
"pre_disk_worker.cfg",
|
||||
"post_platform_conf_worker.cfg",
|
||||
"post_common.cfg",
|
||||
"post_kernel_aio_and_compute.cfg",
|
||||
"post_kernel_aio_and_worker.cfg",
|
||||
"post_lvm_no_pv_on_rootfs.cfg",
|
||||
"post_net_common.cfg");
|
||||
write_config_file("compute-lowlatency",
|
||||
"${output_dir}/net_compute_lowlatency_ks.cfg", "filter_out_from_compute_lowlatency",
|
||||
write_config_file("worker-lowlatency",
|
||||
"${output_dir}/net_worker_lowlatency_ks.cfg", "filter_out_from_worker_lowlatency",
|
||||
"pre_common_head.cfg",
|
||||
"pre_net_common.cfg",
|
||||
"pre_pkglist_lowlatency.cfg",
|
||||
"pre_disk_setup_common.cfg",
|
||||
"pre_disk_compute.cfg",
|
||||
"post_platform_conf_compute_lowlatency.cfg",
|
||||
"pre_disk_worker.cfg",
|
||||
"post_platform_conf_worker_lowlatency.cfg",
|
||||
"post_common.cfg",
|
||||
"post_kernel_aio_and_compute.cfg",
|
||||
"post_kernel_aio_and_worker.cfg",
|
||||
"post_lvm_no_pv_on_rootfs.cfg",
|
||||
"post_net_common.cfg");
|
||||
write_config_file("storage",
|
||||
@ -210,7 +210,7 @@ foreach $server (keys %boot_servers)
|
||||
"post_kernel_controller.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_yow_controller.cfg");
|
||||
write_config_file("controller-compute",
|
||||
write_config_file("controller-worker",
|
||||
"${extra_output_dir}/${server}_smallsystem.cfg", "filter_out_from_smallsystem",
|
||||
"pre_common_head.cfg",
|
||||
"pre_pkglist.cfg",
|
||||
@ -218,11 +218,11 @@ foreach $server (keys %boot_servers)
|
||||
"pre_disk_aio.cfg",
|
||||
"post_platform_conf_aio.cfg",
|
||||
"post_common.cfg",
|
||||
"post_kernel_aio_and_compute.cfg",
|
||||
"post_kernel_aio_and_worker.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_system_aio.cfg",
|
||||
"post_yow_controller.cfg");
|
||||
write_config_file("controller-compute-lowlatency",
|
||||
write_config_file("controller-worker-lowlatency",
|
||||
"${extra_output_dir}/${server}_smallsystem_lowlatency.cfg", "filter_out_from_smallsystem_lowlatency",
|
||||
"pre_common_head.cfg",
|
||||
"pre_pkglist_lowlatency.cfg",
|
||||
@ -230,7 +230,7 @@ foreach $server (keys %boot_servers)
|
||||
"pre_disk_aio.cfg",
|
||||
"post_platform_conf_aio_lowlatency.cfg",
|
||||
"post_common.cfg",
|
||||
"post_kernel_aio_and_compute.cfg",
|
||||
"post_kernel_aio_and_worker.cfg",
|
||||
"post_lvm_pv_on_rootfs.cfg",
|
||||
"post_system_aio.cfg",
|
||||
"post_yow_controller.cfg");
|
||||
|
@ -1,8 +1,8 @@
|
||||
task-cloud-compute
|
||||
compute-huge
|
||||
computeconfig
|
||||
computeconfig-standalone
|
||||
computeconfig-subfunction
|
||||
worker-utils
|
||||
workerconfig
|
||||
workerconfig-standalone
|
||||
workerconfig-subfunction
|
||||
guest-scale-helper
|
||||
heartbeat
|
||||
storageconfig
|
||||
@ -27,7 +27,7 @@ host-guest-comm-dev
|
||||
nfscheck
|
||||
radvd
|
||||
remote-clients
|
||||
config-gate-compute
|
||||
config-gate-worker
|
||||
kernel-rt
|
||||
kernel-module-igb-uio
|
||||
kernel-module-igb-uio-rt
|
||||
|
@ -1,7 +1,7 @@
|
||||
cgcs-dpdk-rt
|
||||
cgcs-dpdk-rt-apps
|
||||
mtce-storage
|
||||
computeconfig-standalone
|
||||
workerconfig-standalone
|
||||
kernel-module-openvswitch
|
||||
platform-util-noncontroller
|
||||
storageconfig
|
||||
|
@ -1,7 +1,7 @@
|
||||
cgcs-dpdk
|
||||
cgcs-dpdk-apps
|
||||
mtce-storage
|
||||
computeconfig-standalone
|
||||
workerconfig-standalone
|
||||
kernel-module-openvswitch
|
||||
platform-util-noncontroller
|
||||
storageconfig
|
||||
|
@ -25,10 +25,10 @@ cinder-api
|
||||
cinder-scheduler
|
||||
cinder-tests
|
||||
cinder-volume
|
||||
compute-huge
|
||||
computeconfig
|
||||
computeconfig-standalone
|
||||
computeconfig-subfunction
|
||||
worker-utils
|
||||
workerconfig
|
||||
workerconfig-standalone
|
||||
workerconfig-subfunction
|
||||
configvalidator
|
||||
controllerconfig
|
||||
createrepo
|
||||
@ -276,7 +276,7 @@ nfv-tools
|
||||
vm-topology
|
||||
remote-clients
|
||||
python-networking-odl
|
||||
config-gate-compute
|
||||
config-gate-worker
|
||||
tis-extensions-controller
|
||||
wrs-heat-templates
|
||||
python-django-horizon
|
||||
|
@ -20,7 +20,7 @@ cinder-api
|
||||
cinder-scheduler
|
||||
cinder-tests
|
||||
cinder-volume
|
||||
computeconfig-subfunction
|
||||
workerconfig-subfunction
|
||||
configvalidator
|
||||
controllerconfig
|
||||
corosync
|
@ -20,7 +20,7 @@ cinder-api
|
||||
cinder-scheduler
|
||||
cinder-tests
|
||||
cinder-volume
|
||||
computeconfig-subfunction
|
||||
workerconfig-subfunction
|
||||
configvalidator
|
||||
controllerconfig
|
||||
corosync
|
@ -24,7 +24,7 @@ fi
|
||||
|
||||
# If this is an all-in-one system, we need at least 4 CPUs
|
||||
if [ "$system_type" = "All-in-one" -a ${n_cpus} -lt 4 ]; then
|
||||
report_post_failure_with_msg "ERROR: At least 4 CPUs are required for controller+compute node."
|
||||
report_post_failure_with_msg "ERROR: At least 4 CPUs are required for controller+worker node."
|
||||
fi
|
||||
|
||||
# Add kernel options for cpu isolation / affinity
|
@ -6,7 +6,7 @@
|
||||
# uncomment the global_filter line in lvm.conf
|
||||
perl -0777 -i.bak -pe 's:(# This configuration option has an automatic default value\.\n)\t# global_filter:$1 global_filter:m' /etc/lvm/lvm.conf
|
||||
|
||||
# Edit the LVM config so LVM does not look for LVs (we have none on compute nodes)
|
||||
# Edit the LVM config so LVM does not look for LVs (we have none on worker nodes)
|
||||
sed -i "s#^\( *\)global_filter = \[.*#\1global_filter = [ \"r|.*|\" ]#" /etc/lvm/lvm.conf
|
||||
%end
|
||||
|
||||
|
@ -13,7 +13,7 @@ fi
|
||||
mkdir -p -m 0775 /etc/platform
|
||||
cat <<EOF > /etc/platform/platform.conf
|
||||
nodetype=controller
|
||||
subfunction=controller,compute
|
||||
subfunction=controller,worker
|
||||
system_type=All-in-one
|
||||
security_profile=$secprofile
|
||||
EOF
|
||||
|
@ -13,7 +13,7 @@ fi
|
||||
mkdir -p -m 0775 /etc/platform
|
||||
cat <<EOF > /etc/platform/platform.conf
|
||||
nodetype=controller
|
||||
subfunction=controller,compute,lowlatency
|
||||
subfunction=controller,worker,lowlatency
|
||||
system_type=All-in-one
|
||||
security_profile=$secprofile
|
||||
EOF
|
||||
|
@ -19,8 +19,8 @@ fi
|
||||
|
||||
mkdir -p -m 0775 /etc/platform
|
||||
cat <<EOF > /etc/platform/platform.conf
|
||||
nodetype=compute
|
||||
subfunction=compute
|
||||
nodetype=worker
|
||||
subfunction=worker
|
||||
system_type=Standard
|
||||
security_profile=$secprofile
|
||||
INSTALL_UUID=$INSTALL_UUID
|
@ -19,8 +19,8 @@ fi
|
||||
|
||||
mkdir -p -m 0775 /etc/platform
|
||||
cat <<EOF > /etc/platform/platform.conf
|
||||
nodetype=compute
|
||||
subfunction=compute,lowlatency
|
||||
nodetype=worker
|
||||
subfunction=worker,lowlatency
|
||||
system_type=Standard
|
||||
security_profile=$secprofile
|
||||
INSTALL_UUID=$INSTALL_UUID
|
@ -25,11 +25,11 @@ elif [ ${RESERVEDMEM} -gt 8192 ]; then
|
||||
RESERVEDMEM=8192
|
||||
fi
|
||||
|
||||
sed -i -e "s#\(COMPUTE_BASE_RESERVED\)=.*#\1=(\"node0:${RESERVEDMEM}MB:1\" \"node1:2000MB:0\" \"node2:2000MB:0\" \"node3:2000MB:0\")#g" /etc/nova/compute_reserved.conf
|
||||
sed -i -e "s#\(WORKER_BASE_RESERVED\)=.*#\1=(\"node0:${RESERVEDMEM}MB:1\" \"node1:2000MB:0\" \"node2:2000MB:0\" \"node3:2000MB:0\")#g" /etc/platform/worker_reserved.conf
|
||||
|
||||
# Update COMPUTE_CPU_LIST
|
||||
# Update WORKER_CPU_LIST
|
||||
N_CPUS=$(cat /proc/cpuinfo 2>/dev/null | awk '/^[pP]rocessor/ { n +=1 } END { print (n>0) ? n : 1}')
|
||||
sed -i "s/^COMPUTE_CPU_LIST=.*/COMPUTE_CPU_LIST=\"0-$((N_CPUS-1))\"/" /etc/nova/compute_reserved.conf
|
||||
sed -i "s/^WORKER_CPU_LIST=.*/WORKER_CPU_LIST=\"0-$((N_CPUS-1))\"/" /etc/platform/worker_reserved.conf
|
||||
|
||||
%end
|
||||
|
||||
|
@ -119,20 +119,20 @@ def main():
|
||||
|
||||
add_group(comps, 'controller', rpmlist,
|
||||
filter_dir, 'filter_out_from_controller')
|
||||
add_group(comps, 'controller-compute', rpmlist,
|
||||
add_group(comps, 'controller-worker', rpmlist,
|
||||
filter_dir, 'filter_out_from_smallsystem')
|
||||
add_group(comps, 'controller-compute-lowlatency', rpmlist,
|
||||
add_group(comps, 'controller-worker-lowlatency', rpmlist,
|
||||
filter_dir, 'filter_out_from_smallsystem_lowlatency')
|
||||
add_group(comps, 'compute', rpmlist, filter_dir, 'filter_out_from_compute')
|
||||
add_group(comps, 'compute-lowlatency', rpmlist,
|
||||
filter_dir, 'filter_out_from_compute_lowlatency')
|
||||
add_group(comps, 'worker', rpmlist, filter_dir, 'filter_out_from_worker')
|
||||
add_group(comps, 'worker-lowlatency', rpmlist,
|
||||
filter_dir, 'filter_out_from_worker_lowlatency')
|
||||
add_group(comps, 'storage', rpmlist, filter_dir, 'filter_out_from_storage')
|
||||
|
||||
add_group(comps, 'controller')
|
||||
add_group(comps, 'controller-compute')
|
||||
add_group(comps, 'controller-compute-lowlatency')
|
||||
add_group(comps, 'compute')
|
||||
add_group(comps, 'compute-lowlatency')
|
||||
add_group(comps, 'controller-worker')
|
||||
add_group(comps, 'controller-worker-lowlatency')
|
||||
add_group(comps, 'worker')
|
||||
add_group(comps, 'worker-lowlatency')
|
||||
add_group(comps, 'storage')
|
||||
|
||||
tree.write(groups_file, encoding="UTF-8")
|
||||
|
@ -23,19 +23,19 @@ Source013: post_clone_iso_ks.cfg
|
||||
Source030: default
|
||||
Source031: default.static
|
||||
Source032: centos-pxe-controller-install
|
||||
Source033: centos-pxe-compute-install
|
||||
Source033: centos-pxe-worker-install
|
||||
Source034: centos-pxe-smallsystem-install
|
||||
Source035: centos-pxe-storage-install
|
||||
Source036: centos-pxe-compute_lowlatency-install
|
||||
Source036: centos-pxe-worker_lowlatency-install
|
||||
Source037: centos-pxe-smallsystem_lowlatency-install
|
||||
|
||||
Source050: pxe-grub.cfg
|
||||
Source051: pxe-grub.cfg.static
|
||||
Source052: efi-centos-pxe-controller-install
|
||||
Source053: efi-centos-pxe-compute-install
|
||||
Source053: efi-centos-pxe-worker-install
|
||||
Source054: efi-centos-pxe-smallsystem-install
|
||||
Source055: efi-centos-pxe-storage-install
|
||||
Source056: efi-centos-pxe-compute_lowlatency-install
|
||||
Source056: efi-centos-pxe-worker_lowlatency-install
|
||||
Source057: efi-centos-pxe-smallsystem_lowlatency-install
|
||||
|
||||
|
||||
@ -75,21 +75,21 @@ install -v -m 755 %{_sourcedir}/pxeboot-update.sh %{buildroot}%{_sbindir}/pxeboo
|
||||
|
||||
install -v -m 644 %{_sourcedir}/post_clone_iso_ks.cfg \
|
||||
%{buildroot}/pxeboot/post_clone_iso_ks.cfg
|
||||
|
||||
|
||||
install -v -m 644 %{_sourcedir}/default \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/default
|
||||
install -v -m 644 %{_sourcedir}/default.static \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/default.static
|
||||
install -v -m 644 %{_sourcedir}/centos-pxe-controller-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/pxe-controller-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/centos-pxe-compute-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/pxe-compute-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/centos-pxe-worker-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/pxe-worker-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/centos-pxe-smallsystem-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/pxe-smallsystem-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/centos-pxe-storage-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/pxe-storage-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/centos-pxe-compute_lowlatency-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/pxe-compute_lowlatency-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/centos-pxe-worker_lowlatency-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/pxe-worker_lowlatency-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/centos-pxe-smallsystem_lowlatency-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/pxe-smallsystem_lowlatency-install-%{platform_release}
|
||||
|
||||
@ -104,14 +104,14 @@ install -v -m 644 %{_sourcedir}/efiboot.img \
|
||||
%{buildroot}/pxeboot/rel-%{platform_release}/
|
||||
install -v -m 644 %{_sourcedir}/efi-centos-pxe-controller-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/efi-pxe-controller-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/efi-centos-pxe-compute-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/efi-pxe-compute-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/efi-centos-pxe-worker-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/efi-pxe-worker-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/efi-centos-pxe-smallsystem-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/efi-pxe-smallsystem-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/efi-centos-pxe-storage-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/efi-pxe-storage-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/efi-centos-pxe-compute_lowlatency-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/efi-pxe-compute_lowlatency-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/efi-centos-pxe-worker_lowlatency-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/efi-pxe-worker_lowlatency-install-%{platform_release}
|
||||
install -v -m 644 %{_sourcedir}/efi-centos-pxe-smallsystem_lowlatency-install \
|
||||
%{buildroot}/pxeboot/pxelinux.cfg.files/efi-pxe-smallsystem_lowlatency-install-%{platform_release}
|
||||
|
||||
|
@ -19,9 +19,9 @@ NOCOMPLETE 1
|
||||
ALLOWOPTIONS 0
|
||||
|
||||
LABEL 1
|
||||
MENU LABEL ^1) Compute
|
||||
MENU LABEL ^1) Worker
|
||||
MENU DEFAULT
|
||||
KERNEL rel-xxxSW_VERSIONxxx/installer-bzImage
|
||||
APPEND initrd=rel-xxxSW_VERSIONxxx/installer-initrd bootifonly=1 devfs=nomount inst.repo=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/ inst.ks=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/net_compute_ks.cfg usbcore.autosuspend=-1 biosdevname=0 rd.net.timeout.dhcp=120 xxxAPPEND_OPTIONSxxx
|
||||
APPEND initrd=rel-xxxSW_VERSIONxxx/installer-initrd bootifonly=1 devfs=nomount inst.repo=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/ inst.ks=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/net_worker_ks.cfg usbcore.autosuspend=-1 biosdevname=0 rd.net.timeout.dhcp=120 xxxAPPEND_OPTIONSxxx
|
||||
IPAPPEND 2
|
||||
|
@ -19,9 +19,9 @@ NOCOMPLETE 1
|
||||
ALLOWOPTIONS 0
|
||||
|
||||
LABEL 1
|
||||
MENU LABEL ^1) Lowlatency Compute
|
||||
MENU LABEL ^1) Lowlatency Worker
|
||||
MENU DEFAULT
|
||||
KERNEL rel-xxxSW_VERSIONxxx/installer-bzImage
|
||||
APPEND initrd=rel-xxxSW_VERSIONxxx/installer-initrd bootifonly=1 devfs=nomount inst.repo=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/ inst.ks=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/net_compute_lowlatency_ks.cfg usbcore.autosuspend=-1 biosdevname=0 rd.net.timeout.dhcp=120 xxxAPPEND_OPTIONSxxx
|
||||
APPEND initrd=rel-xxxSW_VERSIONxxx/installer-initrd bootifonly=1 devfs=nomount inst.repo=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/ inst.ks=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/net_worker_lowlatency_ks.cfg usbcore.autosuspend=-1 biosdevname=0 rd.net.timeout.dhcp=120 xxxAPPEND_OPTIONSxxx
|
||||
IPAPPEND 2
|
||||
|
@ -3,7 +3,7 @@ timeout=10
|
||||
GRUB_HIDDEN_TIMEOUT=0
|
||||
GRUB_TIMEOUT_STYLE='countdown'
|
||||
|
||||
menuentry '1) UEFI Compute' {
|
||||
linuxefi rel-xxxSW_VERSIONxxx/installer-bzImage bootifonly=1 devfs=nomount inst.repo=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/ inst.ks=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/net_compute_ks.cfg usbcore.autosuspend=-1 biosdevname=0 rd.net.timeout.dhcp=120 ksdevice=$net_default_mac BOOTIF=$net_default_mac xxxAPPEND_OPTIONSxxx
|
||||
menuentry '1) UEFI Worker' {
|
||||
linuxefi rel-xxxSW_VERSIONxxx/installer-bzImage bootifonly=1 devfs=nomount inst.repo=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/ inst.ks=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/net_worker_ks.cfg usbcore.autosuspend=-1 biosdevname=0 rd.net.timeout.dhcp=120 ksdevice=$net_default_mac BOOTIF=$net_default_mac xxxAPPEND_OPTIONSxxx
|
||||
initrdefi rel-xxxSW_VERSIONxxx/installer-initrd
|
||||
}
|
@ -3,7 +3,7 @@ timeout=10
|
||||
GRUB_HIDDEN_TIMEOUT=0
|
||||
GRUB_TIMEOUT_STYLE='countdown'
|
||||
|
||||
menuentry '1) UEFI Lowlatency Compute' {
|
||||
linuxefi rel-xxxSW_VERSIONxxx/installer-bzImage bootifonly=1 devfs=nomount inst.repo=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/ inst.ks=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/net_compute_lowlatency_ks.cfg usbcore.autosuspend=-1 biosdevname=0 rd.net.timeout.dhcp=120 ksdevice=$net_default_mac BOOTIF=$net_default_mac xxxAPPEND_OPTIONSxxx
|
||||
menuentry '1) UEFI Lowlatency Worker' {
|
||||
linuxefi rel-xxxSW_VERSIONxxx/installer-bzImage bootifonly=1 devfs=nomount inst.repo=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/ inst.ks=http://pxecontroller/feed/rel-xxxSW_VERSIONxxx/net_worker_lowlatency_ks.cfg usbcore.autosuspend=-1 biosdevname=0 rd.net.timeout.dhcp=120 ksdevice=$net_default_mac BOOTIF=$net_default_mac xxxAPPEND_OPTIONSxxx
|
||||
initrdefi rel-xxxSW_VERSIONxxx/installer-initrd
|
||||
}
|
@ -34,7 +34,7 @@ const char mtc_msg_rep_msg_header [MSG_HEADER_SIZE] = {"cgts mtc rep msg:"};
|
||||
const char mtc_log_msg_hdr [MSG_HEADER_SIZE] = {"cgts mtc log msg:"};
|
||||
|
||||
/** Maintenance Message header content */
|
||||
const char mtc_compute_msg_header [MSG_HEADER_SIZE] = {"cgts mtc message:"};
|
||||
const char mtc_worker_msg_header [MSG_HEADER_SIZE] = {"cgts mtc message:"};
|
||||
|
||||
const char mtc_event_hdr [MSG_HEADER_SIZE] = {"mtce event msg :"};
|
||||
|
||||
@ -50,7 +50,7 @@ const char * get_loopback_header (void) { return mtc_loopback_hdr;}
|
||||
const char * get_hbs_cmd_req_header (void) { return mtc_hbs_cmd_req_header ;}
|
||||
const char * get_cmd_req_msg_header (void) { return mtc_cmd_req_msg_header ;}
|
||||
const char * get_cmd_rsp_msg_header (void) { return mtc_cmd_rsp_msg_header ;}
|
||||
const char * get_compute_msg_header (void) { return mtc_compute_msg_header ;}
|
||||
const char * get_worker_msg_header (void) { return mtc_worker_msg_header ;}
|
||||
const char * get_pmond_pulse_header (void) { return mtc_pmond_pulse_header ;}
|
||||
const char * get_mtc_log_msg_hdr (void) { return mtc_log_msg_hdr ;}
|
||||
const char * get_mtce_event_header (void) { return mtc_event_hdr ;}
|
||||
@ -160,10 +160,10 @@ const char * get_mtcNodeCommand_str ( int cmd )
|
||||
|
||||
/* start and stop services commands and messages */
|
||||
case MTC_CMD_STOP_CONTROL_SVCS: return ("stop controller host services");
|
||||
case MTC_CMD_STOP_COMPUTE_SVCS: return ("stop compute host services");
|
||||
case MTC_CMD_STOP_WORKER_SVCS: return ("stop worker host services");
|
||||
case MTC_CMD_STOP_STORAGE_SVCS: return ("stop storage host services");
|
||||
case MTC_CMD_START_CONTROL_SVCS: return ("start controller host services");
|
||||
case MTC_CMD_START_COMPUTE_SVCS: return ("start compute host services");
|
||||
case MTC_CMD_START_WORKER_SVCS: return ("start worker host services");
|
||||
case MTC_CMD_START_STORAGE_SVCS: return ("start storage host services");
|
||||
case MTC_CMD_HOST_SVCS_RESULT: return ("host services result");
|
||||
|
||||
@ -721,10 +721,10 @@ void recovery_ctrl_init ( recovery_ctrl_type & recovery_ctrl )
|
||||
bool is_host_services_cmd ( unsigned int cmd )
|
||||
{
|
||||
if (( cmd == MTC_CMD_START_CONTROL_SVCS ) ||
|
||||
( cmd == MTC_CMD_START_COMPUTE_SVCS ) ||
|
||||
( cmd == MTC_CMD_START_WORKER_SVCS ) ||
|
||||
( cmd == MTC_CMD_START_STORAGE_SVCS ) ||
|
||||
( cmd == MTC_CMD_STOP_CONTROL_SVCS ) ||
|
||||
( cmd == MTC_CMD_STOP_COMPUTE_SVCS ) ||
|
||||
( cmd == MTC_CMD_STOP_WORKER_SVCS ) ||
|
||||
( cmd == MTC_CMD_STOP_STORAGE_SVCS ) ||
|
||||
( cmd == MTC_CMD_HOST_SVCS_RESULT ))
|
||||
{
|
||||
|
@ -117,7 +117,7 @@ void daemon_exit ( void );
|
||||
|
||||
|
||||
#define GOENABLED_DIR ((const char *)"/etc/goenabled.d") /* generic */
|
||||
#define GOENABLED_COMPUTE_DIR ((const char *)"/etc/goenabled.d/compute")
|
||||
#define GOENABLED_WORKER_DIR ((const char *)"/etc/goenabled.d/worker")
|
||||
#define GOENABLED_STORAGE_DIR ((const char *)"/etc/goenabled.d/storage")
|
||||
#define GOENABLED_CONTROL_DIR ((const char *)"/etc/goenabled.d/control")
|
||||
|
||||
@ -130,11 +130,11 @@ void daemon_exit ( void );
|
||||
#define GOENABLED_SUBF_FAIL ((const char *)"/var/run/goenabled_subf_failed")
|
||||
|
||||
#define CONFIG_COMPLETE_CONTROL ((const char *)"/var/run/.controller_config_complete")
|
||||
#define CONFIG_COMPLETE_COMPUTE ((const char *)"/var/run/.compute_config_complete")
|
||||
#define CONFIG_COMPLETE_WORKER ((const char *)"/var/run/.worker_config_complete")
|
||||
#define CONFIG_COMPLETE_STORAGE ((const char *)"/var/run/.storage_config_complete")
|
||||
#define CONFIG_COMPLETE_FILE ((const char *)"/etc/platform/.initial_config_complete")
|
||||
|
||||
#define DISABLE_COMPUTE_SERVICES ((const char *)"/var/run/.disable_compute_services")
|
||||
#define DISABLE_WORKER_SERVICES ((const char *)"/var/run/.disable_worker_services")
|
||||
|
||||
#define PATCHING_IN_PROG_FILE ((const char *)"/var/run/patch_installing")
|
||||
#define NODE_IS_PATCHED_FILE ((const char *)"/var/run/node_is_patched")
|
||||
@ -244,13 +244,13 @@ void daemon_exit ( void );
|
||||
#define MTC_TASK_MAIN_SERVICE_FAIL "Start Services Failed, re-enabling"
|
||||
#define MTC_TASK_MAIN_SERVICE_TO "Start Services Timeout, re-enabling"
|
||||
|
||||
#define MTC_TASK_ENABLING_SUBF "Enabling Compute Service"
|
||||
#define MTC_TASK_SUBF_CONFIG_FAIL "Compute Configuration Failed, re-enabling"
|
||||
#define MTC_TASK_SUBF_CONFIG_TO "Compute Configuration Timeout, re-enabling"
|
||||
#define MTC_TASK_SUBF_INTEST_FAIL "Compute In-Test Failed, re-enabling"
|
||||
#define MTC_TASK_SUBF_INTEST_TO "Compute In-Test Timeout, re-enabling"
|
||||
#define MTC_TASK_SUBF_SERVICE_FAIL "Compute Start Services Failed, re-enabling"
|
||||
#define MTC_TASK_SUBF_SERVICE_TO "Compute Start Services Timeout, re-enabling"
|
||||
#define MTC_TASK_ENABLING_SUBF "Enabling Worker Service"
|
||||
#define MTC_TASK_SUBF_CONFIG_FAIL "Worker Configuration Failed, re-enabling"
|
||||
#define MTC_TASK_SUBF_CONFIG_TO "Worker Configuration Timeout, re-enabling"
|
||||
#define MTC_TASK_SUBF_INTEST_FAIL "Worker In-Test Failed, re-enabling"
|
||||
#define MTC_TASK_SUBF_INTEST_TO "Worker In-Test Timeout, re-enabling"
|
||||
#define MTC_TASK_SUBF_SERVICE_FAIL "Worker Start Services Failed, re-enabling"
|
||||
#define MTC_TASK_SUBF_SERVICE_TO "Worker Start Services Timeout, re-enabling"
|
||||
|
||||
#define MTC_TASK_AR_DISABLED_CONFIG "Configuration failure, threshold reached, Lock/Unlock to retry"
|
||||
#define MTC_TASK_AR_DISABLED_GOENABLE "In-Test Failure, threshold reached, Lock/Unlock to retry"
|
||||
@ -295,8 +295,8 @@ void daemon_exit ( void );
|
||||
/* number of calls to the bm_handler while bm_access is not confirmed */
|
||||
#define MTC_MAX_B2B_BM_ACCESS_FAIL_COUNT_B4_ALARM (5)
|
||||
/* string too long for inv */
|
||||
#define MTC_TASK_DISABLE_REJ "Lock Rejected: Incomplete Migration" /* Please Enable More Compute Resources" */
|
||||
#define MTC_TASK_DISABLE_NOHOST "Lock Rejected: Please Enable More Compute Resources"
|
||||
#define MTC_TASK_DISABLE_REJ "Lock Rejected: Incomplete Migration" /* Please Enable More Worker Resources" */
|
||||
#define MTC_TASK_DISABLE_NOHOST "Lock Rejected: Please Enable More Worker Resources"
|
||||
#define MTC_TASK_MIGRATE_FAIL "Lock Failed: Undetermined Reason"
|
||||
#define MTC_TASK_DISABLE_NOHOSTS "Insufficient Enabled Resources for Live Migration"
|
||||
#define MTC_TASK_DISABLE_FORCE "Force Lock Reset in Progress"
|
||||
@ -386,7 +386,7 @@ void daemon_exit ( void );
|
||||
#define CGTS_NODE_TYPE_SIZE 12
|
||||
#define CGTS_NODE_NULL (0x00)
|
||||
#define CONTROLLER_TYPE (0x01)
|
||||
#define COMPUTE_TYPE (0x02)
|
||||
#define WORKER_TYPE (0x02)
|
||||
#define STORAGE_TYPE (0x04)
|
||||
#define CGCS_STORAGE_NFS 0
|
||||
#define CGCS_STORAGE_CEPH 1
|
||||
@ -460,7 +460,7 @@ const char * get_hbs_cmd_req_header ( void ) ;
|
||||
const char * get_cmd_req_msg_header ( void ) ;
|
||||
const char * get_cmd_rsp_msg_header ( void ) ;
|
||||
const char * get_msg_rep_msg_header ( void ) ;
|
||||
const char * get_compute_msg_header ( void ) ;
|
||||
const char * get_worker_msg_header ( void ) ;
|
||||
const char * get_mtc_log_msg_hdr ( void ) ;
|
||||
const char * get_pmond_pulse_header ( void ) ;
|
||||
const char * get_mtce_event_header ( void ) ;
|
||||
@ -706,10 +706,10 @@ typedef struct
|
||||
#define MTC_MSG_SUBF_GOENABLED_FAILED 12 /* from host */
|
||||
#define MTC_MSG_LOCKED 13 /* to host */
|
||||
#define MTC_CMD_STOP_CONTROL_SVCS 14 /* to host */
|
||||
#define MTC_CMD_STOP_COMPUTE_SVCS 15 /* to host */
|
||||
#define MTC_CMD_STOP_WORKER_SVCS 15 /* to host */
|
||||
#define MTC_CMD_STOP_STORAGE_SVCS 16 /* to host */
|
||||
#define MTC_CMD_START_CONTROL_SVCS 17 /* to host */
|
||||
#define MTC_CMD_START_COMPUTE_SVCS 18 /* to host */
|
||||
#define MTC_CMD_START_WORKER_SVCS 18 /* to host */
|
||||
#define MTC_CMD_START_STORAGE_SVCS 19 /* to host */
|
||||
#define MTC_CMD_LAZY_REBOOT 20 /* to host */
|
||||
#define MTC_CMD_HOST_SVCS_RESULT 21 /* to host */
|
||||
|
@ -70,7 +70,7 @@
|
||||
#define MTC_BM_POWERON_TIMEOUT (30)
|
||||
#define MTC_RESET_PROG_TIMEOUT (20)
|
||||
#define MTC_WORKQUEUE_TIMEOUT (60)
|
||||
#define MTC_COMPUTE_CONFIG_TIMEOUT (900)
|
||||
#define MTC_WORKER_CONFIG_TIMEOUT (900)
|
||||
#define MTC_EXIT_DOR_MODE_TIMEOUT (60*15)
|
||||
#define MTC_RESET_PROG_OFFLINE_TIMEOUT (20)
|
||||
#define MTC_RESET_TO_OFFLINE_TIMEOUT (150)
|
||||
|
@ -156,8 +156,8 @@ void print_inv ( node_inv_type & info )
|
||||
unsigned int get_host_function_mask ( string & nodeType_str )
|
||||
{
|
||||
unsigned int nodeType = CGTS_NODE_NULL ;
|
||||
if ( nodeType_str.find("compute") != string::npos )
|
||||
nodeType |= COMPUTE_TYPE ;
|
||||
if ( nodeType_str.find("worker") != string::npos )
|
||||
nodeType |= WORKER_TYPE ;
|
||||
if ( nodeType_str.find("controller") != string::npos )
|
||||
nodeType |= CONTROLLER_TYPE ;
|
||||
if ( nodeType_str.find("storage") != string::npos )
|
||||
@ -170,7 +170,7 @@ bool is_combo_system (unsigned int nodetype_mask )
|
||||
{
|
||||
if ( nodetype_mask & CONTROLLER_TYPE )
|
||||
{
|
||||
if ( nodetype_mask & COMPUTE_TYPE )
|
||||
if ( nodetype_mask & WORKER_TYPE )
|
||||
{
|
||||
return (true);
|
||||
}
|
||||
@ -200,10 +200,10 @@ int set_host_functions ( string nodetype_str,
|
||||
dlog2 ("Function : controller\n");
|
||||
|
||||
/* Check for subfunctions */
|
||||
if ( *nodetype_bits_ptr & COMPUTE_TYPE )
|
||||
if ( *nodetype_bits_ptr & WORKER_TYPE )
|
||||
{
|
||||
dlog2 ("Sub Function: compute\n");
|
||||
*nodetype_subfunction_ptr = COMPUTE_TYPE ;
|
||||
dlog2 ("Sub Function: worker\n");
|
||||
*nodetype_subfunction_ptr = WORKER_TYPE ;
|
||||
}
|
||||
if ( *nodetype_bits_ptr & STORAGE_TYPE )
|
||||
{
|
||||
@ -213,10 +213,10 @@ int set_host_functions ( string nodetype_str,
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( *nodetype_bits_ptr & COMPUTE_TYPE )
|
||||
if ( *nodetype_bits_ptr & WORKER_TYPE )
|
||||
{
|
||||
*nodetype_function_ptr = COMPUTE_TYPE ;
|
||||
dlog2 ("Function : compute\n");
|
||||
*nodetype_function_ptr = WORKER_TYPE ;
|
||||
dlog2 ("Function : worker\n");
|
||||
}
|
||||
else if ( *nodetype_bits_ptr & STORAGE_TYPE )
|
||||
{
|
||||
|
@ -107,10 +107,10 @@ int timeout_config_handler ( void * user,
|
||||
config_ptr->controller_mtcalive_timeout,
|
||||
extended ? "(doubled for vbox)" : "");
|
||||
}
|
||||
else if (MATCH("timeouts", "compute_boot_timeout"))
|
||||
else if (MATCH("timeouts", "worker_boot_timeout"))
|
||||
{
|
||||
config_ptr->compute_mtcalive_timeout = atoi(value);
|
||||
ilog (" mtcAlive TO: %4d secs (compute)\n" , config_ptr->compute_mtcalive_timeout);
|
||||
ilog (" mtcAlive TO: %4d secs (worker)\n" , config_ptr->compute_mtcalive_timeout);
|
||||
}
|
||||
else if (MATCH("timeouts", "goenabled_timeout"))
|
||||
{
|
||||
|
@ -34,14 +34,14 @@ Maintenance support files for compute-only node type
|
||||
make install buildroot=%{buildroot} _sysconfdir=%{_sysconfdir} _unitdir=%{_unitdir} _datarootdir=%{_datarootdir}
|
||||
|
||||
%post
|
||||
/bin/systemctl enable goenabled-compute.service
|
||||
/bin/systemctl enable goenabled-worker.service
|
||||
/bin/systemctl enable e_nova-init.service
|
||||
/bin/systemctl enable qemu_clean.service
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
|
||||
%{_sysconfdir}/init.d/goenabledCompute
|
||||
%{_sysconfdir}/init.d/goenabledWorker
|
||||
%{_sysconfdir}/init.d/e_nova-init
|
||||
%{_sysconfdir}/init.d/nova-cleanup
|
||||
%{_sysconfdir}/init.d/nova-startup
|
||||
@ -50,7 +50,7 @@ make install buildroot=%{buildroot} _sysconfdir=%{_sysconfdir} _unitdir=%{_unitd
|
||||
%{local_etc_pmond}/libvirtd.conf
|
||||
%{local_etc_goenabledd}/nova-goenabled.sh
|
||||
%{local_etc_goenabledd}/virt-support-goenabled.sh
|
||||
%{_unitdir}/goenabled-compute.service
|
||||
%{_unitdir}/goenabled-worker.service
|
||||
%{_unitdir}/e_nova-init.service
|
||||
|
||||
%license %{_datarootdir}/licenses/mtce-compute-1.0/LICENSE
|
||||
|
@ -11,7 +11,7 @@ SOURCE14 = libvirtd.conf
|
||||
SOURCE21 = nova-goenabled.sh
|
||||
SOURCE22 = virt-support-goenabled.sh
|
||||
|
||||
SOURCE31 = goenabled-compute.service
|
||||
SOURCE31 = goenabled-worker.service
|
||||
SOURCE32 = e_nova-init.service
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@ local_etc_nova = $(_sysconfdir)/nova
|
||||
install:
|
||||
# nfv-plugins
|
||||
# # Compute-Only Init Scripts (source group x)
|
||||
install -m 755 -p -D scripts/$(SOURCE1) $(buildroot)/$(_sysconfdir)/init.d/goenabledCompute
|
||||
install -m 755 -p -D scripts/$(SOURCE1) $(buildroot)/$(_sysconfdir)/init.d/goenabledWorker
|
||||
install -m 755 -p -D scripts/$(SOURCE2) $(buildroot)/$(_sysconfdir)/init.d/e_nova-init
|
||||
install -m 755 -p -D scripts/$(SOURCE3) $(buildroot)/$(_sysconfdir)/init.d/nova-cleanup
|
||||
install -m 755 -p -D scripts/$(SOURCE4) $(buildroot)/$(_sysconfdir)/init.d/nova-startup
|
||||
@ -39,7 +39,7 @@ install:
|
||||
install -m 755 -p -D scripts/$(SOURCE21) $(buildroot)/$(local_etc_goenabledd)/nova-goenabled.sh
|
||||
install -m 755 -p -D scripts/$(SOURCE22) $(buildroot)/$(local_etc_goenabledd)/virt-support-goenabled.sh
|
||||
# Install to systemd (source group 3x)
|
||||
install -m 644 -p -D scripts/$(SOURCE31) $(buildroot)/$(_unitdir)/goenabled-compute.service
|
||||
install -m 644 -p -D scripts/$(SOURCE31) $(buildroot)/$(_unitdir)/goenabled-worker.service
|
||||
install -m 644 -p -D scripts/$(SOURCE32) $(buildroot)/$(_unitdir)/e_nova-init.service
|
||||
# for license
|
||||
install -m 755 -d $(buildroot)/$(_datarootdir)/licenses/mtce-compute-1.0
|
||||
|
@ -75,16 +75,16 @@ case "$1" in
|
||||
|
||||
# Do not continue if the host has not been configured. We don't
|
||||
# want to run nova-compute before its config file has been updated.
|
||||
if [ ! -f ${INITIAL_COMPUTE_CONFIG_COMPLETE} ]
|
||||
if [ ! -f ${INITIAL_WORKER_CONFIG_COMPLETE} ]
|
||||
then
|
||||
log "Initial compute configuration is not complete"
|
||||
log "Initial worker configuration is not complete"
|
||||
exit ${GENERIC_ERROR}
|
||||
fi
|
||||
|
||||
# Do not continue if the compute services are disabled.
|
||||
if [ -f ${VOLATILE_DISABLE_COMPUTE_SERVICES} ]
|
||||
# Do not continue if the worker services are disabled.
|
||||
if [ -f ${VOLATILE_DISABLE_WORKER_SERVICES} ]
|
||||
then
|
||||
log "Compute services are disabled, nothing to do"
|
||||
log "Worker services are disabled, nothing to do"
|
||||
rm ${NOVA_INIT_FAILED}
|
||||
exit ${SUCCESS}
|
||||
fi
|
||||
|
@ -1,7 +1,7 @@
|
||||
[Unit]
|
||||
Description=Titanium Cloud Nova Init
|
||||
After=network.target config.service compute-config-gate.service
|
||||
Before=goenabled-compute.service
|
||||
After=network.target config.service worker-config-gate.service
|
||||
Before=goenabled-worker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
|
@ -154,9 +154,9 @@ function status()
|
||||
# Main Entry
|
||||
################################################################################
|
||||
|
||||
# Don't run this till compute is configured
|
||||
if [ ! -e $VOLATILE_COMPUTE_CONFIG_COMPLETE ] ; then
|
||||
logger "Compute is not configured"
|
||||
# Don't run this till worker is configured
|
||||
if [ ! -e $VOLATILE_WORKER_CONFIG_COMPLETE ] ; then
|
||||
logger "Worker is not configured"
|
||||
exit $RETVAL
|
||||
fi
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
[Unit]
|
||||
Description=Titanium Cloud Maintenance Compute Goenable Ready
|
||||
After=config.service compute-config-gate.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/etc/init.d/goenabledCompute start
|
||||
ExecStop=/etc/init.d/goenabledCompute stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
12
mtce-compute/src/scripts/goenabled-worker.service
Normal file
12
mtce-compute/src/scripts/goenabled-worker.service
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Titanium Cloud Maintenance Worker Goenable Ready
|
||||
After=config.service worker-config-gate.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/etc/init.d/goenabledWorker start
|
||||
ExecStop=/etc/init.d/goenabledWorker stop
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
@ -13,13 +13,13 @@ debounce = 20 ; number of seconds that a process needs to remain
|
||||
startuptime = 5 ; Seconds to wait after process start before starting the debounce monitor
|
||||
mode = passive ; Monitoring mode: passive (default) or active
|
||||
; passive: process death monitoring (default: always)
|
||||
; active : heartbeat monitoring, i.e. request / response messaging
|
||||
; active : heartbeat monitoring, i.e. request / response messaging
|
||||
; ignore : do not monitor or stop monitoring
|
||||
subfunction = compute ; Optional label.
|
||||
; Manage this process in the context of a combo host subfunction
|
||||
; Choices: compute or storage.
|
||||
subfunction = worker ; Optional label.
|
||||
; Manage this process in the context of a combo host subfunction
|
||||
; Choices: worker or storage.
|
||||
; when specified pmond will wait for
|
||||
; /var/run/.compute_config_complete or
|
||||
; /var/run/.storage_config_complete
|
||||
; /var/run/.worker_config_complete or
|
||||
; /var/run/.storage_config_complete
|
||||
; ... before managing this process with the specified subfunction
|
||||
; Excluding this label will cause this process to be managed by default on startup
|
||||
|
@ -13,13 +13,13 @@ debounce = 360 ; number of seconds that a process needs to remain
|
||||
startuptime = 15 ; Seconds to wait after process start before starting the debounce monitor
|
||||
mode = passive ; Monitoring mode: passive (default) or active
|
||||
; passive: process death monitoring (default: always)
|
||||
; active : heartbeat monitoring, i.e. request / response messaging
|
||||
; active : heartbeat monitoring, i.e. request / response messaging
|
||||
; ignore : do not monitor or stop monitoring
|
||||
subfunction = compute ; Optional label.
|
||||
; Manage this process in the context of a combo host subfunction
|
||||
; Choices: compute or storage.
|
||||
subfunction = worker ; Optional label.
|
||||
; Manage this process in the context of a combo host subfunction
|
||||
; Choices: worker or storage.
|
||||
; when specified pmond will wait for
|
||||
; /var/run/.compute_config_complete or
|
||||
; /var/run/.storage_config_complete
|
||||
; /var/run/.worker_config_complete or
|
||||
; /var/run/.storage_config_complete
|
||||
; ... before managing this process with the specified subfunction
|
||||
; Excluding this label will cause this process to be managed by default on startup
|
||||
|
@ -13,13 +13,13 @@ debounce = 20 ; number of seconds that a process needs to remain
|
||||
startuptime = 15 ; Seconds to wait after process start before starting the debounce monitor
|
||||
mode = passive ; Monitoring mode: passive (default) or active
|
||||
; passive: process death monitoring (default: always)
|
||||
; active : heartbeat monitoring, i.e. request / response messaging
|
||||
; active : heartbeat monitoring, i.e. request / response messaging
|
||||
; ignore : do not monitor or stop monitoring
|
||||
subfunction = compute ; Optional label.
|
||||
; Manage this process in the context of a combo host subfunction
|
||||
; Choices: compute or storage.
|
||||
subfunction = worker ; Optional label.
|
||||
; Manage this process in the context of a combo host subfunction
|
||||
; Choices: worker or storage.
|
||||
; when specified pmond will wait for
|
||||
; /var/run/.compute_config_complete or
|
||||
; /var/run/.storage_config_complete
|
||||
; /var/run/.worker_config_complete or
|
||||
; /var/run/.storage_config_complete
|
||||
; ... before managing this process with the specified subfunction
|
||||
; Excluding this label will cause this process to be managed by default on startup
|
||||
|
@ -32,7 +32,7 @@ NOVA_ADVANCE_ENABLED="/var/run/.nova_timer_advance_enabled"
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
if [ -e ${VOLATILE_COMPUTE_CONFIG_COMPLETE} ] && [ ! -e ${VOLATILE_DISABLE_COMPUTE_SERVICES} ]; then
|
||||
if [ -e ${VOLATILE_WORKER_CONFIG_COMPLETE} ] && [ ! -e ${VOLATILE_DISABLE_WORKER_SERVICES} ]; then
|
||||
log "Start"
|
||||
|
||||
if [ -e ${NOVA_INIT_FAILED} ]; then
|
||||
|
@ -1,7 +1,7 @@
|
||||
[Unit]
|
||||
Description=Titanium Cloud Nova Init
|
||||
After=network.target config.service
|
||||
Before=goenabled-compute.service
|
||||
Before=goenabled-worker.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
|
@ -259,7 +259,7 @@ hardware failure detection, reporting and recovery. The Resource Monitor
|
||||
Service (rmond) adds resource monitoring with present and predictive
|
||||
failure and overload detection and reporting. The Guest Services
|
||||
(guestAgent/guestServer) daemons control access into and heartbeat of guest
|
||||
VMs on the compute. The Host Watchdog (hostwd) daemon watches for errors in
|
||||
VMs on the worker. The Host Watchdog (hostwd) daemon watches for errors in
|
||||
pmond and logs system information on error. All of these maintenance
|
||||
services improve MTTD of node failures as well as resource overload and out
|
||||
of spec operating conditions that can reduce outage time through automated
|
||||
@ -385,9 +385,9 @@ install -m 755 -p -D %{_buildsubdir}/scripts/goenabled %{buildroot}%{_sysconfdir
|
||||
# start or stop services test script
|
||||
install -m 755 -d %{buildroot}%{local_etc_servicesd}
|
||||
install -m 755 -d %{buildroot}%{local_etc_servicesd}/controller
|
||||
install -m 755 -d %{buildroot}%{local_etc_servicesd}/compute
|
||||
install -m 755 -d %{buildroot}%{local_etc_servicesd}/worker
|
||||
install -m 755 -d %{buildroot}%{local_etc_servicesd}/storage
|
||||
install -m 755 -p -D %{_buildsubdir}/scripts/mtcTest %{buildroot}/%{local_etc_servicesd}/compute
|
||||
install -m 755 -p -D %{_buildsubdir}/scripts/mtcTest %{buildroot}/%{local_etc_servicesd}/worker
|
||||
install -m 755 -p -D %{_buildsubdir}/scripts/mtcTest %{buildroot}/%{local_etc_servicesd}/controller
|
||||
install -m 755 -p -D %{_buildsubdir}/scripts/mtcTest %{buildroot}/%{local_etc_servicesd}/storage
|
||||
install -m 755 -p -D %{_buildsubdir}/scripts/runservices %{buildroot}%{_sysconfdir}/init.d/runservices
|
||||
@ -508,7 +508,7 @@ install -m 755 -d %{buildroot}/var/run
|
||||
# Maintenance start/stop services scripts
|
||||
%{local_etc_servicesd}/controller/mtcTest
|
||||
%{local_etc_servicesd}/storage/mtcTest
|
||||
%{local_etc_servicesd}/compute/mtcTest
|
||||
%{local_etc_servicesd}/worker/mtcTest
|
||||
|
||||
# BMC profile Files
|
||||
%{bmc_profilesd}/sensor_hp360_v1_ilo_v4.profile
|
||||
|
@ -1704,7 +1704,7 @@ int nodeLinkClass::alarm_enabled_clear ( struct nodeLinkClass::node * node_ptr,
|
||||
return (PASS);
|
||||
}
|
||||
|
||||
/* Generate compute subfunction failure alarm */
|
||||
/* Generate worker subfunction failure alarm */
|
||||
int nodeLinkClass::alarm_compute_failure ( struct nodeLinkClass::node * node_ptr, EFmAlarmSeverityT sev )
|
||||
{
|
||||
if ( (node_ptr->degrade_mask & DEGRADE_MASK_SUBF) == 0 )
|
||||
@ -1716,12 +1716,12 @@ int nodeLinkClass::alarm_compute_failure ( struct nodeLinkClass::node * node_ptr
|
||||
{
|
||||
if ( sev == FM_ALARM_SEVERITY_CRITICAL )
|
||||
{
|
||||
elog ("%s critical compute subf failure\n", node_ptr->hostname.c_str());
|
||||
elog ("%s critical worker subf failure\n", node_ptr->hostname.c_str());
|
||||
mtcAlarm_critical ( node_ptr->hostname, MTC_ALARM_ID__CH_COMP );
|
||||
}
|
||||
else
|
||||
{
|
||||
elog ("%s major compute subf failure\n", node_ptr->hostname.c_str());
|
||||
elog ("%s major worker subf failure\n", node_ptr->hostname.c_str());
|
||||
mtcAlarm_major ( node_ptr->hostname, MTC_ALARM_ID__CH_COMP );
|
||||
}
|
||||
node_ptr->alarms[MTC_ALARM_ID__CH_COMP] = sev ;
|
||||
@ -1757,7 +1757,7 @@ int nodeLinkClass::alarm_insv_clear ( struct nodeLinkClass::node * node_ptr, boo
|
||||
return (PASS);
|
||||
}
|
||||
|
||||
/* Clear the compute subfunction alarm and degrade flag */
|
||||
/* Clear the worker subfunction alarm and degrade flag */
|
||||
int nodeLinkClass::alarm_compute_clear ( struct nodeLinkClass::node * node_ptr, bool force )
|
||||
{
|
||||
if ( node_ptr->degrade_mask & DEGRADE_MASK_SUBF )
|
||||
@ -3036,7 +3036,7 @@ bool nodeLinkClass::can_uuid_be_locked ( string uuid , int & reason )
|
||||
}
|
||||
/* Rule 2 - Cannot lock inactive controller if the floating storage
|
||||
* ceph monitor is locked */
|
||||
if (( get_storage_backend() == CGCS_STORAGE_CEPH ) &&
|
||||
if (( get_storage_backend() == CGCS_STORAGE_CEPH ) &&
|
||||
( is_storage_mon_enabled () == false ))
|
||||
{
|
||||
wlog ("%s cannot be 'locked' - failed storage redundancy check\n", node_ptr->hostname.c_str());
|
||||
@ -3046,7 +3046,7 @@ bool nodeLinkClass::can_uuid_be_locked ( string uuid , int & reason )
|
||||
ilog ("%s can be locked\n", node_ptr->hostname.c_str());
|
||||
return (true);
|
||||
}
|
||||
else if ( is_compute(node_ptr) )
|
||||
else if ( is_worker(node_ptr) )
|
||||
{
|
||||
if ( node_ptr->adminState == MTC_ADMIN_STATE__UNLOCKED )
|
||||
{
|
||||
@ -4108,18 +4108,18 @@ int nodeLinkClass::manage_shadow_change ( string hostname )
|
||||
return (rc);
|
||||
}
|
||||
|
||||
/** Returns the number of compute hosts that are operationally 'enabled' */
|
||||
/** Returns the number of worker hosts that are operationally 'enabled' */
|
||||
int nodeLinkClass::enabled_compute_nodes ( void )
|
||||
{
|
||||
int temp_count = 0 ;
|
||||
for ( struct node * ptr = head ; ; ptr = ptr->next )
|
||||
{
|
||||
if (( is_compute( ptr )) &&
|
||||
if (( is_worker( ptr )) &&
|
||||
( ptr->operState == MTC_OPER_STATE__ENABLED ))
|
||||
{
|
||||
temp_count++ ;
|
||||
}
|
||||
else if (( is_compute_subfunction ( ptr )) &&
|
||||
else if (( is_worker_subfunction ( ptr )) &&
|
||||
( ptr->operState_subf == MTC_OPER_STATE__ENABLED ))
|
||||
{
|
||||
temp_count++ ;
|
||||
@ -4613,7 +4613,7 @@ void nodeLinkClass::manage_heartbeat_clear ( string hostname, iface_enum iface )
|
||||
}
|
||||
}
|
||||
|
||||
/** Manage compute host maintenance based on this heartbeat
|
||||
/** Manage worker host maintenance based on this heartbeat
|
||||
* degrade event and others that may be present at this moment */
|
||||
void nodeLinkClass::manage_heartbeat_degrade ( string hostname, iface_enum iface, bool clear_event )
|
||||
{
|
||||
@ -5665,7 +5665,7 @@ int nodeLinkClass::set_subf_info ( string hostname,
|
||||
|
||||
|
||||
|
||||
/**********************************************************************************
|
||||
/**********************************************************************************
|
||||
*
|
||||
* Name : update_host_functions
|
||||
*
|
||||
@ -5673,9 +5673,9 @@ int nodeLinkClass::set_subf_info ( string hostname,
|
||||
* delimited function string like.
|
||||
*
|
||||
* controller
|
||||
* compute
|
||||
* worker
|
||||
* storage
|
||||
* controller,compute
|
||||
* controller,worker
|
||||
* controller,storage
|
||||
*
|
||||
**********************************************************************************/
|
||||
@ -5702,16 +5702,16 @@ int nodeLinkClass::update_host_functions ( string hostname , string functions )
|
||||
{
|
||||
if ( node_ptr->function == CONTROLLER_TYPE )
|
||||
node_ptr->function_str = "controller" ;
|
||||
else if ( node_ptr->function == COMPUTE_TYPE )
|
||||
node_ptr->function_str = "compute" ;
|
||||
else if ( node_ptr->function == WORKER_TYPE )
|
||||
node_ptr->function_str = "worker" ;
|
||||
else if ( node_ptr->function == STORAGE_TYPE )
|
||||
node_ptr->function_str = "storage" ;
|
||||
else
|
||||
node_ptr->function_str = "" ;
|
||||
|
||||
if ( node_ptr->subfunction == COMPUTE_TYPE )
|
||||
if ( node_ptr->subfunction == WORKER_TYPE )
|
||||
{
|
||||
node_ptr->subfunction_str = "compute" ;
|
||||
node_ptr->subfunction_str = "worker" ;
|
||||
}
|
||||
else if ( node_ptr->subfunction == STORAGE_TYPE )
|
||||
{
|
||||
@ -5729,7 +5729,7 @@ int nodeLinkClass::update_host_functions ( string hostname , string functions )
|
||||
|
||||
|
||||
|
||||
/** Fetch the node type (compute or controller) by hostname */
|
||||
/** Fetch the node type (worker or controller) by hostname */
|
||||
int nodeLinkClass::get_nodetype ( string & hostname )
|
||||
{
|
||||
nodeLinkClass::node * node_ptr = getNode ( hostname ) ;
|
||||
@ -5753,12 +5753,12 @@ bool nodeLinkClass::is_controller ( struct nodeLinkClass::node * node_ptr )
|
||||
return (false);
|
||||
}
|
||||
|
||||
/** Check if a node is a compute */
|
||||
bool nodeLinkClass::is_compute_subfunction ( struct nodeLinkClass::node * node_ptr )
|
||||
/** Check if a node is a worker */
|
||||
bool nodeLinkClass::is_worker_subfunction ( struct nodeLinkClass::node * node_ptr )
|
||||
{
|
||||
if ( node_ptr != NULL )
|
||||
{
|
||||
if ( (node_ptr->subfunction & COMPUTE_TYPE ) == COMPUTE_TYPE )
|
||||
if ( (node_ptr->subfunction & WORKER_TYPE ) == WORKER_TYPE )
|
||||
{
|
||||
return (true);
|
||||
}
|
||||
@ -5766,12 +5766,12 @@ bool nodeLinkClass::is_compute_subfunction ( struct nodeLinkClass::node * node_p
|
||||
return (false);
|
||||
}
|
||||
|
||||
/** Check if a node is a compute */
|
||||
bool nodeLinkClass::is_compute ( struct nodeLinkClass::node * node_ptr )
|
||||
/** Check if a node is a worker */
|
||||
bool nodeLinkClass::is_worker ( struct nodeLinkClass::node * node_ptr )
|
||||
{
|
||||
if ( node_ptr != NULL )
|
||||
{
|
||||
if ( (node_ptr->function & COMPUTE_TYPE ) == COMPUTE_TYPE )
|
||||
if ( (node_ptr->function & WORKER_TYPE ) == WORKER_TYPE )
|
||||
{
|
||||
return (true);
|
||||
}
|
||||
@ -5823,24 +5823,24 @@ bool nodeLinkClass::is_controller ( string & hostname )
|
||||
return false ;
|
||||
}
|
||||
|
||||
/** Check if a node is a compute */
|
||||
bool nodeLinkClass::is_compute ( string & hostname )
|
||||
/** Check if a node is a worker */
|
||||
bool nodeLinkClass::is_worker ( string & hostname )
|
||||
{
|
||||
nodeLinkClass::node * node_ptr = getNode ( hostname );
|
||||
if ( node_ptr )
|
||||
{
|
||||
return is_compute(node_ptr);
|
||||
return is_worker(node_ptr);
|
||||
}
|
||||
return false ;
|
||||
}
|
||||
|
||||
/** Check if a node is a compute */
|
||||
bool nodeLinkClass::is_compute_subfunction ( string & hostname )
|
||||
/** Check if a node is a worker */
|
||||
bool nodeLinkClass::is_worker_subfunction ( string & hostname )
|
||||
{
|
||||
nodeLinkClass::node * node_ptr = getNode ( hostname );
|
||||
if ( node_ptr )
|
||||
{
|
||||
return is_compute_subfunction(node_ptr);
|
||||
return is_worker_subfunction(node_ptr);
|
||||
}
|
||||
return false ;
|
||||
}
|
||||
@ -7362,13 +7362,13 @@ void nodeLinkClass::force_full_enable ( struct nodeLinkClass::node * node_ptr )
|
||||
* start = False (means stop)
|
||||
*
|
||||
* MTC_CMD_STOP_CONTROL_SVCS
|
||||
* MTC_CMD_STOP_COMPUTE_SVCS
|
||||
* MTC_CMD_STOP_WORKER_SVCS
|
||||
* MTC_CMD_STOP_STORAGE_SVCS
|
||||
*
|
||||
* start = True
|
||||
*
|
||||
* MTC_CMD_START_CONTROL_SVCS
|
||||
* MTC_CMD_START_COMPUTE_SVCS
|
||||
* MTC_CMD_START_WORKER_SVCS
|
||||
* MTC_CMD_START_STORAGE_SVCS
|
||||
*
|
||||
* Returns : PASS = launch success
|
||||
@ -7389,16 +7389,16 @@ int nodeLinkClass::launch_host_services_cmd ( struct nodeLinkClass::node * node_
|
||||
{
|
||||
/* only supported subfunction (right now) is COMPUTE */
|
||||
if ( start == true )
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_START_COMPUTE_SVCS ;
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_START_WORKER_SVCS ;
|
||||
else
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_STOP_COMPUTE_SVCS ;
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_STOP_WORKER_SVCS ;
|
||||
}
|
||||
else if ( start == true )
|
||||
{
|
||||
if ( is_controller (node_ptr) )
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_START_CONTROL_SVCS ;
|
||||
else if ( is_compute (node_ptr) )
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_START_COMPUTE_SVCS ;
|
||||
else if ( is_worker (node_ptr) )
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_START_WORKER_SVCS ;
|
||||
else if ( is_storage (node_ptr) )
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_START_STORAGE_SVCS ;
|
||||
else
|
||||
@ -7412,8 +7412,8 @@ int nodeLinkClass::launch_host_services_cmd ( struct nodeLinkClass::node * node_
|
||||
{
|
||||
if ( is_controller (node_ptr) )
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_STOP_CONTROL_SVCS ;
|
||||
else if ( is_compute (node_ptr) )
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_STOP_COMPUTE_SVCS ;
|
||||
else if ( is_worker (node_ptr) )
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_STOP_WORKER_SVCS ;
|
||||
else if ( is_storage (node_ptr) )
|
||||
node_ptr->host_services_req.cmd = MTC_CMD_STOP_STORAGE_SVCS ;
|
||||
else
|
||||
|
@ -121,7 +121,7 @@ private:
|
||||
/** The Mac address of the host's infra interface */
|
||||
std::string infra_mac ;
|
||||
|
||||
/** The type of node 'controller' or 'compute' node */
|
||||
/** The type of node 'controller' or 'worker' node */
|
||||
std::string type ;
|
||||
|
||||
/** Short text phrase indicating the operation the FSM is
|
||||
@ -131,7 +131,7 @@ private:
|
||||
/** Administrative action from inventory */
|
||||
std::string action ;
|
||||
|
||||
/** The Node Type ; compute or control or storage as a mask */
|
||||
/** The Node Type ; worker or control or storage as a mask */
|
||||
string functions ; /* comma delimited string of host types */
|
||||
unsigned int nodetype ; /* numeric mask of functions */
|
||||
|
||||
@ -139,7 +139,7 @@ private:
|
||||
the main function of the host */
|
||||
unsigned int function ; /* numeric representing function_str */
|
||||
|
||||
string subfunction_str ; /* single host type string ie "compute" */
|
||||
string subfunction_str ; /* single host type string ie "worker" */
|
||||
unsigned int subfunction ; /* numeric representing subfunction_str */
|
||||
|
||||
/** set to true if the host specific sub function enable handler passes */
|
||||
@ -1386,15 +1386,15 @@ public:
|
||||
/* NODE TYPE Member Functions */
|
||||
/******************************/
|
||||
|
||||
/** Fetch the node type (compute or controller) by hostname */
|
||||
/** Fetch the node type (worker or controller) by hostname */
|
||||
int get_nodetype ( string & hostname );
|
||||
|
||||
/** Check if a node is a controller */
|
||||
bool is_controller ( struct nodeLinkClass::node * node_ptr );
|
||||
|
||||
/** Check if a node is a compute */
|
||||
bool is_compute ( struct nodeLinkClass::node * node_ptr );
|
||||
bool is_compute_subfunction ( struct nodeLinkClass::node * node_ptr );
|
||||
/** Check if a node is a worker */
|
||||
bool is_worker ( struct nodeLinkClass::node * node_ptr );
|
||||
bool is_worker_subfunction ( struct nodeLinkClass::node * node_ptr );
|
||||
|
||||
string get_node_function_str ( string hostname );
|
||||
string get_node_subfunction_str ( string hostname );
|
||||
@ -1405,9 +1405,9 @@ public:
|
||||
/** Check if a node is a controller by hostname */
|
||||
bool is_controller ( string & hostname );
|
||||
|
||||
/** Check if a node is a compute by hostname */
|
||||
bool is_compute ( string & hostname );
|
||||
bool is_compute_subfunction ( string & hostname );
|
||||
/** Check if a node is a worker by hostname */
|
||||
bool is_worker ( string & hostname );
|
||||
bool is_worker_subfunction ( string & hostname );
|
||||
|
||||
/** Check if a node is a storage by hostname */
|
||||
bool is_storage ( string & hostname );
|
||||
@ -1546,7 +1546,7 @@ public:
|
||||
|
||||
/** Performs a service affecting symantic check on whether
|
||||
* the specified uuid can be locked.
|
||||
* In the case of a compute node it asks Nova.
|
||||
* In the case of a worker node it asks Nova.
|
||||
* In the case of a controller it verifies that there is
|
||||
* another controller active and inservice.
|
||||
*
|
||||
@ -1580,7 +1580,7 @@ public:
|
||||
* from within the reboot handler. */
|
||||
int set_activeClient ( string hostname, mtc_client_enum client );
|
||||
|
||||
/** Get the number of compute hosts that are operationally 'enabled' */
|
||||
/** Get the number of worker hosts that are operationally 'enabled' */
|
||||
int enabled_compute_nodes ( void );
|
||||
|
||||
/** Get the number of storage hosts that are operationally 'enabled' */
|
||||
|
@ -181,7 +181,7 @@ void fsmon_service ( unsigned int nodetype )
|
||||
mtcTimer_audit.ring = false ;
|
||||
|
||||
/* only support stall monitor on computes */
|
||||
if (( nodetype & COMPUTE_TYPE) == COMPUTE_TYPE )
|
||||
if (( nodetype & WORKER_TYPE) == WORKER_TYPE )
|
||||
{
|
||||
int file_i;
|
||||
int rc = PASS ;
|
||||
|
@ -242,7 +242,7 @@ void stallMon_init ( void )
|
||||
temp.prev_count = 0 ;
|
||||
|
||||
/* only support stall monitor on computes */
|
||||
if ( (my_nodetype & COMPUTE_TYPE) != COMPUTE_TYPE )
|
||||
if ( (my_nodetype & WORKER_TYPE) != WORKER_TYPE )
|
||||
return ;
|
||||
|
||||
if (( hbs_config.mon_process_1 != NULL ) &&
|
||||
@ -1451,7 +1451,7 @@ void daemon_service_run ( void )
|
||||
|
||||
if (( locked == false ) &&
|
||||
(stall_monitor_ready == true ) &&
|
||||
((my_nodetype & COMPUTE_TYPE) == COMPUTE_TYPE ) &&
|
||||
((my_nodetype & WORKER_TYPE) == WORKER_TYPE ) &&
|
||||
(!(flags & PMOND_FLAG) ))
|
||||
{
|
||||
/* This is run every 50 msec - the WAIT_SELECT time */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2016 Wind River Systems, Inc.
|
||||
* Copyright (c) 2013-2018 Wind River Systems, Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -452,7 +452,7 @@ int mtc_service_command ( mtc_socket_type * sock_ptr, int interface )
|
||||
}
|
||||
}
|
||||
|
||||
else if ( strstr ( &msg.hdr[0], get_compute_msg_header()) )
|
||||
else if ( strstr ( &msg.hdr[0], get_worker_msg_header()) )
|
||||
{
|
||||
elog ("Unsupported Message\n");
|
||||
print_mtc_message ( &msg );
|
||||
@ -751,7 +751,7 @@ int create_mtcAlive_msg ( mtc_message_type & msg, int cmd, string identity, int
|
||||
|
||||
/* Init the message buffer */
|
||||
MEMSET_ZERO (msg);
|
||||
snprintf ( &msg.hdr[0], MSG_HEADER_SIZE, "%s", get_compute_msg_header());
|
||||
snprintf ( &msg.hdr[0], MSG_HEADER_SIZE, "%s", get_worker_msg_header());
|
||||
msg.cmd = cmd ;
|
||||
msg.num = MTC_PARM_MAX_IDX ;
|
||||
|
||||
@ -778,10 +778,10 @@ int create_mtcAlive_msg ( mtc_message_type & msg, int cmd, string identity, int
|
||||
if ( daemon_is_file_present ( NODE_IS_PATCHED_FILE ) )
|
||||
msg.parm[MTC_PARM_FLAGS_IDX] |= MTC_FLAG__PATCHED ;
|
||||
|
||||
/* manage the compute subfunction flag */
|
||||
if ( is_subfunction_compute () == true )
|
||||
/* manage the worker subfunction flag */
|
||||
if ( is_subfunction_worker () == true )
|
||||
{
|
||||
if ( daemon_is_file_present ( CONFIG_COMPLETE_COMPUTE ) )
|
||||
if ( daemon_is_file_present ( CONFIG_COMPLETE_WORKER ) )
|
||||
{
|
||||
msg.parm[MTC_PARM_FLAGS_IDX] |= MTC_FLAG__SUBF_CONFIGURED ;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2016 Wind River Systems, Inc.
|
||||
* Copyright (c) 2013-2018 Wind River Systems, Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -63,11 +63,11 @@ int send_guest_command ( string hostname, int command )
|
||||
hostname.c_str(),
|
||||
obj_ptr->functions.c_str(),
|
||||
obj_ptr->get_nodetype(hostname),
|
||||
obj_ptr->is_compute (hostname) ? 'Y' : 'n',
|
||||
obj_ptr->is_compute_subfunction(hostname) ? 'Y' : 'n');
|
||||
obj_ptr->is_worker (hostname) ? 'Y' : 'n',
|
||||
obj_ptr->is_worker_subfunction(hostname) ? 'Y' : 'n');
|
||||
|
||||
if ( obj_ptr->is_compute (hostname) ||
|
||||
obj_ptr->is_compute_subfunction(hostname))
|
||||
if ( obj_ptr->is_worker (hostname) ||
|
||||
obj_ptr->is_worker_subfunction(hostname))
|
||||
{
|
||||
mtc_message_type msg ; /* the message to send */
|
||||
|
||||
@ -89,7 +89,7 @@ int send_guest_command ( string hostname, int command )
|
||||
hostinfo.append (",\"ip\":\"");
|
||||
hostinfo.append ( obj_ptr->get_hostaddr (hostname));
|
||||
hostinfo.append ( "\"");
|
||||
hostinfo.append (",\"personality\":\"compute\"");
|
||||
hostinfo.append (",\"personality\":\"worker\"");
|
||||
}
|
||||
else if ( command == MTC_CMD_DEL_HOST )
|
||||
{
|
||||
@ -242,9 +242,9 @@ int mtc_service_inbox ( nodeLinkClass * obj_ptr,
|
||||
}
|
||||
|
||||
/*
|
||||
* Check for compute messages
|
||||
* Check for worker messages
|
||||
*/
|
||||
else if ( strstr ( &msg.hdr[0], get_compute_msg_header() ) )
|
||||
else if ( strstr ( &msg.hdr[0], get_worker_msg_header() ) )
|
||||
{
|
||||
if ( msg.cmd == MTC_MSG_MTCALIVE )
|
||||
{
|
||||
@ -319,23 +319,23 @@ int mtc_service_inbox ( nodeLinkClass * obj_ptr,
|
||||
}
|
||||
else if ( msg.cmd == MTC_MSG_SUBF_GOENABLED )
|
||||
{
|
||||
mlog ("%s-compute GOENABLED message\n", hostname.c_str());
|
||||
mlog ("%s-worker GOENABLED message\n", hostname.c_str());
|
||||
if ( !obj_ptr->my_hostname.compare(hostname) )
|
||||
{
|
||||
ilog ("%s-compute received GOENABLED from self\n", hostname.c_str());
|
||||
ilog ("%s-worker received GOENABLED from self\n", hostname.c_str());
|
||||
}
|
||||
rc = send_mtc_cmd ( hostname , msg.cmd, MGMNT_INTERFACE );
|
||||
if ( rc != PASS )
|
||||
{
|
||||
elog ("%s-compute GOENABLED send reply failed (rc:%d)\n",
|
||||
elog ("%s-worker GOENABLED send reply failed (rc:%d)\n",
|
||||
hostname.c_str(), rc);
|
||||
|
||||
wlog ("%s-compute ... need successful GOENABLED reply, dropping ...\n",
|
||||
wlog ("%s-worker ... need successful GOENABLED reply, dropping ...\n",
|
||||
hostname.c_str() );
|
||||
}
|
||||
else
|
||||
{
|
||||
mlog ("%s-compute got GOENABLED (out-of-service tests passed) message\n", hostname.c_str());
|
||||
mlog ("%s-worker got GOENABLED (out-of-service tests passed) message\n", hostname.c_str());
|
||||
obj_ptr->set_goEnabled_subf ( hostname );
|
||||
}
|
||||
}
|
||||
@ -343,14 +343,14 @@ int mtc_service_inbox ( nodeLinkClass * obj_ptr,
|
||||
{
|
||||
if ( obj_ptr->get_adminState ( hostname ) == MTC_ADMIN_STATE__UNLOCKED )
|
||||
{
|
||||
wlog ("%s-compute failed GOENABLE test: %s\n", hostname.c_str(), &msg.buf[0] );
|
||||
wlog ("%s-worker failed GOENABLE test: %s\n", hostname.c_str(), &msg.buf[0] );
|
||||
obj_ptr->set_goEnabled_failed_subf ( hostname );
|
||||
}
|
||||
/* We don't send a reply on a fail */
|
||||
}
|
||||
else
|
||||
{
|
||||
wlog ("Unexpected compute message (0x%x) from '%s'\n", msg.cmd, hostname.c_str());
|
||||
wlog ("Unexpected worker message (0x%x) from '%s'\n", msg.cmd, hostname.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
@ -630,10 +630,10 @@ int send_mtc_cmd ( string & hostname, int cmd , int interface )
|
||||
break ;
|
||||
}
|
||||
case MTC_CMD_STOP_CONTROL_SVCS:
|
||||
case MTC_CMD_STOP_COMPUTE_SVCS:
|
||||
case MTC_CMD_STOP_WORKER_SVCS:
|
||||
case MTC_CMD_STOP_STORAGE_SVCS:
|
||||
case MTC_CMD_START_CONTROL_SVCS:
|
||||
case MTC_CMD_START_COMPUTE_SVCS:
|
||||
case MTC_CMD_START_WORKER_SVCS:
|
||||
case MTC_CMD_START_STORAGE_SVCS:
|
||||
{
|
||||
snprintf ( &mtc_cmd.hdr[0], MSG_HEADER_SIZE, "%s", get_cmd_req_msg_header() );
|
||||
|
@ -78,10 +78,11 @@ string get_who_i_am ( void )
|
||||
return (ctrl.who_i_am) ;
|
||||
}
|
||||
|
||||
bool is_subfunction_compute ( void )
|
||||
bool is_subfunction_worker ( void )
|
||||
{
|
||||
if ( ctrl.subfunction & COMPUTE_TYPE )
|
||||
if ( ctrl.subfunction & WORKER_TYPE ) {
|
||||
return true ;
|
||||
}
|
||||
else
|
||||
return false ;
|
||||
}
|
||||
@ -996,7 +997,7 @@ int daemon_init ( string iface, string nodetype_str )
|
||||
rc = FAIL_SIGNAL_INIT ;
|
||||
}
|
||||
|
||||
/* Configure the compute */
|
||||
/* Configure the worker */
|
||||
else if ( (rc = daemon_configure ()) != PASS )
|
||||
{
|
||||
elog ("Daemon service configuration failed (rc:%i)\n", rc );
|
||||
@ -1244,7 +1245,7 @@ void daemon_service_run ( void )
|
||||
}
|
||||
else if ( ctrl.active_script_set == GOENABLED_SUBF_SCRIPTS )
|
||||
{
|
||||
if (( daemon_is_file_present ( CONFIG_COMPLETE_COMPUTE )) &&
|
||||
if (( daemon_is_file_present ( CONFIG_COMPLETE_WORKER )) &&
|
||||
( daemon_is_file_present ( GOENABLED_SUBF_READY )))
|
||||
{
|
||||
ctrl.posted_script_set.pop_front();
|
||||
@ -1560,10 +1561,10 @@ int _launch_all_scripts ( script_ctrl_type & group,
|
||||
* cmd - 'uint' representing start or stop services commands
|
||||
*
|
||||
* MTC_CMD_STOP_CONTROL_SVCS
|
||||
* MTC_CMD_STOP_COMPUTE_SVCS
|
||||
* MTC_CMD_STOP_WORKER_SVCS
|
||||
* MTC_CMD_STOP_STORAGE_SVCS
|
||||
* MTC_CMD_START_CONTROL_SVCS
|
||||
* MTC_CMD_START_COMPUTE_SVCS
|
||||
* MTC_CMD_START_WORKER_SVCS
|
||||
* MTC_CMD_START_STORAGE_SVCS
|
||||
*
|
||||
* Returns : Operation PASS or non-zero return code with the failing
|
||||
@ -1583,10 +1584,10 @@ int run_hostservices_scripts ( unsigned int cmd )
|
||||
action = "stop" ;
|
||||
func = "controller";
|
||||
break ;
|
||||
case MTC_CMD_STOP_COMPUTE_SVCS:
|
||||
dir.append("/compute");
|
||||
case MTC_CMD_STOP_WORKER_SVCS:
|
||||
dir.append("/worker");
|
||||
action = "stop" ;
|
||||
func = "compute";
|
||||
func = "worker";
|
||||
break ;
|
||||
case MTC_CMD_STOP_STORAGE_SVCS:
|
||||
dir.append("/storage");
|
||||
@ -1598,10 +1599,10 @@ int run_hostservices_scripts ( unsigned int cmd )
|
||||
action = "start" ;
|
||||
func = "controller";
|
||||
break ;
|
||||
case MTC_CMD_START_COMPUTE_SVCS:
|
||||
dir.append("/compute");
|
||||
case MTC_CMD_START_WORKER_SVCS:
|
||||
dir.append("/worker");
|
||||
action = "start" ;
|
||||
func = "compute";
|
||||
func = "worker";
|
||||
break ;
|
||||
case MTC_CMD_START_STORAGE_SVCS:
|
||||
dir.append("/storage");
|
||||
@ -1624,18 +1625,18 @@ int run_hostservices_scripts ( unsigned int cmd )
|
||||
|
||||
|
||||
/* For the stop command we need the mtcClient to run both controller and
|
||||
* compute stop services if we are on a CPE system.
|
||||
* worker stop services if we are on a CPE system.
|
||||
* This saves the mtcAgent from having to issue and manage 2 commands,
|
||||
* one for controller and 1 for compute */
|
||||
* one for controller and 1 for worker */
|
||||
if ( ctrl.system_type != SYSTEM_TYPE__NORMAL )
|
||||
{
|
||||
string dir = "" ;
|
||||
if ( action == "stop" )
|
||||
{
|
||||
std::list<string> more_scripts ;
|
||||
if ( cmd == MTC_CMD_STOP_COMPUTE_SVCS )
|
||||
if ( cmd == MTC_CMD_STOP_WORKER_SVCS )
|
||||
{
|
||||
/* only add the controller if we get a compute stop
|
||||
/* only add the controller if we get a worker stop
|
||||
* and this host has a controller nodetype function */
|
||||
if (ctrl.nodetype & CONTROLLER_TYPE)
|
||||
{
|
||||
@ -1645,12 +1646,12 @@ int run_hostservices_scripts ( unsigned int cmd )
|
||||
}
|
||||
else if ( cmd == MTC_CMD_STOP_CONTROL_SVCS )
|
||||
{
|
||||
/* add the compute stop if we get a controller stop
|
||||
* and this host has a compute nodetype function */
|
||||
if (ctrl.nodetype & COMPUTE_TYPE)
|
||||
/* add the worker stop if we get a controller stop
|
||||
* and this host has a worker nodetype function */
|
||||
if (ctrl.nodetype & WORKER_TYPE)
|
||||
{
|
||||
dir = SERVICES_DIR ;
|
||||
dir.append("/compute");
|
||||
dir.append("/worker");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -106,7 +106,7 @@ typedef struct
|
||||
|
||||
ctrl_type * get_ctrl_ptr ( void );
|
||||
|
||||
bool is_subfunction_compute ( void );
|
||||
bool is_subfunction_worker ( void );
|
||||
int run_goenabled_scripts ( mtc_socket_type * sock_ptr , string requestor );
|
||||
int run_hostservices_scripts ( unsigned int cmd );
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2016 Wind River Systems, Inc.
|
||||
* Copyright (c) 2013-2018 Wind River Systems, Inc.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
@ -496,7 +496,7 @@ int nodeLinkClass::enable_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
* to swact to. In this case the ctive controller
|
||||
* - is only degraded to avoid a system outage.
|
||||
* - the CPE subfunction is failed
|
||||
* - compute SubFunction Alarm is raised
|
||||
* - worker SubFunction Alarm is raised
|
||||
* - Enable alarm is raised
|
||||
* - A process monitor alarm may also be raised if
|
||||
* the failure was that of a critical process.
|
||||
@ -1170,7 +1170,7 @@ int nodeLinkClass::enable_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
* without having to wait for the GOENABLED phase to timeout.
|
||||
*
|
||||
* This case is particularly important in the DOR case where
|
||||
* computes may have come up and fail to run their manifests
|
||||
* workers may have come up and fail to run their manifests
|
||||
* and sit there in an unconfigured state. We don't want them to
|
||||
* be gracefully recovered to enabled in that case. Instead
|
||||
* we want to recover the card through a reset as quickly as
|
||||
@ -1312,7 +1312,7 @@ int nodeLinkClass::enable_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
{
|
||||
/* Don't start the self heartbeat for the active controller.
|
||||
* Also, in AIO , hosts that have a controller function also
|
||||
* have a compute function and the heartbeat for those hosts
|
||||
* have a worker function and the heartbeat for those hosts
|
||||
* are started at the end of the subfunction handler. */
|
||||
if (( THIS_HOST ) ||
|
||||
(( CPE_SYSTEM ) && ( is_controller(node_ptr)) ))
|
||||
@ -1514,7 +1514,7 @@ int nodeLinkClass::enable_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
|
||||
if (( CPE_SYSTEM ) && ( is_controller(node_ptr)))
|
||||
{
|
||||
ilog ("%s running compute sub-function enable handler\n", node_ptr->hostname.c_str());
|
||||
ilog ("%s running worker sub-function enable handler\n", node_ptr->hostname.c_str());
|
||||
mtcInvApi_update_task ( node_ptr, MTC_TASK_ENABLING_SUBF );
|
||||
adminActionChange ( node_ptr, MTC_ADMIN_ACTION__ENABLE_SUBF );
|
||||
}
|
||||
@ -2118,7 +2118,7 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
* without having to wait for the GOENABLED phase to timeout.
|
||||
*
|
||||
* This case is particularly important in the DOR case where
|
||||
* computes may have come up and fail to run their manifests
|
||||
* workers may have come up and fail to run their manifests
|
||||
* and sit there in an unconfigured state. We don't want them to
|
||||
* be gracefully recovered to enabled in that case. Instead
|
||||
* we want to recover the card through a reset as quickly as
|
||||
@ -2225,11 +2225,11 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
* system. */
|
||||
if ( NOT_THIS_HOST )
|
||||
{
|
||||
/* start a timer that waits for the /var/run/.compute_config_complete flag */
|
||||
mtcTimer_start ( node_ptr->mtcTimer, mtcTimer_handler, MTC_COMPUTE_CONFIG_TIMEOUT );
|
||||
/* start a timer that waits for the /var/run/.worker_config_complete flag */
|
||||
mtcTimer_start ( node_ptr->mtcTimer, mtcTimer_handler, MTC_WORKER_CONFIG_TIMEOUT );
|
||||
|
||||
/* We will come back to MTC_RECOVERY__HEARTBEAT_START
|
||||
* after we enable the compute subfunction */
|
||||
* after we enable the worker subfunction */
|
||||
recoveryStageChange ( node_ptr, MTC_RECOVERY__CONFIG_COMPLETE_WAIT );
|
||||
}
|
||||
else
|
||||
@ -2259,7 +2259,7 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
/* look for file */
|
||||
if ( node_ptr->mtce_flags & MTC_FLAG__SUBF_CONFIGURED )
|
||||
{
|
||||
plog ("%s-compute configured\n", node_ptr->hostname.c_str());
|
||||
plog ("%s-worker configured\n", node_ptr->hostname.c_str());
|
||||
|
||||
mtcTimer_reset ( node_ptr->mtcTimer );
|
||||
|
||||
@ -2269,7 +2269,7 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
/* timeout handling */
|
||||
else if ( node_ptr->mtcTimer.ring == true )
|
||||
{
|
||||
elog ("%s-compute configuration timeout\n", node_ptr->hostname.c_str());
|
||||
elog ("%s-worker configuration timeout\n", node_ptr->hostname.c_str());
|
||||
|
||||
mtcInvApi_update_task ( node_ptr, MTC_TASK_RECOVERY_FAIL );
|
||||
nodeLinkClass::force_full_enable ( node_ptr );
|
||||
@ -2282,7 +2282,7 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
}
|
||||
case MTC_RECOVERY__SUBF_GOENABLED_TIMER:
|
||||
{
|
||||
ilog ("%s-compute running out-of-service tests\n", node_ptr->hostname.c_str());
|
||||
ilog ("%s-worker running out-of-service tests\n", node_ptr->hostname.c_str());
|
||||
|
||||
/* See if the host is there and already in the go enabled state */
|
||||
send_mtc_cmd ( node_ptr->hostname, MTC_REQ_SUBF_GOENABLED, MGMNT_INTERFACE );
|
||||
@ -2302,7 +2302,7 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
/* search for the Go Enable message */
|
||||
if ( node_ptr->goEnabled_failed_subf == true )
|
||||
{
|
||||
elog ("%s-compute one or more out-of-service tests failed\n", node_ptr->hostname.c_str());
|
||||
elog ("%s-worker one or more out-of-service tests failed\n", node_ptr->hostname.c_str());
|
||||
mtcTimer_reset ( node_ptr->mtcTimer );
|
||||
mtcInvApi_update_task ( node_ptr, MTC_TASK_RECOVERY_FAIL );
|
||||
this->force_full_enable ( node_ptr );
|
||||
@ -2314,7 +2314,7 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
/* stop the timer */
|
||||
mtcTimer_reset ( node_ptr->mtcTimer );
|
||||
|
||||
plog ("%s-compute passed out-of-service tests\n", node_ptr->hostname.c_str());
|
||||
plog ("%s-worker passed out-of-service tests\n", node_ptr->hostname.c_str());
|
||||
|
||||
/* O.K. clearing the state now that we got it */
|
||||
node_ptr->goEnabled_subf = false ;
|
||||
@ -2324,7 +2324,7 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
}
|
||||
else if ( node_ptr->mtcTimer.ring == true )
|
||||
{
|
||||
elog ("%s-compute out-of-service test execution timeout\n", node_ptr->hostname.c_str());
|
||||
elog ("%s-worker out-of-service test execution timeout\n", node_ptr->hostname.c_str());
|
||||
node_ptr->mtcTimer.ring = false ;
|
||||
mtcInvApi_update_task ( node_ptr, MTC_TASK_RECOVERY_FAIL );
|
||||
this->force_full_enable ( node_ptr );
|
||||
@ -2341,11 +2341,11 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
bool start = true ;
|
||||
bool subf = true ;
|
||||
|
||||
plog ("%s-compute Starting Host Services\n", node_ptr->hostname.c_str());
|
||||
plog ("%s-worker Starting Host Services\n", node_ptr->hostname.c_str());
|
||||
|
||||
if ( this->launch_host_services_cmd ( node_ptr, start, subf ) != PASS )
|
||||
{
|
||||
elog ("%s-compute %s failed ; launch\n",
|
||||
elog ("%s-worker %s failed ; launch\n",
|
||||
node_ptr->hostname.c_str(),
|
||||
node_ptr->host_services_req.name.c_str());
|
||||
node_ptr->hostservices_failed_subf = true ;
|
||||
@ -2373,7 +2373,7 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
node_ptr->hostservices_failed_subf = true ;
|
||||
if ( rc == FAIL_TIMEOUT )
|
||||
{
|
||||
elog ("%s-compute %s failed ; timeout\n",
|
||||
elog ("%s-worker %s failed ; timeout\n",
|
||||
node_ptr->hostname.c_str(),
|
||||
node_ptr->host_services_req.name.c_str());
|
||||
|
||||
@ -2382,7 +2382,7 @@ int nodeLinkClass::recovery_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
}
|
||||
else
|
||||
{
|
||||
elog ("%s-compute %s failed ; rc=%d\n",
|
||||
elog ("%s-worker %s failed ; rc=%d\n",
|
||||
node_ptr->hostname.c_str(),
|
||||
node_ptr->host_services_req.name.c_str(),
|
||||
rc);
|
||||
@ -2875,7 +2875,7 @@ int nodeLinkClass::disable_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
}
|
||||
case MTC_DISABLE__HANDLE_FORCE_LOCK:
|
||||
{
|
||||
/* If this is a force lock against a compute then we have to reset it */
|
||||
/* If this is a force lock against a worker then we have to reset it */
|
||||
if (( node_ptr->adminAction == MTC_ADMIN_ACTION__FORCE_LOCK ))
|
||||
{
|
||||
/* Stop the timer if it is active coming into this case */
|
||||
@ -5429,7 +5429,7 @@ int nodeLinkClass::add_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
|
||||
if (( CPE_SYSTEM ) && ( is_controller(node_ptr) == true ))
|
||||
{
|
||||
if ( daemon_is_file_present ( CONFIG_COMPLETE_COMPUTE ) == false )
|
||||
if ( daemon_is_file_present ( CONFIG_COMPLETE_WORKER ) == false )
|
||||
{
|
||||
if ( node_ptr->operState_subf != MTC_OPER_STATE__DISABLED )
|
||||
{
|
||||
@ -5693,7 +5693,7 @@ int nodeLinkClass::add_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
{
|
||||
send_hwmon_command ( node_ptr->hostname, MTC_CMD_ADD_HOST );
|
||||
}
|
||||
if ( ( CPE_SYSTEM ) || ( is_compute (node_ptr) == true ))
|
||||
if ( ( CPE_SYSTEM ) || ( is_worker (node_ptr) == true ))
|
||||
{
|
||||
send_guest_command ( node_ptr->hostname, MTC_CMD_ADD_HOST );
|
||||
}
|
||||
@ -6411,7 +6411,7 @@ int nodeLinkClass::insv_test_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
}
|
||||
|
||||
/*************************************************
|
||||
* Handle running the subfunction start compute
|
||||
* Handle running the subfunction start worker
|
||||
* host services command as a background operation
|
||||
* after the controller start result has come in
|
||||
* as a PASS.
|
||||
@ -6523,7 +6523,7 @@ int nodeLinkClass::insv_test_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
if (( node_ptr->inservice_failed_subf == false ) &&
|
||||
( node_ptr->hostservices_failed_subf == false ))
|
||||
{
|
||||
ilog ("%s-compute ... running recovery enable\n", node_ptr->hostname.c_str());
|
||||
ilog ("%s-worker ... running recovery enable\n", node_ptr->hostname.c_str());
|
||||
|
||||
alarm_compute_clear ( node_ptr, true );
|
||||
|
||||
@ -6532,13 +6532,13 @@ int nodeLinkClass::insv_test_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
}
|
||||
else
|
||||
{
|
||||
ilog ("%s-compute subfunction is unlocked-disabled (non-operational)\n",
|
||||
ilog ("%s-worker subfunction is unlocked-disabled (non-operational)\n",
|
||||
node_ptr->hostname.c_str());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ilog ("%s-compute ... waiting on current goEnable completion\n", node_ptr->hostname.c_str() );
|
||||
ilog ("%s-worker ... waiting on current goEnable completion\n", node_ptr->hostname.c_str() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ int nodeLinkClass::enable_subf_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
|
||||
/* Setup the log prefix */
|
||||
string name = node_ptr->hostname ;
|
||||
name.append("-compute");
|
||||
name.append("-worker");
|
||||
|
||||
switch ( (int)node_ptr->enableStage )
|
||||
{
|
||||
@ -85,7 +85,7 @@ int nodeLinkClass::enable_subf_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
node_ptr->unknown_health_reported = false ;
|
||||
node_ptr->goEnabled_failed_subf = false ;
|
||||
|
||||
/* load compute subfunciton alarm state */
|
||||
/* load worker subfunciton alarm state */
|
||||
EFmAlarmSeverityT sev = mtcAlarm_state ( node_ptr->hostname,
|
||||
MTC_ALARM_ID__CH_COMP);
|
||||
if ( sev != FM_ALARM_SEVERITY_CLEAR )
|
||||
@ -94,16 +94,16 @@ int nodeLinkClass::enable_subf_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
node_ptr->degrade_mask |= DEGRADE_MASK_SUBF;
|
||||
}
|
||||
|
||||
/* start a timer that waits for the /var/run/.compute_config_complete flag */
|
||||
/* start a timer that waits for the /var/run/.worker_config_complete flag */
|
||||
mtcTimer_reset ( node_ptr->mtcTimer );
|
||||
mtcTimer_start ( node_ptr->mtcTimer, mtcTimer_handler, MTC_COMPUTE_CONFIG_TIMEOUT );
|
||||
mtcTimer_start ( node_ptr->mtcTimer, mtcTimer_handler, MTC_WORKER_CONFIG_TIMEOUT );
|
||||
|
||||
enableStageChange ( node_ptr, MTC_ENABLE__CONFIG_COMPLETE_WAIT );
|
||||
break ;
|
||||
}
|
||||
|
||||
/* Wait for the CONFIG_COMPLETE_COMPUTE flag file that indicates
|
||||
* that the compute part of the combo-blade init is finished */
|
||||
/* Wait for the CONFIG_WORKER_COMPUTE flag file that indicates
|
||||
* that the worker part of the combo-blade init is finished */
|
||||
case MTC_ENABLE__CONFIG_COMPLETE_WAIT:
|
||||
{
|
||||
/* look for file */
|
||||
@ -141,7 +141,7 @@ int nodeLinkClass::enable_subf_handler ( struct nodeLinkClass::node * node_ptr )
|
||||
{
|
||||
elog ("%s configuration timeout (%d secs)\n",
|
||||
name.c_str(),
|
||||
MTC_COMPUTE_CONFIG_TIMEOUT );
|
||||
MTC_WORKER_CONFIG_TIMEOUT );
|
||||
|
||||
alarm_config_failure ( node_ptr );
|
||||
|
||||
|
@ -783,7 +783,7 @@ int pmon_passive_handler ( process_config_type * ptr )
|
||||
*
|
||||
* /etc/pmon.d/<process.conf> files that declare
|
||||
*
|
||||
* subfunction = compute
|
||||
* subfunction = worker
|
||||
* or
|
||||
* subfunction = storage
|
||||
*
|
||||
@ -808,9 +808,9 @@ int pmon_passive_handler ( process_config_type * ptr )
|
||||
pmon_ctrl_type * ctrl_ptr = get_ctrl_ptr() ;
|
||||
if ( ptr->subfunction )
|
||||
{
|
||||
if ( !strcmp (ptr->subfunction, "compute" ) )
|
||||
if ( !strcmp (ptr->subfunction, "worker" ) )
|
||||
{
|
||||
config_filename = CONFIG_COMPLETE_COMPUTE ;
|
||||
config_filename = CONFIG_COMPLETE_WORKER ;
|
||||
}
|
||||
else if ( !strcmp (ptr->subfunction, "storage" ) )
|
||||
{
|
||||
@ -821,13 +821,13 @@ int pmon_passive_handler ( process_config_type * ptr )
|
||||
* 'last-config' get a dependency override in
|
||||
* the AIO system. Such processes need to be
|
||||
* monitored only after the last configuration
|
||||
* step. Right now that is compute in aio.
|
||||
* step. Right now that is worker in aio.
|
||||
*
|
||||
********************************************************/
|
||||
else if (( ctrl_ptr->system_type != SYSTEM_TYPE__NORMAL ) &&
|
||||
( !strcmp (ptr->subfunction, "last-config" )))
|
||||
{
|
||||
config_filename = CONFIG_COMPLETE_COMPUTE ;
|
||||
config_filename = CONFIG_COMPLETE_WORKER ;
|
||||
dlog ("%s dependency over-ride ; will wait for %s\n",
|
||||
ptr->process,
|
||||
config_filename.c_str());
|
||||
@ -849,13 +849,13 @@ int pmon_passive_handler ( process_config_type * ptr )
|
||||
start_monitoring = false;
|
||||
waiting_for = config_filename;
|
||||
}
|
||||
else if ( !strcmp (ptr->subfunction, "compute" ) )
|
||||
else if ( !strcmp (ptr->subfunction, "worker" ) )
|
||||
{
|
||||
if ( daemon_is_file_present ( DISABLE_COMPUTE_SERVICES ) == true )
|
||||
if ( daemon_is_file_present ( DISABLE_WORKER_SERVICES ) == true )
|
||||
{
|
||||
/* Compute services are disabled - do not start monitoring */
|
||||
start_monitoring = false;
|
||||
waiting_for = DISABLE_COMPUTE_SERVICES;
|
||||
waiting_for = DISABLE_WORKER_SERVICES;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -167,7 +167,7 @@ using namespace std;
|
||||
#define CONFIG_DIR ((const char *)"/etc/rmon.d")
|
||||
#define INT_CONFIG_DIR ((const char *)"/etc/rmon_interfaces.d")
|
||||
#define COMPUTE_VSWITCH_DIR ((const char *)"/etc/nova/compute_extend.conf")
|
||||
#define COMPUTE_RESERVED_CONF ((const char *)"/etc/nova/compute_reserved.conf")
|
||||
#define COMPUTE_RESERVED_CONF ((const char *)"/etc/platform/worker_reserved.conf")
|
||||
#define DYNAMIC_FS_FILE ((const char *)"/etc/rmonfiles.d/dynamic.conf")
|
||||
#define STATIC_FS_FILE ((const char *)"/etc/rmonfiles.d/static.conf")
|
||||
|
||||
@ -502,7 +502,7 @@ typedef struct
|
||||
unsigned int minorlog_cnt ; /* track minor log count for thresholding */
|
||||
unsigned int count ; /* track the number of times the condition has been occured */
|
||||
bool failed ; /* track if the resource needs to be serviced by the resource handler */
|
||||
double resource_value ; /* Usage for the Linux blades: controller, compute and storage */
|
||||
double resource_value ; /* Usage for the Linux blades: controller, worker and storage */
|
||||
double resource_prev ; /* the previous resource_value */
|
||||
int sev ; /* The severity of the failed resource */
|
||||
rmonStage_enum stage ; /* The stage the resource is in within the resource handler fsm */
|
||||
@ -737,8 +737,8 @@ int rmon_resource_response ( int clients );
|
||||
/* Updates the interface data structure with the state (up or down) of the interface */
|
||||
void check_interface_status( interface_resource_config_type * ptr );
|
||||
|
||||
/* Check if the node is a compute node */
|
||||
bool check_compute();
|
||||
/* Check if the node is a worker node */
|
||||
bool check_worker();
|
||||
|
||||
/* Handle failed platform interfaces */
|
||||
void interface_handler( interface_resource_config_type * ptr );
|
||||
|
@ -4258,7 +4258,7 @@ int _postPMs ()
|
||||
*****************************************************************************/
|
||||
|
||||
extern bool is_cpe ( void );
|
||||
extern bool is_compute ( void );
|
||||
extern bool is_worker ( void );
|
||||
|
||||
void _get_events (void)
|
||||
{
|
||||
@ -4299,7 +4299,7 @@ void _get_events (void)
|
||||
{
|
||||
/* ensure that configuration has completed before computing
|
||||
* vswitch resource utilization */
|
||||
if ( !daemon_is_file_present ( CONFIG_COMPLETE_COMPUTE ) )
|
||||
if ( !daemon_is_file_present ( CONFIG_COMPLETE_WORKER ) )
|
||||
continue ;
|
||||
|
||||
pFile = fopen (COMPUTE_VSWITCH_DIR , "r");
|
||||
@ -4324,10 +4324,10 @@ void _get_events (void)
|
||||
{
|
||||
/* do not perform this check if we are not on a compute node.
|
||||
* its not valid on storage not combo load */
|
||||
if ( !is_compute () )
|
||||
if ( !is_worker () )
|
||||
continue ;
|
||||
|
||||
if ( !daemon_is_file_present ( CONFIG_COMPLETE_COMPUTE ) )
|
||||
if ( !daemon_is_file_present ( CONFIG_COMPLETE_WORKER ) )
|
||||
continue ;
|
||||
|
||||
/* nova instances mount check */
|
||||
@ -4389,10 +4389,10 @@ void _get_events (void)
|
||||
(resource_config[i].alarm_status == ALARM_ON)){
|
||||
/* do not perform this check if we are not on a compute node.
|
||||
* its not valid on storage not combo load */
|
||||
if ( !is_compute () && !is_cpe () )
|
||||
if ( !is_worker () && !is_cpe () )
|
||||
continue ;
|
||||
|
||||
if ( !daemon_is_file_present ( CONFIG_COMPLETE_COMPUTE ) )
|
||||
if ( !daemon_is_file_present ( CONFIG_COMPLETE_WORKER ) )
|
||||
continue ;
|
||||
|
||||
/* virtual thin pool space utilization */
|
||||
|
@ -32,9 +32,9 @@ void daemon_exit ( void )
|
||||
exit (0);
|
||||
}
|
||||
|
||||
bool is_compute ( void )
|
||||
bool is_worker ( void )
|
||||
{
|
||||
if (( rmon_ctrl.function == COMPUTE_TYPE ) && ( rmon_ctrl.subfunction == CGTS_NODE_NULL ))
|
||||
if (( rmon_ctrl.function == WORKER_TYPE ) && ( rmon_ctrl.subfunction == CGTS_NODE_NULL ))
|
||||
return (true);
|
||||
else
|
||||
return (false);
|
||||
@ -50,7 +50,7 @@ bool is_controller ( void )
|
||||
|
||||
bool is_cpe ( void )
|
||||
{
|
||||
if (( rmon_ctrl.function == CONTROLLER_TYPE ) && ( rmon_ctrl.subfunction == COMPUTE_TYPE ))
|
||||
if (( rmon_ctrl.function == CONTROLLER_TYPE ) && ( rmon_ctrl.subfunction == WORKER_TYPE ))
|
||||
return (true);
|
||||
else
|
||||
return (false);
|
||||
|
@ -7,11 +7,11 @@
|
||||
|
||||
source "/etc/init.d/log_functions.sh"
|
||||
|
||||
# is it a compute subfunction on a CPE system
|
||||
# is it a worker subfunction on a CPE system
|
||||
isCompute ()
|
||||
{
|
||||
[ -f /etc/platform/platform.conf ] || return 0
|
||||
res=$(grep "subfunction" /etc/platform/platform.conf | grep "controller,compute" | wc -l)
|
||||
res=$(grep "subfunction" /etc/platform/platform.conf | grep "controller,worker" | wc -l)
|
||||
|
||||
if [ "$res" -eq 0 ] ; then
|
||||
return 0
|
||||
@ -28,8 +28,8 @@ if [[ "$?" -eq 0 ]]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! -f /var/run/.compute_config_complete ]; then
|
||||
log "Cannot run prior to compute configuration complete."
|
||||
if [ ! -f /var/run/.worker_config_complete ]; then
|
||||
log "Cannot run prior to worker configuration complete."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
@ -8,7 +8,7 @@ heartbeat_failure_threshold = 10 ; Heartbeat failure threshold count.
|
||||
heartbeat_degrade_threshold = 6 ; Heartbeat degrade threshold count.
|
||||
|
||||
[timeouts]
|
||||
compute_boot_timeout = 720 ; The max time (seconds) that Mtce waits for the mtcAlive
|
||||
worker_boot_timeout = 720 ; The max time (seconds) that Mtce waits for the mtcAlive
|
||||
controller_boot_timeout = 1200 ; message after which it will time out and fail the host.
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user