This commit updates kubectl version from 1.16.2 to 1.17.4 as part of
gate setup
Change-Id: I88728be65474ee7ce57f243e1356b84c7609a45f
Signed-off-by: Sreejith Punnapuzha <sreejith.punnapuzha@outlook.com>
This commit adds python3-setuptools to needed packages so that
sushy-tool installation will not fail
Change-Id: I7b6de0ebf09b7c187061030463327831c7d856f3
Signed-off-by: Sreejith Punnapuzha <sreejith.punnapuzha@outlook.com>
* command: airshipctl image build
* For now it is just a wrapper for baremetal isogen.
* Removed isogen subcommand from baremetal
Change-Id: I5c1260c4b167e5768eba27a7cd83c9b60ab29184
Relates-To:#251
Closes:#251
K8s control plane is deployed by KubeadmControlPlane controller. This
controller creates CAPI machines and infrastructure objects
(Metal3Machine). Metal3Machine objects are created based on a template
which contins host selector label. Control plane label is assigned to a
particular BareMetalHots object defined inside of the shared
kustomization.
Relates-To: #149
Closes: #221
Change-Id: I3be1750aacf9736ece2944045c036f405e404561
This change removes the deprecated "remoteType", "useProxy", and
"insecure" fields from the remoteDirect field of bootstrapInfo
Change-Id: I64d28b715b81464c871f99ad0348fadc2e9fc5f6
Relates-To: #242
0.9.1 is not working with current implementation of airshipctl
Error below:
Setting boot device to 'CD'.
BMC responded '500 INTERNAL SERVER ERROR'. Attempting to unmarshal the raw BMC error response.
Unable to decode BMC response. "Unable to decode Redfish response.
Key 'error.@Message.ExtendedInfo.Message' is missing or has unknown format."
redfish client encountered an error: BMC responded '500 INTERNAL SERVER ERROR'.
0.9.0 works fine
Change-Id: I34907cc42bbe78624e2741a581bc95c2e2f68bea
This change enables execute 'airshipctl cluster init' command
as a part of zuul pipeline
Co-Authored-By: Kostyantyn Kalynovskyi <kkalynovskyi@mirantis.com>
Change-Id: I9d499ae66f8d847759c2e61e5d4415f2c9f3c860
Command "cluster initinfra" should be removed since
"phase apply" was introduced instead.
Change-Id: I263f8988a4456fc03314093a55ee1c1da8048404
Relates-To: #162
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Problems description:
Once we execute airshipctl config init, the default config in
~/.airship/config doesn't contain default values for:
currentContext: ~
clusters:
default:
clusterType:
target:
bootstrapInfo: ~
managementConfiguration: ~
---
This PS set default values for Airshipctl config to use it
out of the box.
Closes: #234
Change-Id: I57449e678f19ab1c0e2212c38b01ea195f62aa44
A change [0] recently merged that makes additional remote parameters
configurable; however, it changed the default wait value to two seconds
and made the wait value a duration in time between two nanoseconds.
This change restores the default wait value of thirty seconds and makes
the wait value representative of seconds again.
[0] https://review.opendev.org/717812
Change-Id: I9fad30d479419efe95fca7dc78154bfc3ca66697
Signed-off-by: Drew Walters <andrew.walters@att.com>
This commit changes airshipctl-publish-images role to upload images
to quay.io
Closes: #217
Change-Id: I67b3e07ddc170da6df7c34dce929356449863c10
Signed-off-by: Sreejith Punnapuzha <sreejith.punnapuzha@outlook.com>
Changed systemwide-executable to run in local_src_dir because the script needs
to build airshipctl binary first, before doc pull command can be invoked and populate
the remote_work_dir. Changed the order of the roles to allow systemwide-executable
to run before test-config and pull-docs.
Change-Id: Ia47423d91cdfb2dbbf0259344daab1c7b8cd47f5
Signed-off-by: James Gu <james.gu@att.com>
OpenStack infra has created Zuul project templates that will enable us
to push our documentation to Read the Docs and the Airship website.
While adding a tox file to this project is not ideal, it appears to be
the only way to leverage these jobs at the moment.
This change adds a tox.ini file to airshipctl to build our documentation
and removes the venv solution. The Airship Working Committee will work
with the OpenStack infra team, if possible, to make the publish jobs
more flexible in the future and remove the tox.ini file.
Change-Id: I274cf69a7c79e0aad1d4c9b1decfaf5630f0b18f
Signed-off-by: Drew Walters <andrew.walters@att.com>
Remove constants and define these parameteres
in config file for remote configuration.
Closes: #138
Change-Id: Ib9250b8d39c01ef43a1262b62e4d37215481bc43
When tracking down issues on baremetal nodes using remotedirect, it has
been difficult to pinpoint which Redfish calls fail. This change adds
additional debug logging to make the troubleshooting process simpler
during pre-alpha development.
Change-Id: Ic32d34d010c44b2e7e2a4dfe2b623a451ad94019
Signed-off-by: Drew Walters <andrew.walters@att.com>
Since we already introduced apache server for redfish,
it will be a good idea to use it for sharing iso also.
These changes add file-exchanger config that can be
used to share iso. In addition apache allows the
specified users (see rbac config) to upload files.
This may help in future to better emulate deployment
environment, where it will be necessary to do this
step after airshipctl generated iso and before
airshipctl invokes redfish to run that iso.
Change-Id: Ice47fe977fb71cf9df14d39c5ac26e365e2006f2
Added the optional use of doc pull in gate deployment scripts. When the
remote_work_dir is defined, the new pull doc role will invoke airshipctl
document pull command to download the manifests to the remote_work_dir.
This role is not included in zuul job so the zuul job will continue to use
the already checked out manifests in the zuul.project.src directory.
Fixes #112
Change-Id: I754c08661ad0b635819cb3730e05a6986d90f5ca
Signed-off-by: James Gu <james.gu@att.com>
* New name for gating site is 'test-site'
* Renamed 'test-bootstrap' type. New name is 'gating'.
* Moved BareMetalHost and its settings from ephemeral function to
shared directory within the site
Change-Id: I510e74c1a553bb2b1f84e66f8e4a7796640b59cc
Added gate scripts and playbook enhancement to run airshipctl behind proxy.
Change-Id: Icc3cdcd6fd150420103f907cd1871feba1ccd223
Signed-off-by: James Gu <james.gu@att.com>
Early airshipctl usage has identified the need to control the power of
remote hosts directly from airshipctl. This functionality is typically
required during the bootstrapping phase of airshipctl; however, the
functionality could be used anytime. A logical home for this
functionality would be in a baremetal command, not a bootstrap command.
Since all functionality performed by the bootstrap command is performed on
baremetal hosts, a natural need has developed to group this
functionality together under one baremetal command.
This change moves all functionality from the bootstrap command to a new
baremetal command.
airshipctl baremetal isogen generate ephemeral node ISO
airshipctl baremetal remotedirect bootstrap ephemeral node
Change-Id: Ia615224686d97c95d78c3773c2b9f41df9d06ed6
Signed-off-by: Drew Walters <andrew.walters@att.com>
Management support is only available to the ephemeral host. This change
extends support of management features to hosts not labeled as the
ephemeral host.
Change-Id: I0ac917f2633f659e56e67cafc52d2db9d967754f
Signed-off-by: Drew Walters <andrew.walters@att.com>
The libvirt-volume error conditional does not register errors when it
fails to create a volume due to an incorrect stdout check. This change
fixes the conditional.
Change-Id: I436324a22accf75a353c65ef3852838e992414e8
Signed-off-by: Drew Walters <andrew.walters@att.com>
Removed Modules from config. There are no other types of modules
that need additional configuration. BootstrapInfo is defined
in the config directly.
Used camelCase for config parameters.
Change-Id: I3531a061026f3b2f1e72af6272ba4709f28d1b3d
PS [1] delivered a change to add apache running
sushy-emulator as wsgi backend. This allows us
to have a deployment that looks like a real BMC.
This PS switches gate test to use basic auth and
https on port (8443).
[1]:https://review.opendev.org/#/c/719320/
Relates-To: #136
Change-Id: I7d12bea92cb2c10954cdf1018898d352618c6694
The current implementation of airship-libvirt-gate is using
sushy-emulator binary to emulate redfish. Sushy-emulator works
only for http and also can’t authenticate users out-of-box if
ran by itself. In order to check https and authentication the
reverse-proxy was introduced. This approach had several
drawbacks:
1) http still doesn’t check auth
2) to use apache for https only is too heavy solution for https
This change converts reverse proxy to apache running
sushy-emulator as wsgi backend, that gives an ability to check
authentication for both http and https.
We’re also getting rid of ad-hoc sushy-emulator service and
using out-of-box apache service implementation.
The code also introduces gathering of apache resulting configs
and logs for quicker debug if needed.
Right now authentication is disabled, since manifests are
written in a way so they don’t use them. If it’s necessary to
enable it, just set username here[1]
PS
There is ability to use apache for http-server [2], but it’s
better to do as a separate PR
[1]
roles/airship-libvirt-gate/defaults/main.yaml
[2]
roles/http-fileserver
Change-Id: I43b5bca41519c88b01535c156b2db0e9edaa81bb
The initial version of gating playbook contained ability
to run them either on Python2 or Python3 ansible.
But it causes a lot of issues e.g. a need to install[1] both
versions of libs to support both possible ways to run,
discrepancy between local and Zuul run[2]
Zuul testing is done with ansible running on Python3 [3].
Meanwhile ppa repo for ansible contains ansible pachage
that depends only from python2. There is no package for
Python3 and we used only Python2-ansyble.
The fact that Zuul runs it with different configuration
means that we'll keep facing the issues with dependencies
in future, since Gating doesn't test it.
This patch changes makes local scripts run as Zuul.
PS
The script partially takes care of reverting intallation
from its previous runs. To cleanup completely it's possible
to run [4] in case these pacakges are not used by anyone else
[1]
https://opendev.org/airship/airshipctl/src/branch/master/roles/libvirt-install/tasks/main.yaml#L38
[2]
https://review.opendev.org/#/c/717841/https://review.opendev.org/#/c/718590/
[3]
https://zuul.opendev.org/t/openstack/build/4096513604a84cd2b2f2578fc3f98660/log/zuul-info/host-info.primary.yaml#498
[4]
if dpkg -l | grep "ansible.*ppa~bionic"; then
sudo apt -y remove ansible
sudo apt -y autoremove
sudo add-apt-repository -r -y ppa:ansible/ansible
sudo apt-get -y update
fi
+ possibly
sudo apt remove virtinst python-libvirt python-docker python-requests python-lxml python-libvirt
Change-Id: Ia1ac3aa4128f6c4797dea1709ccb8516ae342a66
* added license templates for go, bash & yaml in tools dir
* added a script that will add license information for all
missing files. Type: go, yaml, yml, sh
* skip adding license for all files within testdata
* Syntax:
> ./tools/add_license.sh
* Skip license for manifests folder
* Added one extra line after licene for yaml files
* Added License after Hashbang for bash.
* Add an extra line after hashbang and before license
* Updated the go template to use multiline comments
New Files:
1. tools/add_license.sh
2. tools/license_go.txt
3. tools/license_yaml.txt
4. tools/license_bash.txt
Change-Id: Ia4da5b261e7cd518d446896b72c810421877472a
Realtes-To:#147
This patch introduces a reverse proxy that terminates an HTTPS
connection and forwards it to the redfish emulator behind that
is running HTTP. Also the reverse proxy presents a self-signed
certificate.
Closes: #136
Relates-To: #136
Change-Id: If6ee705247ae8866d2674bff1ff034277f9c9177