def configure_package(configure_security): test_jobs = [] try: test_jobs = config.get_all_jobs() # destroy any leftover jobs first, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.remove_job(job) sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) sdk_install.install( config.PACKAGE_NAME, config.SERVICE_NAME, config.DEFAULT_TASK_COUNT, additional_options=sdk_networks.ENABLE_VIRTUAL_NETWORKS_OPTIONS) tmp_dir = tempfile.mkdtemp(prefix='cassandra-test') for job in test_jobs: sdk_jobs.install_job(job, tmp_dir=tmp_dir) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security): test_jobs = [] try: test_jobs = config.get_all_jobs( node_address=config.get_foldered_node_address()) # destroy any leftover jobs first, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.remove_job(job) sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) sdk_upgrade.test_upgrade(config.PACKAGE_NAME, config.get_foldered_service_name(), config.DEFAULT_TASK_COUNT, additional_options={ "service": { "name": config.get_foldered_service_name() } }) tmp_dir = tempfile.mkdtemp(prefix='cassandra-test') for job in test_jobs: sdk_jobs.install_job(job, tmp_dir=tmp_dir) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security): test_jobs = [] try: test_jobs = config.get_all_jobs( node_address=config.get_foldered_node_address()) # destroy/reinstall any prior leftover jobs, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.install_job(job) sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) sdk_upgrade.test_upgrade(config.PACKAGE_NAME, config.get_foldered_service_name(), config.DEFAULT_TASK_COUNT, additional_options={ "service": { "name": config.get_foldered_service_name() } }) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security): test_jobs = [] try: test_jobs = config.get_all_jobs( node_address=config.get_foldered_node_address()) sdk_install.uninstall(config.get_foldered_service_name(), package_name=config.PACKAGE_NAME) # user=root because Azure CLI needs to run in root... sdk_install.install(config.PACKAGE_NAME, config.DEFAULT_TASK_COUNT, service_name=config.get_foldered_service_name(), additional_options={ "service": { "name": config.get_foldered_service_name(), "user": "******" } }) tmp_dir = tempfile.mkdtemp(prefix='cassandra-test') for job in test_jobs: sdk_jobs.install_job(job, tmp_dir=tmp_dir) yield # let the test session execute finally: sdk_install.uninstall(config.get_foldered_service_name(), package_name=config.PACKAGE_NAME) # remove job definitions from metronome for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security): test_jobs = [] try: test_jobs = config.get_all_jobs() # destroy any leftover jobs first, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.remove_job(job) sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) sdk_install.install( config.PACKAGE_NAME, config.SERVICE_NAME, config.DEFAULT_TASK_COUNT, additional_options=sdk_networks.ENABLE_VIRTUAL_NETWORKS_OPTIONS) tmp_dir = tempfile.mkdtemp(prefix='cassandra-test') for job in test_jobs: sdk_jobs.install_job(job, tmp_dir=tmp_dir) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) for job in test_jobs: sdk_jobs.remove_job(job)
def test_backup_and_restore_to_s3_with_jmx_with_auth(): key_id = os.getenv("AWS_ACCESS_KEY_ID") if not key_id: assert ( False ), 'AWS credentials are required for this test. Disable test with e.g. TEST_TYPES="sanity and not aws"' plan_parameters = { "AWS_ACCESS_KEY_ID": key_id, "AWS_SECRET_ACCESS_KEY": os.getenv("AWS_SECRET_ACCESS_KEY"), "AWS_REGION": os.getenv("AWS_REGION", "us-west-2"), "S3_BUCKET_NAME": os.getenv("AWS_BUCKET_NAME", "infinity-framework-test"), "SNAPSHOT_NAME": str(uuid.uuid1()), "CASSANDRA_KEYSPACES": '"testspace1 testspace2"', } config.run_backup_and_restore_with_auth( config.get_foldered_service_name(), "backup-s3", "restore-s3", plan_parameters, config.get_foldered_node_address(), ) sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) test_jobs: List[Dict[str, Any]] = [] test_jobs = config.get_all_jobs( node_address=config.get_foldered_node_address(), auth=True) for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security): test_jobs = [] try: test_jobs = config.get_all_jobs(node_address=config.get_foldered_node_address()) # destroy/reinstall any prior leftover jobs, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.install_job(job) sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) # user=root because Azure CLI needs to run in root... # We don't run the Azure tests in strict however, so don't set it then. if os.environ.get("SECURITY") == "strict": additional_options={"service": { "name": config.get_foldered_service_name() } } else: additional_options={"service": { "name": config.get_foldered_service_name(), "user": "******" } } sdk_install.install( config.PACKAGE_NAME, config.get_foldered_service_name(), config.DEFAULT_TASK_COUNT, additional_options=additional_options) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) # remove job definitions from metronome for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security: None) -> Iterator[None]: test_jobs: List[Dict[str, Any]] = [] try: test_jobs = config.get_all_jobs(node_address=config.get_foldered_node_address()) # destroy/reinstall any prior leftover jobs, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.install_job(job) sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) # user=root because Azure CLI needs to run in root... # We don't run the Azure tests in strict however, so don't set it then. if os.environ.get("SECURITY") == "strict": additional_options = {"service": {"name": config.get_foldered_service_name()}} else: additional_options = { "service": {"name": config.get_foldered_service_name(), "user": "******"} } sdk_install.install( config.PACKAGE_NAME, config.get_foldered_service_name(), config.DEFAULT_TASK_COUNT, additional_options=additional_options, ) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) # remove job definitions from metronome for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security): test_jobs = [] try: test_jobs = config.get_all_jobs( node_address=config.get_foldered_node_address()) sdk_install.uninstall(config.get_foldered_service_name(), package_name=config.PACKAGE_NAME) sdk_upgrade.test_upgrade( "beta-{}".format(config.PACKAGE_NAME), config.PACKAGE_NAME, config.DEFAULT_TASK_COUNT, service_name=config.get_foldered_service_name(), additional_options={ "service": { "name": config.get_foldered_service_name() } }) tmp_dir = tempfile.mkdtemp(prefix='cassandra-test') for job in test_jobs: sdk_jobs.install_job(job, tmp_dir=tmp_dir) yield # let the test session execute finally: sdk_install.uninstall(config.get_foldered_service_name(), package_name=config.PACKAGE_NAME) for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security: None) -> Iterator[None]: test_jobs: List[Dict[str, Any]] = [] try: test_jobs = config.get_all_jobs(auth=True) # destroy/reinstall any prior leftover jobs, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.install_job(job) create_secret( secret_value=config.SECRET_VALUE, secret_path=config.PACKAGE_NAME + '/' + config.SECRET_VALUE ) service_options = { "service": { "name": config.SERVICE_NAME, "security": {"authentication": {"enabled": True}, "authorization": {"enabled": True}}, } } sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) sdk_install.install( config.PACKAGE_NAME, config.SERVICE_NAME, config.DEFAULT_TASK_COUNT, additional_options=service_options, ) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) delete_secret(secret=config.PACKAGE_NAME + '/' + config.SECRET_VALUE) # remove job definitions from metronome for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security: None) -> Iterator[None]: test_jobs: List[Dict[str, Any]] = [] try: secret_path = config.PACKAGE_NAME + "/" + config.SECRET_VALUE test_jobs = config.get_all_jobs(auth=True) # destroy/reinstall any prior leftover jobs, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.install_job(job) create_secret(secret_value=config.SECRET_VALUE, secret_path=secret_path) # user=root because Azure CLI needs to run in root... # We don't run the Azure tests in strict however, so don't set it then. if os.environ.get("SECURITY") == "strict": service_options = { "service": { "name": config.SERVICE_NAME, "security": { "authentication": { "enabled": True, "superuser": {"password_secret_path": "cassandra/password"}, }, "authorization": {"enabled": True}, }, } } else: service_options = { "service": { "name": config.SERVICE_NAME, "user": "******", "security": { "authentication": { "enabled": True, "superuser": {"password_secret_path": "cassandra/password"}, }, "authorization": {"enabled": True}, }, } } sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) sdk_install.install( config.PACKAGE_NAME, config.SERVICE_NAME, config.DEFAULT_TASK_COUNT, additional_options=service_options, ) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) delete_secret(secret=secret_path) # remove job definitions from metronome for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security): test_jobs = [] try: test_jobs = config.get_all_jobs( node_address=config.get_foldered_node_address()) # destroy any leftover jobs first, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.remove_job(job) sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) # user=root because Azure CLI needs to run in root... # We don't run the Azure tests in strict however, so don't set it then. if os.environ.get("SECURITY") == "strict": additional_options = { "service": { "name": config.get_foldered_service_name() } } else: additional_options = { "service": { "name": config.get_foldered_service_name(), "user": "******" } } sdk_install.install(config.PACKAGE_NAME, config.get_foldered_service_name(), config.DEFAULT_TASK_COUNT, additional_options=additional_options) tmp_dir = tempfile.mkdtemp(prefix='cassandra-test') for job in test_jobs: sdk_jobs.install_job(job, tmp_dir=tmp_dir) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.get_foldered_service_name()) # remove job definitions from metronome for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security): test_jobs = [] try: test_jobs = config.get_all_jobs() sdk_install.uninstall(config.PACKAGE_NAME) sdk_install.install( config.PACKAGE_NAME, config.DEFAULT_TASK_COUNT, additional_options=sdk_networks.ENABLE_VIRTUAL_NETWORKS_OPTIONS) tmp_dir = tempfile.mkdtemp(prefix='cassandra-test') for job in test_jobs: sdk_jobs.install_job(job, tmp_dir=tmp_dir) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME) for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security): test_jobs = [] try: test_jobs = config.get_all_jobs() # destroy/reinstall any prior leftover jobs, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.install_job(job) sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) sdk_install.install( config.PACKAGE_NAME, config.SERVICE_NAME, config.DEFAULT_TASK_COUNT, additional_options=sdk_networks.ENABLE_VIRTUAL_NETWORKS_OPTIONS) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) for job in test_jobs: sdk_jobs.remove_job(job)
def configure_package(configure_security: None) -> Iterator[None]: test_jobs: List[Dict[str, Any]] = [] try: test_jobs = config.get_all_jobs() # destroy/reinstall any prior leftover jobs, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.install_job(job) sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) sdk_install.install( config.PACKAGE_NAME, config.SERVICE_NAME, config.DEFAULT_TASK_COUNT, additional_options=sdk_networks.ENABLE_VIRTUAL_NETWORKS_OPTIONS, ) yield # let the test session execute finally: sdk_install.uninstall(config.PACKAGE_NAME, config.SERVICE_NAME) for job in test_jobs: sdk_jobs.remove_job(job)
def install_jmx_configured_cassandra(self_signed_trust_store: bool = True, authentication: bool = True): foldered_name = config.get_foldered_service_name() test_jobs: List[Dict[str, Any]] = [] if authentication: test_jobs = config.get_all_jobs( node_address=config.get_foldered_node_address(), auth=True) else: test_jobs = config.get_all_jobs( node_address=config.get_foldered_node_address()) # destroy/reinstall any prior leftover jobs, so that they don't touch the newly installed service: for job in test_jobs: sdk_jobs.install_job(job) sdk_install.uninstall(config.PACKAGE_NAME, foldered_name) install_jmx_secrets() service_options = { "service": { "name": foldered_name, "jmx": { "enabled": True, "rmi_port": 31198, "password_file": PASSWORD_FILE, "access_file": ACCESS_FILE, "key_store": KEY_STORE, "key_store_password_file": KEY_STORE_PASS, }, } } if self_signed_trust_store: service_options = sdk_utils.merge_dictionaries( { "service": { "jmx": { "add_trust_store": True, "trust_store": TRUST_STORE, "trust_store_password_file": TRUST_STORE_PASS, } } }, service_options, ) if authentication: secret_path = foldered_name + "/" + config.SECRET_VALUE create_secret(secret_value=config.SECRET_VALUE, secret_path=secret_path) service_options = sdk_utils.merge_dictionaries( { "service": { "security": { "authentication": { "enabled": True, "superuser": { "password_secret_path": secret_path }, }, "authorization": { "enabled": True }, } } }, service_options, ) sdk_install.install( config.PACKAGE_NAME, foldered_name, config.DEFAULT_TASK_COUNT, additional_options=service_options, )