Jay Pipes | 7f75763 | 2011-12-02 15:53:32 -0500 | [diff] [blame^] | 1 | import os |
| 2 | |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 3 | from storm.services.nova.json.images_client import ImagesClient |
| 4 | from storm.services.nova.json.flavors_client import FlavorsClient |
| 5 | from storm.services.nova.json.servers_client import ServersClient |
Rohit Karajgi | e1b050d | 2011-12-02 16:13:18 -0800 | [diff] [blame] | 6 | from storm.common.utils import data_utils |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 7 | import storm.config |
| 8 | |
| 9 | |
| 10 | class Manager(object): |
| 11 | |
Jay Pipes | 7f75763 | 2011-12-02 15:53:32 -0500 | [diff] [blame^] | 12 | DEFAULT_CONFIG_DIR = os.path.join( |
| 13 | os.path.abspath( |
| 14 | os.path.dirname( |
| 15 | os.path.dirname(__file__))), |
| 16 | "etc") |
| 17 | |
| 18 | DEFAULT_CONFIG_FILE = "storm.conf" |
| 19 | |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 20 | def __init__(self): |
| 21 | """ |
| 22 | Top level manager for all Openstack APIs |
| 23 | """ |
Jay Pipes | 7f75763 | 2011-12-02 15:53:32 -0500 | [diff] [blame^] | 24 | # Environment variables override defaults... |
| 25 | config_dir = os.environ.get('TEMPEST_CONFIG_DIR', |
| 26 | self.DEFAULT_CONFIG_DIR) |
| 27 | config_file = os.environ.get('TEMPEST_CONFIG', |
| 28 | self.DEFAULT_CONFIG_FILE) |
| 29 | self.config = storm.config.StormConfig(config_dir, config_file) |
Rohit Karajgi | e1b050d | 2011-12-02 16:13:18 -0800 | [diff] [blame] | 30 | self.auth_url = data_utils.build_url(self.config.nova.host, |
| 31 | self.config.nova.port, |
| 32 | self.config.nova.apiVer, |
| 33 | self.config.nova.path) |
| 34 | |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 35 | if self.config.env.authentication == 'keystone_v2': |
Jay Pipes | 7f75763 | 2011-12-02 15:53:32 -0500 | [diff] [blame^] | 36 | self.servers_client = ServersClient(self.config, |
| 37 | self.config.nova.username, |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 38 | self.config.nova.api_key, |
Rohit Karajgi | e1b050d | 2011-12-02 16:13:18 -0800 | [diff] [blame] | 39 | self.auth_url, |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 40 | self.config.nova.tenant_name) |
Jay Pipes | 7f75763 | 2011-12-02 15:53:32 -0500 | [diff] [blame^] | 41 | self.flavors_client = FlavorsClient(self.config, |
| 42 | self.config.nova.username, |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 43 | self.config.nova.api_key, |
Rohit Karajgi | e1b050d | 2011-12-02 16:13:18 -0800 | [diff] [blame] | 44 | self.auth_url, |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 45 | self.config.nova.tenant_name) |
Jay Pipes | 7f75763 | 2011-12-02 15:53:32 -0500 | [diff] [blame^] | 46 | self.images_client = ImagesClient(self.config, |
| 47 | self.config.nova.username, |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 48 | self.config.nova.api_key, |
Rohit Karajgi | e1b050d | 2011-12-02 16:13:18 -0800 | [diff] [blame] | 49 | self.auth_url, |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 50 | self.config.nova.tenant_name) |
| 51 | else: |
| 52 | #Assuming basic/native authentication |
Jay Pipes | 7f75763 | 2011-12-02 15:53:32 -0500 | [diff] [blame^] | 53 | self.servers_client = ServersClient(self.config, |
| 54 | self.config.nova.username, |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 55 | self.config.nova.api_key, |
Rohit Karajgi | e1b050d | 2011-12-02 16:13:18 -0800 | [diff] [blame] | 56 | self.auth_url) |
Jay Pipes | 7f75763 | 2011-12-02 15:53:32 -0500 | [diff] [blame^] | 57 | self.flavors_client = FlavorsClient(self.config, |
| 58 | self.config.nova.username, |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 59 | self.config.nova.api_key, |
Rohit Karajgi | e1b050d | 2011-12-02 16:13:18 -0800 | [diff] [blame] | 60 | self.auth_url) |
Jay Pipes | 7f75763 | 2011-12-02 15:53:32 -0500 | [diff] [blame^] | 61 | self.images_client = ImagesClient(self.config, |
| 62 | self.config.nova.username, |
| 63 | self.config.nova.auth_url, |
Daryl Walleck | 1465d61 | 2011-11-02 02:22:15 -0500 | [diff] [blame] | 64 | self.config.nova.api_key, |
Rohit Karajgi | e1b050d | 2011-12-02 16:13:18 -0800 | [diff] [blame] | 65 | self.auth_url) |