Example #1
0
def populate_google_yml(content):
    credentials = {'project': '', 'jsonPath': ''}
    google_dict = {
        'enabled': False,
        'defaultRegion': 'us-central1',
        'defaultZone': 'us-central1-f',
    }

    google_dict['primaryCredentials'] = credentials

    if is_google_instance():
        zone = os.path.basename(
            check_fetch(GOOGLE_INSTANCE_METADATA_URL + '/zone',
                        google=True).content)
        google_dict['enabled'] = 'true'
        google_dict['defaultRegion'] = zone[:-2]
        google_dict['defaultZone'] = zone
        credentials['project'] = check_fetch(GOOGLE_METADATA_URL +
                                             '/project/project-id',
                                             google=True).content

    bindings = YamlBindings()
    bindings.import_dict({'providers': {'google': google_dict}})
    content = bindings.transform_yaml_source(content,
                                             'providers.google.enabled')
    content = bindings.transform_yaml_source(content,
                                             'providers.google.defaultRegion')
    content = bindings.transform_yaml_source(content,
                                             'providers.google.defaultZone')
    content = bindings.transform_yaml_source(
        content, 'providers.google.primaryCredentials.project')
    content = bindings.transform_yaml_source(
        content, 'providers.google.primaryCredentials.jsonPath')

    return content
Example #2
0
def populate_google_yml(content):
  credentials = {'project': '', 'jsonPath': ''}
  google_dict = {'enabled': False,
                 'defaultRegion': 'us-central1',
                 'defaultZone': 'us-central1-f',}

  google_dict['primaryCredentials'] = credentials

  if is_google_instance():
      zone = os.path.basename(
           check_fetch(GOOGLE_INSTANCE_METADATA_URL + '/zone',
                       google=True).content)
      google_dict['enabled'] = 'true'
      google_dict['defaultRegion'] = zone[:-2]
      google_dict['defaultZone'] = zone
      credentials['project'] = check_fetch(
            GOOGLE_METADATA_URL + '/project/project-id', google=True).content

  bindings = YamlBindings()
  bindings.import_dict({'providers': {'google': google_dict}})
  content = bindings.transform_yaml_source(content, 'providers.google.enabled')
  content = bindings.transform_yaml_source(
      content, 'providers.google.defaultRegion')
  content = bindings.transform_yaml_source(
      content, 'providers.google.defaultZone')
  content = bindings.transform_yaml_source(
      content, 'providers.google.primaryCredentials.project')
  content = bindings.transform_yaml_source(
      content, 'providers.google.primaryCredentials.jsonPath')

  return content
def install_cassandra(options):
    """Install Cassandra.

    Args:
      options: ArgumentParserNamespace options.
    """
    if not options.cassandra:
        print '--nocassandra skipping Casssandra install.'
        return

    print 'Installing Cassandra...'
    check_options(options)
    preferred_version = None
    if not options.package_manager:
        root = 'https://archive.apache.org/dist/cassandra/debian/pool/main/c'
        try:
          os.mkdir('downloads')
        except OSError:
          pass

        preferred_version = EXPLICIT_CASSANDRA_VERSION
        cassandra = 'cassandra_{ver}_all.deb'.format(ver=preferred_version)
        tools = 'cassandra-tools_{ver}_all.deb'.format(ver=preferred_version)

        fetch_result = check_fetch(
            '{root}/cassandra/{cassandra}'.format(root=root, cassandra=cassandra))

        with open('downloads/{cassandra}'
                  .format(cassandra=cassandra), 'w') as f:
            f.write(fetch_result.content)

        fetch_result = check_fetch(
            '{root}/cassandra/{tools}'
            .format(root=root, tools=tools))
        with open('downloads/{tools}'
                  .format(tools=tools), 'w') as f:
            f.write(fetch_result.content)

        check_run_and_monitor('sudo dpkg -i downloads/' + cassandra, echo=True)
        check_run_and_monitor('sudo dpkg -i downloads/' + tools, echo=True)
    else:
      check_run_and_monitor(
          'sudo add-apt-repository -s'
          ' "deb http://www.apache.org/dist/cassandra/debian 21x main"',
          echo=True)

    check_run_and_monitor('sudo apt-get -q -y update', echo=True)
    check_install_package('cassandra', version=preferred_version,
                          options=['--force-yes'])
