Dc Micro Service Invest Notes
Dc Micro Service Invest Notes
# DC Services Containerization
#
https://review.opendev.org/c/openstack/project-config/+/911946
# Build wheels
$MY_REPO/build-tools/build-wheels/build-wheel-tarball.sh --keep-image --cache
# Container build
# https://confluence.wrs.com/display/CE/How+to+build+docker+images
BUILD_OS=debian
BUILD_STREAM=stable
BRANCH=master
BASE_IMAGE=starlingx/stx-${BUILD_OS}:${BRANCH}-${BUILD_STREAM}-latest
WHEELS=$MY_WORKSPACE/std/build-wheels-debian-stable/stx-debian-stable-wheels.tar
DOCKER_USER=${USER}
DOCKER_REGISTRY=admin-2.cumulus.wrs.com:30093
$MY_REPO/build-tools/build-docker-images/build-stx-images.sh \
--os ${BUILD_OS} \
--stream ${BUILD_STREAM} \
--base ${BASE_IMAGE} \
--wheels ${WHEELS} \
--user ${DOCKER_USER} \
--registry ${DOCKER_REGISTRY} \
--no-pull-base --cache \
--push --latest \
--only "stx-distributed-cloud"
#
# Disable Service Management
#
sudo sm-unmanage service dcmanager-manager
sudo sm-unmanage service dcmanager-api
sudo sm-unmanage service dcmanager-audit
sudo sm-unmanage service dcmanager-audit-worker
sudo sm-unmanage service dcmanager-orchestrator
sudo sm-unmanage service dcmanager-state
#
# Platform Setup
#
source /etc/platform/openrc
system host-label-assign controller-0 starlingx.io/distributed-cloud=enabled
system host-label-assign controller-1 starlingx.io/distributed-cloud=enabled
#
# Distributed Cloud Application Deployment (development)
#
DOCKER_IMAGE=registry.local:9001/docker.io/starlingx/stx-distributed-cloud:master-
debian-stable-latest
cat<<EOF>dcmanager.yaml
images:
tags:
dcmanager: ${DOCKER_IMAGE}
ks_user: ${DOCKER_IMAGE}
ks_service: ${DOCKER_IMAGE}
ks_endpoints: ${DOCKER_IMAGE}
dcmanager_db_sync: ${DOCKER_IMAGE}
db_init: ${DOCKER_IMAGE}
db_drop: ${DOCKER_IMAGE}
pullPolicy: Always
EOF
cat<<EOF>dcorch.yaml
images:
tags:
dcorch: ${DOCKER_IMAGE}
ks_user: ${DOCKER_IMAGE}
ks_service: ${DOCKER_IMAGE}
ks_endpoints: ${DOCKER_IMAGE}
dcorch_db_sync: ${DOCKER_IMAGE}
db_init: ${DOCKER_IMAGE}
db_drop: ${DOCKER_IMAGE}
pullPolicy: Always
EOF
#
# Distributed Cloud Helm Deployment (manual)
#
DOCKER_REGISTRY=admin-2.cumulus.wrs.com:30093
DOCKER_USER=mpeters
DOCKER_IMAGE=${DOCKER_REGISTRY}/${DOCKER_USER}/stx-distributed-cloud:dev-debian-
stable-latest
cat<<EOF>dcmanager.yaml
images:
tags:
dcmanager: ${DOCKER_IMAGE}
ks_user: ${DOCKER_IMAGE}
ks_service: ${DOCKER_IMAGE}
ks_endpoints: ${DOCKER_IMAGE}
dcmanager_db_sync: ${DOCKER_IMAGE}
db_init: ${DOCKER_IMAGE}
db_drop: ${DOCKER_IMAGE}
pullPolicy: Always
pod:
image_pull_secrets:
default:
- name: default-registry-key
tolerations:
dcmanager:
enabled: true
endpoints:
oslo_db:
auth:
admin:
username: admin-dcmanager
password: ${DCMANAGER_DB_PASSWORD}
dcmanager:
username: admin-dcmanager
password: ${DCMANAGER_DB_PASSWORD}
oslo_messaging:
auth:
admin:
username: guest
password: ${RABBITMQ_PASSWORD}
dcmanager:
username: guest
password: ${RABBITMQ_PASSWORD}
identity:
auth:
admin:
username: admin
password: ${ADMIN_KS_PASSWORD}
dcmanager:
username: dcmanager
password: ${DCMANAGER_KS_PASSWORD}
EOF
#
# Distributed Cloud Docker Deployment (manual)
#
sudo chmod a+r /etc/dcmanager/dcmanager.conf
sudo chmod a+r /etc/dcorch/dcorch.conf
sudo chmod a+r /etc/dcdbsync/dcdbsync.conf
# build output
docker image save $USER/stx-distributed-cloud:dev-debian-stable-build -o
/localdisk/loadbuild/$USER/stx-distributed-cloud.tar
# build input
sudo docker image load -i stx-distributed-cloud.tar
DEVIMAGE=admin-2.cumulus.wrs.com:30093/mpeters/stx-distributed-cloud:dev-debian-
stable-latest
# DEVIMAGE=registry.local:9001/mpeters/stx-distributed-cloud:dev-debian-stable-
latest # local registry
# DEVIMAGE=mpeters/stx-distributed-cloud:dev-debian-stable-build # local import
/var/lib/openstack/bin/dcmanager-manager
--config-file=/etc/dcmanager/dcmanager.conf
/var/lib/openstack/bin/dcmanager-orchestrator
--config-file=/etc/dcmanager/dcmanager.conf
/var/lib/openstack/bin/dcmanager-audit --config-file=/etc/dcmanager/dcmanager.conf
/var/lib/openstack/bin/dcmanager-audit-worker
--config-file=/etc/dcmanager/dcmanager.conf
/var/lib/openstack/bin/dcmanager-api --config-file=/etc/dcmanager/dcmanager.conf
/var/lib/openstack/bin/dcmanager-state --config-file=/etc/dcmanager/dcmanager.conf
/var/lib/openstack/bin/dcdbsync-api --config-file=/etc/dcdbsync/dcdbsync.conf
/var/lib/openstack/bin/dcorch-engine --config-file=/etc/dcorch/dcorch.conf
/var/lib/openstack/bin/dcorch-api-proxy --config-file=/etc/dcorch/dcorch.conf --
type identity
/var/lib/openstack/bin/dcorch-api-proxy --config-file=/etc/dcorch/dcorch.conf --
type platform
/var/lib/openstack/bin/dcorch-api-proxy --config-file=/etc/dcorch/dcorch.conf --
type patching
# dcmanager.conf
[DEFAULT]
debug=False
use_syslog=True
syslog_log_facility=local4
default_log_levels=keystoneauth=ERROR,eventlet.wsgi.server=WARN
transport_url=rabbit://guest:3iW3ox*[email protected]:5672
verbose=False
workers=1
orch_workers=1
state_workers=4
audit_workers=1
audit_worker_workers=4
playbook_timeout=3600
use_usm=False
bind_host=controller.internal
auth_strategy=keystone
[database]
connection=postgresql+psycopg2://admin-
dcmanager:[email protected]/dcmanager
connection_recycle_time=3600
max_pool_size=105
max_overflow=100
[keystone_authtoken]
auth_uri=http://controller.internal:5000
http_connect_timeout=15
http_request_max_retries=3
region_name=RegionOne
auth_type=password
auth_url=http://controller.internal:5000
project_name=services
username=dcmanager
password=d4R!TvZkl6+7!P*D
user_domain_name=Default
project_domain_name=Default
[cache]
auth_uri=http://controller.internal:5000/v3
admin_tenant=admin
admin_username=admin
admin_password=St8rlingX*
[endpoint_cache]
auth_uri=http://controller.internal:5000/v3
auth_plugin=password
username=dcmanager
password=d4R!TvZkl6+7!P*D
project_name=services
user_domain_name=Default
project_domain_name=Default
http_connect_timeout=15
#
# Known Issues
#
DOCKER_REGISTRY=admin-2.cumulus.wrs.com:30093
DOCKER_USER=mpeters
DOCKER_IMAGE=${DOCKER_REGISTRY}/${DOCKER_USER}/stx-distributed-cloud:dev-debian-
stable-latest
2) helm-toolkit DB LCM is based mysql and would need to be adapted for postgresql
#
# Development Commands
#
rsync -vcr ${REPO_ROOT}/cgcs-root/stx/app-distributed-cloud/
/home/mpeters/design/platform/app-distributed-cloud
scp ${MY_WORKSPACE}/std/stx-distributed-cloud-helm/stx-distributed-cloud-helm_1.0-
1.stx.0_amd64.deb sysadmin@${LABNAME}:
system application-list
system helm-override-list distributed-cloud
system helm-override-show distributed-cloud dcmanager distributed-cloud
# application apply
system helm-override-update distributed-cloud dcmanager distributed-cloud --values
dcmanager.yaml
system helm-override-update distributed-cloud dcorch distributed-cloud --values
dcorch.yaml