Closed
Bug 985607
Opened 10 years ago
Closed 10 years ago
Merge git build-cloud-tools to official hg cloud-tools
Categories
(Release Engineering :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: jhopkins, Assigned: jhopkins)
Details
Attachments
(4 files, 4 obsolete files)
6.63 KB,
patch
|
Details | Diff | Splinter Review | |
20.18 KB,
patch
|
rail
:
review+
jhopkins
:
checked-in+
|
Details | Diff | Splinter Review |
4.80 KB,
patch
|
rail
:
review+
jhopkins
:
checked-in+
|
Details | Diff | Splinter Review |
2.37 KB,
patch
|
rail
:
review+
jhopkins
:
checked-in+
|
Details | Diff | Splinter Review |
Merge the 'windows' branch of https://github.com/catlee/build-cloud-tools/ to http://hg.mozilla.org/build/cloud-tools to capture the changes we have made to support Windows testing on Amazon.
Assignee | ||
Comment 1•10 years ago
|
||
Steps to create the attached .diff: $ git clone https://github.com/catlee/build-cloud-tools/ catlee-cloud-tools $ cd catlee-cloud-tools $ git remote add mozmaster https://github.com/mozilla/build-cloud-tools # merge latest upstream changes to master branch $ git pull mozmaster master # merge master -> windows branch $ git checkout windows $ git merge master $ git diff mozmaster/master..windows > ~/cloud-tools.diff
Assignee | ||
Comment 2•10 years ago
|
||
Attachment #8393669 -
Attachment is obsolete: true
Attachment #8394121 -
Flags: review?(catlee)
Assignee | ||
Updated•10 years ago
|
Attachment #8394121 -
Flags: review?(rail)
Assignee | ||
Comment 3•10 years ago
|
||
The attached changes to aws_stop_idle.py can't land as-is. As discussed, we should look at moving the machine specific logic (eg. getting uptime) to slaveapi. If we're using the same SSH daemon on tst-w64-ec2-xxx as our other Windows machines then slaveapi's Windows SSH logic should work (may require tweaking the daemon settings). Also need an 'is slave busy' check.
Assignee | ||
Comment 4•10 years ago
|
||
These are all new files and only affect tst-w64-ec2-xxx instances (for now).
Attachment #8394125 -
Flags: review?(rail)
Comment 5•10 years ago
|
||
Comment on attachment 8394125 [details] [diff] [review] new-cloud-tools.diff Review of attachment 8394125 [details] [diff] [review]: ----------------------------------------------------------------- In overall it looks great, just needs to be updated to reflect recent refactoring changes. Also, I'm not an expert to review the powershell files, just rubber stamping. ::: aws/aws_create_win_ami.py @@ +16,5 @@ > +from boto.ec2 import connect_to_region > +from boto.ec2.blockdevicemapping import BlockDeviceMapping, BlockDeviceType > +from boto.ec2.networkinterface import NetworkInterfaceSpecification, \ > + NetworkInterfaceCollection > +log = logging.getLogger() log = logging.getLogger(__name__) maybe? I always get confused which one to use. :) @@ +18,5 @@ > +from boto.ec2.networkinterface import NetworkInterfaceSpecification, \ > + NetworkInterfaceCollection > +log = logging.getLogger() > + > +AM_CONFIGS_DIR = "ami_configs" Can you import this variable from cloudtools.aws? Like in http://hg.mozilla.org/build/cloud-tools/file/6bdf0cf1e8bf/scripts/aws_create_ami.py#l12 @@ +21,5 @@ > + > +AM_CONFIGS_DIR = "ami_configs" > + > + > +def wait_for_status(instance, status): Can you reuse the same function from cloudtools.aws? @@ +33,5 @@ > + raise > + time.sleep(10) > + > + > +def create_connection(secrets_file, region): We don't use aws_access_key_id and aws_secret_access_key in the secrets. Can you use cloudtools.aws.get_aws_connection() instead? @@ +125,5 @@ > + return ami > + > + > +if __name__ == '__main__': > + from docopt import docopt Don't forget to update requirements.txt and add docopt.
Attachment #8394125 -
Flags: review?(rail) → review-
Comment 6•10 years ago
|
||
Comment on attachment 8394121 [details] [diff] [review] aws_create_instance.diff Review of attachment 8394121 [details] [diff] [review]: ----------------------------------------------------------------- ::: scripts/aws_create_instance.py @@ +67,5 @@ > + log.info("waiting for instance to shut down") > + while True: > + try: > + instance.update() > + if instance.state == 'stopped': Can you use wait_for_status() here? And where do you stop the instance? Missing instance.stop()? @@ +82,5 @@ > + # Wait for the instance to come up > + while True: > + try: > + instance.update() > + if instance.state == 'running': the same here @@ +255,5 @@ > + hostname=instance_data['name'], > + domain=instance_data['domain'], > + dns_search_domain=config.get('dns_search_domain'), > + # TODO: Use a real password! > + password="password123!", You mean deploypass? @@ +268,4 @@ > block_device_map=bdm, > client_token=token, > disable_api_termination=bool(config.get('disable_api_termination')), > + security_group_ids=config.get('security_group_ids', []), I don't think this would work. Security groups should be assigned to the network interface specification. @@ +274,2 @@ > network_interfaces=interfaces, > instance_profile_name=config.get("instance_profile_name"), multiple instance_profile_name args
Attachment #8394121 -
Flags: review?(rail) → review-
Assignee | ||
Updated•10 years ago
|
Attachment #8394121 -
Flags: review?(catlee)
Assignee | ||
Comment 7•10 years ago
|
||
Attachment #8394125 -
Attachment is obsolete: true
Attachment #8394355 -
Flags: review?(rail)
Updated•10 years ago
|
Attachment #8394355 -
Flags: review?(rail) → review+
Assignee | ||
Comment 8•10 years ago
|
||
Comment on attachment 8394355 [details] [diff] [review] new-cloud-tools-2.diff - address Rail's review feedback https://hg.mozilla.org/build/cloud-tools/rev/fa2fdb157e1a
Attachment #8394355 -
Flags: checked-in+
Assignee | ||
Comment 9•10 years ago
|
||
Attachment #8394121 -
Attachment is obsolete: true
Attachment #8394772 -
Flags: review?(rail)
Comment 10•10 years ago
|
||
Comment on attachment 8394772 [details] [diff] [review] aws_create_instance.diff Review of attachment 8394772 [details] [diff] [review]: ----------------------------------------------------------------- ::: scripts/aws_create_instance.py @@ +241,5 @@ > + hostname=instance_data['name'], > + domain=instance_data['domain'], > + dns_search_domain=config.get('dns_search_domain'), > + # TODO: Use a real password! > + password="password123!", [10:36] <rail> jhopkins: what do you mean by password="password123!", in the patch? :) [10:36] <jhopkins> rail: that's what we're using for now [10:37] <rail> shouldn't that be moved somewhere else? secrets? [10:37] <jhopkins> maybe... nobody seems bothered by it, though [10:38] <jhopkins> suggest we wait until this is out of development to worry too much about it, since changing passwords in windows is a real bother [10:39] <jhopkins> but i'm open to suggestions [10:39] <rail> move it to user_data_file and avoid interpolation? [10:39] <rail> or to secrets [10:39] <rail> probably secrets would be better [10:39] <jhopkins> ok, i can do that Do eet! :)
Attachment #8394772 -
Flags: review?(rail) → review+
Assignee | ||
Comment 11•10 years ago
|
||
Attachment #8394949 -
Flags: review?(rail)
Assignee | ||
Comment 12•10 years ago
|
||
Attachment #8394949 -
Attachment is obsolete: true
Attachment #8394949 -
Flags: review?(rail)
Attachment #8394967 -
Flags: review?(rail)
Updated•10 years ago
|
Attachment #8394967 -
Flags: review?(rail) → review+
Assignee | ||
Comment 13•10 years ago
|
||
Comment on attachment 8394772 [details] [diff] [review] aws_create_instance.diff https://hg.mozilla.org/build/cloud-tools/rev/11bc531b7f15
Attachment #8394772 -
Flags: checked-in+
Assignee | ||
Comment 14•10 years ago
|
||
Comment on attachment 8394967 [details] [diff] [review] [cloud-tools] follow-up patch to use deploypass https://hg.mozilla.org/build/cloud-tools/rev/11bc531b7f15
Attachment #8394967 -
Flags: checked-in+
Assignee | ||
Comment 15•10 years ago
|
||
Tracking the aws_stop_idle.py work in bug 987158.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•