Commit Graph

23 Commits

Author SHA1 Message Date
SPEARS, DUSTIN (ds443n) ba3657c0c1 Add option to mount host path for cgroups
Capability added to disable cgroups host path volume

Change-Id: I007d9a79b812094126fadb36fd743133495d337f
2023-09-19 13:24:28 -04:00
Anselme, Schubert (sa246v) 736c936394
Parametrise readiness probe
Change-Id: I358ae8307799fff0674a428c42b90381d6d3a631
Signed-off-by: Anselme, Schubert (sa246v) <sa246v@att.com>
2023-08-23 14:42:59 -04:00
Ruslan Aliev eaabbb2722 Disable ipv6 for bind9 named service
* Allow any recursion and cache queries for named svc
 * Bump maas v3 to the actual version

Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: I16a4ec843dc73a2349e8603d4200920599eab918
2023-07-12 21:31:53 -05:00
Ruslan Aliev 2d5b698d9e Switch PVCs to use storageClassName
HTK and Helm versions are also updated.

Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: Ia1ef4ec23f53dcb591e139c3476e143a55351fd3
2022-09-16 19:02:23 -05:00
Phil Sphicas 50b3d68905 Control bind9 and nginx resource usage
The named and nginx processes both try to use all available CPUs. In
addition, there is a bug in named that sometimes causes it to spin on a
FUTEX, pegging the CPU.

This change constrains those processes to a single CPU (overridable in
values.yaml), and includes /etc/bind/bind.keys in named.conf to avoid
the CPU spike.

Change-Id: I4a278023f5c0dd5e7bdee46891591b278f2ddcad
2021-11-10 23:35:50 -08:00
KHIYANI, RAHUL (rk0850) 926dadfbf4 [FIX] override security context capabilities in values.yaml
Add missing helm-toolkit snippet for ingress-errors container

Change-Id: I9c7ec6b71a1d026257c2a1f76e18a3e3be8e244d
2020-07-21 03:56:42 +00:00
KHIYANI, RAHUL (rk0850) 20c6e525ea Implement helm-toolkit snippet to maas pods/containers
This updates the maas chart to include the pod
security context on the pod template.

This also adds the container security context to set
readOnlyRootFilesystem flag

Change-Id: I1eba6ab3a7c27ddcb3e8ddc8e743b91dc5e521c3
2020-07-20 14:43:41 +00:00
KAVVA, JAGAN MOHAN REDDY (jk330k) b2e100f6ce Enable Docker default AppArmor profile to maas
This adds default Apparmor profile to maas.

Change-Id: I9c68fdb2be074c855085032dfe9ff0dbbeadcf7c
2020-04-02 15:24:40 +00:00
Nishant Kumar 1e035afc2c Robust maas-rack readiness probe
With the existing readiness probe mechanism, if log rotation occurs
then it may lead maas rack pod to show false not ready. Instead save
the success message of rack registration to a file and then use it in
the readiness probe.

Change-Id: I569b99186d398db44a10824dc3fe8c745b13a4ac
2020-02-17 13:45:32 +00:00
Scott Hussey 5b2a7a2439 syslog listener for physical nodes
- Add a new pod running syslog to receive syslog
  messages containing the console logs of bootstrapping
  nodes. This aids in troubleshooting without requiring
  accessing the OOB console.
- Add a UDP forwarder to the MAAS ingress controller
  as nodes attempt to send syslogs to UDP 514 of the region
  controller

Change-Id: I3f508225f4394a90c6f2534a51f262b42c1afa4e
2019-08-23 13:22:38 +00:00
Kumar, Nishant(nk613n) 0b95ba4d41 Add release uuid annotation to POD spec
Change-Id: I7480f15ba619388c7593d6b9e4a5eff93ee79105
2019-06-25 14:51:07 +00:00
Zuul 407d4ccfb4 Merge "Support for MAAS URL overrides" 2019-04-24 13:47:36 +00:00
Kaspars Skels f6844a5987 Support for MAAS URL overrides
Change-Id: I64af23c11f1717b6f0c2d52ec49edda8c31dff78
2019-04-23 15:42:44 -05:00
Rick Bartra 7857fdf2cf Run maas-rack and maas-region containers as non-privileged
The maas-rack and maas-region containers can successfully run and function
as non-privileged if given the appropriate Linux capabilities. This change
is a security enhancement as the maas-rack and maas-region containers now only
have access to the capabiities it needs to do its job - instead of having full
root access.

