summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Wiest <twiest@gmail.com>2014-10-30 16:52:44 -0400
committerThomas Wiest <twiest@gmail.com>2014-10-30 16:52:44 -0400
commitc292781afdcb57ee097f0840342b19a626d2a2c4 (patch)
tree1c1e004039a2f42730b385633462197a5c463e30
parentd57f8d6968f0b580d3201df197eda98ed5f8fe19 (diff)
parent317d20d2cd7847ac295e63015c540a882f77964e (diff)
downloadopenshift-c292781afdcb57ee097f0840342b19a626d2a2c4.tar.gz
openshift-c292781afdcb57ee097f0840342b19a626d2a2c4.tar.bz2
openshift-c292781afdcb57ee097f0840342b19a626d2a2c4.tar.xz
openshift-c292781afdcb57ee097f0840342b19a626d2a2c4.zip
Merge pull request #22 from twiest/pr
cleaned up unused GCE host types, changed back to using gce.ini, and added a better ssh detection on launch.
-rw-r--r--.gitignore2
-rw-r--r--README_GCE.md14
-rw-r--r--playbooks/gce/openshift-master/launch.yml9
-rw-r--r--playbooks/gce/openshift-minion/launch.yml9
-rw-r--r--playbooks/gce/os3-master/config.yml41
-rw-r--r--playbooks/gce/os3-master/launch.yml38
-rw-r--r--playbooks/gce/os3-master/terminate.yml38
-rw-r--r--playbooks/gce/os3-master/vars.yml0
-rw-r--r--playbooks/gce/os3-minion/config.yml43
-rw-r--r--playbooks/gce/os3-minion/launch.yml38
-rw-r--r--playbooks/gce/os3-minion/terminate.yml40
-rw-r--r--playbooks/gce/os3-minion/vars.yml0
-rw-r--r--playbooks/gce/os3-registry/config.yml17
-rw-r--r--playbooks/gce/os3-registry/launch.yml38
-rw-r--r--playbooks/gce/os3-registry/vars.yml0
-rw-r--r--playbooks/gce/os3-router/config.yml17
-rw-r--r--playbooks/gce/os3-router/launch.yml38
-rw-r--r--playbooks/gce/os3-router/vars.yml0
18 files changed, 27 insertions, 355 deletions
diff --git a/.gitignore b/.gitignore
index d94cd3718..03112b30e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,4 +13,4 @@
.sass-cache
.rvmrc
.DS_Store
-secrets.py
+gce.ini
diff --git a/README_GCE.md b/README_GCE.md
index bac3f58b5..88f9f3a7c 100644
--- a/README_GCE.md
+++ b/README_GCE.md
@@ -34,18 +34,20 @@ Convert a GCE service key into a pem (for ansible)
1. Once this is done, put the original service key file (projectname-ef83bd90f261.p12) somewhere safe, or delete it (your call, I don not know what else we will use it for, and we can always regen it if needed).
-Create a secrets.py file for GCE
+Create a gce.ini file for GCE
--------------------------------
-1. vi ~/.gce/secrets.py
+1. vi ~/.gce/gce.ini
1. make the contents look like this:
```
- GCE_PARAMS = ('long...@developer.gserviceaccount.com', '/full/path/to/projectname_priv_key.pem')
- GCE_KEYWORD_PARAMS = {'project': 'my_project_id'}
+[gce]
+gce_service_account_email_address = long...@developer.gserviceaccount.com
+gce_service_account_pem_file_path = /full/path/to/projectname_priv_key.pem
+gce_project_id = my_project_id
```
-1. Setup a sym link so that gce.py will pick it up (must be in same dir as gce.py)
+1. Setup a sym link so that gce.py will pick it up (link must be in same dir as gce.py)
```
cd openshift-online-ansible/inventory/gce
- ln -s ~/.gce/secrets.py secrets.py
+ ln -s ~/.gce/gce.ini gce.ini
```
diff --git a/playbooks/gce/openshift-master/launch.yml b/playbooks/gce/openshift-master/launch.yml
index 0a3ac3fdd..f2800b061 100644
--- a/playbooks/gce/openshift-master/launch.yml
+++ b/playbooks/gce/openshift-master/launch.yml
@@ -34,5 +34,14 @@
- debug: var=gce
+ - name: Wait for root user setup
+ command: "ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no -o ConnectTimeout=10 -o UserKnownHostsFile=/dev/null root@{{ item.public_ip }} echo root user is setup"
+ register: result
+ until: result.rc == 0
+ retries: 20
+ delay: 10
+ with_items: gce.instance_data
+
+
# Apply the configs, separate so that just the configs can be run by themselves
- include: config.yml
diff --git a/playbooks/gce/openshift-minion/launch.yml b/playbooks/gce/openshift-minion/launch.yml
index 0a3ac3fdd..f2800b061 100644
--- a/playbooks/gce/openshift-minion/launch.yml
+++ b/playbooks/gce/openshift-minion/launch.yml
@@ -34,5 +34,14 @@
- debug: var=gce
+ - name: Wait for root user setup
+ command: "ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no -o ConnectTimeout=10 -o UserKnownHostsFile=/dev/null root@{{ item.public_ip }} echo root user is setup"
+ register: result
+ until: result.rc == 0
+ retries: 20
+ delay: 10
+ with_items: gce.instance_data
+
+
# Apply the configs, separate so that just the configs can be run by themselves
- include: config.yml
diff --git a/playbooks/gce/os3-master/config.yml b/playbooks/gce/os3-master/config.yml
deleted file mode 100644
index 0d44ada5a..000000000
--- a/playbooks/gce/os3-master/config.yml
+++ /dev/null
@@ -1,41 +0,0 @@
-- name: "populate oo_hosts_to_config host group if needed"
- hosts: localhost
- gather_facts: no
- tasks:
- - name: Evaluate oo_host_group_exp if it's set
- add_host: "name={{ item }} groups=oo_hosts_to_config"
- with_items: "{{ oo_host_group_exp | default('') }}"
- when: oo_host_group_exp is defined
-
-- name: "Gather facts for minions in {{ oo_env }}"
- hosts: "tag_env-host-type-{{ oo_env }}-os3-minion"
- connection: ssh
- user: root
-
-- name: "Set OO sepcific facts on localhost (for later use)"
- hosts: localhost
- gather_facts: no
- tasks:
- - name: Setting oo_minion_ips fact on localhost
- set_fact:
- oo_minion_ips: "{{ hostvars
- | oo_select_keys(groups['tag_env-host-type-' + oo_env + '-os3-minion'])
- | oo_collect(attribute='ansible_eth0.ipv4.address') }}"
- when: groups['tag_env-host-type-' + oo_env + '-os3-minion'] is defined
-
-- name: "Configure instances"
- hosts: oo_hosts_to_config
- connection: ssh
- user: root
- vars_files:
- - vars.yml
- roles:
- - ../../../roles/base_os
- - ../../../roles/repos
- - ../../../roles/etcd
- - {
- role: ../../../roles/kubernetes_apiserver,
- oo_minion_ips: "{{ hostvars['localhost'].oo_minion_ips | default(['']) }}"
- }
- - ../../../roles/kubernetes_controller_manager
- - ../../../roles/pods
diff --git a/playbooks/gce/os3-master/launch.yml b/playbooks/gce/os3-master/launch.yml
deleted file mode 100644
index 2fe105377..000000000
--- a/playbooks/gce/os3-master/launch.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-- name: Launch instance(s)
- hosts: localhost
- connection: local
- gather_facts: no
-
- vars:
- inst_names: "{{ oo_new_inst_names }}"
- machine_type: n1-standard-1
- image: libra-rhel7
-
- vars_files:
- - vars.yml
-
- tasks:
- - name: Launch instances
- gce:
- instance_names: "{{ inst_names }}"
- machine_type: "{{ machine_type }}"
- image: "{{ image }}"
- service_account_email: "{{ gce_service_account_email }}"
- pem_file: "{{ gce_pem_file }}"
- project_id: "{{ gce_project_id }}"
- tags: "{{ oo_new_inst_tags }}"
- register: gce
-
- - name: Add new instances public IPs to oo_hosts_to_config
- add_host: "hostname={{ item.name }} ansible_ssh_host={{ item.public_ip }} groupname=oo_hosts_to_config"
- with_items: gce.instance_data
-
- - name: Wait for ssh
- wait_for: "port=22 host={{ item.public_ip }}"
- with_items: gce.instance_data
-
- - debug: var=gce
-
-# Apply the configs, seprate so that just the configs can be run by themselves
-- include: config.yml
diff --git a/playbooks/gce/os3-master/terminate.yml b/playbooks/gce/os3-master/terminate.yml
deleted file mode 100644
index 7895cf016..000000000
--- a/playbooks/gce/os3-master/terminate.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-- name: "populate oo_hosts_to_terminate host group if needed"
- hosts: localhost
- gather_facts: no
- tasks:
- - debug: var=oo_host_group_exp
-
- - name: Evaluate oo_host_group_exp if it's set
- add_host: "name={{ item }} groups=oo_hosts_to_terminate"
- with_items: "{{ oo_host_group_exp | default('') }}"
- when: oo_host_group_exp is defined
-
- - debug: msg="{{ groups['oo_hosts_to_terminate'] }}"
-
-- name: Terminate instances
- hosts: localhost
- connection: local
- tasks:
- - name: Terminate master instances
- gce:
- service_account_email: "{{ gce_service_account_email }}"
- pem_file: "{{ gce_pem_file }}"
- project_id: "{{ gce_project_id }}"
- state: 'absent'
- instance_names: "{{ groups['oo_hosts_to_terminate'] }}"
- disks: "{{ groups['oo_hosts_to_terminate'] }}"
- register: gce
-
- - debug: var=gce
-
- - name: Remove disks of instances
- gce_pd:
- service_account_email: "{{ gce_service_account_email }}"
- pem_file: "{{ gce_pem_file }}"
- project_id: "{{ gce_project_id }}"
- name: "{{ item }}"
- zone: "{{ gce.zone }}"
- state: absent
- with_items: gce.instance_names
diff --git a/playbooks/gce/os3-master/vars.yml b/playbooks/gce/os3-master/vars.yml
deleted file mode 100644
index e69de29bb..000000000
--- a/playbooks/gce/os3-master/vars.yml
+++ /dev/null
diff --git a/playbooks/gce/os3-minion/config.yml b/playbooks/gce/os3-minion/config.yml
deleted file mode 100644
index 6ac051d4b..000000000
--- a/playbooks/gce/os3-minion/config.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-- name: "populate oo_hosts_to_config host group if needed"
- hosts: localhost
- gather_facts: no
- tasks:
- - name: Evaluate oo_host_group_exp
- add_host: "name={{ item }} groups=oo_hosts_to_config"
- with_items: "{{ oo_host_group_exp | default('') }}"
- when: oo_host_group_exp is defined
-
-- name: "Gather facts for masters in {{ oo_env }}"
- hosts: "tag_env-host-type-{{ oo_env }}-os3-master"
- connection: ssh
- user: root
-
-- name: "Set OO sepcific facts on localhost (for later use)"
- hosts: localhost
- gather_facts: no
- tasks:
- - name: Setting oo_master_ips fact on localhost
- set_fact:
- oo_master_ips: "{{ hostvars
- | oo_select_keys(groups['tag_env-host-type-' + oo_env + '-os3-master'])
- | oo_collect(attribute='ansible_eth0.ipv4.address') }}"
- when: groups['tag_env-host-type-' + oo_env + '-os3-master'] is defined
-
-- name: "Configure instances"
- hosts: oo_hosts_to_config
- connection: ssh
- user: root
- vars_files:
- - vars.yml
- roles:
- - ../../../roles/base_os
- - ../../../roles/repos
- - ../../../roles/docker
- - {
- role: ../../../roles/kubernetes_kubelet,
- oo_master_ips: "{{ hostvars['localhost'].oo_master_ips | default(['']) }}"
- }
- - {
- role: ../../../roles/kubernetes_proxy,
- oo_master_ips: "{{ hostvars['localhost'].oo_master_ips | default(['']) }}"
- }
diff --git a/playbooks/gce/os3-minion/launch.yml b/playbooks/gce/os3-minion/launch.yml
deleted file mode 100644
index 2fe105377..000000000
--- a/playbooks/gce/os3-minion/launch.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-- name: Launch instance(s)
- hosts: localhost
- connection: local
- gather_facts: no
-
- vars:
- inst_names: "{{ oo_new_inst_names }}"
- machine_type: n1-standard-1
- image: libra-rhel7
-
- vars_files:
- - vars.yml
-
- tasks:
- - name: Launch instances
- gce:
- instance_names: "{{ inst_names }}"
- machine_type: "{{ machine_type }}"
- image: "{{ image }}"
- service_account_email: "{{ gce_service_account_email }}"
- pem_file: "{{ gce_pem_file }}"
- project_id: "{{ gce_project_id }}"
- tags: "{{ oo_new_inst_tags }}"
- register: gce
-
- - name: Add new instances public IPs to oo_hosts_to_config
- add_host: "hostname={{ item.name }} ansible_ssh_host={{ item.public_ip }} groupname=oo_hosts_to_config"
- with_items: gce.instance_data
-
- - name: Wait for ssh
- wait_for: "port=22 host={{ item.public_ip }}"
- with_items: gce.instance_data
-
- - debug: var=gce
-
-# Apply the configs, seprate so that just the configs can be run by themselves
-- include: config.yml
diff --git a/playbooks/gce/os3-minion/terminate.yml b/playbooks/gce/os3-minion/terminate.yml
deleted file mode 100644
index 0c7a2f55e..000000000
--- a/playbooks/gce/os3-minion/terminate.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-- name: "populate oo_hosts_to_terminate host group if needed"
- hosts: localhost
- gather_facts: no
- tasks:
- - debug: var=oo_host_group_exp
-
- - name: Evaluate oo_host_group_exp if it's set
- add_host: "name={{ item }} groups=oo_hosts_to_terminate"
- with_items: "{{ oo_host_group_exp | default('') }}"
- when: oo_host_group_exp is defined
-
- - debug: msg="{{ groups['oo_hosts_to_terminate'] }}"
-
-
-- name: Terminate instances
- hosts: localhost
- connection: local
- tasks:
- - name: Terminate minion instances
- gce:
- service_account_email: "{{ gce_service_account_email }}"
- pem_file: "{{ gce_pem_file }}"
- project_id: "{{ gce_project_id }}"
- state: 'absent'
- instance_names: "{{ groups['oo_hosts_to_terminate'] }}"
- disks: "{{ groups['oo_hosts_to_terminate'] }}"
- register: gce
-
- - debug: var=gce
-
- - name: Remove disks of instances
- gce_pd:
- service_account_email: "{{ gce_service_account_email }}"
- pem_file: "{{ gce_pem_file }}"
- project_id: "{{ gce_project_id }}"
- name: "{{ item }}"
- zone: "{{ gce.zone }}"
- state: absent
- with_items: gce.instance_names
-
diff --git a/playbooks/gce/os3-minion/vars.yml b/playbooks/gce/os3-minion/vars.yml
deleted file mode 100644
index e69de29bb..000000000
--- a/playbooks/gce/os3-minion/vars.yml
+++ /dev/null
diff --git a/playbooks/gce/os3-registry/config.yml b/playbooks/gce/os3-registry/config.yml
deleted file mode 100644
index 8103faa5f..000000000
--- a/playbooks/gce/os3-registry/config.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-- name: "populate oo_hosts_to_config host group if needed"
- hosts: localhost
- gather_facts: no
- tasks:
- - name: Evaluate oo_host_group_exp
- add_host: "name={{ item }} groups=oo_hosts_to_config"
- with_items: "{{ oo_host_group_exp | default('') }}"
- when: oo_host_group_exp is defined
-
-- name: "Configure instances"
- hosts: oo_hosts_to_config
- connection: ssh
- user: root
- vars_files:
- - vars.yml
- roles:
- - ../../../roles/base_os
diff --git a/playbooks/gce/os3-registry/launch.yml b/playbooks/gce/os3-registry/launch.yml
deleted file mode 100644
index 2fe105377..000000000
--- a/playbooks/gce/os3-registry/launch.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-- name: Launch instance(s)
- hosts: localhost
- connection: local
- gather_facts: no
-
- vars:
- inst_names: "{{ oo_new_inst_names }}"
- machine_type: n1-standard-1
- image: libra-rhel7
-
- vars_files:
- - vars.yml
-
- tasks:
- - name: Launch instances
- gce:
- instance_names: "{{ inst_names }}"
- machine_type: "{{ machine_type }}"
- image: "{{ image }}"
- service_account_email: "{{ gce_service_account_email }}"
- pem_file: "{{ gce_pem_file }}"
- project_id: "{{ gce_project_id }}"
- tags: "{{ oo_new_inst_tags }}"
- register: gce
-
- - name: Add new instances public IPs to oo_hosts_to_config
- add_host: "hostname={{ item.name }} ansible_ssh_host={{ item.public_ip }} groupname=oo_hosts_to_config"
- with_items: gce.instance_data
-
- - name: Wait for ssh
- wait_for: "port=22 host={{ item.public_ip }}"
- with_items: gce.instance_data
-
- - debug: var=gce
-
-# Apply the configs, seprate so that just the configs can be run by themselves
-- include: config.yml
diff --git a/playbooks/gce/os3-registry/vars.yml b/playbooks/gce/os3-registry/vars.yml
deleted file mode 100644
index e69de29bb..000000000
--- a/playbooks/gce/os3-registry/vars.yml
+++ /dev/null
diff --git a/playbooks/gce/os3-router/config.yml b/playbooks/gce/os3-router/config.yml
deleted file mode 100644
index 8103faa5f..000000000
--- a/playbooks/gce/os3-router/config.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-- name: "populate oo_hosts_to_config host group if needed"
- hosts: localhost
- gather_facts: no
- tasks:
- - name: Evaluate oo_host_group_exp
- add_host: "name={{ item }} groups=oo_hosts_to_config"
- with_items: "{{ oo_host_group_exp | default('') }}"
- when: oo_host_group_exp is defined
-
-- name: "Configure instances"
- hosts: oo_hosts_to_config
- connection: ssh
- user: root
- vars_files:
- - vars.yml
- roles:
- - ../../../roles/base_os
diff --git a/playbooks/gce/os3-router/launch.yml b/playbooks/gce/os3-router/launch.yml
deleted file mode 100644
index 2fe105377..000000000
--- a/playbooks/gce/os3-router/launch.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-- name: Launch instance(s)
- hosts: localhost
- connection: local
- gather_facts: no
-
- vars:
- inst_names: "{{ oo_new_inst_names }}"
- machine_type: n1-standard-1
- image: libra-rhel7
-
- vars_files:
- - vars.yml
-
- tasks:
- - name: Launch instances
- gce:
- instance_names: "{{ inst_names }}"
- machine_type: "{{ machine_type }}"
- image: "{{ image }}"
- service_account_email: "{{ gce_service_account_email }}"
- pem_file: "{{ gce_pem_file }}"
- project_id: "{{ gce_project_id }}"
- tags: "{{ oo_new_inst_tags }}"
- register: gce
-
- - name: Add new instances public IPs to oo_hosts_to_config
- add_host: "hostname={{ item.name }} ansible_ssh_host={{ item.public_ip }} groupname=oo_hosts_to_config"
- with_items: gce.instance_data
-
- - name: Wait for ssh
- wait_for: "port=22 host={{ item.public_ip }}"
- with_items: gce.instance_data
-
- - debug: var=gce
-
-# Apply the configs, seprate so that just the configs can be run by themselves
-- include: config.yml
diff --git a/playbooks/gce/os3-router/vars.yml b/playbooks/gce/os3-router/vars.yml
deleted file mode 100644
index e69de29bb..000000000
--- a/playbooks/gce/os3-router/vars.yml
+++ /dev/null