1
0
mirror of https://github.com/openshift/installer.git synced 2026-02-05 06:46:36 +01:00
Commit Graph

5608 Commits

Author SHA1 Message Date
W. Trevor King
17ffd16d91 hack/build: Pin to RHCOS 47.212 and quay.io/openshift-release-dev/ocp-release:4.0.0-6
That's the latest RHCOS release:

  $ curl -s https://releases-rhcos.svc.ci.openshift.org/storage/releases/maipo/builds.json | jq '{latest: .builds[0], timestamp}'
  {
    "latest": "47.212",
    "timestamp": "2018-12-14T23:43:06Z"
  }

And Clayton just pushed 4.0.0-0.alpha-2018-12-13-230701 to
quay.io/openshift-release-dev/ocp-release:4.0.0-6.

Renaming OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE gets us CI testing
of the pinned release despite openshift/release@60007df2 (Use
RELEASE_IMAGE_LATEST for CVO payload, 2018-10-03,
openshift/release#1793).

I'd initially expected to export the pinning environment variables in
release.sh, but I've put them in build.sh here because our continuous
integration tests use build.sh directly and don't go through
release.sh.
v0.7.0
2018-12-14 20:38:50 -08:00
W. Trevor King
04dda380be CHANGELOG: Document changes since 5813f611
Covering 5813f611 (Merge pull request #745 from wking/s3-vpc-endpoint,
2018-12-13) through 874876e4 (Merge pull request #711 from
staebler/improve_input_validation, 2018-12-14).
2018-12-14 20:36:21 -08:00
OpenShift Merge Robot
874876e40a Merge pull request #711 from staebler/improve_input_validation
asset/installconfig: improve validation of user inputs
2018-12-14 20:12:38 -08:00
OpenShift Merge Robot
4d230b6d04 Merge pull request #757 from rajatchopra/pin_os
Pin OS image for release builds
2018-12-14 17:18:15 -08:00
staebler
355cad8811 .: describe how to run unit tests in CONTRIBUTING.md 2018-12-14 19:21:06 -05:00
staebler
0ce4e263ab asset/installconfig: validate openstack platform values in install-config.yml
Move the fetching of openstack platform values to types/openstack/validation
so that it can be used to validate values in the install-config.yml as well.

https://jira.coreos.com/browse/CORS-888
2018-12-14 19:21:06 -05:00
staebler
e5bb73ecb4 vendor: add github.com/golang/mock/gomock
Add gomock to use to mock asset.FileFetcher in unit tests that load assets.

https://jira.coreos.com/browse/CORS-850
2018-12-14 19:21:06 -05:00
staebler
cfc5eacfb1 asset/installconfig: unit tests for InstallConfig.Load
https://jira.coreos.com/browse/CORS-850
2018-12-14 19:21:06 -05:00
staebler
da09a306ae types: unit tests for InstallConfig validation
https://jira.coreos.com/browse/CORS-850
2018-12-14 19:21:06 -05:00
staebler
c793af102e validate: remove unused functions
Remove validation functions that are no longer being used.

https://jira.coreos.com/browse/CORS-850
2018-12-14 19:21:05 -05:00
staebler
4ccebbf7e8 asset/installconfig: remove emailaddress asset
The emailaddress asset is no longer used as of commit e7aaedb9ae.
2018-12-14 19:21:05 -05:00
staebler
e2d281ae85 asset/installconfig: validate InstallConfig loaded from file
When an InstallConfig asset is loaded from an on-disk file, validate that
the fields of the InstallConfig have appropriate values. This uses all the
same validations that are down on the user-provided assets upon which the
InstalConfig asset depends as well as addition validations on other fields.

https://github.com/openshift/installer/pull/711
2018-12-14 19:21:05 -05:00
staebler
b2d6fa405b validate: simplify CIDR validation
Much of the code that made of the CIDR validation was there to give a custom
description of what made the CIDR provided invalid. This has been removed in
favor of using the error returned by the golang library's ParseCIDR function.

Additionally, the code to determine whether two CIDRs overlap was unnecessary
complex because it did not take advantage of the fact that CIDRs only overlap
if one is a subset of the other.

https://jira.coreos.com/browse/CORS-850
2018-12-14 19:21:05 -05:00
staebler
d813360470 asset/installconfig: move uri validation to validation package
Move the uri validation from pkg/asset/installconfig/libvirt to pkg/validation
for consistency with other validation functions.

https://jira.coreos.com/browse/CORS-850
2018-12-14 19:17:35 -05:00
staebler
ef9282d50e vendor: golang.org/x/crypto ssh sub-package
The validation functions use golang.org/x/crypto/ssh to validate the ssh
key provided.

https://jira.coreos.com/browse/CORS-850
2018-12-14 19:17:35 -05:00
staebler
d2c528f7ad validate: improve ssh public key validation
Use ParseAuthorizedKey from golang.org/x/crypto/ssh to validate that
the provided ssh key can be parsed.

https://jira.coreos.com/browse/CORS-850
2018-12-14 19:17:35 -05:00
staebler
1df7704a52 validate: improve image pull secret validation
Validate that (1) there is an "auths" field, (2) the "auths"
value has fields, and (3) each field in the "auth" value has
an "auth" or a "credsStore" field.

https://jira.coreos.com/browse/CORS-850
2018-12-14 19:17:35 -05:00
staebler
c001cbd5c8 validate: improve cluster name validation
Use kubernetes validation of rfc-1123 sub-domains. This change
removes the restriction that each label in the cluster name is at most 63
characters long.

https://jira.coreos.com/browse/CORS-850
2018-12-14 19:17:35 -05:00
staebler
3badd35adc validate: improve base domain validation
Use kubernetes validation of rfc-1123 sub-domains, with the
addition that the base domain can end with a dot. This change removes the
ability to use uppercase letters in the base domain.

https://jira.coreos.com/browse/CORS-850
2018-12-14 19:17:35 -05:00
OpenShift Merge Robot
14505f396d Merge pull request #911 from hardys/issues/891
OpenStack Destroy, tolerate temporary router delete failure
2018-12-14 15:20:31 -08:00
OpenShift Merge Robot
3b9d99be00 Merge pull request #654 from staebler/no_shared_aws_vpc
terraform/aws: remove option to use an existing vpc in aws
2018-12-14 15:20:21 -08:00
OpenShift Merge Robot
e86e78b855 Merge pull request #913 from ivuk/fix-typo
Fix a typo in libvirt-howto.md
2018-12-14 14:13:34 -08:00
OpenShift Merge Robot
17c7e3ffb5 Merge pull request #906 from wking/version-0.7.0
CHANGELOG: Document changes since 2018-12-07
2018-12-14 14:13:28 -08:00
OpenShift Merge Robot
269cfd1ea8 Merge pull request #903 from abhinavdahiya/dockerfile
image: Add a RHEL7 dockerfile and standarize format
2018-12-14 14:13:22 -08:00
OpenShift Merge Robot
4c2005c961 Merge pull request #914 from abhinavdahiya/docs
docs: include `dep version` command in Go section
2018-12-14 12:29:30 -08:00
Abhinav Dahiya
97482d5c8e image: Add a RHEL7 dockerfile and standarize format
This is similar to various PRs opened in openshift repos like https://github.com/openshift/machine-config-operator/pull/165
to help standarize the dockerfiles

also remove the `COPY --from builder <terraform>` instructions that were missed in aff2e983f9
2018-12-14 11:18:16 -08:00
OpenShift Merge Robot
e3222c99bb Merge pull request #907 from wking/suggest-attaching-logs
.github/ISSUE_TEMPLATE: Explicitly mention .openshift_install.log
2018-12-14 10:49:38 -08:00
OpenShift Merge Robot
0ac5f34ad9 Merge pull request #905 from wking/drop-dead-code-no-routes-error
cmd/openshift-install/create: Drop dead-code "no routes found" error
2018-12-14 10:49:27 -08:00
Abhinav Dahiya
a93818e9a9 docs: include dep version command in Go section 2018-12-14 09:59:38 -08:00
Igor Vuk
d9c7560b24 Fix a typo in libvirt-howto.md 2018-12-14 18:51:18 +01:00
OpenShift Merge Robot
d282893cb7 Merge pull request #912 from hardys/swift_destroy_failure
OpenStack Destroy, break after matching swift container metadata
2018-12-14 09:50:12 -08:00
Rajat Chopra
07f17f4163 hack: pin the os release build name
One environment variable to be used when building the pinned release binary:
    RHCOS_BUILD_NAME: a string representing the build name(or rather number e.g. 47.48). If empty, then the latest one will be picked up.
This could just be hardcoded in the hack/build.sh script before making the release branch so that it stays baked in.
2018-12-14 12:26:50 -05:00
W. Trevor King
743a196df8 CHANGELOG: Document changes since 2018-12-07
Covering 08e4dbc4 (CHANGELOG: Document changes since v0.5.0,
2018-12-07, #841) through 5813f611 (Merge pull request #745 from
wking/s3-vpc-endpoint, 2018-12-13).
2018-12-14 09:19:17 -08:00
Rajat Chopra
3ef7dbfdbb hack: pin the release image in build flags
But still leave an override env var so that it can be overridden. Use the following env var to pin the image while building the binary:
```
$ # export the release-image variable
$ export RELEASE_IMAGE=registry.redhat.io/openshift/origin-release:v4.0"
$ # build the openshift-install binary
$ ./hack/build.sh
$ # distribute the binary to customers and run with pinned image being picked up
$ ./bin/openshift-install create cluster...
```
The only way to override it would be to use an env var OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE while running the openshift-install binary.
2018-12-14 12:17:14 -05:00
Steven Hardy
3501ce9898 OpenStack Destroy, break after matching swift container metadata
This worked previously since we only had one tag in the filter
but since we added both via #817 we exposed a bug which is we
should break after matching any key since we've deleted the
things and don't need to iterate over the filter keys anymore.
2018-12-14 16:50:49 +00:00
Steven Hardy
fb73b45ca9 OpenStack Destroy, tolerate temporary router delete failure
As reported in issue #891 this can fail until assigned ports
are deleted, so return such that a deletion may be re-tried.

Closes: #891
2018-12-14 16:49:22 +00:00
OpenShift Merge Robot
2897ed7184 Merge pull request #904 from russellb/openstack-hacks
Create temporary service VM and document the current state of experimental OpenStack support
2018-12-14 08:31:14 -08:00
Russell Bryant
8f282a4a44 openstack: Add OpenStack docs.
Document current requirements and expected behavior of OpenStack support.  Also
create a dev doc that points to how to set up a dev env.
2018-12-14 13:55:45 +00:00
W. Trevor King
66648661eb .github/ISSUE_TEMPLATE: Explicitly mention .openshift_install.log
We're still getting issue reports about installer crashes that attempt
to summarize the issue but do not include copies of the actual error
messages.  While summaries can be accurate, they're usually not much
more compact than a copy/paste of the errors from the logs, and it's a
lot easier to find existing reports for a given error if those reports
include the error you're looking for.
2018-12-13 22:33:28 -08:00
W. Trevor King
96cc01057c *: Fix ".openshift-install.log" -> ".openshift_install.log"
These were inconsistencies from 06c5fd36 (openshift-install: log debug
output to file, 2018-11-15, #689).
2018-12-13 22:30:40 -08:00
W. Trevor King
cc71276000 cmd/openshift-install/create: Drop dead-code "no routes found" error
This line is from 4c347524 (log,return error if console URL is not
obtained, 2018-12-10, #859).  But while the rest of that commit fixed
error handling for the no-routes-found case, this line was just dead
code.
2018-12-13 21:16:51 -08:00
Russell Bryant
8958e2e083 openstack: Add a temporary service VM.
This patch introduces a temporary service VM, that provides enough DNS and LB
functionality to bring up the cluster. It's a VM running dnsmasq to provide the
required DNS records necessary to bring up the cluster and haproxy to LB
against the master nodes for the API.

OpenStack support will remain experimental as long as this VM exists, but it
provides a better test and dev experience while we work on improving.

This includes the folowing additional cleanups in passing:
 - drop unused console security group
 - hack to disable openstack cloud provider temporarily while some issues
   are resolved

Co-authored-by: Flavio Percoco <flavio@redhat.com>
Co-authored-by: Tomas Sedovic <tsedovic@redhat.com>
2018-12-14 02:01:20 +00:00
staebler
04719388d4 terraform: remove some more unused aws variables
aws_endpoints
aws_installer_role
aws_master_custom_subnets
aws_master_extra_sg_ids
aws_worker_custom_subnets

https://jira.coreos.com/browse/CORS-873
2018-12-13 19:46:25 -05:00
staebler
58a84e97ce terraform/aws: remove unused options around using external VPC
With the removal of the option to use an external VPC, the following
variables are not used and are removed.

aws_external_master_subnet_ids
aws_external_private_zone
aws_external_worker_subnet_ids

https://jira.coreos.com/browse/CORS-873
2018-12-13 19:46:25 -05:00
staebler
6f55e67389 terraform/aws: remove option to use an existing vpc in aws
For the limited scope of the installer, we do not want the user to
have the ability to share the VPC between clusters. A shared VPC
could potentially be deleted when destroying one of the clusters,
leaving the rest of the clusters using the shared VPC in an unusable
state.

Fixes https://jira.coreos.com/browse/CORS-873
2018-12-13 19:46:25 -05:00
OpenShift Merge Robot
5813f611f9 Merge pull request #745 from wking/s3-vpc-endpoint
data/aws/vpc: Add an S3 endpoint to new VPCs
2018-12-13 16:17:57 -08:00
OpenShift Merge Robot
e431e60558 Merge pull request #900 from abhinavdahiya/terraform_vendor
destroy/bootstrap: explicit pass `disable-bootstrap.tfvars` for libvirt
2018-12-13 14:15:53 -08:00
OpenShift Merge Robot
4a49712306 Merge pull request #897 from staebler/fix_aws_access_key_id_survey
asset/installconfig: fix survey for aws access key id
2018-12-13 13:21:26 -08:00
OpenShift Merge Robot
1f51c8b6c1 Merge pull request #866 from cgwalters/libvirt-display-os-version
libvirt/cache: Display target OS version
2018-12-13 12:16:41 -08:00
Abhinav Dahiya
d19cad5d69 destroy/bootstrap: explicit pass disable-bootstrap.tfvars for libvirt
The old implementation depended on terraform auto picking up `*.auto.tfvars` in the current directory.
And since we ran terraform as separate process we changes the CWD of that to the `tempDir`.

With https://github.com/openshift/installer/pull/822 terraform in run as part of installer so var and state files need to be explicit to the `tempDir`
2018-12-13 11:01:05 -08:00