Example #1
0
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an 'AS IS' BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
"""
This scripts automates deployment of ws2kafka application
(creates required service instances, pushes to TAP instance).
"""

from app_deployment_helpers import cf_cli
from app_deployment_helpers import cf_helpers

APP_NAME = "ws2kafka"

PARSER = cf_helpers.get_parser(APP_NAME)

ARGS = PARSER.parse_args()

CF_INFO = cf_helpers.get_info(ARGS)
cf_cli.login(CF_INFO)

cf_cli.create_service('kafka', 'shared', 'kafka-inst')

PROJECT_DIR = ARGS.project_dir if ARGS.project_dir else \
    cf_helpers.get_project_dir()

cf_helpers.push(work_dir=PROJECT_DIR, options=ARGS.app_name)
PARSER = cf_helpers.get_parser("gearpump-app")
PARSER.add_argument('-n',
                    '--gearpump_instance',
                    type=str,
                    required=True,
                    help='Name of Gearpump instance to be created')
ARGS = PARSER.parse_args()

CF_INFO = cf_helpers.get_info(ARGS)
cf_cli.login(CF_INFO)

logging.info("Creating Gearpump service instance")
cf_cli.create_service('gearpump', '1 worker', ARGS.gearpump_instance)

logging.info("Preparing package")
PROJECT_DIR = cf_helpers.get_project_dir()
cf_helpers.prepare_package(work_dir=PROJECT_DIR)

logging.info('Getting Gearpump service credentials')

SERVICE_CREDENTIALS = \
    cf_api.get_temporary_key_data(ARGS.gearpump_instance)['entity']['credentials']
GEARPUMP_DASHBOARD_URL = SERVICE_CREDENTIALS['dashboardUrl']
USERNAME = SERVICE_CREDENTIALS['username']
PASSWORD = SERVICE_CREDENTIALS['password']

GEARPUMP_JAR_PATH = '../target/' + gearpump_helpers.get_jar_file_name()

#getting login cookie for authorizing deploy request
logging.info("Authenticating to Gearpump instance")
gearpump_helpers.gearpump_login(GEARPUMP_DASHBOARD_URL, USERNAME, PASSWORD)
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an 'AS IS' BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

"""
This scripts automates deployment of kafka-admin-api application
(creates required service instances).
"""

from app_deployment_helpers import cf_cli
from app_deployment_helpers import cf_helpers

APP_NAME = "kafka-admin-api"

PARSER = cf_helpers.get_parser(APP_NAME)
ARGS = PARSER.parse_args()

CF_INFO = cf_helpers.get_info(ARGS)
cf_cli.login(CF_INFO)

cf_cli.create_service('kafka', 'shared', 'kafka-instance')

PROJECT_DIR = ARGS.project_dir if ARGS.project_dir else \
    cf_helpers.get_project_dir()
cf_helpers.prepare_package(work_dir=PROJECT_DIR)
cf_helpers.push(work_dir=PROJECT_DIR, options="{0} -n {0} --no-start".format(ARGS.app_name))

cf_cli.start(APP_NAME)
from app_deployment_helpers import cf_helpers

logging.basicConfig(level=logging.INFO)
LOGGER = logging.getLogger(__name__)

ARGS = cf_helpers.parse_args("dataset-reader-sample")
CF_INFO = cf_helpers.get_info(ARGS)
cf_cli.login(CF_INFO)

LOGGER.info('Creating hdfs service instance...')
cf_cli.create_service('hdfs', 'shared', 'hdfs-instance')

LOGGER.info('Creating kerberos service instance...')
cf_cli.create_service('kerberos', 'shared', 'kerberos-service')

PROJECT_DIR = cf_helpers.get_project_dir()

LOGGER.info('Creating artifact package...')
cf_helpers.prepare_package(work_dir=PROJECT_DIR)

LOGGER.info('Pushing application to Cloud Foundry...')
cf_helpers.push(options="{0} -n {0} --no-start".format(ARGS.app_name), work_dir=PROJECT_DIR)

LOGGER.info('Binding hdfs-instance...')
cf_cli.bind_service(ARGS.app_name, 'hdfs-instance')

LOGGER.info('Binding kerberos-service...')
cf_cli.bind_service(ARGS.app_name, 'kerberos-service')

LOGGER.info('Uploading dataset to HDFS...')
LOCAL_DATASET_PATH = "data/nf-data-application.csv"