# vim: tabstop=4 shiftwidth=4 softtabstop=4 # Copyright (C) 2012 Yahoo! Inc. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import os import sys # What this program is called PROG_NICE_NAME = "DEVSTACKpy" # Ip version constants for network ip detection IPV4 = 'IPv4' IPV6 = 'IPv6' # How long to wait for a service to startup WAIT_ALIVE_SECS = 5 # Component name mappings NOVA = "nova" NOVA_CLIENT = 'nova-client' GLANCE = "glance" QUANTUM = "quantum-server" QUANTUM_CLIENT = 'quantum-client' SWIFT = "swift" HORIZON = "horizon" KEYSTONE = "keystone" KEYSTONE_CLIENT = 'keystone-client' DB = "db" RABBIT = "rabbit" NOVNC = 'no-vnc' XVNC = 'xvnc' MELANGE = 'melange' MELANGE_CLIENT = 'melange-client' COMPONENT_NAMES = [ NOVA, NOVA_CLIENT, GLANCE, QUANTUM, QUANTUM_CLIENT, SWIFT, HORIZON, KEYSTONE, KEYSTONE_CLIENT, DB, RABBIT, NOVNC, MELANGE, MELANGE_CLIENT, ] # Different run types supported RUN_TYPE_FORK = "FORK" RUN_TYPE_UPSTART = "UPSTART" RUN_TYPE_SCREEN = "SCREEN" RUN_TYPE_DEF = RUN_TYPE_FORK RUN_TYPES_KNOWN = [RUN_TYPE_UPSTART, RUN_TYPE_FORK, RUN_TYPE_SCREEN, RUN_TYPE_DEF] # Used to find the type in trace files RUN_TYPE_TYPE = "TYPE" # Default subdirs of a components root directory COMPONENT_TRACE_DIR = "traces" COMPONENT_APP_DIR = "app" COMPONENT_CONFIG_DIR = "config" # RC files generated / used RC_FN_TEMPL = "os-%s.rc" LOCALRC_FN = RC_FN_TEMPL % ('local') OSRC_FN = RC_FN_TEMPL % ('core') # Program # actions INSTALL = "install" UNINSTALL = "uninstall" START = "start" STOP = "stop" ACTIONS = [INSTALL, UNINSTALL, START, STOP] # Where the configs and templates should be at. STACK_BIN_DIR = os.path.abspath(os.path.dirname(sys.argv[0])) STACK_CONFIG_DIR = os.path.join(STACK_BIN_DIR, "conf") STACK_DISTRO_DIR = os.path.join(STACK_CONFIG_DIR, "distros") STACK_TEMPLATE_DIR = os.path.join(STACK_CONFIG_DIR, "templates") STACK_CONFIG_LOCATION = os.path.join(STACK_CONFIG_DIR, "stack.ini")