-
Notifications
You must be signed in to change notification settings - Fork 7
/
setup.py
133 lines (125 loc) · 4.46 KB
/
setup.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
from pathlib import Path
from setuptools import setup
def get_advanced_templates():
template_base = 'aws/templates/advanced/'
template_names = ['advanced-master', 'advanced-priv-agent', 'advanced-pub-agent', 'infra', 'zen']
return [template_base + name + '.json' for name in template_names]
# These files are expected source files to the dcos-builder docker.
# They need to match the contents of ./pkgpanda/docker/dcos-builder/*
# exactly otherwise the dcos-builder docker will have a different sha1
# checksum calculated during when the ./release script is run.
# That leads to cached packages hashes being different from what
# is cached in S3 and prevents us from building DC/OS locally.
expected_dcos_builder_files = [
Path('docker/dcos-builder/Dockerfile'),
Path('docker/dcos-builder/README.md'),
]
dcos_builder_files = [f.relative_to(Path("./pkgpanda")) for f in Path("./pkgpanda").glob('docker/**/*') if f.is_file()]
if set(expected_dcos_builder_files) != set(dcos_builder_files):
raise Exception('Expected ./pkgpanda/docker/dcos-builder to contain {} but it had {}'.format(
expected_dcos_builder_files, dcos_builder_files))
setup(
name='dcos_image',
version='0.1',
description='DC/OS cluster configuration, assembly, and maintenance code',
url='https://dcos.io',
author='Mesosphere, Inc.',
author_email='[email protected]',
license='apache2',
classifiers=[
'Development Status :: 3 - Alpha',
'License :: OSI Approved :: Apache Software License',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.6',
],
packages=[
'dcos_installer',
'gen',
'gen.build_deploy',
'pkgpanda',
'pkgpanda.build',
'pkgpanda.http',
'release',
'release.storage',
'ssh'],
install_requires=[
# DCOS-21656 - `botocore`` requires less than 2.7.0 while
# `analytics-python` package installs 2.7.0 version
'python-dateutil>=2.1,<2.7.0',
'aiohttp==0.22.5',
'analytics-python',
'coloredlogs',
'Flask',
'flask-compress',
'urllib3==1.24.1',
'chardet',
'PyJWT',
# Pins taken from 'azure==2.0.0rc4'
'msrest==0.4.17',
'msrestazure==0.4.15',
'azure-common==1.1.4',
'azure-storage==0.32.0',
'azure-mgmt-network==0.30.0rc4',
'azure-mgmt-resource==0.30.0rc4',
'botocore',
'boto3',
'checksumdir',
'coloredlogs',
'docopt',
'passlib',
'py',
'pytest',
'pyyaml',
'requests==2.20.1',
'retrying',
'schema',
'wheel==0.33.1',
'keyring==9.1', # FIXME: pin keyring to prevent dbus dep
'teamcity-messages'],
entry_points={
'console_scripts': [
'release=release:main',
'pkgpanda=pkgpanda.cli:main',
'mkpanda=pkgpanda.build.cli:main',
'dcos_installer=dcos_installer.cli:main',
],
},
package_data={
'gen': [
'ip-detect/aws.sh',
'ip-detect/aws6.sh',
'ip-detect/aws_public.sh',
'ip-detect/azure.sh',
'ip-detect/azure6.sh',
'ip-detect/vagrant.sh',
'ip-detect/vagrant6.sh',
'fault-domain-detect/cloud.sh',
'fault-domain-detect/aws.sh',
'fault-domain-detect/azure.sh',
'cloud-config.yaml',
'cloud-config-windows.yaml',
'dcos-config.yaml',
'dcos-config-windows.yaml',
'dcos-metadata.yaml',
'dcos-services.yaml',
'dcos-services-windows.yaml',
'aws/dcos-config.yaml',
'aws/templates/aws.html',
'aws/templates/cloudformation.json',
'azure/cloud-config.yaml',
'azure/cloud-config-windows.yaml',
'azure/azuredeploy-parameters.json',
'azure/templates/acs.json',
'azure/templates/azure.html',
'azure/templates/azuredeploy.json',
'build_deploy/bash/dcos_generate_config.sh.in',
'build_deploy/bash/Dockerfile.in',
'build_deploy/bash/installer_internal_wrapper.in',
'build_deploy/bash/dcos-launch.spec',
'coreos-aws/cloud-config.yaml',
'coreos/cloud-config.yaml'
] + get_advanced_templates(),
'pkgpanda': [str(f) for f in expected_dcos_builder_files],
},
zip_safe=False
)