The capabilities listed in the `statefulset-rack` and `statefulset-region`
charts function as a whitelist in that the maas-rack and maas-region containers
only have access to the Linux capabilities listed in their SecurityContext
along with the default capabilties that Docker gives to unprivileged containers.
The default list of capabilties include the following:
  - SETPCAP
  - MKNOD
  - AUDIT_WRITE
  - CHOWN
  - NET_RAW
  - DAC_OVERRIDE
  - FOWNER
  - FSETID
  - KILL
  - SETGID
  - SETUID
  - NET_BIND_SERVICE
  - SYS_CHROOT
  - SETFCAP

The bcc-capable tool [0] was used to discover which Linux capabilities the
maas-rack and maas-region containers invoke. The capabale tool, has the ability
to record the Linux capabiltiies that are invoked by all the processes running
in the container. While still running as privileged, the capable tool was
installed and ran within the container during maas bootstrapping. When
bootstrapping was complete, the list of Linux capabilities were reviewed and
added to the appropriate charts.

[0]https://github.com/iovisor/bcc/blob/master/tools/capable.py

Change-Id: I11cf1da8ea8219320c4d3028502c133391116201
2019-03-11 22:21:09 +00:00
Scott Hussey 79db1a1811 (chart) rackd pod readiness check
- Add a readiness check for the rack pods. This really only applies
  when they are spawned and will not be useful for ongoing readiness
  evaluation. Should eliminate false 'completions' of the chart
  deployment.

Change-Id: I5b547976e770302d2cc293396e1041798ac7e4ea
2019-01-30 16:55:42 -06:00
Scott Hussey 617607e426 (fix) Fix static ports in MAAS ingress
- Some residual static configuration was left in the MAAS ingress
  deployment template. Update it to render the ingress ports from
  endpoints and also to remove the TCP forwarder for the MAAS
  region API and instead use a standard Ingress resource.

Change-Id: I7764d48ea919147503e9bf2521c52cb6f0028538
2018-12-07 22:18:45 +00:00
Crank, Daniel (dc6350) 2aaca3f60b Apparmor profile for MaaS
All containers were already running in non-privileged
containers except region-controller and rack-controller.
Both of those require privileged containers but
can still function with the docker-default apparmor
profile applied.

This PS uses the new, more generic HTK snippet name
(see https://review.openstack.org/613703).

Change-Id: Icaa720f05b18f4264ae7098b427fe5f639cba2c6
2018-12-07 16:17:11 -06:00
Scott Hussey 1c0485e3e6 Support MAAS HA
- Create two replicas of rack and region pods
- Use required anti-affinity between rack pods
- Remove the MAAS ingress controller from the rack pod
  and into dedicated deployment
- Update rack registration script to harvest the systemid
  from the underlying host when available

Change-Id: I41e21b7bb5256d04b37a70fbd2088c617b5d239a
2018-11-05 21:08:15 +00:00
Scott Hussey 74af40376b MAAS support for pod mobility
Upgrades to the MAAS chart to allow for the Pods
running the rack and region services to work across
all control plane hosts.

Change-Id: I84c856599a1122a2b4a64242a7cea357887b0462
2018-10-23 08:19:53 -05:00
Matt McEuen 9c2686bea7 Add release uuid to pods and rc objects (maas)
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: I994f9eb9cd75947ee36276a542fa23cc547065e0
2018-09-14 15:51:55 -05:00
Pete Birley 582c4d8b20 Chart: Modernise chart
This PS updates the maas chart to support modern helm toolkits.

Change-Id: Id70343afdec622dc84b89b0d7f496e9ef498ea6b
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-22 21:53:33 -05:00
Pete Birley c585c525bc Chart: Remove duplicate initcontainer reference
This PS removes a duplicate initcontainer key and values from
the rack controller template.

Change-Id: I18b157b9cf7256e7acc574da9cdfecbe51dc13d6
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-22 21:38:03 -05:00
Scott Hussey b09fee26b8 (fix) Make rackd stateful
- Use a statefulset and PVC to make rackd systemid assignment
  stateful between pod restarts. This is to alleviate instability
  in MAAS upgrades.

Change-Id: Iea5c3d3897b561d4ba479203ee6aec5885282e1a
2018-06-29 07:37:28 -05:00