test: fix packaging tests to work with the latest version of DC/OS (#998)

This commit is contained in:
Jesus E. Larios Murillo 2017-05-22 11:38:03 -07:00 committed by tamarrow
parent c5dee798ba
commit 8c8dcc0019
6 changed files with 12 additions and 60 deletions

View File

@ -26,7 +26,7 @@
"containerPort": 80
}
],
"image": "mesosphere/universe-server:20170331T221320Z-cli-test-v3-helloworld-c3e49742c9",
"image": "mesosphere/universe-server:20170518T235510Z-cli-test-v3-helloworld-ca5778937b",
"network": "BRIDGE"
},
"type": "DOCKER"

View File

@ -32,11 +32,8 @@
"instances": 1,
"labels": {
"DCOS_PACKAGE_FRAMEWORK_NAME": "marathon-user",
"DCOS_PACKAGE_IS_FRAMEWORK": "true",
"DCOS_PACKAGE_METADATA": "eyJwYWNrYWdpbmdWZXJzaW9uIjoiMy4wIiwibmFtZSI6Im1hcmF0aG9uIiwidmVyc2lvbiI6IjEuNC4xIiwibWFpbnRhaW5lciI6InN1cHBvcnRAbWVzb3NwaGVyZS5pbyIsImRlc2NyaXB0aW9uIjoiQSBjb250YWluZXIgb3JjaGVzdHJhdGlvbiBwbGF0Zm9ybSBmb3IgTWVzb3MgYW5kIERDT1MuIiwidGFncyI6WyJpbml0IiwibG9uZy1ydW5uaW5nIl0sInNlbGVjdGVkIjp0cnVlLCJzY20iOiJodHRwczovL2dpdGh1Yi5jb20vbWVzb3NwaGVyZS9tYXJhdGhvbi5naXQiLCJmcmFtZXdvcmsiOnRydWUsInByZUluc3RhbGxOb3RlcyI6IldlIHJlY29tbWVuZCBhIG1pbmltdW0gb2Ygb25lIG5vZGUgd2l0aCBhdCBsZWFzdCAyIENQVSBzaGFyZXMgYW5kIDFHQiBvZiBSQU0gYXZhaWxhYmxlIGZvciB0aGUgTWFyYXRob24gRENPUyBTZXJ2aWNlLiIsInBvc3RJbnN0YWxsTm90ZXMiOiJNYXJhdGhvbiBEQ09TIFNlcnZpY2UgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCFcblxuXHREb2N1bWVudGF0aW9uOiBodHRwczovL21lc29zcGhlcmUuZ2l0aHViLmlvL21hcmF0aG9uXG5cdElzc3VlczogaHR0cHM6Ly9naXRodWIuY29tL21lc29zcGhlcmUvbWFyYXRob24vaXNzdWVzXG4iLCJwb3N0VW5pbnN0YWxsTm90ZXMiOiJUaGUgTWFyYXRob24gRENPUyBTZXJ2aWNlIGhhcyBiZWVuIHVuaW5zdGFsbGVkIGFuZCB3aWxsIG5vIGxvbmdlciBydW4uXG5QbGVhc2UgZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgYXQgaHR0cDovL2RvY3MubWVzb3NwaGVyZS5jb20vc2VydmljZXMvbWFyYXRob24vI3VuaW5zdGFsbCB0byBjbGVhbiB1cCBhbnkgcGVyc2lzdGVkIHN0YXRlIiwibGljZW5zZXMiOlt7Im5hbWUiOiJBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvc3BoZXJlL21hcmF0aG9uL2Jsb2IvbWFzdGVyL0xJQ0VOU0UifV0sImltYWdlcyI6eyJpY29uLXNtYWxsIjoiaHR0cHM6Ly9kb3dubG9hZHMubWVzb3NwaGVyZS5jb20vbWFyYXRob24vYXNzZXRzL2ljb24tc2VydmljZS1tYXJhdGhvbi1zbWFsbC5wbmciLCJpY29uLW1lZGl1bSI6Imh0dHBzOi8vZG93bmxvYWRzLm1lc29zcGhlcmUuY29tL21hcmF0aG9uL2Fzc2V0cy9pY29uLXNlcnZpY2UtbWFyYXRob24tbWVkaXVtLnBuZyIsImljb24tbGFyZ2UiOiJodHRwczovL2Rvd25sb2Fkcy5tZXNvc3BoZXJlLmNvbS9tYXJhdGhvbi9hc3NldHMvaWNvbi1zZXJ2aWNlLW1hcmF0aG9uLWxhcmdlLnBuZyJ9fQ==",
"DCOS_PACKAGE_NAME": "marathon",
"DCOS_PACKAGE_REGISTRY_VERSION": "3.0",
"DCOS_PACKAGE_RELEASE": "8",
"DCOS_PACKAGE_SOURCE": "http://universe.marathon.mesos:8085/repo",
"DCOS_PACKAGE_VERSION": "1.4.1",
"DCOS_SERVICE_NAME": "marathon-user",

View File

@ -32,11 +32,8 @@
"instances": 1,
"labels": {
"DCOS_PACKAGE_FRAMEWORK_NAME": "marathon-user",
"DCOS_PACKAGE_IS_FRAMEWORK": "true",
"DCOS_PACKAGE_METADATA": "eyJwYWNrYWdpbmdWZXJzaW9uIjoiMy4wIiwibmFtZSI6Im1hcmF0aG9uIiwidmVyc2lvbiI6IjEuNC4xIiwibWFpbnRhaW5lciI6InN1cHBvcnRAbWVzb3NwaGVyZS5pbyIsImRlc2NyaXB0aW9uIjoiQSBjb250YWluZXIgb3JjaGVzdHJhdGlvbiBwbGF0Zm9ybSBmb3IgTWVzb3MgYW5kIERDT1MuIiwidGFncyI6WyJpbml0IiwibG9uZy1ydW5uaW5nIl0sInNlbGVjdGVkIjp0cnVlLCJzY20iOiJodHRwczovL2dpdGh1Yi5jb20vbWVzb3NwaGVyZS9tYXJhdGhvbi5naXQiLCJmcmFtZXdvcmsiOnRydWUsInByZUluc3RhbGxOb3RlcyI6IldlIHJlY29tbWVuZCBhIG1pbmltdW0gb2Ygb25lIG5vZGUgd2l0aCBhdCBsZWFzdCAyIENQVSBzaGFyZXMgYW5kIDFHQiBvZiBSQU0gYXZhaWxhYmxlIGZvciB0aGUgTWFyYXRob24gRENPUyBTZXJ2aWNlLiIsInBvc3RJbnN0YWxsTm90ZXMiOiJNYXJhdGhvbiBEQ09TIFNlcnZpY2UgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCFcblxuXHREb2N1bWVudGF0aW9uOiBodHRwczovL21lc29zcGhlcmUuZ2l0aHViLmlvL21hcmF0aG9uXG5cdElzc3VlczogaHR0cHM6Ly9naXRodWIuY29tL21lc29zcGhlcmUvbWFyYXRob24vaXNzdWVzXG4iLCJwb3N0VW5pbnN0YWxsTm90ZXMiOiJUaGUgTWFyYXRob24gRENPUyBTZXJ2aWNlIGhhcyBiZWVuIHVuaW5zdGFsbGVkIGFuZCB3aWxsIG5vIGxvbmdlciBydW4uXG5QbGVhc2UgZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgYXQgaHR0cDovL2RvY3MubWVzb3NwaGVyZS5jb20vc2VydmljZXMvbWFyYXRob24vI3VuaW5zdGFsbCB0byBjbGVhbiB1cCBhbnkgcGVyc2lzdGVkIHN0YXRlIiwibGljZW5zZXMiOlt7Im5hbWUiOiJBcGFjaGUgTGljZW5zZSBWZXJzaW9uIDIuMCIsInVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9tZXNvc3BoZXJlL21hcmF0aG9uL2Jsb2IvbWFzdGVyL0xJQ0VOU0UifV0sImltYWdlcyI6eyJpY29uLXNtYWxsIjoiaHR0cHM6Ly9kb3dubG9hZHMubWVzb3NwaGVyZS5jb20vbWFyYXRob24vYXNzZXRzL2ljb24tc2VydmljZS1tYXJhdGhvbi1zbWFsbC5wbmciLCJpY29uLW1lZGl1bSI6Imh0dHBzOi8vZG93bmxvYWRzLm1lc29zcGhlcmUuY29tL21hcmF0aG9uL2Fzc2V0cy9pY29uLXNlcnZpY2UtbWFyYXRob24tbWVkaXVtLnBuZyIsImljb24tbGFyZ2UiOiJodHRwczovL2Rvd25sb2Fkcy5tZXNvc3BoZXJlLmNvbS9tYXJhdGhvbi9hc3NldHMvaWNvbi1zZXJ2aWNlLW1hcmF0aG9uLWxhcmdlLnBuZyJ9fQ==",
"DCOS_PACKAGE_NAME": "marathon",
"DCOS_PACKAGE_REGISTRY_VERSION": "3.0",
"DCOS_PACKAGE_RELEASE": "8",
"DCOS_PACKAGE_SOURCE": "http://universe.marathon.mesos:8085/repo",
"DCOS_PACKAGE_VERSION": "1.4.1",
"DCOS_SERVICE_NAME": "marathon-user",

View File

@ -26,7 +26,7 @@
"containerPort": 80
}
],
"image": "mesosphere/universe-server:20170326T170201Z-version-3.x-34bf4c095b",
"image": "mesosphere/universe-server:20170519T000904Z-cli-version-3.x-snapshot-3a8823b60e",
"network": "BRIDGE"
},
"type": "DOCKER"

