83 Commits

Author SHA1 Message Date
Mingyuan Qi
1fd5ec6595 Check return value of get subnets before iterate for ironic
With the update of openstack clients:
openstack client >= 4.0.0
neutron client >= 6.14.0
neturon lib >= 1.29.1

The command 'openstack network show ${network} -f value -c subnets'
returns '[]' instead of null string if no subnets found in the
specific network. This commit adds a check logic to avoid subsequent
command returns error by using '[]' as subnet input.

Change-Id: I7e7d5209227b0e34131b7715dbd3faa6066a94b7
Signed-off-by: Mingyuan Qi <mingyuan.qi@intel.com>
2019-12-31 19:02:45 +00:00
Steve Wilkerson
9736f5f544 Update kubernetes-entrypoint image reference
This updates the kubernetes-entrypoint image reference to consume
the publicly available kubernetes-entrypoint image that is built
and maintained under the airshipit namespace, as the stackanetes
image is no longer actively maintainedy

Depends-On: https://review.opendev.org/688435

Change-Id: I8e76cdcc9d4db8975b330e97169754a2a407341f
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-10-21 13:58:22 +00:00
Zuul
2d8acb9396 Merge "Apply network policy to all services" 2019-10-14 13:53:25 +00:00
Tin Lam
e8e5072a18 Apply network policy to all services
The base network policy framework currently applies only to some
OpenStack services' charts but not others. This patch set applies the
same base network policies framework to all services.

Change-Id: I786c68057f6742a79a33f78db6e3bba8b99cf1b8
Signed-off-by: Tin Lam <tin@irrational.io>
2019-09-27 14:18:26 +00:00
Michael Polenchuk
73639ee4f2 [ironic] Support override of agent image
Make bootstrap script structured to be able to override
version of agent or even image source itself.

Change-Id: Ibdba2222176833b5a593bfc1619e2a0913b6fac1
2019-09-23 13:24:49 +04:00
Radu Viorel Cosnita
c54f51c603 Mount all ironic conductor volumes.
We can configure custom volumes and volumeMounts in the helm chart for ironic conductor and these are now mounted in the ironic-conductor container.

Change-Id: I717920cb0b75951175019bb991c8d948916a9db3
Signed-off-by: Radu Viorel Cosnita <radu.cosnita@gmail.com>
Story: 2006458
Task: 36380
2019-09-16 15:14:35 +00:00
Mingyuan Qi
5f37a88a14 Ironic: Add pxe boot support for centos image
Current pxe init script does not support pxe for centos distro as
base image. Different folders were checked for centos to copy
pxe/ipxe files to tftpboot folder.

Change-Id: I4911825193d75aaaed24e8b71ba43efa2fc78fe8
Signed-off-by: Mingyuan Qi <mingyuan.qi@intel.com>
2019-07-10 15:23:28 +08:00
Pete Birley
9bcf0df94c Messaging: use htk function to directly hit RabbitMQ servers
This PS updates the charts to use the htk function recently introduced
to allow oslo.messaging clients ans servers to directly hit their
backends rather than using either DNS or K8S svc based routing.

Depends-On: I5150a64bd29fa062e30496c1f2127de138322863

Change-Id: I458b4313c57fc50c8181cedeca9919670487926a
Signed-off-by: Pete Birley <pete@port.direct>
2019-06-18 21:47:45 +00:00
Zuul
cd460f12c2 Merge "Rafactoring volume mount variables in db sync job" 2019-06-18 18:24:18 +00:00
Pete Birley
31bd9c832d Logs: Make it optional to use log_config_append option
This PS enables the use of simple logging options if desired.

Change-Id: If6ea420c6ed595b3b6b6eedf99a0bf26a20b6abf
Signed-off-by: Pete Birley <pete@port.direct>
2019-06-17 13:51:21 -05:00
John Haan
0ea9be7ade Rafactoring volume mount variables in db sync job
This patch make the db sync job template follows the same pattern
that other templates utilize the variables to make in a predictable
pattern.

Change-Id: Idbedd046c6b4fd001cf63004ffac792173a5778b
Story: 2005754
Task: 33457
2019-05-22 17:47:03 +09:00
Zuul
f8adab245b Merge "Point to OSH-images images" 2019-05-18 19:12:58 +00:00
Jean-Philippe Evrard
1d335146fa Point to OSH-images images
We now have a process for OSH-images image building,
using Zuul, so we should point the images by default to those
images, instead of pointing to stale images.

Without this, the osh-images build process is completely not
in use, and updating the osh-images process or patching its
code has no impact on OSH.

This should fix it.

Change-Id: I672b8755bf9e182b15eff067479b662529a13477
2019-05-13 10:58:02 +02:00
Roy Tang (rt7380)
5df6fa3789 Expose Anti-Affinity Weight Setting.
Add weight default setting to anti-affinity.