def install_cassandra(options):
    """Install Cassandra.

    Args:
      options: ArgumentParserNamespace options.
    """
    if not options.cassandra:
        print '--nocassandra skipping Casssandra install.'
        return

    print 'Installing Cassandra...'
    check_options(options)
    preferred_version = None
    if not options.package_manager:
        root = 'https://archive.apache.org/dist/cassandra/debian/pool/main/c'
        try:
            os.mkdir('downloads')
        except OSError:
            pass

        preferred_version = EXPLICIT_CASSANDRA_VERSION
        cassandra = 'cassandra_{ver}_all.deb'.format(ver=preferred_version)
        tools = 'cassandra-tools_{ver}_all.deb'.format(ver=preferred_version)

        fetch_result = check_fetch('{root}/cassandra/{cassandra}'.format(
            root=root, cassandra=cassandra))

        with open('downloads/{cassandra}'.format(cassandra=cassandra),
                  'w') as f:
            f.write(fetch_result.content)

        fetch_result = check_fetch('{root}/cassandra/{tools}'.format(
            root=root, tools=tools))
        with open('downloads/{tools}'.format(tools=tools), 'w') as f:
            f.write(fetch_result.content)

        check_run_and_monitor('sudo dpkg -i downloads/' + cassandra, echo=True)
        check_run_and_monitor('sudo dpkg -i downloads/' + tools, echo=True)
    else:
        check_run_and_monitor(
            'sudo add-apt-repository -s'
            ' "deb http://www.apache.org/dist/cassandra/debian 21x main"',
            echo=True)

    check_run_and_monitor('sudo apt-get -q -y update', echo=True)
    check_install_package('cassandra',
                          version=preferred_version,
                          options=['--force-yes'])
def install_nvm(options):
  print '---------- Installing NVM ---------'
  check_run_quick('sudo chmod 775 /usr/local')
  check_run_quick('sudo mkdir -m 777 -p /usr/local/node /usr/local/nvm')

  result = check_fetch(
    'https://raw.githubusercontent.com/creationix/nvm/{nvm_version}/install.sh'
    .format(nvm_version=NVM_VERSION))

  fd, temp = tempfile.mkstemp()
  os.write(fd, result.content)
  os.close(fd)

  try:
    run_and_monitor(
        'bash -c "NVM_DIR=/usr/local/nvm source {temp}"'.format(temp=temp))
  finally:
    os.remove(temp)

#  curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.0/install.sh | NVM_DIR=/usr/local/nvm bash


  check_run_and_monitor('sudo bash -c "cat > /etc/profile.d/nvm.sh"',
                        input=__NVM_SCRIPT)

  print '---------- Installing Node {version} ---------'.format(
    version=NODE_VERSION)

  run_and_monitor('bash -c "source /etc/profile.d/nvm.sh'
                  '; nvm install {version}'
                  '; nvm alias default {version}"'
                  .format(version=NODE_VERSION))
Example #6
0
def populate_google_yml(content):
    credentials = {'project': '', 'jsonPath': ''}
    google_dict = {
        'enabled': False,
        'defaultRegion': 'us-central1',
        'defaultZone': 'us-central1-f',
    }

    google_dict['primaryCredentials'] = credentials
    front50_dict = {}
    if is_google_instance():
        zone = os.path.basename(
            check_fetch(GOOGLE_INSTANCE_METADATA_URL + '/zone',
                        google=True).content)
        google_dict['enabled'] = 'true'
        google_dict['defaultRegion'] = zone[:-2]
        google_dict['defaultZone'] = zone
        credentials['project'] = check_fetch(GOOGLE_METADATA_URL +
                                             '/project/project-id',
                                             google=True).content
        front50_dict['storage_bucket'] = '${{{env}:{default}}}'.format(
            env='SPINNAKER_DEFAULT_STORAGE_BUCKET',
            default=credentials['project'].replace(':', '-').replace('.', '-'))

    bindings = YamlBindings()
    bindings.import_dict({'providers': {'google': google_dict}})
    bindings.import_dict({'services': {'front50': front50_dict}})
    content = bindings.transform_yaml_source(content,
                                             'providers.google.enabled')
    content = bindings.transform_yaml_source(content,
                                             'providers.google.defaultRegion')
    content = bindings.transform_yaml_source(content,
                                             'providers.google.defaultZone')
    content = bindings.transform_yaml_source(
        content, 'providers.google.primaryCredentials.project')
    content = bindings.transform_yaml_source(
        content, 'providers.google.primaryCredentials.jsonPath')
    content = bindings.transform_yaml_source(
        content, 'services.front50.storage_bucket')

    return content
