Add an option to create a cluster with control-only nodes (#10946)

This commit is contained in:
Alan Rominger
2021-08-26 13:37:13 -04:00
committed by GitHub
parent daf4310176
commit ee4792dbf8
3 changed files with 14 additions and 3 deletions

View File

@@ -17,6 +17,7 @@ VERSION := $(shell cat VERSION)
# NOTE: This defaults the container image version to the branch that's active # NOTE: This defaults the container image version to the branch that's active
COMPOSE_TAG ?= $(GIT_BRANCH) COMPOSE_TAG ?= $(GIT_BRANCH)
COMPOSE_HOST ?= $(shell hostname) COMPOSE_HOST ?= $(shell hostname)
MAIN_NODE_TYPE ?= hybrid
VENV_BASE ?= /var/lib/awx/venv/ VENV_BASE ?= /var/lib/awx/venv/
SCL_PREFIX ?= SCL_PREFIX ?=
@@ -172,7 +173,7 @@ init:
if [ "$(VENV_BASE)" ]; then \ if [ "$(VENV_BASE)" ]; then \
. $(VENV_BASE)/awx/bin/activate; \ . $(VENV_BASE)/awx/bin/activate; \
fi; \ fi; \
$(MANAGEMENT_COMMAND) provision_instance --hostname=$(COMPOSE_HOST); \ $(MANAGEMENT_COMMAND) provision_instance --hostname=$(COMPOSE_HOST) --node_type=$(MAIN_NODE_TYPE); \
$(MANAGEMENT_COMMAND) register_queue --queuename=controlplane --instance_percent=100;\ $(MANAGEMENT_COMMAND) register_queue --queuename=controlplane --instance_percent=100;\
if [ ! -f /etc/receptor/certs/awx.key ]; then \ if [ ! -f /etc/receptor/certs/awx.key ]; then \
rm -f /etc/receptor/certs/*; \ rm -f /etc/receptor/certs/*; \

View File

@@ -96,9 +96,18 @@ This will not affect actual `Instance` record, but will just run the command and
### Development Environment ### Development Environment
A "toy" cluster with execution nodes and a hop node is created by the docker-compose Makefile target. A cluster (of containers) with execution nodes and a hop node is created by the docker-compose Makefile target.
By default, it will create 1 hybrid node, 1 hop node, and 2 execution nodes. By default, it will create 1 hybrid node, 1 hop node, and 2 execution nodes.
The number of nodes can be changed with environment variables, for example: You can switch the type of AWX nodes between hybrid and control with this syntax.
```
MAIN_NODE_TYPE=control COMPOSE_TAG=devel make docker-compose
```
Running the above command will create a cluster of 1 control node, 1 hop node, and 2 execution nodes.
The number of nodes can be changed:
``` ```
CONTROL_PLANE_NODE_COUNT=2 EXECUTION_NODE_COUNT=3 COMPOSE_TAG=devel make docker-compose CONTROL_PLANE_NODE_COUNT=2 EXECUTION_NODE_COUNT=3 COMPOSE_TAG=devel make docker-compose

View File

@@ -17,6 +17,7 @@ services:
SDB_HOST: 0.0.0.0 SDB_HOST: 0.0.0.0
SDB_PORT: {{ awx_sdb_port_start }} SDB_PORT: {{ awx_sdb_port_start }}
AWX_GROUP_QUEUES: tower AWX_GROUP_QUEUES: tower
MAIN_NODE_TYPE: "${MAIN_NODE_TYPE:-hybrid}"
RECEPTORCTL_SOCKET: /var/run/receptor/receptor.sock RECEPTORCTL_SOCKET: /var/run/receptor/receptor.sock
{% if loop.index == 1 %} {% if loop.index == 1 %}
RUN_MIGRATIONS: 1 RUN_MIGRATIONS: 1