Depends-on: Id8eb303674764ef8b0664f62040723aaf77e0a54
Change-Id: I09f96522cddf3a77dae73daca4557877eda5df50
2019-05-10 22:05:24 -05:00
Zuul
7f95467e3d Merge "Replace git.openstack.org URLs with opendev.org URLs" 2019-05-01 16:11:28 +00:00
Zuul
7d938de167 Merge "Add ipxe file path variable and installation codes for CentOS" 2019-05-01 14:53:18 +00:00
tw0410
0e64d83752 Add ipxe file path variable and installation codes for CentOS
In _ironic-conductor-pxe-init.sh.tpl file,
there are only codes for ubuntu system.

However in Openstack-Helm especially in kolla image,
there are Ubuntu version and CentOS version.

So add codes for OS dependency check and ipxe file PATH for each OS.

Change-Id: I04886da64ae0dfda782bcd8d8d2cde960ab1db1d
Signed-off-by: TaewooLee <tw0410.lee@samsung.com>
2019-04-29 09:19:35 +09:00
caoyuan
cb77d3adff Replace git.openstack.org URLs with opendev.org URLs
Change-Id: I9a7bcee8727cb127d57ccb4dce1183895a4130cd
2019-04-25 00:37:57 +08:00
Pete Birley
623c131292 OSH: Add emptydirs for tmp
This PS adds emptydirs backing the /tmp directory in pods, which
is required in most cases for full operation when using a read only
filesystem backing the container.

Additionally some yaml indent issues are resolved.

Change-Id: I9df8f70e913b911ff755600fa2f669d9c5dcb928
Signed-off-by: Pete Birley <pete@port.direct>
2019-04-20 08:55:44 -05:00
jlego229-kim
65bd9a7a04 Change default of ironic.conductor.api_url from internal to public
Currently a pxe-client has to contact with ironic-api through
it's internal endpoint during lookup() period.

However, the pxe-client cannot access kube-dns by ifself,
so it needs additional dns server. (or Using NodePort)

With additional dns server, it will be safer for pxe-client
to contact with ironic-api through it's public endpoint(passing by ingress)
rather than internal endpoint directly becuase internal pod's IPs would be changed frequently.

