summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGhe Rivero <ghe.rivero@hp.com>2015-06-06 13:06:39 +0200
committerMonty Taylor <mordred@inaugust.com>2015-06-06 11:08:08 -0400
commit843402653d8c05698db481c4146a67846219ae60 (patch)
tree20eaf39b38529d2bc7a5092b90075f252c5005b4
parent9f7a50619a170ec9c9d702862ea617cc1b17e765 (diff)
downloados-client-config-843402653d8c05698db481c4146a67846219ae60.tar.gz
Use one yaml file per vendor
With an increasing numbers of vendors, having all profiles in a single file, and with dicts inside dicts inside dicts... is getting more complicated to have a general view of what is available. Change-Id: I6f386829774365125d585a6ff1b6e22f4c98df2a
-rw-r--r--os_client_config/vendors.py98
-rw-r--r--os_client_config/vendors/__init__.py25
-rw-r--r--os_client_config/vendors/auro.yaml10
-rw-r--r--os_client_config/vendors/dreamhost.yaml7
-rw-r--r--os_client_config/vendors/hp.yaml8
-rw-r--r--os_client_config/vendors/ovh.yaml10
-rw-r--r--os_client_config/vendors/rackspace.yaml14
-rw-r--r--os_client_config/vendors/runabove.yaml7
-rw-r--r--os_client_config/vendors/unitedstack.yaml8
-rw-r--r--os_client_config/vendors/vexxhost.yaml8
10 files changed, 97 insertions, 98 deletions
diff --git a/os_client_config/vendors.py b/os_client_config/vendors.py
deleted file mode 100644
index e02b325..0000000
--- a/os_client_config/vendors.py
+++ /dev/null
@@ -1,98 +0,0 @@
-# flake8: noqa
-# Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
-#
-# 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.
-
-CLOUD_DEFAULTS = dict(
- hp=dict(
- auth=dict(
- auth_url='https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0',
- ),
- region_name='region-b.geo-1',
- dns_service_type='hpext:dns',
- image_api_version='1',
- image_format='qcow2',
- ),
- rackspace=dict(
- auth=dict(
- auth_url='https://identity.api.rackspacecloud.com/v2.0/',
- ),
- database_service_type='rax:database',
- compute_service_name='cloudServersOpenStack',
- image_api_version='2',
- image_api_use_tasks=True,
- image_format='vhd',
- floating_ip_source=None,
- secgroup_source=None,
- disable_vendor_agent=dict(
- vm_mode='hvm',
- xenapi_use_agent=False,
- )
- ),
- dreamhost=dict(
- auth=dict(
- auth_url='https://keystone.dream.io/v2.0',
- ),
- region_name='RegionOne',
- image_api_version='2',
- image_format='raw',
- ),
- vexxhost=dict(
- auth=dict(
- auth_url='http://auth.api.thenebulacloud.com:5000/v2.0/',
- ),
- region_name='ca-ymq-1',
- image_api_version='2',
- image_format='qcow2',
- floating_ip_source=None,
- ),
- runabove=dict(
- auth=dict(
- auth_url='https://auth.runabove.io/v2.0',
- ),
- image_api_version='2',
- image_format='qcow2',
- floating_ip_source=None,
- ),
- unitedstack=dict(
- auth=dict(
- auth_url='https://identity.api.ustack.com/v3',
- ),
- identity_api_version='3',
- image_api_version='2',
- image_format='raw',
- floating_ip_source=None,
- ),
- auro=dict(
- auth=dict(
- auth_url='https://api.auro.io:5000/v2.0',
- ),
- region_name='RegionOne',
- identity_api_version='2',
- image_api_version='1',
- image_format='qcow2',
- secgroup_source='nova',
- floating_ip_source='nova',
- ),
- ovh=dict(
- auth=dict(
- auth_url='https://auth.cloud.ovh.net/v2.0',
- ),
- region_name='SBG1',
- identity_api_version='2',
- image_api_version='1',
- image_format='raw',
- secgroup_source='neutron',
- floating_ip_source='neutron',
- ),
-)
diff --git a/os_client_config/vendors/__init__.py b/os_client_config/vendors/__init__.py
new file mode 100644
index 0000000..0ccb04c
--- /dev/null
+++ b/os_client_config/vendors/__init__.py
@@ -0,0 +1,25 @@
+# Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
+#
+# 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 glob
+import os
+
+import yaml
+
+vendors_path = os.path.dirname(os.path.realpath(__file__))
+
+CLOUD_DEFAULTS = {}
+for vendor in glob.glob(os.path.join(vendors_path, '*.yaml')):
+ with open(vendor, 'r') as f:
+ CLOUD_DEFAULTS.update(yaml.safe_load(f))
diff --git a/os_client_config/vendors/auro.yaml b/os_client_config/vendors/auro.yaml
new file mode 100644
index 0000000..da1491d
--- /dev/null
+++ b/os_client_config/vendors/auro.yaml
@@ -0,0 +1,10 @@
+---
+auro:
+ auth:
+ auth_url: https://api.auro.io:5000/v2.0
+ region_name: RegionOne
+ identity_api_version: 2
+ image_api_version: 1
+ image_format: qcow2
+ secgroup_source: nova
+ floating_ip_source: nova
diff --git a/os_client_config/vendors/dreamhost.yaml b/os_client_config/vendors/dreamhost.yaml
new file mode 100644
index 0000000..63f15c3
--- /dev/null
+++ b/os_client_config/vendors/dreamhost.yaml
@@ -0,0 +1,7 @@
+---
+dreamhost:
+ auth:
+ auth_url: https://keystone.dream.io/v2.0
+ region_name: RegionOne
+ image_api_version: 2
+ image_format: raw
diff --git a/os_client_config/vendors/hp.yaml b/os_client_config/vendors/hp.yaml
new file mode 100644
index 0000000..2ac5517
--- /dev/null
+++ b/os_client_config/vendors/hp.yaml
@@ -0,0 +1,8 @@
+---
+hp:
+ auth:
+ auth_url: https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0
+ region_name: region-b.geo-1
+ dns_service_type: hpext:dns
+ image_api_version: 1
+ image_format: qcow2
diff --git a/os_client_config/vendors/ovh.yaml b/os_client_config/vendors/ovh.yaml
new file mode 100644
index 0000000..5b4426f
--- /dev/null
+++ b/os_client_config/vendors/ovh.yaml
@@ -0,0 +1,10 @@
+---
+ovh:
+ auth:
+ auth_url: https://auth.cloud.ovh.net/v2.0
+ region_name: SBG1
+ identity_api_version: 2
+ image_api_version: 1
+ image_format: raw
+ secgroup_source: neutron
+ floating_ip_source: neutron
diff --git a/os_client_config/vendors/rackspace.yaml b/os_client_config/vendors/rackspace.yaml
new file mode 100644
index 0000000..7af3cab
--- /dev/null
+++ b/os_client_config/vendors/rackspace.yaml
@@ -0,0 +1,14 @@
+---
+rackspace:
+ auth:
+ auth_url: https://identity.api.rackspacecloud.com/v2.0
+ database_service_type: 'rax:database'
+ compute_service_name: cloudServersOpenStack
+ image_api_version: 2
+ image_api_use_tasks: True
+ image_format: vhd
+ floating_ip_source: None
+ secgroup_source: None
+ disable_vendor_agent:
+ vm_mode: hvm
+ xenapi_use_agent: False
diff --git a/os_client_config/vendors/runabove.yaml b/os_client_config/vendors/runabove.yaml
new file mode 100644
index 0000000..c9641dd
--- /dev/null
+++ b/os_client_config/vendors/runabove.yaml
@@ -0,0 +1,7 @@
+---
+runabove:
+ auth:
+ auth_url: https://auth.runabove.io/v2.0
+ image_api_version: 2
+ image_format: qcow2
+ floating_ip_sourc: None
diff --git a/os_client_config/vendors/unitedstack.yaml b/os_client_config/vendors/unitedstack.yaml
new file mode 100644
index 0000000..43c600a
--- /dev/null
+++ b/os_client_config/vendors/unitedstack.yaml
@@ -0,0 +1,8 @@
+---
+unitedstack:
+ auth:
+ auth_url: https://identity.api.ustack.com/v3
+ identity_api_version: 3
+ image_api_version: 2
+ image_format: raw
+ floating_ip_source: None
diff --git a/os_client_config/vendors/vexxhost.yaml b/os_client_config/vendors/vexxhost.yaml
new file mode 100644
index 0000000..5247ef4
--- /dev/null
+++ b/os_client_config/vendors/vexxhost.yaml
@@ -0,0 +1,8 @@
+---
+vexxhost:
+ auth:
+ auth_url: http://auth.api.thenebulacloud.com:5000/v2.0/
+ region_name: ca-ymq-1
+ image_api_version: 2
+ image_format: qcow2
+ floating_ip_source: None