Example #7
0
def populate_google_yml(content):
  credentials = {'project': '', 'jsonPath': ''}
  google_dict = {'enabled': False,
                 'defaultRegion': 'us-central1',
                 'defaultZone': 'us-central1-f',}

  google_dict['primaryCredentials'] = credentials
  front50_dict = {}
  if is_google_instance():
      zone = os.path.basename(
           check_fetch(GOOGLE_INSTANCE_METADATA_URL + '/zone',
                       google=True).content)
      google_dict['enabled'] = 'true'
      google_dict['defaultRegion'] = zone[:-2]
      google_dict['defaultZone'] = zone
      credentials['project'] = check_fetch(
            GOOGLE_METADATA_URL + '/project/project-id', google=True).content
      front50_dict['storage_bucket'] = '${{{env}:{default}}}'.format(
          env='SPINNAKER_DEFAULT_STORAGE_BUCKET',
          default=credentials['project'].replace(':', '-').replace('.', '-'))

  bindings = YamlBindings()
  bindings.import_dict({'providers': {'google': google_dict}})
  bindings.import_dict({'services': {'front50': front50_dict}})
  content = bindings.transform_yaml_source(content, 'providers.google.enabled')
  content = bindings.transform_yaml_source(
      content, 'providers.google.defaultRegion')
  content = bindings.transform_yaml_source(
      content, 'providers.google.defaultZone')
  content = bindings.transform_yaml_source(
      content, 'providers.google.primaryCredentials.project')
  content = bindings.transform_yaml_source(
      content, 'providers.google.primaryCredentials.jsonPath')
  content = bindings.transform_yaml_source(
      content, 'services.front50.storage_bucket')

  return content
Example #8
0
def populate_aws_yml(content):
  aws_dict = {'enabled': False}
  if is_aws_instance():
      zone = (check_fetch(AWS_METADATA_URL + '/placement/availability-zone')
              .content)
      aws_dict['enabled'] = 'true'
      aws_dict['defaultRegion'] = zone[:-1]
  elif os.path.exists(os.path.join(os.environ['HOME'], '.aws/credentials')):
      aws_dict['enabled'] = 'true'
      aws_dict['defaultRegion'] = 'us-east-1'

  bindings = YamlBindings()
  bindings.import_dict({'providers': {'aws': aws_dict}})
  content = bindings.transform_yaml_source(content, 'providers.aws.enabled')
  content = bindings.transform_yaml_source(content,
                                           'providers.aws.defaultRegion')

  return content
Example #9
0
def populate_aws_yml(content):
    aws_dict = {'enabled': False}
    if is_aws_instance():
        zone = (check_fetch(AWS_METADATA_URL +
                            '/placement/availability-zone').content)
        aws_dict['enabled'] = 'true'
        aws_dict['defaultRegion'] = zone[:-1]
    elif os.path.exists(os.path.join(os.environ['HOME'], '.aws/credentials')):
        aws_dict['enabled'] = 'true'
        aws_dict['defaultRegion'] = 'us-east-1'

    bindings = YamlBindings()
    bindings.import_dict({'providers': {'aws': aws_dict}})
    content = bindings.transform_yaml_source(content, 'providers.aws.enabled')
    content = bindings.transform_yaml_source(content,
                                             'providers.aws.defaultRegion')

    return content