Also, I refered to {Values.conf.ironic.glance.swift_endpoint_url}.
(swift is also accessed by the pxe-client and swift_url's default is public endpoint)

Change-Id: I0ad97f3ed608973d7e5a4a11d87595fe258a0db5
2019-04-17 13:08:32 +09:00
Itxaka
715f4bcfff
Fix volumemounts indent issue
Using {{- if for the volume mounts caused them to be added inline with
the previous line.

Removing the - from the if expression makes them be properly aligned on
the next line

Change-Id: Ia5e28366fb1f2ae7420b7f5217c10cbb94bc48ab
2019-04-10 11:56:26 +02:00
Pavlo Shchelokovskyy
f3b1be7bde Add preliminary support for standalone ironic
currently ironic chart is quite entangled with the presense of
other openstack services (Glance, Neutron, Swift).

Ironic is capable of running completely standalone, and while
the keystone and some neutron-related pieces are implemented as jobs
and can be turned off in manifests and dependencies sections of values,
others are scripts running as initContainers and are not the easy to
switch off.

This patch adds more key/values to the bootstrap key,
which allows to turn off Neutron-, Swift- and Glance-related pieces
while keeping possibility that some other networking, image or
object_store actions appropriate for standalone case may be needed.

Change-Id: Icccbdbce81ca350042f33f5e86bb942064839267
2019-03-22 17:04:08 +02:00
Jiří Suchomel
a2a5dda47c Added volume related keys to pod mounts to ease the overriding
If user wants to add an extra volumeMounts/volume to a pod,
amd uses override values e.g. like this

pod:
  mounts:
    nova_placement:
      init_container: null
      nova_placement:
        volumeMounts:
          - name: nova-etc
          ...

helm template parser complains with

Warning: The destination item 'nova_placement' is a table and ignoring the source 'nova_placement' as it has a non-table value of: <nil>

So when we create empty values for such keys in values.yaml, the source
will be present and warning does not need to be shown.

Change-Id: Ib8dc53c3a54e12014025de8fafe16fbe9721c0da
2019-03-15 16:29:19 +00:00
Zuul
1ad5467252 Merge "Increase default logging" 2019-03-06 04:09:58 +00:00
Jean-Philippe Evrard
5890ebf4f8 Increase default logging
The current helm chart defaults drops logs of any warnings
(and above) for any logger outside of the namespace
of the deployed chart.

This is a problem, as logging could reveal important information for
operators. While this could be done with a value override, there
is no reason to hide warning, errors, or critical information that
are happening in the cycle of the operation of the software
deployed with the helm charts. For example, nothing would get
logged in oslo_service, which is a very important part of running
OpenStack.

This fixes it by logging to stdout all the warnings (and above)
for OpenStack apps.

Change-Id: I16f77f4cc64caf21b21c8519e6da34eaf5d31498
2019-02-28 09:53:01 +00:00
Pavlo Shchelokovskyy
55645c7e73 Explicitly set datefmt for logging
the defaults in Python [0] and oslo.log [1] are such that when using
separate config file for logging configuration (log-config-append)
the log fomat of dates containes miliseconds twice (as in sec,ms.ms)
which is exactly what is currently seen in logs of OpenStack services
deployed by openstack-helm.

When not provided with datefmt log formatter option, Python effectively
uses '%Y-%m-%d %H:%M:%S,%f' [0] as a default time formatting string to
render `%(asctime)s`, but the defaults in oslo.log add another `.%f`
to it [1].

Since `log-date-format` oslo.log option has no effect when using
log-config-append, we need to explicitly set date format to avoid double
miliseconds rendering in date of log entries.

[0] 6ee41793d2/Lib/logging/__init__.py (L427-L428)
[1] http://git.openstack.org/cgit/openstack/oslo.log/tree/oslo_log/_options.py?id=7c5f8362b26313217b6c248e77be3dc8e2ef74a5#n148

Change-Id: I47aa7ce96770d94b905b56d6fe4abad428f01047
2019-02-21 08:28:35 +00:00
Zuul
ba41c16d6f Merge "Actually add db-drop to ironic chart" 2019-02-16 17:36:57 +00:00
Zuul
53aae7a481 Merge "Unhardcode dns server for ironic pxe network" 2019-02-16 17:36:18 +00:00
Zuul
9e18fa2d5c Merge "Add release-uuid annotation to pod spec" 2019-02-16 01:38:09 +00:00
Pavlo Shchelokovskyy
163497a421 Actually add db-drop to ironic chart
while the job_db_drop was there it was missing both image, script
and limits.

Change-Id: I7fdb8fdd33cbe3c086299d7b71922ae889bc0a14
2019-02-13 18:38:09 +00:00
Pavlo Shchelokovskyy
7844ecec38 Unhardcode dns server for ironic pxe network
Is configurable in tempest chart but not ironic

Change-Id: I029258a5f2cd33d5770f006ea212afb8310228fd
2019-02-13 08:25:28 +00:00
Steve Wilkerson
f4c01d2461 Add release-uuid annotation to pod spec
This adds the release-uuid annotation to the pod spec for all
replication controller templates in the openstack-helm charts

Change-Id: I0159f2741c27277fd173208e7169ff657bb33e57
2019-02-12 12:31:59 -06:00
Pavlo Shchelokovskyy
4740a3e0cd Use tinyipa of Ocata by default in ironic chart
the release name is currently hard-coded to 'newton' while the default
images are for ocata (and the oldest supported release is also ocata).

Change-Id: Iac5112bb978309a07114fcfd0bd899ef3f3d56d0
2019-02-06 13:52:25 +02:00
Tin Lam
29f32a07ac Enable network policy enforcement
This patch set updates the gate to by default uses network policy
for all components and enforces them in Openstack-helm.

Change-Id: I70c90b5808075797f02670f21481a4f968205325
Depends-On: I78e87ef3276e948ae4dd2eb462b4b8012251c8c8
Co-Authored-By: Mike Pham <tp6510@att.com>
Signed-off-by: Tin Lam <tin@irrational.io>
2018-10-23 14:58:13 +00:00
Tin Lam
3cd4d0898a Upgrade default from newton to ocata
This patch set moves the default deployment to ocata from newton.
Newton zuul job is now moved into its separate job.

Change-Id: Ic534c8ee02179f23c7855d93a4707e5a2fd77354
Signed-off-by: Tin Lam <tin@irrational.io>
2018-10-13 04:18:46 +00:00
Pete Birley
3ae745a10e Add release uuid to pods and rc objects
This PS adds the ability to attach a release uuid to pods and rc
objects as desired. A follow up ps will add the ability to add arbitary
annotations to the same objects.

Depends-On: Iceedba457a03387f6fc44eb763a00fd57f9d84a5
Change-Id: I324680f10263c1aefca2be9056e70d0ff22fcaf0
Signed-off-by: Pete Birley <pete@port.direct>
2018-09-13 06:29:14 -05:00
Jean-Philippe Evrard
05d0e2b4b8 Revert "Update OSH Author copyrights to OSF"
This reverts commit b1755c399341388627a668ab9fd6f43b7416f65a.

Change-Id: I215a172f2ff4220340292b95f5323847944baeb7
2018-08-28 17:25:13 +00:00
Matt McEuen
b1755c3993 Update OSH Author copyrights to OSF
This PS updates the "Openstack-Helm Authors" copyright attribution
to be the "OpenStack Foundation", as decided in the 2018-03-20
team meeting:
http://eavesdrop.openstack.org/meetings/openstack_helm/2018/openstack_helm.2018-03-20-15.00.log.html

No other copyright attributions were changed.

Change-Id: I167ceedab8fadee28c19514fad6f125d0a521caf
2018-08-26 17:17:41 -05:00
Zuul
e31f82668e Merge "Keystone: Correct endpoint definition" 2018-08-24 16:01:53 +00:00
Pete Birley
4b3cbafc9a Keystone: Correct endpoint definition
This PS udpates the keystone endpoint definition to point to the
correct host for the admin endpoint when looked up using endpoint
functions from helm-toolkit.

Change-Id: Ic6b82a002cca92e37d21f594bad5f00758f1ea7a
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-23 11:33:21 -05:00
Pete Birley
83b91e6e1b Openstack: Use k8s secret to store config
This PS moves openstack components in OSH to use secrets to store
potentially sensitive config information.

Depends-On: https://review.openstack.org/#/c/593732

Change-Id: I9bab586c03597effea0e48a58c69efff3f980a92
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-22 20:39:52 -05:00
Pete Birley
7e90bb02bd Logging: update logging config to pass null as a string to oslo config
This PS updates the logging config to pass null as a string though to
the rendering engine, which is required to avoid things like `<no value>`
when base64 encoding output.

Change-Id: I04d6afbc693ec1adf560c7be15704c8b7434c08f
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-20 13:28:27 -05:00
Pete Birley
4a6d740154 Keystone: Stop running keystone container with root user
This PS updates the keystoen chart to stop running the keystone api
as the root user.

Change-Id: If3042210f761476846da02fc8e648c700267a591
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-04 10:06:32 -05:00
Pete Birley
5f349ae653 Keystone: Disable v2 api
This PS disables the v2 keystone API, and finishes the migration to
full v3 support.

Change-Id: I3021ebe0bee668db9f28e7fb18e2d4b26172f209
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-03 14:50:45 +00:00
Pete Birley
dc7008d9a5 Keystone: enable external access to admin endpoint
This PS moves to use port 80 by default for the keystone
asdmin endpoint, and adjusts paths accordingly.

Change-Id: Iccae704dadc17eba269e857301654782f64763c9
Signed-off-by: Pete Birley <pete@port.direct>
2018-08-02 14:40:20 +00:00
Pete Birley
d003a082c8 Logging: Only output std logs to stdout
This PS removes the double logging of openstack components that
were caused by outputting to both stdout and stderr.

Change-Id: I6e0ae5861bbf5b8d736ae08251aa865e1c4ce0d8
Signed-off-by: Pete Birley <pete@port.direct>
2018-07-27 11:01:30 +00:00
Pete Birley
95c5b4942d Keystone: Use service domain for service users
This PS moves to use a service domain for openstack service accounts
and users.

Change-Id: Ibe7c5f83a9fc9960fb85e53f9745d24f2192a94a
Signed-off-by: Pete Birley <pete@port.direct>
2018-07-26 05:19:38 +00:00
Pete Birley
ec2f9d0808 Keystone: Update admin port declaration to use standard layout
This PS updates keystone, and the keystone endpoints sections to use
the same layout for port declarations as other charts.

Change-Id: I7dddabee6c74bf023da4b1cdf722a409e7475f8f
Signed-off-by: Pete Birley <pete@port.direct>
2018-07-25 13:00:52 -05:00
Steve Wilkerson
2f878e6cf7 Dynamically generate tags for oslo_log fluentd formatter
This proposes changing the tags added to the openstack logs
gathered by the fluentd handler from `openstack.<service>` to
`Namespace.Release` to account for multiple instances of openstack
services being deployed into different namespaces. This allows for
fine tuning the search queries in elasticsearch/kibana to target
specific service deployments in specific namespaces

Change-Id: Ia12dceb4089e107e15d8e30c92c91f350dc31318
2018-07-23 13:28:26 +00:00
Steve Wilkerson
da7bc575ec Add logging.conf files to enabled loggers/handlers/formatters
This introduces a mechanism for generating the logging.conf
file for the openstack services via the values. This allows us to
define loggers, handlers, and formatters for the services and the
modules they're composed of.

This also allows us to take advantage of the oslo fluent handler
and formatter. The fluent handler and formatter give us the
following benefits: sending logs directly to fluentd instead of
routed to stdout/stderr and then through fluentbit to fluentd,
project specific tags on the logged events (enables us to define
more robust filters in fluentd for aggregation if required),
full traceback support, and additional metadata (modules that
created logged event, etc)

Depends-On: https://review.openstack.org/577796

Change-Id: I63340ce6b03191d93a74d9ac6947f0b49b8a1a39
2018-06-26 09:51:14 -05:00