View File

@ -203,7 +203,6 @@ def test_service_start_happy_path():
runnable_package = _package_build(
runnable_package_path(2), output_directory)
name, version = _package_add(runnable_package)
_wait_for_package_add_local(runnable_package)
try:
_service_start(name, version)
finally:
@ -215,7 +214,6 @@ def test_service_start_happy_path_json():
runnable_package = _package_build(
runnable_package_path(3), output_directory)
name, version = _package_add(runnable_package, expects_json=True)
_wait_for_package_add_local(runnable_package)
try:
_service_start(name, version, expects_json=True)
finally:
@ -225,7 +223,6 @@ def test_service_start_happy_path_json():
def test_service_start_happy_path_from_universe():
package_name = 'linkerd'
name, version = _package_add_universe(package_name)
_wait_for_package_add_remote(name, version)
try:
_service_start(name, version)
finally:
@ -235,7 +232,6 @@ def test_service_start_happy_path_from_universe():
def test_service_start_happy_path_from_universe_json():
package_name = 'cassandra'
name, version = _package_add_universe(package_name, expects_json=True)
_wait_for_package_add_remote(name, version)
try:
_service_start(name, version)
finally:
@ -244,7 +240,6 @@ def test_service_start_happy_path_from_universe_json():
def test_service_start_by_starting_same_service_twice():
name, version = _package_add_universe('kafka')
_wait_for_package_add_remote(name, version)
try:
_service_start(name, version)
stderr = b'The DC/OS service has already been started\n'
@ -325,7 +320,16 @@ def _service_start(package_name,
package_version,
options,
json=expects_json)
code, out, err = exec_command(command)
code = 1
max_retries = 10
retry_number = 0
while code != 0:
code, out, err = exec_command(command)
assert retry_number != max_retries, \
'Waiting for package add to complete took too long'
retry_number += 1
time.sleep(5)
assert code == 0
assert err == b''
@ -460,40 +464,6 @@ def _package_build_failure(build_definition_path,
assert len(os.listdir(output_directory)) == 0
def _wait_for_package_add_remote(package_name, package_version):
command = _package_add_cmd(package_name=package_name,
package_version=package_version)
_wait_for_package_add(command, package_name, package_version)
def _wait_for_package_add_local(package):
command = _package_add_cmd(dcos_package=package)
metadata = zip_contents_as_json(package, 'metadata.json')
name = metadata['name']
version = metadata['version']
_wait_for_package_add(command, name, version)
def _wait_for_package_add(command, name, version):
done_adding = False
max_retries = 10
retry_number = 0
while not done_adding:
code, out, err = exec_command(command)
change_in_progress_message = (
'A change to package '
'{}-{} is already in progress\n'.format(
name, version).encode())
done_adding = code == 0
assert (done_adding or
(code == 1 and
err == change_in_progress_message))
assert retry_number != max_retries, \
'Waiting for package add to complete took too long'
retry_number += 1
time.sleep(5)
def _successful_package_build_test(
build_definition_path,
expected_package_path=os.path.join(

View File

@ -417,25 +417,15 @@ def test_package_metadata():
'postInstallNotes': 'A sample post-installation message'
}
expected_command = {
'pip': [
'dcos<1.0',
'git+https://github.com/mesosphere/' +
'dcos-helloworld.git#dcos-helloworld=0.1.0'
]
}
expected_source = bytes(
UNIVERSE_TEST_REPOS['helloworld-universe'],
'utf-8'
)
expected_labels = {
'DCOS_PACKAGE_REGISTRY_VERSION': b'3.0',
'DCOS_PACKAGE_NAME': b'helloworld',
'DCOS_PACKAGE_VERSION': b'0.1.0',
'DCOS_PACKAGE_SOURCE': expected_source,
'DCOS_PACKAGE_RELEASE': b'0',
}
app_labels = _get_app_labels('helloworld')
@ -444,8 +434,6 @@ def test_package_metadata():
assert expected_metadata == base64_to_dict(six.b(
app_labels.get('DCOS_PACKAGE_METADATA')))
assert expected_command == base64_to_dict(six.b(
app_labels.get('DCOS_PACKAGE_COMMAND')))
# test local package.json
package = {