Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CHORE: radar, manually triggered builds, and image_resource should use the same object to check for new versions of resource / types #1786

Closed
topherbullock opened this issue Nov 6, 2017 · 1 comment

Comments

@topherbullock
Copy link
Member

commented Nov 6, 2017

These components all need to determine the version for a resource or resource type, but call different bits of code which could be refactored into a single interface.

Resources and Resource Types can be generically expressed as a 'config', which comprises:

type -> a custom resource type (another config), or a base
source -> a map of configuration specific to the type

Approach :

Create a "resource config versioner", which:

  • given a config I want a version for, I can retrieve versions of that config
  • can be called concurrently on the same config
  • Minimizes calls to check by making the lock acquisition mechanism check the database for updates when a lock is already held elsewhere (assume something else is checking). This can be a separate thing which wraps the "resource config version checker"
  • Minimize the need for all resource types to be passed down to the resource config
  • can check for resource configurations which use custom resource types even if the custom type has not yet checked for versions. ( #1175 )
@topherbullock topherbullock created this issue from a note in Runtime (In Flight) Nov 6, 2017
@topherbullock topherbullock changed the title *CHORE* `radar`, manually triggered build, and `image_resource` should use the same interface to check for new versions of a resource or resource type CHORE: radar, manually triggered builds, and image_resource should use the same interface to check for new versions of a resource or resource type Nov 6, 2017
@topherbullock topherbullock added the chore label Nov 6, 2017
@topherbullock topherbullock changed the title CHORE: radar, manually triggered builds, and image_resource should use the same interface to check for new versions of a resource or resource type CHORE: radar, manually triggered builds, and image_resource should use the same interface to check for new versions of resource / types Nov 6, 2017
@topherbullock topherbullock changed the title CHORE: radar, manually triggered builds, and image_resource should use the same interface to check for new versions of resource / types CHORE: radar, manually triggered builds, and image_resource should use the same object to check for new versions of resource / types Nov 6, 2017
@topherbullock

This comment has been minimized.

Copy link
Member Author

commented Nov 29, 2017

Already achieved a "common interface" in #1803 by moving the logic for checking to the image_resource_fetcher, which is called by radar when creating a resource from a custom type.

Runtime automation moved this from In Flight to Done Nov 29, 2017
@topherbullock topherbullock moved this from Done to Accepted in Runtime Nov 29, 2017
vito added a commit that referenced this issue Apr 11, 2018
Submodule src/github.com/aws/aws-sdk-go 637cf7628..57564ea05:
  > Merge pull request #1889 from aws/release
  > Merge pull request #1888 from aws/release
  > Merge pull request #1887 from aws/release
  > adding correct link to v2 (#1886)
  > Merge pull request #1885 from aws/release
  > Merge pull request #1882 from aws/release
  > Merge pull request #1881 from aws/release
  > private/model/api: Fix typo in docs.
  > private/model/api: Add suppression of Eventstream models (#1875)
  > Merge pull request #1876 from aws/release
  > Merge pull request #1873 from aws/release
  > Merge pull request #1872 from aws/release
  > adding sync example (#1871)
  > Merge pull request #1870 from aws/release
  > Merge pull request #1866 from aws/release
  > aws/request: Fix a typo in a comment (#1862)
  > Merge pull request #1864 from aws/release
  > Merge pull request #1860 from aws/release
  > Merge pull request #1858 from aws/release
  > Add #1854 to pending change log
  >  aws/endpoints: Use service metadata for fallback signing name (#1854)
  > Merge pull request #1855 from aws/release
  > service/s3/s3manager: fixing error string and error messages being lost (#1851)
  > Merge pull request #1852 from aws/release
  > Merge pull request #1845 from aws/release
  > aws/endpints: Remove codegen customization for CloudHSMv2 signing name (#1840)
  > service/s3: Disable S3 object ContentMD5 automatic validation (#1843)
  > Merge pull request #1841 from aws/release
  > adding custom signing name for runtime.sagemaker (#1838)
  > Merge pull request #1835 from aws/release
  > Merge pull request #1832 from aws/release
  > Merge pull request #1831 from aws/release
  > service/s3: Add ContentMD5 validation of S3 Objects (#1827)
  > 501, 'NotImplemented', will no longer be retried (#1826)
  > aws/corehandlers: Add support for AWS_EXECUTION_ENV env var (#1820)
  > Merge pull request #1828 from aws/release
  > Merge pull request #1825 from aws/release
  > Merge pull request #1821 from aws/release
  > Create CODE_OF_CONDUCT.md (#1818)
  > service/s3/s3manager: Update GetBucketRegion region hint fallback (#1804)
  > Merge pull request #1817 from aws/release
  > Update travis CI tests to include Go 1.10 (#1805)
  > Update documentation to point at the correct interface (#1813)
  > Merge pull request #1812 from aws/release
  > Merge pull request #1809 from aws/release
  > Merge pull request #1807 from aws/release
  > fixing s_code link (#1806)
  > Merge pull request #1800 from aws/release
  > rework multipart upload so that it reuses the same buffers when uploading. this significantly decreases memory consumption during upload. (#1784)
  > aws/ec2metadata: Add support for AWS_EC2_METADATA_DISABLED env var (#1799)
  > Merge pull request #1798 from aws/release
  > Merge pull request #1796 from aws/release
  > Merge pull request #1795 from aws/release
  > Release v1.13.0 (#1794)
  > fixes 1790 to use context (#1792)
  > private/model/api: bug fix with some examples excluding fields (#1791)
  > Merge pull request #1788 from aws/release
  > Adding custom retryer to AssignPrivateIpAddresses and ModifyNetworkInterfaceAttribute (#1787)
  > Merge pull request #1786 from aws/release
  > Merge pull request #1785 from aws/release
  > aws/request: Fix support for streamed payloads for unsigned body request (#1778)
  > Merge pull request #1783 from aws/release
  > Merge pull request #1782 from aws/release
  > Merge pull request #1781 from aws/release
  > Merge pull request #1780 from aws/release
  > Merge pull request #1779 from aws/release
  > Add pending change log changes. (#1774)
  > private/model/api: removing crosslinks from input/output shapes. (#1765)
  >  aws/session: Fix bug in session.New not supporting AWS_SDK_LOAD_CONFIG (#1770)
  > example/service/ec2/instancesbyRegion: Fix typos in example (#1762)
  > adds validation to ensure there is no duplication of services in models/apis (#1758)
  > Merge pull request #1773 from aws/release
  > Merge pull request #1759 from aws/release
  > aws/request: Fix Pagination handling of empty string NextToken (#1733)
  > aws/endpoints: Workaround CloudHSMv2 signing name not modeled (#1751)
  > v1.12.69 (#1757)
  > models/apis: removing incorrect named folder (#1756)
  > Fix conflict of dirname GuardDuty to guardduty. fix #1753 (#1754)
  > Merge pull request #1752 from aws/release
  > Add #1749 to change log
  > service/s3/s3manager: Fix check for nil OrigErr in Error()(#1749)
  > service/s3: Add Get/Put object presign benchmark tests (#1735)
  > Merge pull request #1747 from aws/release
  > Only set header tag len if set (#1743)
  > Merge pull request #1744 from aws/release
  > Merge pull request #1740 from aws/release
  > Merge pull request #1739 from aws/release
  > Release v1.12.63 (#1738)
  > Merge pull request #1732 from aws/release
  > example: Add Custom Retry strategy example. (#1731)
  > Merge pull request #1730 from aws/release
  > Merge pull request #1728 from aws/release
  > Merge pull request #1725 from aws/release
  > Merge pull request #1724 from aws/release
  > Merge pull request #1723 from aws/release
  > Merge branch 'master' of https://github.com/aws/aws-sdk-go
  > Changed 'on-premise' to 'on-premises'
Submodule src/github.com/concourse/atc 830a18d..ebc24ca:
  > Merge branch 'x6j8x-master'
  > Merge pull request #261 from timrchavez/timrchavez/build_event_times
  > Merge pull request #256 from baptiste-bonnaudet/vault-max-ttl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Runtime
Accepted
1 participant
You can’t perform that action at this time.