diff options
Diffstat (limited to 'bin/cluster')
| -rwxr-xr-x | bin/cluster | 28 | 
1 files changed, 25 insertions, 3 deletions
diff --git a/bin/cluster b/bin/cluster index 2a6cb4b58..bf8198de9 100755 --- a/bin/cluster +++ b/bin/cluster @@ -184,21 +184,43 @@ class Cluster(object):  if __name__ == '__main__':      """      User command to invoke ansible playbooks in a "known" environment + +    Reads ~/.openshift-ansible for default configuration items +      [DEFAULT] +      validate_cluster_ids = False +      cluster_ids = marketing,sales +      providers = gce,aws,libvirt      """ +    environment = ConfigParser.SafeConfigParser({ +        'cluster_ids': 'marketing,sales', +        'validate_cluster_ids': 'False', +        'providers': 'gce,aws,libvirt', +    }) + +    path = os.path.expanduser("~/.openshift-ansible") +    if os.path.isfile(path): +        environment.read(path) +      cluster = Cluster() -    providers = ['gce', 'aws', 'libvirt']      parser = argparse.ArgumentParser(          description='Python wrapper to ensure proper environment for OpenShift ansible playbooks',      )      parser.add_argument('-v', '--verbose', action='count',                          help='Multiple -v options increase the verbosity') -    parser.add_argument('--version', action='version', version='%(prog)s 0.2') +    parser.add_argument('--version', action='version', version='%(prog)s 0.3')      meta_parser = argparse.ArgumentParser(add_help=False) +    providers = environment.get('DEFAULT', 'providers').split(',')      meta_parser.add_argument('provider', choices=providers, help='provider') -    meta_parser.add_argument('cluster_id', help='prefix for cluster VM names') + +    if environment.get('DEFAULT', 'validate_cluster_ids').lower() in ("yes", "true", "1"): +        meta_parser.add_argument('cluster_id', choices=environment.get('DEFAULT', 'cluster_ids').split(','), +                                 help='prefix for cluster VM names') +    else: +        meta_parser.add_argument('cluster_id', help='prefix for cluster VM names') +      meta_parser.add_argument('-t', '--deployment-type',                               choices=['origin', 'online', 'enterprise'],                               help='Deployment type. (default: origin)')  | 
