From ad716ddeaf51eb32c336f75d43632982e27fc9b1 Mon Sep 17 00:00:00 2001 From: AnandkumarPatel Date: Thu, 12 Nov 2015 14:19:17 -0800 Subject: [PATCH 1/5] add line in file for services, normalize other roles --- ansible/group_vars/all.yml | 59 ++++++++++++++++--- ansible/group_vars/alpha-api.yml | 26 ++++---- ansible/group_vars/alpha-charon.yml | 9 +-- ansible/group_vars/alpha-detention.yml | 14 +++-- ansible/group_vars/alpha-docker-listener.yml | 7 +-- ansible/group_vars/alpha-eru.yml | 17 +++--- ansible/group_vars/alpha-hipache.yml | 6 +- ansible/group_vars/alpha-khronos.yml | 8 +-- ansible/group_vars/alpha-mavis.yml | 18 +++--- ansible/group_vars/alpha-metis.yml | 15 +++-- ansible/group_vars/alpha-navi.yml | 18 +++--- ansible/group_vars/alpha-optimus.yml | 12 ++-- ansible/group_vars/alpha-palantiri.yml | 8 +-- ansible/group_vars/alpha-redis.yml | 5 +- ansible/group_vars/alpha-sauron.yml | 6 +- ansible/group_vars/alpha-shiva.yml | 15 +++-- ansible/group_vars/alpha-web.yml | 8 ++- ansible/group_vars/alpha-workers.yml | 21 +++---- ansible/roles/git_node_service/tasks/main.yml | 11 ++++ ansible/stage-hosts | 7 ++- 20 files changed, 161 insertions(+), 129 deletions(-) diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 0e7cd690..19c3b4b1 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -3,7 +3,7 @@ registry_env: "prod" # for docker stop old container -stop_time: 60 +stop_time: 5 # For docker built containers do_not_push: true @@ -27,8 +27,6 @@ loggly_token: f673760d-e0b3-4a93-a15e-2862ea074f91 loggly_password: TebejAcutHeH_Ch0tR9ru4anaT6CRu*3 loggly_username: ops -weave_path: "/usr/local/bin/weave" - ## ## shared application configs ## @@ -37,28 +35,71 @@ weave_path: "/usr/local/bin/weave" api_github_hook_secret: 3V3RYTHINGisAW3S0ME! api_neo4j_port: 7474 api_neo4j_protocol: http:// +api_url: api.{{ domain }} +api_port: 80 + +# astral +pg_database: astral + +# charon +charon_port: 53 # datadog -datadog_port: 8125 datadog_api_key: 6488896fe0c811965ef233b96809d70d +datadog_host: "{{ ansible_default_ipv4.address }}" +datadog_port: 8125 + +# detention +detention_host: "{{ hostvars[groups['detention'][0]]['ansible_default_ipv4']['address'] }}" +detention_port: 9123 +detention_url: "detention.{{ domain }}" # docker -docker_port: 4242 +docker_ca_path: /etc/ssl/docker/ca.pem docker_cert_path: /etc/ssl/docker/cert.pem docker_key_path: /etc/ssl/docker/key.pem -docker_ca_path: /etc/ssl/docker/ca.pem +docker_port: 4242 # eru -eru_api_host: api.{{ domain }} +eru_port: 57831 +eru_url: "admin.{{ domain }}" + +# mavis +mavis_url: "mavis.{{ domain }}" +mavis_port: 3000 + +# metis +metis_port: 3000 + +# mongo +mongo_hosts: "{% for host in groups['mongodb'] %}{{ hostvars[host]['ansible_default_ipv4']['address'] }}:27000{% if not loop.last %},{% endif %}{% endfor %}" + +# navi +navi_host: "{{ hostvars[groups['navi'][0]]['ansible_default_ipv4']['address'] }}" +navi_port: 3567 + +# neo4j +neo4j_host: "{{ hostvars[groups['neo4j'][0]]['ansible_default_ipv4']['address'] }}" + +# optimus +optimus_port: 80 +optimus_url: optimus.{{ domain }} # rabbit +rabbit_host: "{{ hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address'] }}" rabbit_port: 54321 -# astral -pg_database: astral +# redis +redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" +redis_port: 6379 + +# sauron +weave_path: "/usr/local/bin/weave" # shiva pg_user: shiva +shiva_port: 3000 # swarm swarm_master_port: 2375 + diff --git a/ansible/group_vars/alpha-api.yml b/ansible/group_vars/alpha-api.yml index a3c10a1b..1a9bb79f 100644 --- a/ansible/group_vars/alpha-api.yml +++ b/ansible/group_vars/alpha-api.yml @@ -6,39 +6,32 @@ rollbar_token: a90d9c262c7c48cfabbd32fd0a1bc61c container_image: registry.runnable.com/runnable/{{ name }} container_tag: "{{ git_branch }}" repo: "git@github.com:CodeNow/{{ name }}.git" -hosted_ports: ["80"] +hosted_ports: ["{{ api_port }}"] node_version: "0.10.38" npm_version: "2.8.3" # for redis -redis_key: "frontend:api.{{ domain }}" +redis_key: "frontend:{{ api_url }}" is_redis_update_required: 'yes' -datadog_host: "{{ ansible_default_ipv4.address }}" - -mongo_hosts: "{% for host in groups['mongodb'] %}{{ hostvars[host]['ansible_default_ipv4']['address'] }}:27000{% if not loop.last %},{% endif %}{% endfor %}" -neo4j_host: "{{ hostvars[groups['neo4j'][0]]['ansible_default_ipv4']['address'] }}" -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" # for container settings container_envs: > - -h api -e AWS_ACCESS_KEY_ID={{ api_aws_access_key_id }} -e AWS_SECRET_ACCESS_KEY={{ api_aws_secret_access_key }} -e DATADOG_HOST={{ datadog_host }} -e DATADOG_PORT={{ datadog_port }} -e DOMAIN={{ domain }} - -e GITHUB_CALLBACK_URL=https://api.{{ domain }}/auth/github/callback + -e GITHUB_CALLBACK_URL=https://{{ api_url }}/auth/github/callback -e GITHUB_CLIENT_ID={{ api_github_client_id }} -e GITHUB_CLIENT_SECRET={{ api_github_client_secret }} -e GITHUB_DEPLOY_KEYS_BUCKET={{ api_github_deploy_keys_bucket }} - -e GITHUB_HOOK_URL=https://api.{{ domain }}/actions/github + -e GITHUB_HOOK_URL=https://{{ api_url }}/actions/github -e HELLO_RUNNABLE_GITHUB_TOKEN={{ api_hello_runnable_github_token }} - -e MAVIS_HOST=http://mavis.{{ domain }}:80 + -e MAVIS_HOST=http://{{ mavis_url }}:80 -e MIXPANEL_APP_ID={{ api_mixpanel_app_id }} -e MONGO=mongodb://{{ api_mongo_auth }}@{{ mongo_hosts }}/{{ api_mongo_database }} -e MONGO_REPLSET_NAME={{ api_mongo_replset_name }} - -e NAVI_HOST=http://navi.{{ domain }} - -e NAVI_HOST=http://{{ hostvars[groups['navi'][0]]['ansible_default_ipv4']['address'] }}:3567 + -e NAVI_HOST=http://{{ navi_host }}:{{ navi_port }} -e NEO4J={{ api_neo4j_protocol }}{{ api_neo4j_auth }}@{{ neo4j_host }}:{{ api_neo4j_port }} -e NEW_RELIC_APP_NAME={{ api_new_relic_app_name }} -e NEW_RELIC_LICENSE_KEY={{ new_relic_license_key }} @@ -46,19 +39,20 @@ container_envs: > -e NEW_RELIC_NO_CONFIG_FILE=true -e NODE_ENV={{ node_env }} -e NUM_WORKERS=1 - -e OPTIMUS_HOST=http://optimus.{{ domain }} - -e RABBITMQ_HOSTNAME={{ rabbit_host | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }} + -e OPTIMUS_HOST=http://{{ optimus_url }} + -e RABBITMQ_HOSTNAME={{ rabbit_host }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} -e REDIS_IPADDRESS={{ redis_host }} - -e REDIS_PORT=6379 + -e REDIS_PORT={{ redis_port }} -e ROLLBAR_KEY={{ api_rollbar_key }} -e S3_CONTEXT_RESOURCE_BUCKET={{ api_s3_context_bucket }} -e USER_CONTENT_DOMAIN={{ user_content_domain }} -e DOCKER_IMAGE_BUILDER_WEAVE_PATH={{ weave_path }} container_run_opts: > + -h {{ name }} -d -P -v /opt/ssl/docker/{{ name }}:/etc/ssl/docker:ro diff --git a/ansible/group_vars/alpha-charon.yml b/ansible/group_vars/alpha-charon.yml index 0a320d89..55333f03 100644 --- a/ansible/group_vars/alpha-charon.yml +++ b/ansible/group_vars/alpha-charon.yml @@ -1,13 +1,10 @@ name: "charon" -app_name: "charon" +app_name: "{{ name }}" app_repo: "git@github.com:CodeNow/{{ name }}.git" -hosted_ports: ["53"] - -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_port: 6379 +hosted_ports: ["{{ charon_port }}"] enviroment_vars: - API_HOST: "api.{{ domain }}" + API_HOST: "{{ api_url }}" API_TOKEN: "51c61b779f3de616a9639cfc44a22c79fbd8e328" DATADOG_HOST: "{{ datadog_host }}" DATADOG_PORT: "{{ datadog_port }}" diff --git a/ansible/group_vars/alpha-detention.yml b/ansible/group_vars/alpha-detention.yml index 7adba58a..8b7c4af1 100644 --- a/ansible/group_vars/alpha-detention.yml +++ b/ansible/group_vars/alpha-detention.yml @@ -3,13 +3,12 @@ name: "detention" container_image: "registry.runnable.com/runnable/{{ name }}" container_tag: "{{ git_branch }}" repo: "git@github.com:CodeNow/{{ name }}.git" -hosted_ports: ["9123"] +hosted_ports: ["{{ detention_port }}"] node_version: "0.12.0" npm_version: "2.1.18" # for redis -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_key: "frontend:{{ name }}.{{ domain }}" +redis_key: "frontend:{{ detention_url }}" is_redis_update_required: 'yes' dockerfile_post_install_commands: [ @@ -17,9 +16,12 @@ dockerfile_post_install_commands: [ ] container_envs: > - -h {{ name }} -e NODE_ENV={{ node_env }} - -e ABSOLUTE_URL=detention.{{ domain }} + -e ABSOLUTE_URL={{ detention_url }} -e PORT={{ hosted_ports[0] }} -container_run_opts: "-d -p {{ hosted_ports[0] }}:{{ hosted_ports[0] }} {{container_envs}}" +container_run_opts: > + -h {{ name }} + -d + -p {{ hosted_ports[0] }}:{{ hosted_ports[0] }} + {{ container_envs }} diff --git a/ansible/group_vars/alpha-docker-listener.yml b/ansible/group_vars/alpha-docker-listener.yml index aa2360d8..3a418691 100644 --- a/ansible/group_vars/alpha-docker-listener.yml +++ b/ansible/group_vars/alpha-docker-listener.yml @@ -4,14 +4,9 @@ name: docker-listener app_name: "docker-listener" app_repo: "git@github.com:CodeNow/docker-listener.git" -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_port: 6379 - enviroment_vars: - DOCKER_CERT_PATH: "/opt/ssl/docker/{{ name }}" - HOST_TAGS: "{{ host_tags | default('default') }}" LOGGLY_TOKEN: "{{ loggly_token }}" - RABBITMQ_HOSTNAME: "{% if rabbit_host is defined %}{{ rabbit_host }}{% else %}{{ hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address'] }}{% endif %}" + RABBITMQ_HOSTNAME: "{{ rabbit_host }}" RABBITMQ_PASSWORD: "{{ rabbit_password }}" RABBITMQ_PORT: "{{ rabbit_port }}" RABBITMQ_USERNAME: "{{ rabbit_username }}" diff --git a/ansible/group_vars/alpha-eru.yml b/ansible/group_vars/alpha-eru.yml index 5e34dad9..5069c136 100644 --- a/ansible/group_vars/alpha-eru.yml +++ b/ansible/group_vars/alpha-eru.yml @@ -3,23 +3,24 @@ name: eru container_image: registry.runnable.com/runnable/{{ name }} container_tag: "{{ git_branch }}" repo: git@github.com:CodeNow/{{ name }}.git -hosted_ports: [57831] +hosted_ports: [{{ eru_port }}] node_version: "0.12.0" npm_version: "2.1.18" -stop_time: 5 # for redis -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_key: frontend:admin.{{ domain }} +redis_key: frontend:{{ eru_url }} is_redis_update_required: yes container_envs: > - -h {{ name }} - -e ADMIN_DOMAIN=admin.{{ domain }} + -e ADMIN_DOMAIN={{ eru_url }} -e ADMIN_GITHUB_ID={{ eru_github_id }} -e ADMIN_GITHUB_SECRET={{ eru_github_secret }} - -e API_HOST={{ eru_api_host }} + -e API_HOST={{ api_url }} -e RUNNABLE_HOST={{ domain }} -e PORT={{ hosted_ports[0] }} -container_run_opts: -d -p {{ hosted_ports[0] }}:{{ hosted_ports[0] }} {{ container_envs }} +container_run_opts: > + -h {{ name }} + -d + -p {{ hosted_ports[0] }}:{{ hosted_ports[0] }} + {{ container_envs }} diff --git a/ansible/group_vars/alpha-hipache.yml b/ansible/group_vars/alpha-hipache.yml index 7b5989af..9b293020 100644 --- a/ansible/group_vars/alpha-hipache.yml +++ b/ansible/group_vars/alpha-hipache.yml @@ -1,10 +1,10 @@ # container_kill_start settings name: hipache -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_port: 6379 container_image: registry.runnable.com/runnable/hipache container_tag: latest +hosted_ports: [ 80, 443 ] + container_run_opts: > -d -p 80:80 @@ -12,8 +12,8 @@ container_run_opts: > -v /opt/hipache-conf:/host:rw -v /etc/ssl/certs/{{ domain }}:/etc/ssl/certs/{{ domain }} -v /etc/ssl/private/{{ domain }}.key:/etc/ssl/private/{{ domain }}.key + container_run_args: /usr/local/bin/hipache --config /host/config.json -hosted_ports: [ 80, 443 ] # hipache settings retry_on_error: 0 diff --git a/ansible/group_vars/alpha-khronos.yml b/ansible/group_vars/alpha-khronos.yml index c764fa46..aa030252 100644 --- a/ansible/group_vars/alpha-khronos.yml +++ b/ansible/group_vars/alpha-khronos.yml @@ -6,13 +6,11 @@ repo: "git@github.com:CodeNow/{{ name }}.git" node_version: "0.12.7" npm_version: "2.1.18" -mongo_hosts: "{% for host in groups['mongodb'] %}{{ hostvars[host]['ansible_default_ipv4']['address'] }}:27000{% if not loop.last %},{% endif %}{% endfor %}" - # for cron job # this is the list of queues we want to enqueue a job into cron_queues: khronos:containers:image-builder:prune khronos:containers:orphan:prune khronos:context-versions:prune-expired khronos:images:prune khronos:weave:prune # a nice version of the rabbitmq host -cron_rabbit_host: "{{ rabbit_host | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }}:{{ rabbit_port }}" +cron_rabbit_host: "{{ rabbit_host }}:{{ rabbit_port }}" # a quick version of authentication for rabbit for cron cron_rabbit_auth: --username {{ rabbit_username }} --password {{ rabbit_password }} # this is the command we want to run in the container. @@ -20,19 +18,19 @@ cron_command: "bash -c \"for QUEUE in {{ cron_queues }}; do /khronos/bin/cli.js # for container settings container_envs: > - -h khronos -e DATADOG_HOST={{ datadog_host }} -e DATADOG_PORT={{ datadog_port }} -e KHRONOS_MONGO=mongodb://{{ khronos_mongo_auth }}@{{ mongo_hosts }}/{{ khronos_mongo_database }} -e LOG_LEVEL=info -e NODE_ENV={{ node_env }} - -e RABBITMQ_HOSTNAME={{ rabbit_host | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }} + -e RABBITMQ_HOSTNAME={{ rabbit_host }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} -e WORKER_MAX_RETRY_DELAY=3600000 container_run_opts: > + -h {{ name }} -d -v /opt/ssl/docker/{{ name }}:/etc/ssl/docker:ro {{container_envs}} diff --git a/ansible/group_vars/alpha-mavis.yml b/ansible/group_vars/alpha-mavis.yml index e351aeb8..6d6a3dae 100644 --- a/ansible/group_vars/alpha-mavis.yml +++ b/ansible/group_vars/alpha-mavis.yml @@ -3,28 +3,30 @@ name: "mavis" container_image: "registry.runnable.com/runnable/{{ name }}" container_tag: "{{ git_branch }}" repo: "git@github.com:CodeNow/{{ name }}.git" -hosted_ports: ["3000"] +hosted_ports: ["{{ mavis_port }}"] node_version: "0.10.38" npm_version: "2.1.18" # for redis -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_key: "frontend:mavis.{{ domain }}" +redis_key: "frontend:{{ mavis_url }}" is_redis_update_required: 'yes' # container settings container_envs: > -e PORT={{ hosted_ports[0] }} - -e REDIS_PORT=6379 + -e REDIS_PORT={{ redis_port }} -e REDIS_IPADDRESS={{ redis_host }} -e DATADOG_HOST={{ datadog_host }} -e DATADOG_PORT={{ datadog_port }} -e CONTAINER_WEIGHT=0 - -e NEWRELIC_KEY=338516e0826451c297d44dc60aeaf0a0ca4bfead - -e RABBITMQ_HOSTNAME={{ rabbit_host | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }} + -e NEWRELIC_KEY={{ new_relic_license_key }} + -e RABBITMQ_HOSTNAME={{ rabbit_host }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} - --hostname={{ name }} -container_run_opts: "-d -P {{container_envs}}" +container_run_opts: > + -h {{ name }} + -d + -P + {{container_envs}} diff --git a/ansible/group_vars/alpha-metis.yml b/ansible/group_vars/alpha-metis.yml index 9c73f799..456e218c 100644 --- a/ansible/group_vars/alpha-metis.yml +++ b/ansible/group_vars/alpha-metis.yml @@ -9,17 +9,13 @@ npm_version: "2.8.3" npm_start_command: "run metis-start" # Not actually needed, just allows container-kill-start to work -hosted_ports: ["3000"] - -# Needed for the UserData script in shiva -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_port: 6379 +hosted_ports: ["{{ metis_port }}"] # container settings container_envs: > -e DATADOG_HOST={{ datadog_host }} -e DATADOG_PORT={{ datadog_port }} - -e RABBITMQ_HOSTNAME={{ rabbit_host | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }} + -e RABBITMQ_HOSTNAME={{ rabbit_host }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} @@ -34,6 +30,9 @@ container_envs: > -e ROLLBAR_KEY={{ shiva_rollbar_key }} -e DOCKER_PORT={{ docker_port }} -e SWARM_TOKEN={{ swarm_token }} - --hostname={{ name }} -container_run_opts: "-d -P {{container_envs}}" +container_run_opts: > + -h {{ name }} + -d + -P + {{ container_envs }} diff --git a/ansible/group_vars/alpha-navi.yml b/ansible/group_vars/alpha-navi.yml index 3011d91a..18443de1 100644 --- a/ansible/group_vars/alpha-navi.yml +++ b/ansible/group_vars/alpha-navi.yml @@ -3,24 +3,24 @@ name: "navi" container_image: "registry.runnable.com/runnable/{{ name }}" container_tag: "{{ git_branch }}" repo: "git@github.com:CodeNow/{{ name }}.git" -hosted_ports: ["3567"] +hosted_ports: ["{{ navi_port }}"] node_version: "4.1.0" npm_version: "2.8.3" -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_port: 6379 - container_envs: > - -h navi - -e API_HOST=http://api.{{ domain }} + -e API_HOST=http://{{ api_url }} -e DATADOG_HOST={{ datadog_host }} -e DATADOG_PORT={{ datadog_port }} - -e ERROR_URL=http://{{ hostvars[groups['detention'][0]]['ansible_default_ipv4']['address'] }}:9123 + -e ERROR_URL=http://{{ detention_host }}:{{ detention_port }} -e HELLO_RUNNABLE_GITHUB_TOKEN=5d8f7029d3d6941b0fc62a7eb8c605d8e0bc7c29 -e HTTP_PORT={{ hosted_ports[0] }} -e NODE_ENV={{ node_env }} - -e REDIS_IPADDRESS={{redis_host}} + -e REDIS_IPADDRESS={{ redis_host }} -e LOG_LEVEL_STDOUT=trace -e CLUSTER_WORKERS=20 -container_run_opts: "-d -p {{hosted_ports[0]}}:{{hosted_ports[0]}} {{container_envs}}" +container_run_opts: > + -h {{ name }} + -d + -p {{ hosted_ports[0] }}:{{ hosted_ports[0] }} + {{ container_envs }} diff --git a/ansible/group_vars/alpha-optimus.yml b/ansible/group_vars/alpha-optimus.yml index 81972cd3..63f5d1f8 100644 --- a/ansible/group_vars/alpha-optimus.yml +++ b/ansible/group_vars/alpha-optimus.yml @@ -3,17 +3,15 @@ name: "optimus" container_image: "registry.runnable.com/runnable/{{ name }}" container_tag: "{{ git_branch }}" repo: "git@github.com:CodeNow/{{ name }}.git" -hosted_ports: ["80"] +hosted_ports: ["{{ optimus_port }}"] node_version: "0.10.38" npm_version: "2.8.3" # for redis -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_key: "frontend:{{ name }}.{{ domain }}" +redis_key: "frontend:{{ optimus_url }}" is_redis_update_required: 'yes' container_envs: > - -h {{ name }} -e NODE_ENV={{ node_env }} -e DATADOG_HOST={{ datadog_host }} -e DATADOG_PORT={{ datadog_port }} @@ -22,4 +20,8 @@ container_envs: > -e AWS_SECRET_ACCESS_KEY={{ optimus_aws_secret_id }} -e S3_DEPLOY_KEY_BUCKET={{ optimus_github_deploy_keys_bucket }} -container_run_opts: "-d -P {{container_envs}}" +container_run_opts: > + -h {{ name }} + -d + -P + {{container_envs}} diff --git a/ansible/group_vars/alpha-palantiri.yml b/ansible/group_vars/alpha-palantiri.yml index 76705d3c..54d3dfd1 100644 --- a/ansible/group_vars/alpha-palantiri.yml +++ b/ansible/group_vars/alpha-palantiri.yml @@ -6,24 +6,22 @@ repo: "git@github.com:CodeNow/{{ name }}.git" node_version: "0.10.38" npm_version: "2.1.18" -stop_time: "0" - # container settings container_envs: > -e NODE_ENV={{ node_env }} -e DATADOG_HOST={{ datadog_host }} -e DATADOG_PORT={{ datadog_port }} - -e MAVIS_HOST=http://mavis.{{ domain }}:80 - -e RABBITMQ_HOSTNAME={{ rabbit_host | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }} + -e MAVIS_HOST=http://{{ mavis_url }}:80 + -e RABBITMQ_HOSTNAME={{ rabbit_host }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} -e ROLLBAR_KEY={{ palantiri_rollbar_key }} -e RSS_LIMIT=2000000 -e LOG_LEVEL_STDOUT=trace - --hostname={{ name }} container_run_opts: > + -h {{ name }} -d -v /opt/ssl/docker/{{ name }}:/etc/ssl/docker:ro {{ container_envs }} diff --git a/ansible/group_vars/alpha-redis.yml b/ansible/group_vars/alpha-redis.yml index 070ecb04..807f32a1 100644 --- a/ansible/group_vars/alpha-redis.yml +++ b/ansible/group_vars/alpha-redis.yml @@ -1,11 +1,10 @@ # database vars name: redis db_path: "/opt/redis/db" -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" # container_kill_start settings container_image: redis container_tag: "latest" -container_run_opts: "-d --name redis -v {{ db_path }}:/data -p 6379:6379" +container_run_opts: "-d --name redis -v {{ db_path }}:/data -p {{ redis_port }}:{{ redis_port }}" -hosted_ports: [ "6379" ] +hosted_ports: [ "{{ redis_port }}" ] diff --git a/ansible/group_vars/alpha-sauron.yml b/ansible/group_vars/alpha-sauron.yml index efdbe6d5..f045d79b 100644 --- a/ansible/group_vars/alpha-sauron.yml +++ b/ansible/group_vars/alpha-sauron.yml @@ -4,13 +4,9 @@ name: sauron app_name: "{{ name }}" app_repo: "git@github.com:CodeNow/{{ name }}.git" -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_port: 6379 - enviroment_vars: LOGGLY_TOKEN: "{{ loggly_token }}" - ORG_ID: "{{ org_id.stdout }}" - RABBITMQ_HOSTNAME: "{% if rabbit_host is defined %}{{ rabbit_host }}{% else %}{{ hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address'] }}{% endif %}" + RABBITMQ_HOSTNAME: "{{ rabbit_host }}" RABBITMQ_PASSWORD: "{{ rabbit_password }}" RABBITMQ_PORT: "{{ rabbit_port }}" RABBITMQ_USERNAME: "{{ rabbit_username }}" diff --git a/ansible/group_vars/alpha-shiva.yml b/ansible/group_vars/alpha-shiva.yml index 37978dad..309263d0 100644 --- a/ansible/group_vars/alpha-shiva.yml +++ b/ansible/group_vars/alpha-shiva.yml @@ -9,17 +9,13 @@ npm_version: "2.8.3" npm_start_command: "run shiva-start" # Not actually needed, just allows container-kill-start to work -hosted_ports: ["3000"] - -# Needed for the UserData script in shiva -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" -redis_port: 6379 +hosted_ports: ["{{ shiva_port }}"] # container settings container_envs: > -e DATADOG_HOST={{ datadog_host }} -e DATADOG_PORT={{ datadog_port }} - -e RABBITMQ_HOSTNAME={{ rabbit_host | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }} + -e RABBITMQ_HOSTNAME={{ rabbit_host }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} @@ -33,6 +29,9 @@ container_envs: > -e ROLLBAR_KEY={{ shiva_rollbar_key }} -e DOCKER_PORT={{ docker_port }} -e SWARM_TOKEN={{ swarm_token }} - --hostname={{ name }} -container_run_opts: "-d -P {{container_envs}}" +container_run_opts: > + -h {{ name }} + -d + -P + {{container_envs}} diff --git a/ansible/group_vars/alpha-web.yml b/ansible/group_vars/alpha-web.yml index a8d75fda..39e92e95 100644 --- a/ansible/group_vars/alpha-web.yml +++ b/ansible/group_vars/alpha-web.yml @@ -7,7 +7,6 @@ hosted_ports: ["443", "3000"] node_version: "0.10.38" npm_version: "2.1.18" rollbar_token: "162a053bebd34e9eb6e2860543c7ae79" -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" dockerfile_enviroment: [ "API_HOST //api.{{ domain }}", @@ -30,4 +29,9 @@ container_envs: > -e PORT={{ hosted_ports[1] }} -e HTTPS=true -e HTTPS_PORT={{ hosted_ports[0] }} -container_run_opts: "-d -P {{container_envs}}" + +container_run_opts: > + -h {{ name }} + -d + -P + {{ container_envs }}" diff --git a/ansible/group_vars/alpha-workers.yml b/ansible/group_vars/alpha-workers.yml index f3cc6eac..edde37ee 100644 --- a/ansible/group_vars/alpha-workers.yml +++ b/ansible/group_vars/alpha-workers.yml @@ -10,52 +10,45 @@ repo: "git@github.com:CodeNow/api.git" node_version: "0.10.38" npm_version: "2.8.3" -datadog_host: "{{ ansible_default_ipv4.address }}" - -mongo_hosts: "{% for host in groups['mongodb'] %}{{ hostvars[host]['ansible_default_ipv4']['address'] }}:27000{% if not loop.last %},{% endif %}{% endfor %}" -neo4j_host: "{{ hostvars[groups['neo4j'][0]]['ansible_default_ipv4']['address'] }}" -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" - # for container settings container_envs: > - -h {{ name }} -e AWS_ACCESS_KEY_ID={{ api_aws_access_key_id }} -e AWS_SECRET_ACCESS_KEY={{ api_aws_secret_access_key }} -e DATADOG_HOST={{ datadog_host }} -e DATADOG_PORT={{ datadog_port }} -e DOMAIN={{ domain }} - -e GITHUB_CALLBACK_URL=https://api.{{ domain }}/auth/github/callback + -e GITHUB_CALLBACK_URL=https://{{ api_url }}/auth/github/callback -e GITHUB_CLIENT_ID={{ api_github_client_id }} -e GITHUB_CLIENT_SECRET={{ api_github_client_secret }} -e GITHUB_DEPLOY_KEYS_BUCKET={{ api_github_deploy_keys_bucket }} -e GITHUB_HOOK_URL=https://api.{{ domain }}/actions/github -e HELLO_RUNNABLE_GITHUB_TOKEN={{ api_hello_runnable_github_token }} -e IS_QUEUE_WORKER=true - -e MAVIS_HOST=http://mavis.{{ domain }}:80 + -e MAVIS_HOST=http://{{ mavis_url }}:80 -e MIXPANEL_APP_ID={{ api_mixpanel_app_id }} -e MONGO=mongodb://{{ api_mongo_auth }}@{{ mongo_hosts }}/{{ api_mongo_database }} -e MONGO_REPLSET_NAME={{ api_mongo_replset_name }} - -e NAVI_HOST=http://navi.{{ domain }} - -e NAVI_HOST=http://{{ hostvars[groups['navi'][0]]['ansible_default_ipv4']['address'] }}:3567 + -e NAVI_HOST=http://{{ navi_host }}:{{ navi_port }} -e NEO4J={{ api_neo4j_protocol }}{{ api_neo4j_auth }}@{{ neo4j_host }}:{{ api_neo4j_port }} -e NEW_RELIC_APP_NAME={{ api_new_relic_app_name }} -e NEW_RELIC_LICENSE_KEY={{ new_relic_license_key }} -e NEW_RELIC_LOG_LEVEL=fatal -e NEW_RELIC_NO_CONFIG_FILE=true -e NODE_ENV={{ node_env }} - -e OPTIMUS_HOST=http://optimus.{{ domain }} - -e RABBITMQ_HOSTNAME={{ rabbit_host | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }} + -e OPTIMUS_HOST=http://{{ optimus_url }} + -e RABBITMQ_HOSTNAME={{ rabbit_host }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} -e REDIS_IPADDRESS={{ redis_host }} - -e REDIS_PORT=6379 + -e REDIS_PORT={{ redis_port }} -e ROLLBAR_KEY={{ api_rollbar_key }} -e S3_CONTEXT_RESOURCE_BUCKET={{ api_s3_context_bucket }} -e USER_CONTENT_DOMAIN={{ user_content_domain }} -e DOCKER_IMAGE_BUILDER_WEAVE_PATH={{ weave_path }} container_run_opts: > + -h {{ name }} -d -v /opt/ssl/docker/{{ name }}:/etc/ssl/docker:ro {{ container_envs }} diff --git a/ansible/roles/git_node_service/tasks/main.yml b/ansible/roles/git_node_service/tasks/main.yml index 1fe8fa2a..02ca0ff0 100644 --- a/ansible/roles/git_node_service/tasks/main.yml +++ b/ansible/roles/git_node_service/tasks/main.yml @@ -30,6 +30,17 @@ state=latest production=yes +- name: add env to configs + tags: 'update_configs' + sudo: yes + with_dict: "{{ enviroment_vars }}" + lineinfile: + dest=/etc/init/{{ app_name }}.conf + regexp="env {{ item.key }}" + insertafter="env NPM_BIN" + line="env {{ item.key }}={{ item.value }}" + state=present + - name: restart service {{ app_name }} sudo: yes service: diff --git a/ansible/stage-hosts b/ansible/stage-hosts index 243c98b9..0016aff6 100644 --- a/ansible/stage-hosts +++ b/ansible/stage-hosts @@ -2,9 +2,7 @@ alpha-stage-userland-hipache domain=runnable2.net httpsCheckForBackend80=true prependIncomingPort=true subDomainDepth=3 [docks] -alpha-stage-dock1 -alpha-stage-dock2 host_tags=2335750,build -alpha-stage-runnable host_tags=2335750,run +10.0.1.120 [charon] alpha-stage-hipache @@ -24,3 +22,6 @@ registry_host=10.0.1.254 [targets] localhost ansible_connection=local bastion_name=alpha-bastion + +[redis] +beta-redis \ No newline at end of file From 72d3f09bb5ce8dd536268d6260bdc999f1301de9 Mon Sep 17 00:00:00 2001 From: AnandkumarPatel Date: Thu, 12 Nov 2015 14:20:36 -0800 Subject: [PATCH 2/5] hardcode docks --- ansible/stage-hosts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ansible/stage-hosts b/ansible/stage-hosts index 0016aff6..8c6709f4 100644 --- a/ansible/stage-hosts +++ b/ansible/stage-hosts @@ -3,6 +3,7 @@ alpha-stage-userland-hipache domain=runnable2.net httpsCheckForBackend80=true pr [docks] 10.0.1.120 +10.0.1.109 [charon] alpha-stage-hipache @@ -22,6 +23,3 @@ registry_host=10.0.1.254 [targets] localhost ansible_connection=local bastion_name=alpha-bastion - -[redis] -beta-redis \ No newline at end of file From 3690d773cdf0a0021a721b987a9dc3a48a5a06c9 Mon Sep 17 00:00:00 2001 From: AnandkumarPatel Date: Thu, 12 Nov 2015 14:31:45 -0800 Subject: [PATCH 3/5] check to see if env is defined for services --- ansible/group_vars/alpha-filibuster.yml | 2 ++ ansible/group_vars/alpha-krain.yml | 2 ++ ansible/roles/git_node_service/tasks/main.yml | 1 + 3 files changed, 5 insertions(+) diff --git a/ansible/group_vars/alpha-filibuster.yml b/ansible/group_vars/alpha-filibuster.yml index 8af133b5..6cf01417 100644 --- a/ansible/group_vars/alpha-filibuster.yml +++ b/ansible/group_vars/alpha-filibuster.yml @@ -6,3 +6,5 @@ name: filibuster app_name: "filibuster" app_repo: "git@github.com:Runnable/Filibuster.git" node_env: "{{ filibuster_env }}" + +enviroment_vars: {} \ No newline at end of file diff --git a/ansible/group_vars/alpha-krain.yml b/ansible/group_vars/alpha-krain.yml index 8017c285..d7510bbe 100644 --- a/ansible/group_vars/alpha-krain.yml +++ b/ansible/group_vars/alpha-krain.yml @@ -7,3 +7,5 @@ krain_env: default app_name: "krain" app_repo: "git@github.com:CodeNow/krain.git" node_env: "{{ krain_env }}" + +enviroment_vars: {} \ No newline at end of file diff --git a/ansible/roles/git_node_service/tasks/main.yml b/ansible/roles/git_node_service/tasks/main.yml index 02ca0ff0..32e7d8e5 100644 --- a/ansible/roles/git_node_service/tasks/main.yml +++ b/ansible/roles/git_node_service/tasks/main.yml @@ -33,6 +33,7 @@ - name: add env to configs tags: 'update_configs' sudo: yes + when: enviroment_vars is defined with_dict: "{{ enviroment_vars }}" lineinfile: dest=/etc/init/{{ app_name }}.conf From 6dde7434fc72301e08f003837c2a098dc5ddf12d Mon Sep 17 00:00:00 2001 From: AnandkumarPatel Date: Fri, 13 Nov 2015 11:25:55 -0800 Subject: [PATCH 4/5] rename url to hostname and some host to host_addresses --- ansible/beta-hosts/variables | 2 +- ansible/gamma-hosts/variables | 2 +- ansible/group_vars/all.yml | 20 +++++++++---------- ansible/group_vars/alpha-api.yml | 20 +++++++++---------- ansible/group_vars/alpha-charon.yml | 6 +++--- ansible/group_vars/alpha-detention.yml | 4 ++-- ansible/group_vars/alpha-docker-listener.yml | 4 ++-- ansible/group_vars/alpha-eru.yml | 6 +++--- ansible/group_vars/alpha-khronos.yml | 8 ++++---- ansible/group_vars/alpha-mavis.yml | 8 ++++---- ansible/group_vars/alpha-metis.yml | 8 ++++---- ansible/group_vars/alpha-navi.yml | 8 ++++---- ansible/group_vars/alpha-optimus.yml | 4 ++-- ansible/group_vars/alpha-palantiri.yml | 6 +++--- ansible/group_vars/alpha-sauron.yml | 4 ++-- ansible/group_vars/alpha-shiva.yml | 6 +++--- ansible/group_vars/alpha-workers.yml | 18 ++++++++--------- ansible/prod-hosts/variables | 2 +- ansible/redis-slave.yml | 2 +- .../container_kill_start/handlers/main.yml | 2 +- .../roles/container_start/handlers/main.yml | 2 +- ansible/roles/hipache/templates/config.json | 2 +- ansible/roles/redis_key/tasks/main.yml | 4 ++-- 23 files changed, 74 insertions(+), 74 deletions(-) diff --git a/ansible/beta-hosts/variables b/ansible/beta-hosts/variables index 46b0b6f7..cf60724c 100644 --- a/ansible/beta-hosts/variables +++ b/ansible/beta-hosts/variables @@ -47,7 +47,7 @@ shiva_rollbar_key=0526a90faec845d796e1ef5361a00526 [beta:vars] ansible_ssh_private_key_file=~/.ssh/oregon.pem -datadog_host=10.20.1.59 +datadog_host_address=10.20.1.59 datadog_tags=env:beta domain=runnable-beta.com new_relic_license_key=338516e0826451c297d44dc60aeaf0a0ca4bfead diff --git a/ansible/gamma-hosts/variables b/ansible/gamma-hosts/variables index 4342c46b..0c814388 100644 --- a/ansible/gamma-hosts/variables +++ b/ansible/gamma-hosts/variables @@ -47,7 +47,7 @@ shiva_rollbar_key=0526a90faec845d796e1ef5361a00526 [gamma:vars] ansible_ssh_private_key_file=~/.ssh/gamma.pem -datadog_host=10.4.6.251 +datadog_host_address=10.4.6.251 datadog_tags=env:gamma domain=runnable-gamma.com new_relic_license_key=338516e0826451c297d44dc60aeaf0a0ca4bfead diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 19c3b4b1..78706596 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -35,7 +35,7 @@ loggly_username: ops api_github_hook_secret: 3V3RYTHINGisAW3S0ME! api_neo4j_port: 7474 api_neo4j_protocol: http:// -api_url: api.{{ domain }} +api_hostname: api.{{ domain }} api_port: 80 # astral @@ -46,13 +46,13 @@ charon_port: 53 # datadog datadog_api_key: 6488896fe0c811965ef233b96809d70d -datadog_host: "{{ ansible_default_ipv4.address }}" +datadog_host_address: "{{ ansible_default_ipv4.address }}" datadog_port: 8125 # detention -detention_host: "{{ hostvars[groups['detention'][0]]['ansible_default_ipv4']['address'] }}" +detention_host_address: "{{ hostvars[groups['detention'][0]]['ansible_default_ipv4']['address'] }}" detention_port: 9123 -detention_url: "detention.{{ domain }}" +detention_hostname: "detention.{{ domain }}" # docker docker_ca_path: /etc/ssl/docker/ca.pem @@ -62,10 +62,10 @@ docker_port: 4242 # eru eru_port: 57831 -eru_url: "admin.{{ domain }}" +eru_hostname: "admin.{{ domain }}" # mavis -mavis_url: "mavis.{{ domain }}" +mavis_hostname: "mavis.{{ domain }}" mavis_port: 3000 # metis @@ -75,18 +75,18 @@ metis_port: 3000 mongo_hosts: "{% for host in groups['mongodb'] %}{{ hostvars[host]['ansible_default_ipv4']['address'] }}:27000{% if not loop.last %},{% endif %}{% endfor %}" # navi -navi_host: "{{ hostvars[groups['navi'][0]]['ansible_default_ipv4']['address'] }}" +navi_host_address: "{{ hostvars[groups['navi'][0]]['ansible_default_ipv4']['address'] }}" navi_port: 3567 # neo4j -neo4j_host: "{{ hostvars[groups['neo4j'][0]]['ansible_default_ipv4']['address'] }}" +neo4j_host_address: "{{ hostvars[groups['neo4j'][0]]['ansible_default_ipv4']['address'] }}" # optimus optimus_port: 80 -optimus_url: optimus.{{ domain }} +optimus_hostname: optimus.{{ domain }} # rabbit -rabbit_host: "{{ hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address'] }}" +rabbit_host_address: "{{ hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address'] }}" rabbit_port: 54321 # redis diff --git a/ansible/group_vars/alpha-api.yml b/ansible/group_vars/alpha-api.yml index 1a9bb79f..cc50c9ef 100644 --- a/ansible/group_vars/alpha-api.yml +++ b/ansible/group_vars/alpha-api.yml @@ -11,40 +11,40 @@ node_version: "0.10.38" npm_version: "2.8.3" # for redis -redis_key: "frontend:{{ api_url }}" +redis_key: "frontend:{{ api_hostname }}" is_redis_update_required: 'yes' # for container settings container_envs: > -e AWS_ACCESS_KEY_ID={{ api_aws_access_key_id }} -e AWS_SECRET_ACCESS_KEY={{ api_aws_secret_access_key }} - -e DATADOG_HOST={{ datadog_host }} + -e DATADOG_HOST={{ datadog_host_address }} -e DATADOG_PORT={{ datadog_port }} -e DOMAIN={{ domain }} - -e GITHUB_CALLBACK_URL=https://{{ api_url }}/auth/github/callback + -e GITHUB_CALLBACK_URL=https://{{ api_hostname }}/auth/github/callback -e GITHUB_CLIENT_ID={{ api_github_client_id }} -e GITHUB_CLIENT_SECRET={{ api_github_client_secret }} -e GITHUB_DEPLOY_KEYS_BUCKET={{ api_github_deploy_keys_bucket }} - -e GITHUB_HOOK_URL=https://{{ api_url }}/actions/github + -e GITHUB_HOOK_URL=https://{{ api_hostname }}/actions/github -e HELLO_RUNNABLE_GITHUB_TOKEN={{ api_hello_runnable_github_token }} - -e MAVIS_HOST=http://{{ mavis_url }}:80 + -e MAVIS_HOST=http://{{ mavis_hostname }}:80 -e MIXPANEL_APP_ID={{ api_mixpanel_app_id }} -e MONGO=mongodb://{{ api_mongo_auth }}@{{ mongo_hosts }}/{{ api_mongo_database }} -e MONGO_REPLSET_NAME={{ api_mongo_replset_name }} - -e NAVI_HOST=http://{{ navi_host }}:{{ navi_port }} - -e NEO4J={{ api_neo4j_protocol }}{{ api_neo4j_auth }}@{{ neo4j_host }}:{{ api_neo4j_port }} + -e NAVI_HOST=http://{{ navi_host_addressname }}:{{ navi_port }} + -e NEO4J={{ api_neo4j_protocol }}{{ api_neo4j_auth }}@{{ neo4j_host_address }}:{{ api_neo4j_port }} -e NEW_RELIC_APP_NAME={{ api_new_relic_app_name }} -e NEW_RELIC_LICENSE_KEY={{ new_relic_license_key }} -e NEW_RELIC_LOG_LEVEL=fatal -e NEW_RELIC_NO_CONFIG_FILE=true -e NODE_ENV={{ node_env }} -e NUM_WORKERS=1 - -e OPTIMUS_HOST=http://{{ optimus_url }} - -e RABBITMQ_HOSTNAME={{ rabbit_host }} + -e OPTIMUS_HOST=http://{{ optimus_hostname }} + -e RABBITMQ_HOSTNAME={{ rabbit_host_address }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} - -e REDIS_IPADDRESS={{ redis_host }} + -e REDIS_IPADDRESS={{ redis_host_address }} -e REDIS_PORT={{ redis_port }} -e ROLLBAR_KEY={{ api_rollbar_key }} -e S3_CONTEXT_RESOURCE_BUCKET={{ api_s3_context_bucket }} diff --git a/ansible/group_vars/alpha-charon.yml b/ansible/group_vars/alpha-charon.yml index 55333f03..a67e1716 100644 --- a/ansible/group_vars/alpha-charon.yml +++ b/ansible/group_vars/alpha-charon.yml @@ -4,11 +4,11 @@ app_repo: "git@github.com:CodeNow/{{ name }}.git" hosted_ports: ["{{ charon_port }}"] enviroment_vars: - API_HOST: "{{ api_url }}" + API_HOST: "{{ api_hostname }}" API_TOKEN: "51c61b779f3de616a9639cfc44a22c79fbd8e328" - DATADOG_HOST: "{{ datadog_host }}" + DATADOG_HOST: "{{ datadog_host_address }}" DATADOG_PORT: "{{ datadog_port }}" DOMAIN_FILTER: "{{ user_content_domain }}" PORT: "{{ hosted_ports[0] }}" - REDIS_HOST: "{{ redis_host }}" + REDIS_HOST: "{{ redis_host_address }}" REDIS_PORT: "{{ redis_port }}" diff --git a/ansible/group_vars/alpha-detention.yml b/ansible/group_vars/alpha-detention.yml index 8b7c4af1..358e1ffe 100644 --- a/ansible/group_vars/alpha-detention.yml +++ b/ansible/group_vars/alpha-detention.yml @@ -8,7 +8,7 @@ node_version: "0.12.0" npm_version: "2.1.18" # for redis -redis_key: "frontend:{{ detention_url }}" +redis_key: "frontend:{{ detention_hostname }}" is_redis_update_required: 'yes' dockerfile_post_install_commands: [ @@ -17,7 +17,7 @@ dockerfile_post_install_commands: [ container_envs: > -e NODE_ENV={{ node_env }} - -e ABSOLUTE_URL={{ detention_url }} + -e ABSOLUTE_URL={{ detention_hostname }} -e PORT={{ hosted_ports[0] }} container_run_opts: > diff --git a/ansible/group_vars/alpha-docker-listener.yml b/ansible/group_vars/alpha-docker-listener.yml index 3a418691..f928839f 100644 --- a/ansible/group_vars/alpha-docker-listener.yml +++ b/ansible/group_vars/alpha-docker-listener.yml @@ -6,9 +6,9 @@ app_repo: "git@github.com:CodeNow/docker-listener.git" enviroment_vars: LOGGLY_TOKEN: "{{ loggly_token }}" - RABBITMQ_HOSTNAME: "{{ rabbit_host }}" + RABBITMQ_HOSTNAME: "{{ rabbit_host_address }}" RABBITMQ_PASSWORD: "{{ rabbit_password }}" RABBITMQ_PORT: "{{ rabbit_port }}" RABBITMQ_USERNAME: "{{ rabbit_username }}" - REDIS_IPADDRESS: "{{ redis_host }}" + REDIS_IPADDRESS: "{{ redis_host_address }}" REDIS_PORT: "{{ redis_port }}" diff --git a/ansible/group_vars/alpha-eru.yml b/ansible/group_vars/alpha-eru.yml index 5069c136..6f25b1ae 100644 --- a/ansible/group_vars/alpha-eru.yml +++ b/ansible/group_vars/alpha-eru.yml @@ -8,14 +8,14 @@ node_version: "0.12.0" npm_version: "2.1.18" # for redis -redis_key: frontend:{{ eru_url }} +redis_key: frontend:{{ eru_hostname }} is_redis_update_required: yes container_envs: > - -e ADMIN_DOMAIN={{ eru_url }} + -e ADMIN_DOMAIN={{ eru_hostname }} -e ADMIN_GITHUB_ID={{ eru_github_id }} -e ADMIN_GITHUB_SECRET={{ eru_github_secret }} - -e API_HOST={{ api_url }} + -e API_HOST={{ api_hostname }} -e RUNNABLE_HOST={{ domain }} -e PORT={{ hosted_ports[0] }} diff --git a/ansible/group_vars/alpha-khronos.yml b/ansible/group_vars/alpha-khronos.yml index aa030252..fbb74664 100644 --- a/ansible/group_vars/alpha-khronos.yml +++ b/ansible/group_vars/alpha-khronos.yml @@ -10,20 +10,20 @@ npm_version: "2.1.18" # this is the list of queues we want to enqueue a job into cron_queues: khronos:containers:image-builder:prune khronos:containers:orphan:prune khronos:context-versions:prune-expired khronos:images:prune khronos:weave:prune # a nice version of the rabbitmq host -cron_rabbit_host: "{{ rabbit_host }}:{{ rabbit_port }}" +cron_rabbit_host_address: "{{ rabbit_host_address }}:{{ rabbit_port }}" # a quick version of authentication for rabbit for cron cron_rabbit_auth: --username {{ rabbit_username }} --password {{ rabbit_password }} # this is the command we want to run in the container. -cron_command: "bash -c \"for QUEUE in {{ cron_queues }}; do /khronos/bin/cli.js --queue \\$QUEUE --job '{}' --host {{ cron_rabbit_host }} {{ cron_rabbit_auth }}; done\"" +cron_command: "bash -c \"for QUEUE in {{ cron_queues }}; do /khronos/bin/cli.js --queue \\$QUEUE --job '{}' --host {{ cron_rabbit_host_address }} {{ cron_rabbit_auth }}; done\"" # for container settings container_envs: > - -e DATADOG_HOST={{ datadog_host }} + -e DATADOG_HOST={{ datadog_host_address }} -e DATADOG_PORT={{ datadog_port }} -e KHRONOS_MONGO=mongodb://{{ khronos_mongo_auth }}@{{ mongo_hosts }}/{{ khronos_mongo_database }} -e LOG_LEVEL=info -e NODE_ENV={{ node_env }} - -e RABBITMQ_HOSTNAME={{ rabbit_host }} + -e RABBITMQ_HOSTNAME={{ rabbit_host_address }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} diff --git a/ansible/group_vars/alpha-mavis.yml b/ansible/group_vars/alpha-mavis.yml index 6d6a3dae..7624f571 100644 --- a/ansible/group_vars/alpha-mavis.yml +++ b/ansible/group_vars/alpha-mavis.yml @@ -8,19 +8,19 @@ node_version: "0.10.38" npm_version: "2.1.18" # for redis -redis_key: "frontend:{{ mavis_url }}" +redis_key: "frontend:{{ mavis_hostname }}" is_redis_update_required: 'yes' # container settings container_envs: > -e PORT={{ hosted_ports[0] }} -e REDIS_PORT={{ redis_port }} - -e REDIS_IPADDRESS={{ redis_host }} - -e DATADOG_HOST={{ datadog_host }} + -e REDIS_IPADDRESS={{ redis_host_address }} + -e DATADOG_HOST={{ datadog_host_address }} -e DATADOG_PORT={{ datadog_port }} -e CONTAINER_WEIGHT=0 -e NEWRELIC_KEY={{ new_relic_license_key }} - -e RABBITMQ_HOSTNAME={{ rabbit_host }} + -e RABBITMQ_HOSTNAME={{ rabbit_host_address }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} diff --git a/ansible/group_vars/alpha-metis.yml b/ansible/group_vars/alpha-metis.yml index 456e218c..0e9d4c7c 100644 --- a/ansible/group_vars/alpha-metis.yml +++ b/ansible/group_vars/alpha-metis.yml @@ -13,9 +13,9 @@ hosted_ports: ["{{ metis_port }}"] # container settings container_envs: > - -e DATADOG_HOST={{ datadog_host }} + -e DATADOG_HOST={{ datadog_host_address }} -e DATADOG_PORT={{ datadog_port }} - -e RABBITMQ_HOSTNAME={{ rabbit_host }} + -e RABBITMQ_HOSTNAME={{ rabbit_host_address }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} @@ -23,9 +23,9 @@ container_envs: > -e AWS_ACCESS_KEY_ID={{ aws_access_key_id }} -e AWS_SECRET_ACCESS_KEY={{ aws_secret_access_key }} -e NODE_ENV={{ node_env }} - -e REDIS_HOST={{ redis_host }} + -e REDIS_HOST={{ redis_host_address }} -e REDIS_PORT={{ redis_port }} - -e REDIS_IPADDRESS={{ redis_host }} + -e REDIS_IPADDRESS={{ redis_host_address }} -e REGISTRY_HOST={{ registry_host }} -e ROLLBAR_KEY={{ shiva_rollbar_key }} -e DOCKER_PORT={{ docker_port }} diff --git a/ansible/group_vars/alpha-navi.yml b/ansible/group_vars/alpha-navi.yml index 18443de1..422e9c7d 100644 --- a/ansible/group_vars/alpha-navi.yml +++ b/ansible/group_vars/alpha-navi.yml @@ -8,14 +8,14 @@ node_version: "4.1.0" npm_version: "2.8.3" container_envs: > - -e API_HOST=http://{{ api_url }} - -e DATADOG_HOST={{ datadog_host }} + -e API_HOST=http://{{ api_hostname }} + -e DATADOG_HOST={{ datadog_host_address }} -e DATADOG_PORT={{ datadog_port }} - -e ERROR_URL=http://{{ detention_host }}:{{ detention_port }} + -e ERROR_URL=http://{{ detention_host_address }}:{{ detention_port }} -e HELLO_RUNNABLE_GITHUB_TOKEN=5d8f7029d3d6941b0fc62a7eb8c605d8e0bc7c29 -e HTTP_PORT={{ hosted_ports[0] }} -e NODE_ENV={{ node_env }} - -e REDIS_IPADDRESS={{ redis_host }} + -e REDIS_IPADDRESS={{ redis_host_address }} -e LOG_LEVEL_STDOUT=trace -e CLUSTER_WORKERS=20 diff --git a/ansible/group_vars/alpha-optimus.yml b/ansible/group_vars/alpha-optimus.yml index 63f5d1f8..fb048230 100644 --- a/ansible/group_vars/alpha-optimus.yml +++ b/ansible/group_vars/alpha-optimus.yml @@ -8,12 +8,12 @@ node_version: "0.10.38" npm_version: "2.8.3" # for redis -redis_key: "frontend:{{ optimus_url }}" +redis_key: "frontend:{{ optimus_hostname }}" is_redis_update_required: 'yes' container_envs: > -e NODE_ENV={{ node_env }} - -e DATADOG_HOST={{ datadog_host }} + -e DATADOG_HOST={{ datadog_host_address }} -e DATADOG_PORT={{ datadog_port }} -e PORT={{ hosted_ports[0] }} -e AWS_ACCESS_KEY_ID={{ optimus_aws_access_id }} diff --git a/ansible/group_vars/alpha-palantiri.yml b/ansible/group_vars/alpha-palantiri.yml index 54d3dfd1..a5781886 100644 --- a/ansible/group_vars/alpha-palantiri.yml +++ b/ansible/group_vars/alpha-palantiri.yml @@ -9,10 +9,10 @@ npm_version: "2.1.18" # container settings container_envs: > -e NODE_ENV={{ node_env }} - -e DATADOG_HOST={{ datadog_host }} + -e DATADOG_HOST={{ datadog_host_address }} -e DATADOG_PORT={{ datadog_port }} - -e MAVIS_HOST=http://{{ mavis_url }}:80 - -e RABBITMQ_HOSTNAME={{ rabbit_host }} + -e MAVIS_HOST=http://{{ mavis_hostname }}:80 + -e RABBITMQ_HOSTNAME={{ rabbit_host_address }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} diff --git a/ansible/group_vars/alpha-sauron.yml b/ansible/group_vars/alpha-sauron.yml index f045d79b..1194d700 100644 --- a/ansible/group_vars/alpha-sauron.yml +++ b/ansible/group_vars/alpha-sauron.yml @@ -6,9 +6,9 @@ app_repo: "git@github.com:CodeNow/{{ name }}.git" enviroment_vars: LOGGLY_TOKEN: "{{ loggly_token }}" - RABBITMQ_HOSTNAME: "{{ rabbit_host }}" + RABBITMQ_HOSTNAME: "{{ rabbit_host_address }}" RABBITMQ_PASSWORD: "{{ rabbit_password }}" RABBITMQ_PORT: "{{ rabbit_port }}" RABBITMQ_USERNAME: "{{ rabbit_username }}" - REDIS_IPADDRESS: "{{ redis_host }}" + REDIS_IPADDRESS: "{{ redis_host_address }}" REDIS_PORT: "{{ redis_port }}" \ No newline at end of file diff --git a/ansible/group_vars/alpha-shiva.yml b/ansible/group_vars/alpha-shiva.yml index 309263d0..92b17f24 100644 --- a/ansible/group_vars/alpha-shiva.yml +++ b/ansible/group_vars/alpha-shiva.yml @@ -13,9 +13,9 @@ hosted_ports: ["{{ shiva_port }}"] # container settings container_envs: > - -e DATADOG_HOST={{ datadog_host }} + -e DATADOG_HOST={{ datadog_host_address }} -e DATADOG_PORT={{ datadog_port }} - -e RABBITMQ_HOSTNAME={{ rabbit_host }} + -e RABBITMQ_HOSTNAME={{ rabbit_host_address }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} @@ -24,7 +24,7 @@ container_envs: > -e AWS_SECRET_ACCESS_KEY={{ aws_secret_access_key }} -e NODE_ENV={{ node_env }} -e REDIS_PORT={{ redis_port }} - -e REDIS_IPADDRESS={{ redis_host }} + -e REDIS_IPADDRESS={{ redis_host_address }} -e REGISTRY_HOST={{ registry_host }} -e ROLLBAR_KEY={{ shiva_rollbar_key }} -e DOCKER_PORT={{ docker_port }} diff --git a/ansible/group_vars/alpha-workers.yml b/ansible/group_vars/alpha-workers.yml index edde37ee..222dbd13 100644 --- a/ansible/group_vars/alpha-workers.yml +++ b/ansible/group_vars/alpha-workers.yml @@ -14,33 +14,33 @@ npm_version: "2.8.3" container_envs: > -e AWS_ACCESS_KEY_ID={{ api_aws_access_key_id }} -e AWS_SECRET_ACCESS_KEY={{ api_aws_secret_access_key }} - -e DATADOG_HOST={{ datadog_host }} + -e DATADOG_HOST={{ datadog_host_address }} -e DATADOG_PORT={{ datadog_port }} -e DOMAIN={{ domain }} - -e GITHUB_CALLBACK_URL=https://{{ api_url }}/auth/github/callback + -e GITHUB_CALLBACK_URL=https://{{ api_hostname }}/auth/github/callback -e GITHUB_CLIENT_ID={{ api_github_client_id }} -e GITHUB_CLIENT_SECRET={{ api_github_client_secret }} -e GITHUB_DEPLOY_KEYS_BUCKET={{ api_github_deploy_keys_bucket }} - -e GITHUB_HOOK_URL=https://api.{{ domain }}/actions/github + -e GITHUB_HOOK_URL=https://{{ api_hostname }}/actions/github -e HELLO_RUNNABLE_GITHUB_TOKEN={{ api_hello_runnable_github_token }} -e IS_QUEUE_WORKER=true - -e MAVIS_HOST=http://{{ mavis_url }}:80 + -e MAVIS_HOST=http://{{ mavis_hostname }}:80 -e MIXPANEL_APP_ID={{ api_mixpanel_app_id }} -e MONGO=mongodb://{{ api_mongo_auth }}@{{ mongo_hosts }}/{{ api_mongo_database }} -e MONGO_REPLSET_NAME={{ api_mongo_replset_name }} - -e NAVI_HOST=http://{{ navi_host }}:{{ navi_port }} - -e NEO4J={{ api_neo4j_protocol }}{{ api_neo4j_auth }}@{{ neo4j_host }}:{{ api_neo4j_port }} + -e NAVI_HOST=http://{{ navi_host_addressname }}:{{ navi_port }} + -e NEO4J={{ api_neo4j_protocol }}{{ api_neo4j_auth }}@{{ neo4j_host_address }}:{{ api_neo4j_port }} -e NEW_RELIC_APP_NAME={{ api_new_relic_app_name }} -e NEW_RELIC_LICENSE_KEY={{ new_relic_license_key }} -e NEW_RELIC_LOG_LEVEL=fatal -e NEW_RELIC_NO_CONFIG_FILE=true -e NODE_ENV={{ node_env }} - -e OPTIMUS_HOST=http://{{ optimus_url }} - -e RABBITMQ_HOSTNAME={{ rabbit_host }} + -e OPTIMUS_HOST=http://{{ optimus_hostname }} + -e RABBITMQ_HOSTNAME={{ rabbit_host_address }} -e RABBITMQ_PASSWORD={{ rabbit_password }} -e RABBITMQ_PORT={{ rabbit_port }} -e RABBITMQ_USERNAME={{ rabbit_username }} - -e REDIS_IPADDRESS={{ redis_host }} + -e REDIS_IPADDRESS={{ redis_host_address }} -e REDIS_PORT={{ redis_port }} -e ROLLBAR_KEY={{ api_rollbar_key }} -e S3_CONTEXT_RESOURCE_BUCKET={{ api_s3_context_bucket }} diff --git a/ansible/prod-hosts/variables b/ansible/prod-hosts/variables index dfabdb9b..39a25c14 100644 --- a/ansible/prod-hosts/variables +++ b/ansible/prod-hosts/variables @@ -47,7 +47,7 @@ shiva_rollbar_key=0526a90faec845d796e1ef5361a00526 [alpha:vars] ansible_ssh_private_key_file=~/.ssh/Test-runnable.pem -datadog_host=10.0.1.239 +datadog_host_address=10.0.1.239 datadog_tags=env:alpha domain=runnable.io new_relic_license_key=338516e0826451c297d44dc60aeaf0a0ca4bfead diff --git a/ansible/redis-slave.yml b/ansible/redis-slave.yml index e72faf6d..a27d6fa3 100644 --- a/ansible/redis-slave.yml +++ b/ansible/redis-slave.yml @@ -7,5 +7,5 @@ - { role: notify, tags: "notify" } - { role: database, tags: "deploy" } - { role: container_kill_start, - container_run_args: "redis-server --slaveof {{ redis_host }} 6379", + container_run_args: "redis-server --slaveof {{ redis_host_address }} 6379", tags: "deploy" } diff --git a/ansible/roles/container_kill_start/handlers/main.yml b/ansible/roles/container_kill_start/handlers/main.yml index 5232f991..44e9148f 100644 --- a/ansible/roles/container_kill_start/handlers/main.yml +++ b/ansible/roles/container_kill_start/handlers/main.yml @@ -7,5 +7,5 @@ # this assumes only one container is running, ever - name: update redis key when: container_ports is defined - command: sudo docker run --rm redis redis-cli -h {{redis_host}} lset {{redis_key}} 1 {{hosted_protocol | default('http') }}://{{ansible_default_ipv4.address}}:{{container_ports.stdout}} + command: sudo docker run --rm redis redis-cli -h {{redis_host_address}} lset {{redis_key}} 1 {{hosted_protocol | default('http') }}://{{ansible_default_ipv4.address}}:{{container_ports.stdout}} when: is_redis_update_required is defined diff --git a/ansible/roles/container_start/handlers/main.yml b/ansible/roles/container_start/handlers/main.yml index 9388ce3c..95de9719 100644 --- a/ansible/roles/container_start/handlers/main.yml +++ b/ansible/roles/container_start/handlers/main.yml @@ -6,7 +6,7 @@ # this assumes only one container is running, ever - name: update redis key - command: sudo docker run --rm redis redis-cli -h {{redis_host}} lset {{redis_key}} 1 {{hosted_protocol | default('http') }}://{{ansible_default_ipv4.address}}:{{container_ports.stdout}} + command: sudo docker run --rm redis redis-cli -h {{redis_host_address}} lset {{redis_key}} 1 {{hosted_protocol | default('http') }}://{{ansible_default_ipv4.address}}:{{container_ports.stdout}} when: is_redis_update_required is defined and container_ports is defined - name: stop old containers diff --git a/ansible/roles/hipache/templates/config.json b/ansible/roles/hipache/templates/config.json index 5be9c208..4e74d305 100644 --- a/ansible/roles/hipache/templates/config.json +++ b/ansible/roles/hipache/templates/config.json @@ -26,5 +26,5 @@ "ciphers": "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:DHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!SRP:!CAMELLIA", "checkForBackend80": {{ httpsCheckForBackend80 | default("false") }} }, - "driver": ["redis://{{ redis_host }}:{{ redis_port }}"] + "driver": ["redis://{{ redis_host_address }}:{{ redis_port }}"] } diff --git a/ansible/roles/redis_key/tasks/main.yml b/ansible/roles/redis_key/tasks/main.yml index 3145197d..0c2628a4 100644 --- a/ansible/roles/redis_key/tasks/main.yml +++ b/ansible/roles/redis_key/tasks/main.yml @@ -1,9 +1,9 @@ --- - name: check keys - command: sudo docker run --rm redis redis-cli -h {{redis_host}} LLEN {{redis_key}} + command: sudo docker run --rm redis redis-cli -h {{redis_host_address}} LLEN {{redis_key}} register: key_length changed_when: key_length.stdout == "0" - name: create key if not exist - command: sudo docker run --rm redis redis-cli -h {{redis_host}} RPUSH {{redis_key}} {{name}} {{name}} + command: sudo docker run --rm redis redis-cli -h {{redis_host_address}} RPUSH {{redis_key}} {{name}} {{name}} when: key_length.changed From 9be2cacdcb6a8d0d9aa4aedf024cc91f1ed35fb7 Mon Sep 17 00:00:00 2001 From: AnandkumarPatel Date: Fri, 13 Nov 2015 11:27:08 -0800 Subject: [PATCH 5/5] fix redis host --- ansible/group_vars/all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 78706596..bb53bebe 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -90,7 +90,7 @@ rabbit_host_address: "{{ hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4'] rabbit_port: 54321 # redis -redis_host: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" +redis_host_address: "{{ hostvars[groups['redis'][0]]['ansible_default_ipv4']['address'] }}" redis_port: 6379 # sauron