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

5706 Commits

Author SHA1 Message Date
OpenShift Merge Robot
87a44e789f Merge pull request #983 from wking/platform-agnostic-machine-cidr
pkg/types: Add cross-platform Networking.MachineCIDR
unreleased-master
2019-01-07 17:52:35 -08:00
OpenShift Merge Robot
e27fbdeb34 Merge pull request #998 from wking/version-0.9.0
CHANGELOG: Document changes since v0.8.0
v0.9.0-master
2019-01-05 20:34:04 -08:00
W. Trevor King
9cce8c3573 CHANGELOG: Document changes since v0.8.0
Through eb781ff1 (Merge pull request #935 from wking/api-stability,
2019-01-04).
2019-01-05 15:03:03 -08:00
OpenShift Merge Robot
eb781ff1c7 Merge pull request #935 from wking/api-stability
docs/user/versioning: Document APIs covered by our Semantic Versioning
2019-01-04 23:48:54 -08:00
OpenShift Merge Robot
94746bd875 Merge pull request #988 from Miciah/fix-zone-id-in-debug-output
pkg/destroy/aws: Fix zone id in debug output
2019-01-04 16:56:43 -08:00
W. Trevor King
28592d0255 docs/user/versioning: Document APIs covered by our Semantic Versioning
Also roll the tips-and-tricks docs into the overview's
multi-invocation docs, since they'd been covering the same ground with
slightly different wording before.  I've expanded the unified
description to go into a bit more detail and tie in the new versioning
docs.

I've also documented the manifest-templates target from 166a9f1e
(pkg/asset: new target manifest-templates, 2018-10-30, #592).

And I've shifted a few "target directory" references to "asset
directory", since that's the language we use for --dir (as shown by
--help).
2019-01-04 15:47:46 -08:00
OpenShift Merge Robot
0957449030 Merge pull request #996 from crawford/gitignore
git: remove log from gitignore
2019-01-04 15:09:32 -08:00
OpenShift Merge Robot
3bba60febc Merge pull request #952 from dcbw/nm-dns-hup
libvirt-howto: reload NetworkManager for dns configuration changes
2019-01-04 12:22:27 -08:00
Alex Crawford
af2d63af16 git: remove log from gitignore
This was erroneously added way back in 06c5fd36.
2019-01-04 11:56:51 -08:00
W. Trevor King
31952f1520 pkg/types: Add cross-platform Networking.MachineCIDR
The concept was not platform-specific, and it's simpler to track the
cross-platform value in a single, generic location.
2019-01-04 11:41:44 -08:00
OpenShift Merge Robot
b9cd189bc4 Merge pull request #993 from crawford/cleanups
asset/cluster: various cleanups
2019-01-04 11:11:16 -08:00
Alex Crawford
1bc5744681 docs: rebuild dependency graph
The admin kubeconfig was dropped from cluster (it was unused) so the
dependency graph needed to be updated. Generated with:

$ openshift-install graph | dot -Tsvg >docs/design/resource_dep.svg

using:

$ dot -V
dot - graphviz version 2.40.1 (0)
2019-01-04 09:54:35 -08:00
Alex Crawford
be3e4e94d9 asset/cluster: various cleanups
This removes an inaccurate comment and an unused variable/dependency.
2019-01-04 09:53:44 -08:00
OpenShift Merge Robot
9a710427c0 Merge pull request #982 from crawford/none
*: add support for platform none
2019-01-04 09:19:59 -08:00
Alex Crawford
f350f2ceb2 *: add support for platform none
This adds support for the "none" platform. This is used in situations
where the infrastructure will not be managed (bring-your-own).
Additionally, since the infrastructure is unmanaged, the installer
cannot create the infrastructure and the "cluster" target is therefore
invalid when used with the "none" platform. For this reason, the "none"
platform is hidden in the UX. It is still possible to use, but the
install-config will need an empty "none" object under platform.
2019-01-03 19:46:19 -08:00
OpenShift Merge Robot
15937bee9a Merge pull request #986 from ldomb/enahncetrshooting
Squashed all commits into one for the SSH troubleshooting guide
2019-01-03 14:07:35 -08:00
Laurent Domb
15c4320819 update for docs/user/troubleshooting: Document 'core' user and SSH key injection
Previously, these platform-agnostic docs left users guessing about which username to use when SSHing in.

