Skip to content

Commit 041ba27

Browse files
korydraughnalanking
authored andcommitted
[#232] Add support for unattended install
1 parent 8a44164 commit 041ba27

File tree

10 files changed

+537
-29
lines changed

10 files changed

+537
-29
lines changed

cli.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,12 @@ def add_irods_test_args(parser):
131131
action='store_false', dest='do_setup',
132132
help='If indicated, the iRODS servers will not be set up.')
133133

134+
parser.add_argument('--use-unattended-install',
135+
action='store_true', dest='do_unattended_install',
136+
help='''\
137+
If indicated, the iRODS servers will be set up using \
138+
unattended installation.''')
139+
134140

135141
def add_database_config_args(parser):
136142
'''Add argparse options related to setting up and configuring iRODS.

federate.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,12 @@
6060
Indicates that TLS should be configured and enabled in each Zone.\
6161
'''))
6262

63+
parser.add_argument('--use-unattended-install',
64+
action='store_true', dest='do_unattended_install',
65+
help='''\
66+
If indicated, the iRODS servers will be set up using \
67+
unattended installation.''')
68+
6369
args = parser.parse_args()
6470

6571
if not args.package_version and not args.install_packages:
@@ -109,7 +115,10 @@
109115
package_directory=args.package_directory,
110116
package_version=args.package_version)
111117

112-
irods_setup.setup_irods_zones(ctx, zone_info_list, odbc_driver=args.odbc_driver)
118+
irods_setup.setup_irods_zones(ctx,
119+
zone_info_list,
120+
odbc_driver=args.odbc_driver,
121+
do_unattended_install=args.do_unattended_install)
113122

114123
if args.use_tls:
115124
tls_setup.configure_tls_in_zone(ctx.docker_client, ctx.compose_project)

irods_testing_environment/irods_setup.py

Lines changed: 496 additions & 17 deletions
Large diffs are not rendered by default.

irods_testing_environment/services.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ def create_topologies(ctx,
1515
odbc_driver=None,
1616
zone_name='tempZone',
1717
consumer_count=0,
18-
install_packages=True):
18+
install_packages=True,
19+
**kwargs):
1920
"""Create several generic topologies of iRODS servers with the given inputs.
2021
2122
This is a convenience function for standing up multiple, identical iRODS Zones with the
@@ -50,7 +51,7 @@ def create_topologies(ctx,
5051
# This should generate a list of identical zone infos
5152
zone_info_list = irods_setup.get_info_for_zones(ctx, zone_names, consumer_count)
5253

53-
irods_setup.setup_irods_zones(ctx, zone_info_list, odbc_driver=odbc_driver)
54+
irods_setup.setup_irods_zones(ctx, zone_info_list, odbc_driver=odbc_driver, **kwargs)
5455

5556

5657
def create_topology(ctx,
@@ -59,7 +60,8 @@ def create_topology(ctx,
5960
package_version=None,
6061
odbc_driver=None,
6162
consumer_count=0,
62-
install_packages=True):
63+
install_packages=True,
64+
**kwargs):
6365
"""Create a generic topology of iRODS servers with the given inputs.
6466
6567
This is a convenience function for standing up an iRODS Zone with the default
@@ -81,7 +83,8 @@ def create_topology(ctx,
8183
package_version=package_version,
8284
odbc_driver=odbc_driver,
8385
consumer_count=consumer_count,
84-
install_packages=install_packages)
86+
install_packages=install_packages,
87+
**kwargs)
8588

8689

8790
def clone_repository_to_container(container,

run_core_tests.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@
8383
package_version=args.package_version,
8484
odbc_driver=args.odbc_driver,
8585
consumer_count=consumer_count,
86-
install_packages=args.install_packages)
86+
install_packages=args.install_packages,
87+
do_unattended_install=args.do_unattended_install)
8788

8889
# Configure the containers for running iRODS automated tests
8990
logging.info('configuring iRODS containers for testing')

run_federation_tests.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@
103103
odbc_driver=args.odbc_driver,
104104
zone_name=z.zone_name,
105105
zone_key=z.zone_key,
106-
negotiation_key=z.negotiation_key)
106+
negotiation_key=z.negotiation_key,
107+
do_unattended_install=args.do_unattended_install)
107108

108109
federate.form_federation_clique(ctx, zone_info_list)
109110

run_plugin_tests.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@
8181
package_version=args.package_version,
8282
odbc_driver=args.odbc_driver,
8383
consumer_count=consumer_count,
84-
install_packages=args.install_packages)
84+
install_packages=args.install_packages,
85+
do_unattended_install=args.do_unattended_install)
8586

8687
# Configure the containers for running iRODS automated tests
8788
logging.info('configuring iRODS containers for testing')

run_topology_tests.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
from irods_testing_environment import execute
1111
from irods_testing_environment import install
1212
from irods_testing_environment import irods_config
13-
from irods_testing_environment import irods_setup
1413
from irods_testing_environment import services
1514
from irods_testing_environment import tls_setup
1615
from irods_testing_environment import test_utils
@@ -95,7 +94,8 @@
9594
package_version=args.package_version,
9695
odbc_driver=args.odbc_driver,
9796
consumer_count=consumer_count,
98-
install_packages=args.install_packages)
97+
install_packages=args.install_packages,
98+
do_unattended_install=args.do_unattended_install)
9999

100100
# Configure the containers for running iRODS automated tests
101101
logging.info('configuring iRODS containers for testing')

run_unit_tests.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@
7575
package_version=args.package_version,
7676
odbc_driver=args.odbc_driver,
7777
consumer_count=consumer_count,
78-
install_packages=args.install_packages)
78+
install_packages=args.install_packages,
79+
do_unattended_install=args.do_unattended_install)
7980

8081
# Configure the containers for running iRODS automated tests
8182
logging.info('configuring iRODS containers for testing')

stand_it_up.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,12 @@
3535
Indicates that TLS should be configured and enabled in the Zone.\
3636
'''))
3737

38+
parser.add_argument('--use-unattended-install',
39+
action='store_true', dest='do_unattended_install',
40+
help='''\
41+
If indicated, the iRODS servers will be set up using \
42+
unattended installation.''')
43+
3844
args = parser.parse_args()
3945

4046
if not args.package_version and not args.install_packages:
@@ -69,7 +75,8 @@
6975
package_version=args.package_version,
7076
odbc_driver=args.odbc_driver,
7177
consumer_count=args.consumer_count,
72-
install_packages=args.install_packages)
78+
install_packages=args.install_packages,
79+
do_unattended_install=args.do_unattended_install)
7380

7481
if args.use_tls:
7582
tls_setup.configure_tls_in_zone(ctx.docker_client, ctx.compose_project)

0 commit comments

Comments
 (0)