Commit Graph

17 Commits

Author SHA1 Message Date
Sergiy Markin 32ad8a96b0 [focal] Python modules sync with Airship project
- uplifted/downgraded some python modules
- fixed falcon.API deprecation - -> falcon.App
- uplifted deckhand reference for python deps
- fixed formatting style  using yapf linter
- added bindep role and bindep.txt file with required deps
- fixed quai docker image publishing
- re-enabled openstack-tox-py38 gate job

Change-Id: I0e248182efad75630721a1291bc86a5edc79c22a
2023-04-21 06:09:14 +00:00
Phil Sphicas c7e72942a9 Remove hyperkube extraction functionality
The extraction of the monolithic hyperkube binary from its container
image to be used as kubelet was last relevant in Kubernetes 1.16. Since
then, the hyperkube image has been deprecated, the structure of the
image has been changed, and it has ultimately been eliminated in
Kubernetes 1.19.

This change cleans up promenade accordingly.

Reverts the following commits:
* 886007b New CLI option to extract hyperkube
* 32a6c15 hyperkube image in promenade init
* 955deed New source for hyperkube binary definition

Change-Id: Ib62ecdf1af13abe8202a4ba4f86c39b9042ed13f
2021-02-11 17:23:32 +00:00
Zuul c326f87c25 Merge "New CLI option to extract hyperkube" 2019-09-13 18:39:15 +00:00
Crank, Daniel (dc6350) cffca055fe log_level fix for CLI
The addition of the log_level value [0] introduces
a requirement to call options.setup() before calling
logging.setup(). This was being done in the
Promenade service but not in the CLI. This PS adds
the necessary options.setup() call.

[0]: https://review.opendev.org/629154

Change-Id: I151893387659a4d1393144387a3378ff9b517ce7
2019-08-09 09:43:36 -05:00
Egorov, Stanislav (se6518) 886007b36e New CLI option to extract hyperkube
New option --extract-hyperkube to declare the way how hyperkube
will be delivered.

By default this option is disabled which means hyperkube should be
extracted before running promenade container for the first time.

When it's enabled the appropriate env vars should be set for
promenade container to be able to extract hyperkube binary from image.

Change-Id: I2c45100e1e953d859d768ec80f268bd490ce3a81
2019-07-15 20:21:34 +00:00
Matt McEuen f98de6707a Fix generate_certs typo
This fixes a benign typo in the name of the generate_certs function.

Change-Id: I6fc8eee9b713d3cb256fa3f076b17ba158ffcd5b
2019-03-20 14:52:20 -05:00
pengdake 6855976e6f Fix bug about promenade debug
The lower of "PROMENADE_DEBUG" never equal to "True".

Change-Id: I77b6ece23d39bfcaead764bf3790c099f28b57cb
Signed-off-by: pengdake <19921207pq@gmail.com>
2018-11-27 10:49:18 +08:00
Mark Burnett 702f5dcb11 Remove kubectl & credentials on join
This behavior can be disabled with the `leave_kubectl` query parameter
to the `join-scripts` endpoint.

Change-Id: Ia2d9d11f2e900aed0b69394de6ba30442921d5a0
2018-04-25 15:12:09 +00:00
Mark Burnett cfa3dffc5c Be stricter about allowed missing substitutions
Change-Id: Idb36c3521d878e72c5afd158e91841bea6e58ec9
2018-03-05 16:13:11 -06:00
Hassan Kaous f9c8481927 Refactor the generator function to use PKIcatalog.
Change-Id: I9c049b8499a14a537e7cc862ca96f84cf80b6694
2018-02-13 11:24:02 -05:00
Mark Burnett 810f69a64b Enable substitution using DH engine for Cert gen
This currently relies on DH engine substitution not raising errors due
to missing sources.

Change-Id: I179571ebdce77ade14ce1d8b8f37363932ffc3c5
2018-01-31 09:59:10 -06:00
Scott Hussey 7917237ae0 Migrate to DH-managed config files
Use the Deckhand engine module directly to manage local configuration
files during CLI usage.

Note: not doing document validation as DH currently requires schemas to
be sourced from the database. Simple schema validation in place.

- Layering/substitution
- Schema validation based on DataSchema documents in payload
- Add deckhand to requirements

A few tooling updates

- concatenate test & schema yaml files into a single file to avoid name
  conflicts
- make nginx directory in build-scripts stage

Change-Id: I2d56244f01c58052f14331bc09fd5843d4c95292
2018-01-26 13:43:18 -05:00
Mark Burnett 95643147c5 Migrate to self hosted using charts
This change includes several interconnected features:

* Migration to Deckhand-based configuration.  This is integrated here,
  because new configuration data were needed, so it would have been
  wasted effort to either implement it in the old format or to update
  the old configuration data to Dechkand format.
* Failing faster with stronger validation.  Migration to Deckhand
  configuration was a good opportunity to add schema validation, which
  is a requirement in the near term anyway.  Additionally, rendering
  all templates up front adds an additional layer of "fail-fast".
* Separation of certificate generation and configuration assembly into
  different commands.  Combined with Deckhand substitution, this creates
  a much clearer distinction between Promenade configuration and
  deployable secrets.
* Migration of components to charts.  This is a key step that will
  enable support for dynamic node management.  Additionally, this paves
  the way for significant configurability in component deployment.
* Version of kubelet is configurable & controlled via download url.
* Restructuring templates to be more intuitive.  Many of the templates
  require changes or deletion due to the migration to charts.
* Installation of pre-configured useful tools on hosts, including calicoctl.
* DNS is now provided by coredns, which is highly configurable.

Change-Id: I9f2d8da6346f4308be5083a54764ce6035a2e10c
2017-10-17 13:29:46 -05:00
Mark Burnett 3d2b4ab8d6 collapse genesis and join code paths into one 2017-07-03 14:33:37 -05:00
Mark Burnett 9e7a8b8ba7 update operator code for new config/pki 2017-06-20 10:46:45 -05:00
Mark Burnett 9b165b6c70 implment initial config + pki generation 2017-06-20 10:46:45 -05:00
Mark Burnett fce98459a6 Basic HA kubernetes deployment (#7)
* remove old files

* sketch of non-bootkube genesis

* add basic chroot/bootstrap script

* cleanup kubectl/kubelet fetching

* fix cni bin asset path

* add non-pod asset loader

* add example ca

* refactor key gen/distribution

* flannel up on genesis

* refactor some code toward join

* WIP: last commit working on "self-hosted, helm-managed"

* first pass at consolidating config for vanilla deploy

* refactor cli a bit

* use provided cluster ca

* separate genesis and join scripts

* add basic etcd joining

* actually run the proxy everywhere

* update readme

* enable kubelet service

* add pki most places

* use consistent sa keypair

* use quay.io/attcomdev/promenade

* fix typo in n3

* tls everywhere in kubernetes

* tls for etcd

* remove currently unused files
2017-06-15 20:57:22 -07:00