Advertisement
Guest User

Untitled

a guest
Dec 29th, 2014
443
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.32 KB | None | 0 0
  1. ################################### config.yml ###################################
  2.  
  3. --- !Deploy
  4. global_configuration:
  5.     ssh_private_key: ~/.ssh/id_rsa
  6.     ssh_public_key: ~/.ssh/id_rsa.pub
  7.     hosts_file: 172.17.42.1 solr.opendevmekong.net datapusher.opendevmekong.net data.opendevmekong.net www.opendevmekong.net
  8. target:
  9.     interface: eth0
  10.     host: localhost
  11. registry:
  12.     prefix: registry-mekong.proteus-tech.com
  13.     username: mekonguser
  14.     password: mekongpass
  15.     email: youremail@opendevmekong.net
  16. postgresql:
  17.     rebuild: true
  18.     postgres_password: postgrespass
  19. mysql:
  20.     rebuild: true
  21.     mysql_password: mysqlpass
  22. solr:
  23.     domain: solr.opendevmekong.net
  24.     source: git@github.com:OpenDevelopmentMekong/odm-scripting.git
  25.     branch: master
  26.     path: ansible/roles/solr/files/solr/
  27.     username: solruser
  28.     password: solrpass
  29. ckan:
  30.     domain: data.opendevmekong.net
  31.     admin_username: admin
  32.     admin_password: password
  33.     email_to: youremail@opendevmekong.net
  34.     email_from: no-reply@opendevmekong.net
  35. ckan_database:
  36.     reinitial: true
  37.     host: postgres://dbuser:dbpass@172.17.42.1:5432/ckan
  38. ckan_database_write:
  39.     reinitial: true
  40.     host: postgres://dbwuser:dbwpass@172.17.42.1:5432/ckan_datastore
  41. ckan_database_read:
  42.     reinitial: true
  43.     host: postgres://dbruser:dbrpass@172.17.42.1:5432/ckan_datastore
  44. ckan_datapusher:
  45.     datapusher_domain: datapusher.opendevmekong.net
  46.     username: pusheruser
  47.     password: pusherpass
  48.     domain: data.opendevmekong.net
  49. wordpress:
  50.     domain: www.opendevmekong.net
  51.     source: git@github.com:OpenDevelopmentMekong/WordPress.git
  52.     branch: 4.0.1
  53. wordpress_database:
  54.     reinitial: true
  55.     host: mysql://wpuser:wppass@172.17.42.1:3306/wordpress
  56.  
  57.  
  58. ################################### start.py ###################################
  59. #!/usr/bin/env python
  60.  
  61. import os
  62. import yaml
  63.  
  64. class Deploy(yaml.YAMLObject):
  65.     yaml_loader = yaml.SafeLoader
  66.     yaml_tag = u'!Deploy'
  67.  
  68.     @classmethod
  69.     def from_yaml(cls, loader, node):
  70.         obj = cls.from_yaml(loader, node)
  71.         obj.check_variables()
  72.         return obj
  73.     def check_variables(self):
  74.         print("test")
  75.         print(os.path.expanduser(self.global_configuration['ssh_public_key']))
  76.         print(os.path.isfile(os.path.normpath(self.global_configuration['ssh_public_key'])))
  77.  
  78. stream = open("config.yml", "r")
  79. x = yaml.safe_load(stream)
  80.  
  81.  
  82. ################################### YAMLObject ###################################
  83. class YAMLObject(object):
  84.     """
  85.    An object that can dump itself to a YAML stream
  86.    and load itself from a YAML stream.
  87.    """
  88.  
  89.     __metaclass__ = YAMLObjectMetaclass
  90.     __slots__ = ()  # no direct instantiation, so allow immutable subclasses
  91.  
  92.     yaml_loader = Loader
  93.     yaml_dumper = Dumper
  94.  
  95.     yaml_tag = None
  96.     yaml_flow_style = None
  97.  
  98.     def from_yaml(cls, loader, node):
  99.         """
  100.        Convert a representation node to a Python object.
  101.        """
  102.         return loader.construct_yaml_object(node, cls)
  103.     from_yaml = classmethod(from_yaml)
  104.  
  105.     def to_yaml(cls, dumper, data):
  106.         """
  107.        Convert a Python object to a representation node.
  108.        """
  109.         return dumper.represent_yaml_object(cls.yaml_tag, data, cls,
  110.                 flow_style=cls.yaml_flow_style)
  111.     to_yaml = classmethod(to_yaml)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement