From e0d37d760ae333aa2620e6637134881d802c6549 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 25 Mar 2015 14:13:59 +0000 Subject: [PATCH 01/12] enhance network_id_to_name to accept list as well --- filter_plugins/openstack.py | 19 +++++++++++++++---- .../copr-be-dev.cloud.fedoraproject.org | 3 +++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/filter_plugins/openstack.py b/filter_plugins/openstack.py index 80c4617159..ef9dea1051 100644 --- a/filter_plugins/openstack.py +++ b/filter_plugins/openstack.py @@ -62,17 +62,28 @@ def network_name_to_id(host_vars, user, password, tenant, auth_url): raise errors.AnsibleFilterError('There is no network of name {0} accessible for tenant {1}'.format(host_vars, tenant)) def network_id_to_name(host_vars, user, password, tenant, auth_url): + """ Accept one id of network or list of ids of networks and return the same + structure, but ids replaced by name of the network(s). """ auth = identity.Password(auth_url=auth_url, username=user, password=password, tenant_name=tenant) sess = session.Session(auth=auth) token = auth.get_token(sess) endpoint = auth.get_endpoint(sess, service_name='neutron', service_type='network') neutron = NeutronClient('2.0', endpoint_url=endpoint, token=token) - networks = neutron.list_networks(id=host_vars, fields='name')["networks"] - if networks: - return networks[0]['name'] + result_as_list = isinstance(host_vars, list) + if not result_as_list: + host_vars = [host_vars] + result = [] + for net in host_vars: + networks = neutron.list_networks(id=net, fields='name')["networks"] + if networks: + result += [networks[0]['name']] + else: + raise errors.AnsibleFilterError('There is no network of id {0} accessible for tenant {1}'.format(host_vars, tenant)) + if result_as_list: + return result else: - raise errors.AnsibleFilterError('There is no network of id {0} accessible for tenant {1}'.format(host_vars, tenant)) + return result[0] class FilterModule (object): def filters(self): diff --git a/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org b/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org index 507a9064cd..5aa9a32582 100644 --- a/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org +++ b/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org @@ -14,6 +14,9 @@ volumes: [ {volume_id: 'b41e4d70-8f76-44b5-ab24-d91f02ae0afa', device: '/dev/vdc inventory_tenant: persistent # name of machine in OpenStack inventory_instance_name: copr-be-dev +cloud_networks: + - net-id: persistent-net + - net-id: copr-net # Copr vars copr_hostbase: copr-be-dev From 069aedf3eef14bfb9e0d933f6421f05610a6eee1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 25 Mar 2015 14:16:47 +0000 Subject: [PATCH 02/12] enhance network_name_to_id to accept list as well --- filter_plugins/openstack.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/filter_plugins/openstack.py b/filter_plugins/openstack.py index ef9dea1051..1545bf1e5f 100644 --- a/filter_plugins/openstack.py +++ b/filter_plugins/openstack.py @@ -49,17 +49,28 @@ def image_name_to_id(host_vars, user, password, tenant, auth_url): raise errors.AnsibleFilterError('There is no image of name {0} accessible for tenant {1}'.format(host_vars, tenant)) def network_name_to_id(host_vars, user, password, tenant, auth_url): + """ Accept one name of network or list of names of networks and return the same + structure, but names replaced by ids of the network(s). """ auth = identity.Password(auth_url=auth_url, username=user, password=password, tenant_name=tenant) sess = session.Session(auth=auth) token = auth.get_token(sess) endpoint = auth.get_endpoint(sess, service_name='neutron', service_type='network') neutron = NeutronClient('2.0', endpoint_url=endpoint, token=token) - networks = neutron.list_networks(name=host_vars, fields='id')["networks"] - if networks: - return networks[0]['id'] + result_as_list = isinstance(host_vars, list) + if not result_as_list: + host_vars = [host_vars] + result = [] + for net in host_vars: + networks = neutron.list_networks(name=net, fields='name')["networks"] + if networks: + result += [networks[0]['id']] + else: + raise errors.AnsibleFilterError('There is no network of name {0} accessible for tenant {1}'.format(host_vars, tenant)) + if result_as_list: + return result else: - raise errors.AnsibleFilterError('There is no network of name {0} accessible for tenant {1}'.format(host_vars, tenant)) + return result[0] def network_id_to_name(host_vars, user, password, tenant, auth_url): """ Accept one id of network or list of ids of networks and return the same From b6df57c85ad3ced1fb543cc0163f738e6019bfaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 25 Mar 2015 14:19:30 +0000 Subject: [PATCH 03/12] accept cloud_networks as list of names --- tasks/persistent_cloud_new.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/persistent_cloud_new.yml b/tasks/persistent_cloud_new.yml index 52b893fca2..fd620d3ac1 100644 --- a/tasks/persistent_cloud_new.yml +++ b/tasks/persistent_cloud_new.yml @@ -45,7 +45,7 @@ flavor_id: "{{ instance_type|flavor_name_to_id('admin', ADMIN_PASS, inventory_tenant, os_auth_url) }} security_groups: "{{security_group}}" key_name: "{{ keypair }}" - nics: "{{ cloud_networks }}" + nics: "{{ cloud_networks|network_name_to_id('admin', ADMIN_PASS, inventory_tenant, os_auth_url) }}" # floating_ip_pools: "{{ floating_ip_pools }}" floating_ips: - "{{public_ip}}" From e1e3ff5e93c69536cf4f03950d48c74c5dc565e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 25 Mar 2015 14:24:50 +0000 Subject: [PATCH 04/12] write image as name instead of id --- inventory/host_vars/copr-be-dev.cloud.fedoraproject.org | 5 +++-- tasks/persistent_cloud_new.yml | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org b/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org index 5aa9a32582..81432926cc 100644 --- a/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org +++ b/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org @@ -1,7 +1,8 @@ --- instance_type: m1.xlarge -image: "{{ f20_qcow_id }}" -keypair: fedora-admin-20130801 +#image: "{{ f20_qcow_id }}" +image: "Fedora-Cloud-Base-20141203-21" +keypair: msuchy security_group: web-80-anywhere-persistent,web-443-anywhere-persistent,ssh-anywhere-persistent,default zone: nova hostbase: copr-be-dev- diff --git a/tasks/persistent_cloud_new.yml b/tasks/persistent_cloud_new.yml index fd620d3ac1..9783baf78c 100644 --- a/tasks/persistent_cloud_new.yml +++ b/tasks/persistent_cloud_new.yml @@ -40,7 +40,7 @@ login_password: "{{ADMIN_PASS}}" login_tenant_name: "{{inventory_tenant}}" name: "{{inventory_instance_name}}" - image_id: "{{ image }}" + image_id: "{{ image|image_name_to_id('admin', ADMIN_PASS, inventory_tenant, os_auth_url) }}" wait_for: 300 flavor_id: "{{ instance_type|flavor_name_to_id('admin', ADMIN_PASS, inventory_tenant, os_auth_url) }} security_groups: "{{security_group}}" From f9be7005f86ab1f9f059256d7a71ea2baf383e39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 25 Mar 2015 14:29:38 +0000 Subject: [PATCH 05/12] comment out this --- inventory/host_vars/copr-be-dev.cloud.fedoraproject.org | 2 +- tasks/persistent_cloud_new.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org b/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org index 81432926cc..0804c7eb1b 100644 --- a/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org +++ b/inventory/host_vars/copr-be-dev.cloud.fedoraproject.org @@ -6,7 +6,7 @@ keypair: msuchy security_group: web-80-anywhere-persistent,web-443-anywhere-persistent,ssh-anywhere-persistent,default zone: nova hostbase: copr-be-dev- -public_ip: 209.132.184.179 +public_ip: 209.132.184.53 root_auth_users: bkabrda msuchy tradej pingou vgologuz description: copr dispatcher and repo server - dev instance tcp_ports: ['22', '80', '443'] diff --git a/tasks/persistent_cloud_new.yml b/tasks/persistent_cloud_new.yml index 9783baf78c..978eff0692 100644 --- a/tasks/persistent_cloud_new.yml +++ b/tasks/persistent_cloud_new.yml @@ -8,7 +8,7 @@ # OS_TENANT_ID # OS_TENANT_NAME -- debug: msg="Auth {{OS_AUTH_URL}} {{OS_TENANT_NAME}} {{OS_USERNAME}}" +#- debug: msg="Auth {{OS_AUTH_URL}} {{OS_TENANT_NAME}} {{OS_USERNAME}}" # To use direct `nova` commands construct _OS_AUTH_OPTS as: # --os-auth-url {{OS_AUTH_URL}} --os-username {{OS_USERNAME}} --os-password {{OS_PASSWORD}} --os-tenant-name {{OS_TENANT_NAME}} --os-tenant-id {{OS_TENANT_ID}} From 559594d191c235f625bf005947f43fc99ad16349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 25 Mar 2015 14:31:41 +0000 Subject: [PATCH 06/12] try this --- playbooks/groups/copr-backend.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/playbooks/groups/copr-backend.yml b/playbooks/groups/copr-backend.yml index 3c0251d877..df22e429ca 100644 --- a/playbooks/groups/copr-backend.yml +++ b/playbooks/groups/copr-backend.yml @@ -1,5 +1,5 @@ - name: check/create instance - hosts: 209.132.184.49 + hosts: 209.132.184.53 #hosts: copr-be-dev2.cloud.fedoraproject.org #hosts: copr-back:copr-back-stg #hosts: copr-back-stg @@ -32,12 +32,12 @@ # - include: "{{ tasks }}/persistent_cloud.yml" # DEBUG OTHER - #- include: "{{ tasks }}/persistent_cloud_new.yml" + - include: "{{ tasks }}/persistent_cloud_new.yml" - include: "{{ tasks }}/growroot_cloud.yml" - debug: msg="root auth users {{root_auth_users}}" - name: cloud basic setup - hosts: 209.132.184.49 + hosts: 209.132.184.53 #hosts: copr-be-dev2.cloud.fedoraproject.org #hosts: copr-back:copr-back-stg #hosts: copr-back-stg @@ -56,7 +56,7 @@ shell: "hostname {{copr_hostbase}}.cloud.fedoraproject.org" - name: provision instance - hosts: 209.132.184.49 + hosts: 209.132.184.53 #hosts: copr-be-dev2.cloud.fedoraproject.org #hosts: copr-back:copr-back-stg #hosts: copr-back-stg From b84c199c48fa2368b8cb836e6b045688377d139f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 25 Mar 2015 14:33:33 +0000 Subject: [PATCH 07/12] typo --- tasks/persistent_cloud_new.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tasks/persistent_cloud_new.yml b/tasks/persistent_cloud_new.yml index 978eff0692..2c7bff5f95 100644 --- a/tasks/persistent_cloud_new.yml +++ b/tasks/persistent_cloud_new.yml @@ -42,7 +42,7 @@ name: "{{inventory_instance_name}}" image_id: "{{ image|image_name_to_id('admin', ADMIN_PASS, inventory_tenant, os_auth_url) }}" wait_for: 300 - flavor_id: "{{ instance_type|flavor_name_to_id('admin', ADMIN_PASS, inventory_tenant, os_auth_url) }} + flavor_id: "{{ instance_type|flavor_name_to_id('admin', ADMIN_PASS, inventory_tenant, os_auth_url) }}" security_groups: "{{security_group}}" key_name: "{{ keypair }}" nics: "{{ cloud_networks|network_name_to_id('admin', ADMIN_PASS, inventory_tenant, os_auth_url) }}" From f45d844f4f113354ec62762ac3c6dfd807e64b9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 25 Mar 2015 14:36:04 +0000 Subject: [PATCH 08/12] create new inventory group for experiments with new cloud --- inventory/inventory | 3 +++ 1 file changed, 3 insertions(+) diff --git a/inventory/inventory b/inventory/inventory index 0a777117db..9bb82eb6e0 100644 --- a/inventory/inventory +++ b/inventory/inventory @@ -750,6 +750,9 @@ koschei.cloud.fedoraproject.org # copr keygen instance copr-keygen.cloud.fedoraproject.org +[new-cloud-experiments] +209.132.184.53 + [jenkins-slaves] # EL-6 builder 209.132.184.165 From 31a9cfe26413d55e3bc9df4bd46b0e88d3ab8d8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 25 Mar 2015 14:40:29 +0000 Subject: [PATCH 09/12] try this --- playbooks/groups/copr-backend.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playbooks/groups/copr-backend.yml b/playbooks/groups/copr-backend.yml index df22e429ca..64681e6fcc 100644 --- a/playbooks/groups/copr-backend.yml +++ b/playbooks/groups/copr-backend.yml @@ -6,7 +6,7 @@ user: fedora sudo: True #user: root - gather_facts: True + gather_facts: False # gather_facts: False vars_files: From 3ca5e78c7512d609e9bd06d9f63a6e023a1c21ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 25 Mar 2015 14:43:54 +0000 Subject: [PATCH 10/12] try this --- inventory/inventory | 1 + playbooks/groups/copr-backend.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/inventory/inventory b/inventory/inventory index 9bb82eb6e0..8edd7e458e 100644 --- a/inventory/inventory +++ b/inventory/inventory @@ -752,6 +752,7 @@ copr-keygen.cloud.fedoraproject.org [new-cloud-experiments] 209.132.184.53 +copr-be-dev.cloud.fedoraproject.org [jenkins-slaves] # EL-6 builder diff --git a/playbooks/groups/copr-backend.yml b/playbooks/groups/copr-backend.yml index 64681e6fcc..d2c99ae2e9 100644 --- a/playbooks/groups/copr-backend.yml +++ b/playbooks/groups/copr-backend.yml @@ -1,5 +1,5 @@ - name: check/create instance - hosts: 209.132.184.53 + hosts: copr-be-dev.cloud.fedoraproject.org #hosts: copr-be-dev2.cloud.fedoraproject.org #hosts: copr-back:copr-back-stg #hosts: copr-back-stg From 29304799b485ad8284cad69dbfb341138c1e8c66 Mon Sep 17 00:00:00 2001 From: Martin Krizek Date: Wed, 25 Mar 2015 14:59:44 +0000 Subject: [PATCH 11/12] Use execdb_server var only on dev --- roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 b/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 index a4155321e6..90f1d0037f 100644 --- a/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 +++ b/roles/taskotron/taskotron-client/templates/taskotron.yaml.j2 @@ -55,8 +55,10 @@ bodhi_server: {{ bodhi_server }} ## URL of ResultsDB server API interface, which can store all test results resultsdb_server: {{ resultsdb_server }} +{% if deployment_type == 'dev' %} ## URL of ExecDB server API interface, which tracks task execution status execdb_server: {{ execdb_server }} +{% endif %} ## URL of taskotron buildmaster taskotron_master: {{ taskotron_master }} From 1e32412c33c228f0dfefcc307ed0566814907077 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Wed, 25 Mar 2015 16:53:06 +0000 Subject: [PATCH 12/12] Comment out sign-vault04, add 03 to configure --- inventory/inventory | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/inventory/inventory b/inventory/inventory index 8edd7e458e..3ff1d5fc30 100644 --- a/inventory/inventory +++ b/inventory/inventory @@ -190,13 +190,14 @@ rawhide-composer.phx2.fedoraproject.org [composers-stg] composer.stg.phx2.fedoraproject.org -# sign servers don't listen to ssh by default. [sign-bridge] sign-bridge01.phx2.fedoraproject.org # +# sign vault servers don't listen to ssh by default. +# [sign-vault] -#sign-vault03.phx2.fedoraproject.org -sign-vault04.phx2.fedoraproject.org +sign-vault03.phx2.fedoraproject.org +#sign-vault04.phx2.fedoraproject.org [autosign] autosign01.phx2.fedoraproject.org