On 30 June 2014 20:33, Tomasz Rybak <[email protected]> wrote:

> Hello.
> I've opened two PRs, both related to creation of images,
> but none related to HVM images.
>
> When playing with creation of images for unstable I've noticed
> two problems in development branch.
> (Sorry for inlining patches - mailing list rejects attachments).
>
> One is related to checking whether image of that name already
> exists; get_all_images() accepts named parameter owners, not owner:
>
> diff --git a/bootstrapvz/providers/ec2/tasks/ami.py
> b/bootstrapvz/providers/ec2/tasks/ami.py
> index 61ef26e..dcf90ae 100644
> --- a/bootstrapvz/providers/ec2/tasks/ami.py
> +++ b/bootstrapvz/providers/ec2/tasks/ami.py
> @@ -21,7 +21,7 @@ class AMIName(Task):
>                 ami_name =
> info.manifest.image['name'].format(**info.manifest_vars)
>                 ami_description =
> info.manifest.image['description'].format(**info.manifest_vars)
>
> -               images =
> info._ec2['connection'].get_all_images(owner=['self'])
> +               images =
> info._ec2['connection'].get_all_images(owners=['self'])
>                 for image in images:
>                         if ami_name == image.name:
>                                 msg = 'An image by the name {ami_name}
> already
> exists.'.format(ami_name=ami_name)
>
>
> Another is related to change of name of packages.
> EC2 image tries to install dhcpcd package; unstable (and Jessie)
> contains dhcpcd5. Wheezy also contains dhcpcd5 - maybe we should
> change package to avoid problems for the next stable.
> Here's the small, ad-hoc patch fixing it:
> diff --git a/bootstrapvz/providers/ec2/tasks/network.py
> b/bootstrapvz/providers/ec2/tasks/network.py
> index 8d3f695..7e2b770 100644
> --- a/bootstrapvz/providers/ec2/tasks/network.py
> +++ b/bootstrapvz/providers/ec2/tasks/network.py
> @@ -14,7 +14,8 @@ class EnableDHCPCDDNS(Task):
>                 # For dhcpcd we need to configure it to do that.
>                 from bootstrapvz.common.tools import sed_i
>                 dhcpcd = os.path.join(info.root, 'etc/default/dhcpcd')
> -               sed_i(dhcpcd, '^#*SET_DNS=.*', 'SET_DNS=\'yes\'')
> +               if info.release_codename != 'sid':
> +                       sed_i(dhcpcd, '^#*SET_DNS=.*', 'SET_DNS=\'yes\'')
>
>
>  class AddBuildEssentialPackage(Task):
> diff --git a/bootstrapvz/providers/ec2/tasks/packages.py
> b/bootstrapvz/providers/ec2/tasks/packages.py
> index 596d3fb..98cd973 100644
> --- a/bootstrapvz/providers/ec2/tasks/packages.py
> +++ b/bootstrapvz/providers/ec2/tasks/packages.py
> @@ -11,7 +11,10 @@ class DefaultPackages(Task):
>         @classmethod
>         def run(cls, info):
>                 info.packages.add('file')  # Needed for the init scripts
> -               info.packages.add('dhcpcd')  # isc-dhcp-client doesn't
> work properly
> with ec2
> +               if info.release_codename == 'sid':
> +                       info.packages.add('dhcpcd5')  # isc-dhcp-client
> doesn't work
> properly with ec2
> +               else:
> +                       info.packages.add('dhcpcd')  # isc-dhcp-client
> doesn't work properly
> with ec2
>
>                 info.exclude_packages.add('isc-dhcp-client')
>                 info.exclude_packages.add('isc-dhcp-common')
>
>
>
> Best regards.
>
> --
> Tomasz Rybak  GPG/PGP key ID: 2AD5 9860
> Fingerprint A481 824E 7DD3 9C0E C40A  488E C654 FB33 2AD5 9860
> http://member.acm.org/~tomaszrybak
>
>

> One is related to checking whether image of that name already
> exists; get_all_images() accepts named parameter owners, not owner:
You're right. I have fixed that in the dev branch.

> EC2 image tries to install dhcpcd package; unstable (and Jessie) contains
dhcpcd5.
> Wheezy also contains dhcpcd5 - maybe we should change package to avoid
problems for the next stable.
I don't think we should change what software is installed between AMI
releases of the same Debian version.
Changing it for > wheezy is however a good idea.

> -               sed_i(dhcpcd, '^#*SET_DNS=.*', 'SET_DNS=\'yes\'')
> +               if info.release_codename != 'sid':
> +                       sed_i(dhcpcd, '^#*SET_DNS=.*', 'SET_DNS=\'yes\'')
Is this option turned on per default in dhcpcd5?

The patch looks good. Could you send a pull request for that? (Maybe add a
little comment explaining why an old dhcpcd is chosen for wheezy and below).

Kind regards
Anders

Reply via email to