|
1 #!/usr/bin/python2.6 |
|
2 |
|
3 # Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. |
|
4 # |
|
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may |
|
6 # not use this file except in compliance with the License. You may obtain |
|
7 # a copy of the License at |
|
8 # |
|
9 # http://www.apache.org/licenses/LICENSE-2.0 |
|
10 # |
|
11 # Unless required by applicable law or agreed to in writing, software |
|
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
|
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
|
14 # License for the specific language governing permissions and limitations |
|
15 # under the License. |
|
16 |
|
17 import os |
|
18 import sys |
|
19 |
|
20 import smf_include |
|
21 |
|
22 from oslo.config import cfg |
|
23 |
|
24 |
|
25 # name to script mapping for nova API |
|
26 MAPPING = { |
|
27 "ec2": "/usr/lib/nova/nova-api-ec2", |
|
28 "metadata": "/usr/lib/nova/nova-api-metadata", |
|
29 "osapi_compute": "/usr/lib/nova/nova-api-os-compute" |
|
30 } |
|
31 |
|
32 |
|
33 def start(): |
|
34 conf = cfg.CONF |
|
35 conf.import_opt("enabled_apis", "nova.service") |
|
36 |
|
37 if sys.argv[2] in conf.enabled_apis: |
|
38 smf_include.smf_subprocess(MAPPING[sys.argv[2]]) |
|
39 else: |
|
40 print "Not starting %s. 'enabled_apis' does not include %s" % \ |
|
41 (os.environ["SMF_FMRI"], sys.argv[2]) |
|
42 return smf_include.SMF_EXIT_TEMP_DISABLE |
|
43 |
|
44 if __name__ == "__main__": |
|
45 os.putenv("LC_ALL", "C") |
|
46 smf_include.smf_main() |