And folks with AWS experience might be surprised that we don't use AWS key pairs, so add some wording to avoid them thinking the lack of an AWS key pair is the source of their SSH issues.
2019-01-03 16:20:26 -05:00
Dan Williams
a04ca813f8 libvirt-howto: reload NetworkManager for dns configuration changes
NM has been able to switch DNS plugins on the fly for years.
2019-01-03 12:06:31 -06:00
Miciah Masters
3eb37cc8fc pkg/destroy/aws: Fix zone id in debug output
Before this commit, when the installer requested tags for the zone from the
AWS API and the request was throttled, the installer printed a message with
the string pointer value of the zone id:

    DEBUG sleeping before trying to resolve tags for zone %!s(*string=0xc420e7fdc8): Throttling: Rate exceeded

After this commit, the installer prints the string value:

    DEBUG sleeping before trying to resolve tags for zone /hostedzone/Z2J66YWY5ZGE1: Throttling: Rate exceeded

* pkg/destroy/aws/aws.go (r53ZonesToAWSObject): Dereference zone.Id when
printing it.
2019-01-03 12:31:50 -05:00
OpenShift Merge Robot
713289e20b Merge pull request #977 from mykaul/mykaul-patch-libvirt-host-passthrough
libvirt: use host-passthrough CPU type for libvirt VMs
2019-01-02 18:04:14 -08:00
OpenShift Merge Robot
ae707a32ce Merge pull request #980 from wking/broken-master-node-reference
docs/user/troubleshooting: Fix master-node(s) reference
2019-01-02 15:17:40 -08:00
Yaniv Kaul
529114ac0f libvirt: Use host-passthrough CPU type
For both bootstrap and master VMs.
Should be slightly faster, I hope.
From https://wiki.openstack.org/wiki/LibvirtXMLCPUModel :

