Commit Graph

16 Commits

Author SHA1 Message Date
DeJaeger, Darren (dd118r) 0b002d5b67 Add "labels" to Drydock deployment
Adding said label, that's already defined, to the deployment itself.
This will enable Armada to properly wait for certain percentages
of the deployment replicas to be ready prior to proceeding. Prior to
this change, there wasn't a way to select the Drydock deployment via
labels.

Change-Id: I7c5ed223d54213a1260c27485d0bfd493c09163f
2021-04-30 16:43:05 -04:00
DODDA, PRATEEK d862a5171f Enabling Apparmor for drydock init and test containers
Change-Id: I7aca8fd1dabc19603a33466175263c4a7f3fa36d
2020-05-26 18:11:39 -05:00
Prateek Dodda 67716a7841 Add Docker default AppArmor profile to drydock
Change-Id: I50be2f08e69123afbef136683134abffc4e44197
2020-02-13 10:42:28 -06:00
Hemanth Nakkina 576f1b0488 Use apps/v1 k8s controllers and add labels
Update apiversion for deployment to apps/v1
Add selector match labels to deployment

This patch is similar to https://review.opendev.org/#/c/638276/
These changes are required to install drydock helm chart on k8s 1.16.0

Change-Id: Ie9b7344fc94058a6212d09a9b96fe1b2b9d07b4e
2019-10-01 03:11:41 +05:30
Kumar, Nishant(nk613n) 143ce06d28 Add release uuid annotation to POD spec
Change-Id: I440af378a520c9fcab0985ea2ad0ba5dca2a0cf2
2019-06-25 14:51:26 +00:00
Rahul Khiyani 9b5c1d493e Drydock: Add pod/container security context
This updates the drydock chart to include the pod
security context on the pod template. This changes the pod's
user from root to the nobody user instead

This also adds the container security context to set
allowPrivilegeEscalation to false and readOnlyRootFilesystem to true

Change-Id: I0882622e672e5918da82b58b76697b8974cf0b16
2019-03-29 17:33:37 +00:00
Zuul c38a38fa4c Merge "Add release uuid to pods and rc objects (drydock)" 2018-10-04 21:27:18 +00:00
Scott Hussey 70e5f095d6 (fix) Add nodeSelector to Drydock Pod
Add ingress support

- Add nodeSelectors to the PodSpec for the Drydock API
  pod

- Physical nodes bootstrapping need to access the Drydock
  API to retrieve the bootactions that should be executed during
  deployment. This moves that access from a nodeport to ingress.

Change-Id: I3db41932c567cc85e89ad003389b7a019a10715f
2018-09-17 12:45:24 -05:00
Matt McEuen d8f4a1fbe3 Add release uuid to pods and rc objects (drydock)
This PS adds the ability to attach a release uuid to pods and rc
objects as desired.  This can be used, for example, to force an
artificial manifest change in CICD scenarios, for upgradability
testing purposes.

Change-Id: I784c0ad26c34338c9acda3dbe271f2139ba3f1f9
2018-09-14 18:19:36 -05:00
Matt McEuen 2bfb9c59cd Uplift Drydock to master Helm-Toolkit
Update the Drydock chart to be compatible with the latest Helm-Toolkit,
including taking advantage of some HTK manifest generation functionality
and updating the helm_tk.sh script to pull down master
openstack-helm-infra. Also update the default drydock image to point
to the current airshipit master rather than the old attcomdev in quay.

Change-Id: I9a818ae054361749ce16e9a6213fbeed82581f02
Co-Authored-By: Pete Birley <pete@port.direct>
Signed-off-by: Pete Birley <pete@port.direct>
2018-09-14 11:59:29 -05:00
Scott Hussey 97f9fbd12b [Chart] SSH private key support
- Support optionally mounting a SSH private key
  to allow Drydock to interact with remote hosts via
  ssh (e.g. virsh)

Change-Id: Ib83bc53a46497af6d05f4d87595f1000d3178ec0
2018-05-01 21:18:13 +00:00
Anthony Lin 253c6f6bb4 RBAC: Update serviceaccount and k8s rbac for drydock
This patch set brings the drydock chart to be inline with OSH* RBAC
approach used in [0] and [1].

[0] https://review.openstack.org/#/c/526464/52
[1] https://review.openstack.org/#/c/529378/

Change-Id: Ia1e5510605e38068e30e966cdd7d030154f5e6f4
2018-01-02 11:10:47 -05:00
Scott Hussey ae87cd1714 Update image and chart mgmt
NOTE: This has become a monolithic commit to get gate
      settings/scripts in place for CI

- Add Makefile with UCP standard entrypoints
- Move Dockerfile into images/drydock per UCP standards
- Add values.yaml entries for uWSGI threads and workers
- Add environment variables to chart Deployment manifest
  for uWSGI thread and workers
- Add threads and workers specification to uWSGI commandline
  in entrypoint
- Test that the Drydock API is responding
- Test that the Drydock API rejects noauth requests
- Fix Makefile utility script to work behind a proxy

Correct task success voting

Some tasks were incorrectly considered partial_success even when
no failure occurred.

- Network configuration erroneously marked messages as errors
- Update result propagation logic to only use the latest retry

The deploy_nodes task ended as incomplete due to a missing
subtask assignment

Also added a node check step to prepare_nodes so that nodes that
are already under provisioner control (MaaS) are not IPMI-rebooted.

Tangential changes:
- added config item to for leadership claim interval
- added some debug logging to bootaction_report task
- fix tasks list API endpoint to generate valid JSON

Improve task concurrency

When tasks are started with a scope of multiple nodes,
split the main task so each node is managed independently
to de-link the progression of nodes.

- Split the prepare_nodes task
- Begin reducing cyclomatic complexity to allow for
  better unit testing
- Improved tox testing to include coverage by default
- Include postgresql integration tests in coverage

Closes #73

Change-Id: I600c2a4db74dd42e809bc3ee499fb945ebdf31f6
2017-12-15 15:33:14 -06:00
Scott Hussey 111cd7a129 Compat with HTK images structure change
Helm-toolk changed the images structure to include a
tags stanza. Make this chart compatible.

Change-Id: I2111af7e40e6f5490c8ad9d68fbfb97e3e8fea3e
2017-10-27 14:14:47 -04:00
Scott Hussey 1efddeebd3 Remove Promenade generated volume
The post-refactor integration between promenade
and drydock doesn't require (or support) this
volume

Change-Id: Ieca8c4ada7d2469aea17214a163f86ba67a05577
2017-10-27 12:34:56 -04:00
Larry Rensing 50277a63ec Drydock chart
This PS migrates the Drydock chart into this repo.

Update chart with input from previous repo

- Remove default secret names for Keystone jobs
- Use endpoints section for defining ports in service manifest
- Use manifests section for enabling all deployed manifests

Add DB integration

- Introduction of postgresql endpoint for Postgresql
- Addition of db_init and db_sync jobs
- Addition of db-init.sh and db-sync.sh scripts
- Convert conf file to use helm-toolkit templater
- Add database connect string to rendered conf file

Fix copyright notices for AT&T compliance

Change-Id: I1676a41ddbbd05c38f68b2b787924fc973411413
2017-10-27 12:34:38 -04:00