diff options
author | Ikram Ikramullah <ikram@research.att.com> | 2018-02-14 17:43:36 -0500 |
---|---|---|
committer | Ikram Ikramullah <ikram@research.att.com> | 2018-02-14 17:52:49 -0500 |
commit | 601bec029087f09f3a8579de16aaa5ec6aa14b14 (patch) | |
tree | b5fe5bd7408c513bc7df0bc8b7a26ca202aa9b1d /conductor/docker | |
parent | e761b422db53e8d81c875a3f0e7806fe942463cc (diff) |
Dockerization Effort
Added files to run components of conductor
in docker. There is a build script and a run
script. Run script has instructions on how to
run the containers.
Issue-ID: OPTFRA-123
Change-Id: Id55a25b3c54e19728ca218e7d98e20af0630a383
Signed-off-by: Ikram Ikramullah <ikram@research.att.com>
Diffstat (limited to 'conductor/docker')
-rwxr-xr-x | conductor/docker/api/Dockerfile | 10 | ||||
-rwxr-xr-x | conductor/docker/build-dockers.sh | 11 | ||||
-rw-r--r-- | conductor/docker/conductor.conf | 340 | ||||
-rwxr-xr-x | conductor/docker/controller/Dockerfile | 11 | ||||
-rwxr-xr-x | conductor/docker/data/Dockerfile | 11 | ||||
-rwxr-xr-x | conductor/docker/reservation/Dockerfile | 11 | ||||
-rwxr-xr-x | conductor/docker/run-dockers.sh | 7 | ||||
-rwxr-xr-x | conductor/docker/solver/Dockerfile | 17 |
8 files changed, 418 insertions, 0 deletions
diff --git a/conductor/docker/api/Dockerfile b/conductor/docker/api/Dockerfile new file mode 100755 index 0000000..0471897 --- /dev/null +++ b/conductor/docker/api/Dockerfile @@ -0,0 +1,10 @@ +FROM python:2.7 +RUN apt-get update +RUN apt-get --assume-yes install python-setuptools +RUN git clone https://fi241c@codecloud.web.att.com/scm/st_cloudqos/conductor.git +WORKDIR ./conductor +RUN pip install . +COPY ./conductor.conf conductor.conf +COPY ./api_paste.ini api_paste.ini +RUN ls -ltr /usr/local/bin/conductor-api +CMD ["sh","-c", "python /usr/local/bin/conductor-api --port=8091 -- --config-file=conductor.conf"] diff --git a/conductor/docker/build-dockers.sh b/conductor/docker/build-dockers.sh new file mode 100755 index 0000000..3d860f8 --- /dev/null +++ b/conductor/docker/build-dockers.sh @@ -0,0 +1,11 @@ +#codecloud.web.att.com +#vi /etc/resolve.conf +#nameserver 135.207.142.20 +#nameserver 135.207.142.21 +#nameserver 135.207.255.13 + +docker build -t api api/ +docker build -t controller controller/ +docker build -t data data/ +docker build -t solver solver/ +docker build -t reservation reservation/ diff --git a/conductor/docker/conductor.conf b/conductor/docker/conductor.conf new file mode 100644 index 0000000..b668af4 --- /dev/null +++ b/conductor/docker/conductor.conf @@ -0,0 +1,340 @@ + +[DEFAULT] + +# +# From conductor +# + +# Configuration file for WSGI definition of API. (string value) +#api_paste_config = api_paste.ini + +# Music keyspace for content (string value) +keyspace = conductor_saisree + +# +# From oslo.log +# + +# If set to true, the logging level will be set to DEBUG instead of the default +# INFO level. (boolean value) +# Note: This option can be changed without restarting. +debug = true + +# DEPRECATED: If set to false, the logging level will be set to WARNING instead +# of the default INFO level. (boolean value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +#verbose = true + +# The name of a logging configuration file. This file is appended to any +# existing logging configuration files. For details about logging configuration +# files, see the Python logging module documentation. Note that when logging +# configuration files are used then all logging configuration is set in the +# configuration file and other logging configuration options are ignored (for +# example, logging_context_format_string). (string value) +# Note: This option can be changed without restarting. +# Deprecated group/name - [DEFAULT]/log_config +#log_config_append = /home/saisree/conductor/etc/conductor/log.conf + +# Defines the format string for %%(asctime)s in log records. Default: +# %(default)s . This option is ignored if log_config_append is set. (string +# value) +log_date_format = %d-%m-%Y %H:%M:%S + +# (Optional) Name of log file to send logging output to. If no default is set, +# logging will go to stderr as defined by use_stderr. This option is ignored if +# log_config_append is set. (string value) +# Deprecated group/name - [DEFAULT]/logfile +#log_file = application.log + + +# (Optional) The base directory used for relative log_file paths. This option +# is ignored if log_config_append is set. (string value) +# Deprecated group/name - [DEFAULT]/logdir +#log_dir = /home/saisree/Log/ + + + + +# Uses logging handler designed to watch file system. When log file is moved or +# removed this handler will open a new log file with specified path +# instantaneously. It makes sense only if log_file option is specified and +# Linux platform is used. This option is ignored if log_config_append is set. +# (boolean value) +#watch_log_file = false + +# Use syslog for logging. Existing syslog format is DEPRECATED and will be +# changed later to honor RFC5424. This option is ignored if log_config_append +# is set. (boolean value) +#use_syslog = false + +# Syslog facility to receive log lines. This option is ignored if +# log_config_append is set. (string value) +#syslog_log_facility = LOG_USER + +# Log output to standard error. This option is ignored if log_config_append is +# set. (boolean value) +#use_stderr = false + +# Format string to use for log messages with context. (string value) +#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s + +# Format string to use for log messages when context is undefined. (string +# value) +#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s + +# Additional data to append to log message when logging level for the message +# is DEBUG. (string value) +#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d + +# Prefix each line of exception output with this format. (string value) +#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s + +# Defines the format string for %(user_identity)s that is used in +# logging_context_format_string. (string value) +#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s + +# List of package logging levels in logger=LEVEL pairs. This option is ignored +# if log_config_append is set. (list value) +#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO + +# Enables or disables publication of error events. (boolean value) +#publish_errors = false + +# The format for an instance that is passed with the log message. (string +# value) +#instance_format = "[instance: %(uuid)s] " + +# The format for an instance UUID that is passed with the log message. (string +# value) +#instance_uuid_format = "[instance: %(uuid)s] " + +# Interval, number of seconds, of log rate limiting. (integer value) +#rate_limit_interval = 0 + +# Maximum number of logged messages per rate_limit_interval. (integer value) +#rate_limit_burst = 0 + +# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG +# or empty string. Logs with level greater or equal to rate_limit_except_level +# are not filtered. An empty string means that all levels are filtered. (string +# value) +#rate_limit_except_level = CRITICAL + +# Enables or disables fatal status of deprecations. (boolean value) +#fatal_deprecations = false + + +[aai] + +# +# From conductor +# + +# Interval with which to refresh the local cache, in minutes. (integer value) +cache_refresh_interval = 1 +complex_cache_refresh_interval = 60 + +# Data Store table prefix. (string value) +#table_prefix = aai + +# Base URL for A&AI, up to and including the version. (string value) +# server_url = https://aai-conexus-e2e.test.att.com:8443/aai/ +# server_url = https://aai-int1.test.att.com:8443/aai/ +# server_url = https://aai-ext1.test.att.com:8443/aai/ +server_url = https://aai-ext1.test.att.com:8443/aai/ + + +# The version of A&AI (string value) +server_url_version = v11 + +# SSL/TLS certificate file in pem format. This certificate must be registered +# with the A&AI endpoint. (string value) +#certificate_file = /home/saisree/certs/imacculate.client.research.att.com.cer +certificate_file = /home/saisree/larry_certs/lt_hp1174418.client.research.att.com.cer + +# Private Certificate Key file in pem format. (string value) +# certificate_key_file = /home/saisree/certs/imacculate.client.research.att.com.key +certificate_key_file = /home/saisree/larry_certs/lt_hp1174418.client.research.att.com.key + +# Certificate Authority Bundle file in pem format. Must contain the appropriate +# trust chain for theCertificate file. (string value) +# certificate_authority_bundle_file = ~/certs/ca-bundle.pem +# certificate_authority_bundle_file = /home/saisree/cert/ca-bundle.pem +certificate_authority_bundle_file = /home/saisree/larry_certs/ca_bundle.pem + +[api] + +# +# From conductor +# + +# Toggle Pecan Debug Middleware. (boolean value) +#pecan_debug = false + +# Default maximum number of items returned by API request. (integer value) +# Minimum value: 1 +#default_api_return_limit = 100 + + +[controller] + +# +# From conductor +# + +# Timeout for planning requests. Default value is 10. (integer value) +# Minimum value: 1 +#timeout = 10 + +# Maximum number of result sets to return. Default value is 1. (integer value) +# Minimum value: 1 +#limit = 1 + +# Number of workers for controller service. Default value is 1. (integer value) +# Minimum value: 1 +#workers = 1 + + +[inventory_provider] + +# +# From conductor +# + +# Extensions list to use (list value) +# extensions = aai + + +[messaging_server] + +# +# From conductor +# + +# Music keyspace for messages (string value) +keyspace = conductor_rpc_saisree + +# Wait interval while checking for a message response. Default value is 1 +# second. (integer value) +# Minimum value: 1 +#check_interval = 1 + +# Overall message response timeout. Default value is 10 seconds. (integer +# value) +# Minimum value: 1 +timeout = 3600 + +# Number of workers for messaging service. Default value is 1. (integer value) +# Minimum value: 1 +#workers = 1 + +# Time between checking for new messages. Default value is 1. (integer value) +# Minimum value: 1 +#polling_interval = 1 + +# Log debug messages. Default value is False. (boolean value) +#debug = false + + +[music_api] + +# +# From conductor +# + +# Base URL for Music REST API without a trailing slash. (string value) +server_url = http://135.197.226.84:8080/MUSIC/rest + +# DEPRECATED: List of hostnames (round-robin access) (list value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Use server_url instead +# hostnames = 135.197.226.85 +# 135.197.226.83, 135.197.226.85 + +# DEPRECATED: Port (integer value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Use server_url instead +#port = <None> + +# DEPRECATED: Path (string value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Use server_url instead +#path = <None> + +# Lock timeout (integer value) +#lock_timeout = 10 + +# Replication factor (integer value) +#replication_factor = 1 + +# debug = false + +[reservation] + +# +# From conductor +# + +# Number of workers for reservation service. Default value is 1. (integer +# value) +# Minimum value: 1 +#workers = 1 + +# Number of times reservation/release should be attempted. (integer value) +#reserve_retries = 3 + +# Set to True when reservation will run in active-active mode. When set to +# False, reservation will restart any orphaned reserving requests at startup. +# (boolean value) +#concurrent = false + +[sdnc] + +# +# From conductor +# + +# Interval with which to refresh the local cache, in minutes. (integer value) +#cache_refresh_interval = 1440 + +# Data Store table prefix. (string value) +#table_prefix = sdnc + +# Base URL for SDN-C. (string value) +# server_url = https://sdncodl.mtanj.02.aic.cip.att.com:8443/restconf/ +server_url = https://sdncodl-conexus-e2e.ecomp.cci.att.com:8543/restconf/ + +# Basic Authentication Username (string value) +username = admin + +# Basic Authentication Password (string value) +password = sdnc.15 +# password = admin + + +[service_controller] + +# +# From conductor +# + +# Extensions list to use (list value) +extensions = sdnc + +[solver] + +# +# From conductor +# + +# Number of workers for solver service. Default value is 1. (integer value) +# Minimum value: 1 +#workers = 1 + +# Set to True when solver will run in active-active mode. When set to False, +# solver will restart any orphaned solving requests at startup. (boolean value) +#concurrent = false diff --git a/conductor/docker/controller/Dockerfile b/conductor/docker/controller/Dockerfile new file mode 100755 index 0000000..dc2efee --- /dev/null +++ b/conductor/docker/controller/Dockerfile @@ -0,0 +1,11 @@ +FROM python:2.7 +RUN apt-get update +RUN apt-get --assume-yes install python-setuptools +RUN virtualenv ../venv +RUN git clone https://fi241c@codecloud.web.att.com/scm/st_cloudqos/conductor.git +WORKDIR ./conductor +RUN pip install . +RUN pwd + +RUN echo "Starting conductor-controller" +CMD ["python","/usr/local/bin/conductor-controller", "--config-file=/usr/local/bin/conductor.conf"] diff --git a/conductor/docker/data/Dockerfile b/conductor/docker/data/Dockerfile new file mode 100755 index 0000000..7cc988d --- /dev/null +++ b/conductor/docker/data/Dockerfile @@ -0,0 +1,11 @@ +FROM python:2.7 +RUN apt-get update +RUN apt-get --assume-yes install python-setuptools +RUN virtualenv ../venv +RUN git clone https://fi241c@codecloud.web.att.com/scm/st_cloudqos/conductor.git +WORKDIR ./conductor +RUN pip install . +RUN pwd + +RUN echo "Starting conductor-data" +CMD ["python","/usr/local/bin/conductor-data", "--config-file=/usr/local/bin/conductor.conf"] diff --git a/conductor/docker/reservation/Dockerfile b/conductor/docker/reservation/Dockerfile new file mode 100755 index 0000000..cc738f3 --- /dev/null +++ b/conductor/docker/reservation/Dockerfile @@ -0,0 +1,11 @@ +FROM python:2.7 +RUN apt-get update +RUN apt-get --assume-yes install python-setuptools +RUN virtualenv ../venv +RUN git clone https://fi241c@codecloud.web.att.com/scm/st_cloudqos/conductor.git +WORKDIR ./conductor +RUN pip install . +RUN pwd + +RUN echo "Starting conductor-reservation" +CMD ["python","/usr/local/bin/conductor-reservation", "--config-file=/usr/local/bin/conductor.conf"] diff --git a/conductor/docker/run-dockers.sh b/conductor/docker/run-dockers.sh new file mode 100755 index 0000000..555fe04 --- /dev/null +++ b/conductor/docker/run-dockers.sh @@ -0,0 +1,7 @@ +### example run - provide the conductor configuration file as input to the run script +#./run-dockers.sh <path-to>/conductor.conf +docker run -v $1:/usr/local/bin/conductor.conf api & +docker run -v $1:/usr/local/bin/conductor.conf controller & +docker run -v $1:/usr/local/bin/conductor.conf data & +docker run -v $1:/usr/local/bin/conductor.conf solver & +docker run -v $1:/usr/local/bin/conductor.conf reservation & diff --git a/conductor/docker/solver/Dockerfile b/conductor/docker/solver/Dockerfile new file mode 100755 index 0000000..c482a7d --- /dev/null +++ b/conductor/docker/solver/Dockerfile @@ -0,0 +1,17 @@ +FROM python:2.7 +RUN apt-get update +RUN apt-get --assume-yes install python-setuptools +RUN virtualenv ../venv +RUN git clone https://fi241c@codecloud.web.att.com/scm/st_cloudqos/conductor.git +WORKDIR ./conductor +RUN pip install . +RUN pwd + + +RUN echo "Starting conductor-solver" +CMD ["python","/usr/local/bin/conductor-solver", "--config-file=/usr/local/bin/conductor.conf"] + + + + + |