"host-passthrough" - this causes libvirt to tell KVM to passthrough the host CPU with no modifications.
The difference to host-model, instead of just matching feature flags, every last detail of the host CPU is matched.
This gives absolutely best performance, and can be important to some apps which check low level CPU details,
but it comes at a cost wrt migration.
The guest can only be migrated to an exactly matching host CPU.
2019-01-02 22:35:47 +02:00
W. Trevor King
5311b93e6f docs/user/troubleshooting: Fix master-node(s) reference
This has been broken since the file landed in 7bd9291c (docs: add
troubleshooting guide, 2018-11-07, #638).
2019-01-02 11:41:55 -08:00
OpenShift Merge Robot
f0066c4ae1 Merge pull request #789 from sttts/sttts-remove-config-overrides
bootkube: remove unused config overrides
2019-01-02 11:03:39 -08:00
OpenShift Merge Robot
5e7b36d635 Merge pull request #788 from russellb/openstack-flavor-support
openstack: Add flavor selection support.
2018-12-24 00:31:46 -08:00
OpenShift Merge Robot
54a432c608 Merge pull request #971 from wking/version-0.8.0
CHANGELOG: Document changes since v0.7.0
v0.8.0-master
2018-12-23 06:57:24 -08:00
W. Trevor King
724455df5e CHANGELOG: Document changes since v0.7.0
Through c0104bd6 (Merge pull request #970 from
openshift/revert-927-aws-public-worker-ips, 2018-12-21).
2018-12-22 21:42:42 -08:00
OpenShift Merge Robot
c0104bd60f Merge pull request #970 from openshift/revert-927-aws-public-worker-ips
Revert "pkg/asset/machines/aws/machinesets: Give workers public IPs (for now)"
2018-12-21 20:11:02 -08:00
OpenShift Merge Robot
a29ed8fe93 Merge pull request #955 from wking/decouple-libvirt
*: Make libvirt support completely conditional (behind TAGS=libvirt)
2018-12-21 18:25:40 -08:00
W. Trevor King
432f28355a *: Make libvirt support completely conditional (behind TAGS=libvirt)
Previously, destroy support was behind TAGS=libvirt_destroy and create
support was always built in.  But since 3fb4400c (terraform/plugins:
add `libvirt`, `aws`, `ignition`, `openstack` to KnownPlugins,
2018-12-14, #919), the bundled libvirt Terraform provider has also
been behind libvirt_destroy.  That leads to cluster creation failing
with:

  $ openshift-install create cluster
  ...
  ERROR Missing required providers.
  ERROR
  ERROR The following provider constraints are not met by the currently-installed
  ERROR provider plugins:
  ERROR
  ERROR * libvirt (any version)
  ERROR
  ERROR Terraform can automatically download and install plugins to meet the given
  ERROR constraints, but this step was skipped due to the use of -get-plugins=false
  ERROR and/or -plugin-dir on the command line.
  ...

With this commit, folks trying to 'create cluster' without libvirt
compiled in will get:

  FATAL failed to fetch Common Manifests: failed to load asset "Install Config": invalid "install-config.yaml" file: platform: Invalid value: types.Platform{AWS:(*aws.Platform)(nil), Libvirt:(*libvirt.Platform)(0xc4209511f0), OpenStack:(*openstack.Platform)(nil)}: platform must be one of: aws, openstack

before we get to Terraform.

Now that the build tag guards both creation and deletion, I've renamed
it from 'libvirt_destroy' to the unqualified 'libvirt'.

I've also adjusted the install-config validation testing to use
regular expressions so we can distinguish between failures because
libvirt was not compiled in as a valid platform and failures because
some portion of the libvirt configuration was broken.  In order to get
stable error messages for comparison, I've added some strings.Sort
calls for various allowed-value string-slice computations.
2018-12-21 13:09:29 -08:00
Clayton Coleman
e026b8d7fb Revert "pkg/asset/machines/aws/machinesets: Give workers public IPs (for now)" 2018-12-21 15:52:59 -05:00
OpenShift Merge Robot
f93dcff300 Merge pull request #959 from staebler/fix_up_yml_to_yaml_change
*: change references to install-config.yml with install-config.yaml
2018-12-21 05:46:57 -08:00
OpenShift Merge Robot
4ea77b8a67 Merge pull request #961 from sallyom/libvirt-ci-dockerfile-fix
add libvirt tag to libvirt-ci Dockerfile
2018-12-21 03:44:24 -08:00
OpenShift Merge Robot
d29ce1fb2d Merge pull request #956 from wking/libvirt-provider-rollback
pkg/terraform/exec/plugins/vendor: Roll back libvirt to 2ad0228349
2018-12-21 00:22:35 -08:00
OpenShift Merge Robot
fb2f1d8881 Merge pull request #962 from staebler/mock_generation
script for generating mock
2018-12-20 21:02:08 -08:00
OpenShift Merge Robot
beee312cf4 Merge pull request #960 from abhinavdahiya/basedomain_fix
asset/installconfig: fallback to freeform basedomain on aws on throttle error
2018-12-20 12:13:08 -08:00
staebler
81c87cb0e7 pkg: update test mocks using latest gomock
The hack/gen-gomock.sh script uses a newer version of gomock than
what was used to create the mocks. These changes update the mocks
so that subsequent runs of hack/gen-gomock.sh will not produce
changes to the test mocks.
2018-12-20 14:08:08 -05:00
staebler
825a3972bf hack: script to generate mocks
Create a script for generating test mocks.
2018-12-20 14:08:04 -05:00
Sally O'Malley
60595a581a add LIBVIRT tag to libvirt-ci Dockerfile 2018-12-20 13:47:57 -05:00
Abhinav Dahiya
566d65e755 asset/installconfig: fallback to freeform basedomain on aws on throttle error 2018-12-20 10:46:58 -08:00
staebler
5178d381c0 *: change references to install-config.yml with install-config.yaml
The file name for the Install Config asset was changed to install-config.yaml
in commit 869cbb67ba. This commit changes
the documentation and code comments to use the new name of the file.
2018-12-20 11:33:33 -05:00
Russell Bryant
aa4fd8913e openstack: Add flavor selection support.
OpenStack flavors (analogous to AWS instance types) are not
standardized, so we can't pick a default that works across all
environments.  This patch adds this as one of the items that must be
specified.
2018-12-20 13:15:55 +00:00
W. Trevor King
72e473569d pkg/terraform/exec/plugins/vendor: Roll back libvirt to 2ad0228349
The final pull request landing in the provider's v0.5.1 broke the
installer on my libvirt 3.9.0 [1]:

  libvirt_ignition.master: Creating...
    ...
  module.volume.libvirt_volume.coreos_base: Creating...
    ...
  libvirt_network.net: Creating...
    ...
  module.bootstrap.libvirt_ignition.bootstrap: Creating...
    ...
  libvirt_ignition.master: Creation complete after 0s (ID: /home/trking/VirtualMachines/wking-mast...n;5c1b382d-27af-08b2-1fff-8dafabae17c3)
  module.bootstrap.libvirt_ignition.bootstrap: Still creating... (10s elapsed)
  module.bootstrap.libvirt_ignition.bootstrap: Still creating... (20s elapsed)
  module.bootstrap.libvirt_ignition.bootstrap: Still creating... (30s elapsed)
  ...
  module.bootstrap.libvirt_ignition.bootstrap: Still creating... (5m0s elapsed)

  Error: Error applying plan:

  3 error(s) occurred:

  * libvirt_network.net: 1 error(s) occurred:

  * libvirt_network.net: Error clearing libvirt network: virError(Code=38, Domain=7, Message='End of file while reading data: Input/output error')
  * module.volume.libvirt_volume.coreos_base: 1 error(s) occurred:

  * libvirt_volume.coreos_base: Error creating libvirt volume: virError(Code=38, Domain=7, Message='End of file while reading data: Input/output error')
  * module.bootstrap.libvirt_ignition.bootstrap: 1 error(s) occurred:

  * libvirt_ignition.bootstrap: Error creating libvirt volume for Ignition wking-bootstrap.ign: virError(Code=1, Domain=7, Message='internal error: client socket is closed')

Roll back to keep the lock that was dropped upstream until we
understand this better.

Generated with:

  $ cd pkg/terraform/exec/plugins
  $ emacs Gopkg.toml  # adjust to pin to 2ad0228349
  $ dep ensure

using:

  $ dep version
  dep:
   version     : v0.5.0
   build date  :
   git hash    : 22125cf
   go version  : go1.10.3
   go compiler : gc
   platform    : linux/amd64
   features    : ImportDuringSolve=false

[1]: https://github.com/dmacvicar/terraform-provider-libvirt/pull/495#issuecomment-448891285
2018-12-19 22:51:48 -08:00
OpenShift Merge Robot
ac006ae671 Merge pull request #949 from abhinavdahiya/terraform_vendor
terraform: only use embedded plugins when `release` tag is set
2018-12-19 18:49:07 -08:00
OpenShift Merge Robot
a2e193ab5b Merge pull request #951 from abhinavdahiya/fix_aws_vpc_id
data/data/aws: use vpc configuration block for route53 zone `int`
2018-12-19 16:50:19 -08:00
OpenShift Merge Robot
ded0735f92 Merge pull request #939 from wking/aws-base-domain-choices
pkg/asset/installconfig/aws: Make base-domain a select widget
2018-12-19 15:31:07 -08:00
Abhinav Dahiya
37f69179b6 data/data/aws: use vpc configuration block for route53 zone int
Seeing this error when running on AWS.
```console
ERROR
ERROR Warning: aws_route53_zone.int: "vpc_id": [DEPRECATED] use 'vpc' attribute instead
ERROR
ERROR
```

https://www.terraform.io/docs/providers/aws/r/route53_zone.html#vpc_id states the `vpc_id` field is deprecated.
here are the fields supported by `vpc` configuration block https://github.com/terraform-providers/terraform-provider-aws/blob/v1.51.0/aws/resource_aws_route53_zone.go#L43
2018-12-19 15:27:16 -08:00
W. Trevor King
390cf77ec8 pkg/asset/installconfig/aws: Make base-domain a select widget
This used to be covered in the docs from fa7c9e3a (*: Copy route53
baseDomain advice to openshift-install locations, 2018-09-27, #353),
but in order to see those you'd need to have a moment of doubt and
think to hit '?'.  Even if you read the docs, it's possible you'd typo
the base domain or add a trailing period (theoretically trailing
periods would be fine, but they may have some issues at the moment
[1]).

With this commit, we go ahead and fetch available public zones
ourselves, so AWS users don't have to.  And it also reduces the help
noise on the base-domain input for users targeting non-AWS platforms.

The empty struct map is slightly more efficient than a boolean map,
because the empty struct takes up no space [2].  Although it's hard to
imagine an account with enough public zones for that space savings to
be significant.

The IsForbidden handling lets us fall back to the free-form input if
we aren't authorized to list zones for the select widget:

  $ openshift-install --dir=wking create install-config
  ? SSH Public Key <none>
  ? Platform aws
  ? Region us-west-1
  ERROR list hosted zones: AccessDenied: User: arn:aws:iam::...:user/trking is not authorized to perform: route53:ListHostedZones with an explicit deny
          status code: 403, request id: 1d..29
  ? Base Domain [? for help]

[1]: https://github.com/openshift/installer/issues/831#issue-388771261
[2]: https://dave.cheney.net/2014/03/25/the-empty-struct
2018-12-19 14:12:40 -08:00
Abhinav Dahiya
ff3c4307c0 terraform: only use embedded plugins when release tag is set 2018-12-19 13:18:29 -08:00
OpenShift Merge Robot
ccf5280d3c Merge pull request #942 from wking/move-regions-into-validation-package
pkg/types/aws/validation: Move ValidRegions into this package
2018-12-19 11:57:00 -08:00