forked from openshift/openshift-ansible
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenshift-ansible.spec
8001 lines (7512 loc) · 420 KB
/
openshift-ansible.spec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# %commit is intended to be set by tito custom builders provided
# in the .tito/lib directory. The values in this spec file will not be kept up to date.
%{!?commit:
%global commit c64d09e528ca433832c6b6e6f5c7734a9cc8ee6f
}
# This is inserted to prevent RPM from requiring "/usr/bin/ansible-playbook"
# The ansible-playbook requirement will be ansibled by the explicit
# "Requires: ansible" directive
%global __requires_exclude ^/usr/bin/ansible-playbook$
Name: openshift-ansible
Version: 3.10.0
Release: 0.39.0%{?dist}
Summary: Openshift and Atomic Enterprise Ansible
License: ASL 2.0
URL: https://github.com/openshift/openshift-ansible
Source0: https://github.com/openshift/openshift-ansible/archive/%{commit}/%{name}-%{version}.tar.gz
BuildArch: noarch
Requires: ansible >= 2.4.3
Requires: python2
Requires: python-six
Requires: tar
Requires: %{name}-docs = %{version}-%{release}
Requires: %{name}-playbooks = %{version}-%{release}
Requires: %{name}-roles = %{version}-%{release}
Obsoletes: atomic-openshift-utils <= 3.10
Requires: java-1.8.0-openjdk-headless
Requires: httpd-tools
Requires: libselinux-python
Requires: python-passlib
Requires: python2-crypto
Requires: patch
%description
Openshift and Atomic Enterprise Ansible
This repo contains Ansible code and playbooks
for Openshift and Atomic Enterprise.
%prep
%setup -q
%build
%install
# Base openshift-ansible install
mkdir -p %{buildroot}%{_datadir}/%{name}
mkdir -p %{buildroot}%{_datadir}/ansible/%{name}/inventory
cp -rp inventory/dynamic %{buildroot}%{_datadir}/ansible/%{name}/inventory
cp ansible.cfg %{buildroot}%{_datadir}/ansible/%{name}/ansible.cfg
# openshift-ansible-bin install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{python_sitelib}/openshift_ansible
mkdir -p %{buildroot}/etc/bash_completion.d
mkdir -p %{buildroot}/etc/openshift_ansible
# Fix links
rm -f %{buildroot}%{python_sitelib}/openshift_ansible/aws
rm -f %{buildroot}%{python_sitelib}/openshift_ansible/gce
# openshift-ansible-docs install
# Install example inventory into docs/examples
mkdir -p docs/example-inventories
cp inventory/hosts.* inventory/README.md docs/example-inventories/
# openshift-ansible-playbooks install
cp -rp playbooks %{buildroot}%{_datadir}/ansible/%{name}/
# remove contiv plabooks
rm -rf %{buildroot}%{_datadir}/ansible/%{name}/playbooks/adhoc/contiv
# BZ1330091
find -L %{buildroot}%{_datadir}/ansible/%{name}/playbooks -name lookup_plugins -type l -delete
find -L %{buildroot}%{_datadir}/ansible/%{name}/playbooks -name filter_plugins -type l -delete
# openshift-ansible-roles install
cp -rp roles %{buildroot}%{_datadir}/ansible/%{name}/
# remove contiv role
rm -rf %{buildroot}%{_datadir}/ansible/%{name}/roles/contiv/*
# touch a file in contiv so that it can be added to SCM's
touch %{buildroot}%{_datadir}/ansible/%{name}/roles/contiv/.empty_dir
# Base openshift-ansible files
%files
%doc README*
%license LICENSE
%dir %{_datadir}/ansible/%{name}
%{_datadir}/ansible/%{name}/inventory
%{_datadir}/ansible/%{name}/ansible.cfg
# ----------------------------------------------------------------------------------
# openshift-ansible-docs subpackage
# ----------------------------------------------------------------------------------
%package docs
Summary: Openshift and Atomic Enterprise Ansible documents
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description docs
%{summary}.
%files docs
%doc docs
# ----------------------------------------------------------------------------------
# openshift-ansible-playbooks subpackage
# ----------------------------------------------------------------------------------
%package playbooks
Summary: Openshift and Atomic Enterprise Ansible Playbooks
Requires: %{name} = %{version}-%{release}
Requires: %{name}-roles = %{version}-%{release}
BuildArch: noarch
%description playbooks
%{summary}.
%files playbooks
%{_datadir}/ansible/%{name}/playbooks
# Along the history of openshift-ansible, some playbook directories had to be
# moved and were replaced with symlinks for backwards compatibility.
# RPM doesn't handle this so we have to do some pre-transaction magic.
# See https://fedoraproject.org/wiki/Packaging:Directory_Replacement
%pretrans playbooks -p <lua>
-- Define the paths to directories being replaced below.
-- DO NOT add a trailing slash at the end.
dirs_to_sym = {
"/usr/share/ansible/openshift-ansible/playbooks/common/openshift-master/library",
"/usr/share/ansible/openshift-ansible/playbooks/certificate_expiry"
}
for i,path in ipairs(dirs_to_sym) do
st = posix.stat(path)
if st and st.type == "directory" then
status = os.rename(path, path .. ".rpmmoved")
if not status then
suffix = 0
while not status do
suffix = suffix + 1
status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix)
end
os.rename(path, path .. ".rpmmoved")
end
end
end
%package roles
# ----------------------------------------------------------------------------------
# openshift-ansible-roles subpackage
# ----------------------------------------------------------------------------------
Summary: Openshift and Atomic Enterprise Ansible roles
Requires: %{name} = %{version}-%{release}
Obsoletes: %{name}-lookup-plugins
Obsoletes: %{name}-filter-plugins
Obsoletes: %{name}-callback-plugins
BuildArch: noarch
%description roles
%{summary}.
%files roles
%{_datadir}/ansible/%{name}/roles
%changelog
* Thu May 10 2018 Justin Pierce <[email protected]> 3.10.0-0.39.0
- Fix tox ([email protected])
- Remove debugging code from #8304 ([email protected])
- Fix upgrade containerized to bootstrap ([email protected])
- Remove bootstrap boolean from gcp provision ([email protected])
- Fix and simplify Installer Checkpoint ([email protected])
* Wed May 09 2018 Justin Pierce <[email protected]> 3.10.0-0.38.0
- Ensure existing network facts are set ([email protected])
- Fix etcd runtime detection ([email protected])
- Update cloudforms templates to be in sync with
roles/openshift_management/files/templates/cloudforms ([email protected])
- Update to CloudForms 4.6.2 templates ([email protected])
- azure: append .vhd to name of blobs written during image build process. Azure
publishing portal requires input blob names to end in .vhd.
- Azure: rollback module usage to support ansible 2.4 ([email protected])
- Azure: add playbook ([email protected])
- Fix other configuration for node... ([email protected])
- Enable missing feature-gate for VolumeScheduling (also use already defined
feature-gate entry for node config) ([email protected])
- Use local variable instead of global one in template
- Fix openshift_facts migrated_facts ([email protected])
- Add the EAP CD imagestream to 3.10 ([email protected])
- Bug 1575508 - typo in file name during a rename. ([email protected])
- Modify rights to allow serviceaccount to change SELinux context of volumes
- Update daemonset to follow changes in openshift storage example:
- Add example for local persistent storage image and path
- Correct Undefined variable ([email protected])
- Parametrize provisionner image ([email protected])
- Remove redundant default value definition ([email protected])
- Copy pasted too fast, "item" variable is not defined outside mkdir loop
- Parametrize the path for local storage ([email protected])
- Add default to False to avoid error when variable is not defined
- Add possibility to enable Persistent Local Storage using Ansible
- add run_once for create secret task in calico_master role
- Convert SDN master facts to openshift_facts defaults ([email protected])
- Check console ready replicas instead of curling service ([email protected])
- Remove vendored docker_container module ([email protected])
- Compatible with the new prometheus-node-exporter ([email protected])
- Move openshift-checks before node bootstrapping ([email protected])
* Mon May 07 2018 Justin Pierce <[email protected]> 3.10.0-0.37.0
- fix ([email protected])
- Configure NetworkManager to ignore calico interfaces ([email protected])
* Mon May 07 2018 Justin Pierce <[email protected]> 3.10.0-0.36.0
- Remove non-bootstrap code ([email protected])
* Sun May 06 2018 Justin Pierce <[email protected]> 3.10.0-0.35.0
-
* Fri May 04 2018 Justin Pierce <[email protected]> 3.10.0-0.34.0
- Remove outdated api/controllers settings in - /etc/sysconfig
- Mask and disable etcd service and remove etcd system container
- Setup node in system container when updating 3.9 to 3.10
- service catalog: update for v0.1.16 ([email protected])
* Fri May 04 2018 Justin Pierce <[email protected]> 3.10.0-0.33.0
- Updating to remove annotations from namespace rather than project
- Fix papr.sh target branch for rebase ([email protected])
- Convert etcd to static pods on upgrade ([email protected])
- Resurrect scale group upgrade ([email protected])
- docker_image_availability: bz 1570479 ([email protected])
- PAPR: try to rebase on the latest code ([email protected])
- Annotating fluentd pods for promethrus scraping ([email protected])
- Excluding the eventrouter component when looking for namespaces logging is
installed in ([email protected])
- Cleanup master related plays and variables ([email protected])
- bump xpaas to 1.4.12 ([email protected])
- Rework Openshift CLI image pulling ([email protected])
- Remove certificates_to_synchronize filter module ([email protected])
- Remove clusterNetworkCIDR/hostSubnetLength from default config
- Add support for adding an additional trusted CA ([email protected])
- no_negcache set to default ([email protected])
- azure: add metadata server IP to no_proxy list ([email protected])
- Fix issue with dnsmasq not caching NXDOMAIN ([email protected])
- adding permisions for different resource names ([email protected])
- Bug 1566924 - Renaming CRDs ([email protected])
- GlusterFS: Fix setting heketi route ([email protected])
- Move Node Problem Detector to its own ns, make the ns hard-coded
- cadvisor metrics are missing due to worng kubernetes version.
- Fix alert name typo ([email protected])
- override cluster default node selector with empty project selector
- Bug 1571385- Node selector on pod rather than DC ([email protected])
- Remove system_container image from openshift_cli ([email protected])
* Tue May 01 2018 Justin Pierce <[email protected]> 3.10.0-0.32.0
- Fix redeploy cert for openshift registry ([email protected])
- Remove old content ([email protected])
- Remove older playbooks ([email protected])
- Re-add etcd rpm install path for external etcd ([email protected])
- Remove orphaned byo 3.9 upgrade playbooks ([email protected])
- Add templating check in failed_when conditions ([email protected])
- Workaround ansible/ansible #39558 ([email protected])
- router - depricate -expose-metrics --metrics-image ([email protected])
- Remove dynamic include in logging_fluentd role ([email protected])
- Add master config filepath checking ([email protected])
- README: add a note about ansible 2.5 version ([email protected])
- uninstall node group: fix deprecated syntax ([email protected])
- setup.py: exclude ymls which start with a dot ([email protected])
- setup.py: revert safe_load_all change ([email protected])
- Flush ansible handlers before running restart service tasks in contiv
- sdn: fix OOM issues with ovs-vswitchd on many-core machines ([email protected])
- etcd scaleup: removed openshift_master_facts role; seems uncessary
- Add auto-heal role and playbooks ([email protected])
- Getting intersection of __default_ops_projects and all projects currently
installed for case where we reuse installation into logging namespace and
openshift-logging isnt available ([email protected])
- sync examples ([email protected])
- Remove unused v39 upgrade ([email protected])
- dnsmasq - increase dns-forward-max, cache-size ([email protected])
* Sat Apr 28 2018 Justin Pierce <[email protected]> 3.10.0-0.31.0
- Remove openshift-ansible-catalog-console.js ([email protected])
- Add EAP CD to v3.10 ([email protected])
- Change filename to file in htpasswd auth ([email protected])
- Allow Prometheus scraping of availability namespace ([email protected])
- Update etcd restart command ([email protected])
- Enable kuryr pool driver selection ([email protected])
- Set a lower default TTL for GCP DNS records ([email protected])
- bug 1568361. Modify persistent directory for logs ([email protected])
- control plane components derived from static pods must be marked critical
* Thu Apr 26 2018 Justin Pierce <[email protected]> 3.10.0-0.30.0
- missing default variables cause curator to fail ([email protected])
- Add prerequisites.yml to papr.sh script ([email protected])
- Cert check: verify bootstrap config and skip certs, if it doesn't have
client-certificate-data ([email protected])
- Fail when unable to fetch expected security groups. ([email protected])
- Remove openshift_master_config_dir variable ([email protected])
- Remove openshift_clock role ([email protected])
- install: verify that at least one master is schedulable ([email protected])
- Revert "Don't always update dbus but do restart dbus if dnsmasq changed"
- pre upgrade: fix typo ([email protected])
* Wed Apr 25 2018 Justin Pierce <[email protected]> 3.10.0-0.29.0
- Add Alertmanager configuration ([email protected])
- Fix a few remaining image expansions ([email protected])
- add critical pod annotation to fluent to avoid eviction ([email protected])
- Update all catalog RBAC to use upstream API ([email protected])
- update jinja for template ([email protected])
- Fix BZ 1570922. ([email protected])
- Removing the extra closing parentheses. ([email protected])
- Add sanity_check for removing filepath and migrate htpasswd
- Add max-time option to curl to avoid long running ansible
- openstack: pylint fix short var name ([email protected])
- Set the master cluster hostname under OpenStack ([email protected])
- Replace stdout with content ([email protected])
- Add no_proxy to verify to check .svc ([email protected])
- Bug 1562783 - Fix egress router setup ([email protected])
- Bug 1538560 - [RFE]rename the project name mux-undefined ([email protected])
- Fix more indentation issues ([email protected])
- Fix oc_version oc_short to report '3.10' ([email protected])
- Add EAP CD to v3.9 and v3.10 ([email protected])
- Add missing attribute on htpasswd object ([email protected])
- Cleanup stale version bits ([email protected])
- Fix defaults ([email protected])
- Add jinja blocks ([email protected])
- Add remove task for route ([email protected])
- Add conditional for route ([email protected])
- Bug 1569220 - Add dashboard redirector feature ([email protected])
- openstack: Do not use layer2 mode for Octavia LB ([email protected])
- openstack: don't check for kuryr AND lbaas ([email protected])
- openstack: make master direct Octavia compatible ([email protected])
- openstack: Make LBaaSv2 backend configurable ([email protected])
- openstack/kuryr: expose origin API on 443 for pods ([email protected])
- Make Kuryr healthchecks probes optional ([email protected])
- Fix method name that was too long ([email protected])
- Fix linting issues ([email protected])
- Integrate Node Problem Detector into install ([email protected])
- Add libsemanage-python to base packages prerequisites ([email protected])
- Remove meta openshift_etcd role ([email protected])
- Adding missing deprecated var openshift_hosted_metrics_public_url and its
mapped var ([email protected])
- Update Cluster Monitoring Operator role docs ([email protected])
- Allowing ability to specify a logging namespace and override check to install
in two different namespaces ([email protected])
- Allowing way to provide ops and non ops certs for their locations for fluentd
- Forward infra elb port 80 to instance port 80. ([email protected])
- Updating to use existing logging facts over role defaults if available
- Add documentation about subports management for kuryr ([email protected])
- Add trailing newline ([email protected])
- Update unit tests to test sc changes ([email protected])
- Allow fully qualified provisioner names ([email protected])
* Mon Apr 23 2018 Justin Pierce <[email protected]> 3.10.0-0.28.0
- master-restart: wait for container to stop before proceeding
- Remove meta role openshift_etcd_client_certificates ([email protected])
- Add debug level for descheduler role. ([email protected])
- Add registry checks to v3.10 upgrade ([email protected])
- Set cli image to origin-node / ose-node ([email protected])
- Add a new monitoring availability component ([email protected])
- Check and fix registry serviceaccount ([email protected])
- Remove legacy env variables from the registry deploymentconfig if present
- spec: own playbooks/common/openshift-master ([email protected])
- spec: own inventory dir ([email protected])
* Sat Apr 21 2018 Justin Pierce <[email protected]> 3.10.0-0.27.0
- Update minimal hosts.localhost ([email protected])
- Ensure /opt/cni/bin exists when running a node in a system container
- Set default number of registry replicas to 1 ([email protected])
- Fix references to openshift_master_api_port ([email protected])
- Remove unused l_openshift_version_check_hosts ([email protected])
- Hardcode htpasswd auth provider filename ([email protected])
* Fri Apr 20 2018 Justin Pierce <[email protected]> 3.10.0-0.26.0
- docker rootdir is different when installing crio ([email protected])
- Use `inventory_hostname` not `openshift_hostname` ([email protected])
- Set OpenStack VM hostname to the entry in Nova ([email protected])
* Thu Apr 19 2018 Justin Pierce <[email protected]> 3.10.0-0.25.0
- remove stray LCs on deprovision ([email protected])
* Thu Apr 19 2018 Justin Pierce <[email protected]> 3.10.0-0.24.0
- Correct default sdn_mtu setting ([email protected])
- Fix docker client-ca.crt symlink ([email protected])
- oc_adm_csr - return timeout on other failures ([email protected])
- Append clusterid to default iam role and policy names. ([email protected])
- Allow overriding master/node iam role and policy. ([email protected])
* Thu Apr 19 2018 Justin Pierce <[email protected]> 3.10.0-0.23.0
- Adjust Kuryr CNI definitions for new Docker image ([email protected])
- Update installation/uninstallation/upgrade of descheduler component.
- Provide backup_ext functionality keeping backwards compatibility.
- Add OWNERS files ([email protected])
- Fixing indentation for topology keyfor antiaffinity rules
- Cert check: skip missing entries when a list of certs to check is assembled
- Create docker cert dir for our registry ([email protected])
- Fix up node and control-plane images ([email protected])
- Revert "crio: Fixup docker SELinux permissions" ([email protected])
- Output useful logs in CI on failure ([email protected])
- [BZ 1567251] make cassandra snapshots configurable ([email protected])
- Remove etcd_version ([email protected])
- cluster_monitoring_operator: Bump to the latest build ([email protected])
- Update the docker-registry CA symlink on nodes during upgrade
- Bug 1567767 - openshift_logging : Run JKS generation script failed
- Fix wrong handler name masters ([email protected])
- Remove all references to prometheus storage via NFS ([email protected])
- HACK: disable service catalog for HA and update PAPR tests
- Fix undefined var in openstack dns record setting ([email protected])
- Add bootstrap and join to node scaleup ([email protected])
- upgrade: verify API server is accessible before masters upgrade
- Properly detect etcd version in static pod ([email protected])
- No need to stop etcd service on bootstrapped nodes ([email protected])
- Rework etcd backup and cmd during upgrade ([email protected])
- Use nodename when waiting for node to be ready ([email protected])
- Copy master-exec script ([email protected])
- Upgrade: don't check master service status for bootstrapped nodes
- PAPR: check HA install and minor update on all-in-one cluster
- Remove deprecated networkPluginName from node config template
- Updating to use preferred only for logging components and removing infra pod
concept ([email protected])
- Update queris. ([email protected])
- Add support for kuryr-controller and kuryr-cni health checks
- Remove iam_cert23 and use upstream iam_cert. ([email protected])
- Adding anti affinity configurations for ES and kibana pods
- Opening additional ports for CNS block in heat template.
- catalog: use configmap for leader election lock ([email protected])
* Mon Apr 16 2018 Justin Pierce <[email protected]> 3.10.0-0.22.0
- Don't always update dbus but do restart dbus if dnsmasq changed
- Label all-in-one cluster as compute=true ([email protected])
- Support azure for management storage class ([email protected])
- Add storage class defaults for azure ([email protected])
- Create cloud config when using azure provider ([email protected])
- Create default storage class when using azure cloud provider
- Support azure cloud provider in facts ([email protected])
- remove all remaining variable quotation ([email protected])
- [BZ 1564857] fix image name ([email protected])
- always add es and es-ops hostname to the es server cert ([email protected])
- remove manually created ssl cert, use service-cert instead, use default
service endpoint scrape ([email protected])
- cluster_monitoring_operator: Don't use cluster-admin role
- fix certificate auth on containerized etcd ([email protected])
- Allow node-exporter port through GCP firewall ([email protected])
- Wipe filesystem metadata from CNS block devices.
- Removing heat template outputs for stack scalability.
- Ensure user provides sane values for openshift_release ([email protected])
- bug 1535300. Default logging namespace to openshift-logging
- Set the pid_max value only when lower than certain threshold.
- cluster_monitoring: Bump operator version and adjust related config
- Correct link to README.md in openshift-cluster/upgrades for v3.9
- Specify the namespace for better idempotent ([email protected])
* Thu Apr 12 2018 Justin Pierce <[email protected]> 3.10.0-0.21.0
- fixed typo, caused unknown char error ([email protected])
- Fix missing close parenthesis ([email protected])
- Fix registry x509 SAN omit placeholder ([email protected])
- Revert docker-rhel-push-plugin ([email protected])
- upgrade prometheus 2.1.0 -> 2.2.1 ([email protected])
- Only install docker-rhel-push-plugin on enterprise ([email protected])
- Don't block on node start when bootstrapping ([email protected])
- Cert verification: add more certs to verify ([email protected])
- Remove obsolete openshift_docker_disable_push_dockerhub ([email protected])
- Openshift facts: ensure 'disable-attach-detach-reconcile-sync' contains a
list value ([email protected])
* Wed Apr 11 2018 Justin Pierce <[email protected]> 3.10.0-0.20.0
- Upgrade to 3.10 with static pods ([email protected])
- Update PR docs and link to current bot commands. ([email protected])
- Add oo_etcd_to_config to service_catalog init ([email protected])
- Add missing package docker-rhel-push-plugin ([email protected])
- Add nfs storage_kind check to sanity_checks ([email protected])
- Add openshift-descheduler project. ([email protected])
- wait_for_pod: wait for deployment to be Complete ([email protected])
- Fix OpenStack playbooks on clouds without Cinder ([email protected])
* Tue Apr 10 2018 Justin Pierce <[email protected]> 3.10.0-0.19.0
- Update dbus before installing dnsmasq ([email protected])
- Removing clear_facts from 3.10 upgrade ([email protected])
* Tue Apr 10 2018 Justin Pierce <[email protected]> 3.10.0-0.18.0
- Add missing 'is' in when condiditon for slurp ([email protected])
- Prefix the node-problem-detector with the system: ([email protected])
- Fix wrong reference to user policy. ([email protected])
- Change include_ to import_ where possible ([email protected])
- Remove extra ansible.cfg ([email protected])
- Remove utils unit tests ([email protected])
- Remove atomic-openshift-utils ([email protected])
- Switch Node Problem Detector to only pull IfNotPresent, make it configurable
- Fix generate_session_secrets ([email protected])
- Update default var to set imagePullPolicy: Always ([email protected])
- Update ASB configmap to set namespace ([email protected])
- Add option to create Cinder registry volume ([email protected])
- Add the OpenStack load balancer deployment options ([email protected])
- GlusterFS: enable modprobe in pods that manage bricks ([email protected])
- Calico fixes ([email protected])
- Cleanup node role tasks ([email protected])
- Change set imagepullpolicy to allow for offline install ([email protected])
- Update console liveness probe ([email protected])
- Remove unused task-file import ([email protected])
- Remove dead code from openshift_facts ([email protected])
- PAPR: install ASB after CRD backend is used ([email protected])
- PARP: Store ansible log file separately ([email protected])
- PAPR: remove bootstrap vars to be as close to default as possible
- Remove some pointless usages of openshift_facts ([email protected])
- catalog: create service and ssl certs for controller manager
- Revert "Add metrics-server to openshift-metrics playbook"
- Remove wire_aggregator and fix runtime config ([email protected])
- ScheduledJob -> CronJob ([email protected])
- Fix path to expiry check playbook ([email protected])
- Use 'oc create secret' syntax instead of deprecated 'oc secrets new-sslauth'
- reorg provision playbooks ([email protected])
- disable adc reconciler sync for aws ([email protected])
* Fri Apr 06 2018 Justin Pierce <[email protected]> 3.10.0-0.16.0
- Use long form of "scc" resource type in logging facts ([email protected])
- Add CL role and playbook for Node Problem Detector ([email protected])
- Remove unused/obsolete items from openshift_master_facts ([email protected])
- Allow no sdn's to be specified in sanity checks ([email protected])
- Fix session secrets file and remove old facts ([email protected])
- master: set DEBUG_LOGLEVEL based on openshift_master_debug_level
- Refactor openshift_version setting ([email protected])
- Ensure legacy inventories continue to work for infra nodes
- Updating for es5.x image naming and removing restriction for origin only for
tech preview ([email protected])
- Implement descheduler cluster lifecycle role and playbook.
- Add resources and migration for new default CRD backend for ASB
- GlusterFS: Use custom StorageClass for S3 ([email protected])
- GlusterFS: Fix missing parameter for registry PVC ([email protected])
- Fix undefined variable in session secrets ([email protected])
- Updating default image tags to be only vX.Y for origin installs
- Don't install etcd on bootstrapped hosts ([email protected])
- When bootstrapping automatically sync node config ([email protected])
- Fixing crlnumber file missing ([email protected])
- Use consistent config location in web console debugging ([email protected])
- Refactor session authentication secrets ([email protected])
- [1558689] Add iproute to origin-ansible image ([email protected])
- catalog: turn on async bindings by default ([email protected])
- [1561247] Add kubeconfig to openshift_bootstrap_autoapprover
- Add an ansible role to install OpenShift monitoring platform
- Documents new node upgrade hooks. ([email protected])
- Skip oc_adm_csr when no bootstrapping is required on GCP
- deploy k8s job for applying hawkular-metrics schema ([email protected])
- use new filter name for AWS availability zones ([email protected])
- Fix node upgrade hooks ([email protected])
- Switch the master to always run with bootstrapping on ([email protected])
- Removing non-null default for cpu_limit for es ([email protected])
- GlusterFS: Collapse versioned files and directories ([email protected])
- Fix GCP master haproxy install check ([email protected])
- crio: don't configure openshift-sdn when disabled ([email protected])
- PAPR - Don't install ASB, do install TSB ([email protected])
- Ensure etcd.conf variables are updated during upgrade ([email protected])
- Update deprecated etcd vars in openshfit_cert_expiry ([email protected])
- PAPR: don't install TSB on Atomic ([email protected])
- Removing hardcoding of configmap_namespace for patching ([email protected])
- Remove openshift_etcd_facts role ([email protected])
- Cert check playbooks: remove become ([email protected])
- Fix s3 image as rhgs3/rhgs-s3-server-rhel7 ([email protected])
- Upgrade Prometheus AlertManager to v0.14.0 ([email protected])
- Remove etcd_hosts and etcd_urls from openshift_facts ([email protected])
- Convert node-related roles from include_tasks to import_tasks
- Bug 1557516- ASB now scheduled on infra nodes ([email protected])
- remove duplicate time import ([email protected])
- fix import ([email protected])
- rebuild dependent modules ([email protected])
- Bug 1555426- yedit now appends an ISO8601 formatted datetime string to file
backups ([email protected])
- Don't remove pvs when uninstalling openshift_management ([email protected])
- dockergc: use oc rather than openshift for ex subcommand
- Updating default image versions to match curator ([email protected])
- OpenShift Reference Component Docs ([email protected])
- Fix typo in hawkular-cassandra RC ([email protected])
- Adds node hooks: pre, mid and post update hook. ([email protected])
- Adjusting the default PVC size of MUX file buffer
(openshift_logging_mux_file_buffer_pvc_size) to the default MUX file buffer
size (openshift_logging_mux_file_buffer_limit == 2Gi). ([email protected])
* Tue Mar 27 2018 Justin Pierce <[email protected]> 3.10.0-0.15.0
- Remove etcd_migrate and embedded2external ([email protected])
- Master: change openshift_node include_tasks to import_tasks
- Use consistent image references and split out node sync ([email protected])
- Remove complex version logic and fix f27 build ([email protected])
- CSR approval should ignore errors when retrying ([email protected])
* Mon Mar 26 2018 Justin Pierce <[email protected]> 3.10.0-0.14.0
- Split the provision.yml playbook for more flexibility.
- Ensure master-logs works for both origin and enterprise ([email protected])
- Master components should not have configurable labels ([email protected])
- Remove duplicated index ([email protected])
- Revert "Use region and zone labels added by cloudprovider for scheduling"
- Replacing -v with -p for template parameters in oc_process
- ensure common_secgrp is used in all server groups ([email protected])
- package_version check: stop looking for docker ([email protected])
- minor updates to cleanup secgrp rules ([email protected])
- Configure dnsmasq before waiting for node ([email protected])
- parameterized flat and master/etcd/node secgroup rules ([email protected])
- parameterized common openstack secgroup rules ([email protected])
- fix the ELASTICSEARCH_URL for kibana ([email protected])
- Updating default run hour and minute for curator ([email protected])
- add in password auth for logging proxy ([email protected])
- Bumping up the default wait time for ES node to be yellow or green, made it
configurable for larger clusters ([email protected])
- Make ports pool the default when deploying with kuryr ([email protected])
- Allow for using an external openvswitch ([email protected])
- fixing the mounts for the daemonset config to have non subpath mount
- Remove openshift_management beta acknowledement ([email protected])
- Add metrics-server to openshift-metrics playbook ([email protected])
- Limit Prometheus discovery to relevant namespaces ([email protected])
- Don't verify node exporter is running ([email protected])
- roles/openshift-prometheus: fix failing prometheus service discovery scrapes
- upgrade prometheus v2.0.0 -> v2.1.0 ([email protected])
- Use region and zone labels added by cloudprovider for scheduling
- Remove deployment_type parameter from default predicates and priorities
lookup as it was removed from the lookup plugin ([email protected])
- use openshift_image_tag default for prometheus_node_exporter image
* Tue Mar 20 2018 Justin Pierce <[email protected]> 3.10.0-0.13.0
- EFS Provisioner: switch OCP tag to latest ([email protected])
* Mon Mar 19 2018 Justin Pierce <[email protected]> 3.10.0-0.12.0
- Bump pyOpenSSL to 17.5.0 ([email protected])
* Sat Mar 17 2018 Justin Pierce <[email protected]> 3.10.0-0.11.0
-
* Fri Mar 16 2018 Justin Pierce <[email protected]> 3.10.0-0.10.0
- Bug 1553576 - Change the self_hostname to ${hostname} in openshift-ansible
* Thu Mar 15 2018 Justin Pierce <[email protected]> 3.10.0-0.9.0
- Use oreg_url for node and master images ([email protected])
- Label master nodes with openshift-infra=apiserver ([email protected])
* Thu Mar 15 2018 Justin Pierce <[email protected]> 3.10.0-0.8.0
- Enabling multi vif pool drivers ([email protected])
- Update the examples directory for v3.10 ([email protected])
- Pop etcd_port from local_facts file ([email protected])
- Allowing means to provide custom es config entries with
openshift_logging_es_config ([email protected])
- GlusterFS - Invoke oc binary with the admin.kubeconfig token rather than
default token from $HOME/.kube/config (“[email protected]”)
- Break up components installs into separate playbooks ([email protected])
* Wed Mar 14 2018 Justin Pierce <[email protected]> 3.10.0-0.7.0
- Bug 1548641- Correct arguments to yedit ([email protected])
- Bug 1554828- Nodes are now labeled compute after other labels have been
applied ([email protected])
- Actually link to the Kuryr docs ([email protected])
- Link to the Kuryr docs ([email protected])
- Add link to the Kuryr port pool docs ([email protected])
- Add Kuryr documentation ([email protected])
* Wed Mar 14 2018 Justin Pierce <[email protected]> 3.10.0-0.6.0
- Bug 1548541- Conditional for applying defaultNodeSelector now valid
- Add support to pre-create subports at each trunk ([email protected])
- Fix missing slash in oreg_host ([email protected])
- [RHDM-354] - Add RHDM 7.0 GA templates and image streams to Openshift service
catalog ([email protected])
- Fix references to oc client ([email protected])
- Enable epel-testing repo for ansible-2.4.3 until it goes live
- GlusterFS: Add HEKETI_IGNORE_STALE_OPERATIONS to templates
- Replace ${version} with openshift_image_tag ([email protected])
- Update f27-atomic build to pull images ([email protected])
- Use internalRegistryHostname when bootstrapping ([email protected])
- In master bootstrapping mode, use the new openshift_control_plane role
- Add a local bootstrap-node-config.yml on all bootstrap nodes
- Switch to bootstrap script as a default var ([email protected])
- Prepare the node for dynamic bootstrapping ([email protected])
- Use an etcd static pod when master bootstrapping is set ([email protected])
- Add new openshift_control_plane and openshift_sdn roles ([email protected])
- Changing python regex method from match to search due to variable content
structure ([email protected])
- Adding missed line change ([email protected])
- Ensure that the aggregator is configured during all control plane upgrades
- Correctly escape the variable value for regex searching when building patch
- [grafana] Use service account token instead of hardcoded user
- [grafana] Fix wrong references to service account ([email protected])
- Revert delete tsb upgrade ([email protected])
- crio: Fixup docker SELinux permissions ([email protected])
- GlusterFS: Don't copy non-existant topology file ([email protected])
- Require Ansible 2.4.3 ([email protected])
- Update roles and playbooks to split cri-o install types ([email protected])
- openshift_node: Remove hardcoded cri-o node labels ([email protected])
- docker_gc: map the r_docker_gc_node_selectors to pairs ([email protected])
- [wip] system containers: ensure Atomic won't reset permissions for
etcd_data_dir ([email protected])
- docker-gc: use openshift_client_binary to support Atomic
- Bug 1548641- upgrade now properly sets labels and selectors
- updated uninstall section ([email protected])
- re-formatted cinder sections ([email protected])
- minor formatting ([email protected])
- updated DNS section to match updated formatting; cleaned up openstack
configuration section ([email protected])
- removed dangling link to scale documenation ([email protected])
- Added subsection regarding OS-specific dependencies ([email protected])
- remove dangling reference to control-host-image ([email protected])
- Add section about OPENSHIFT_CLUSTER env variable ([email protected])
- fixed link ([email protected])
- Separated post-install doc from README; additional cleanup
- Re-organized OpenStack documentation ([email protected])
- TSB upgrade remove and reinstall ([email protected])
- Add .default to no_proxy list for ASB. ([email protected])
- Updating how the whitelist works -- changing from removing the lines which
can cause issues when patching lines near the whitelist line to changing the
current source line to match the new souce line ([email protected])
- Use variables for docker_gc image ([email protected])
- Remove force cache during node upgrade install ([email protected])
- Bug 1550148 - Don't use undefined openshift_version in
openshift_sanitize_inventory ([email protected])
- Refactor openshift.common.deployment_type ([email protected])
- firewall: allow access to DNS for flannel network ([email protected])
- Update curator to use k8s cronjob ([email protected])
- Remove unused openshift_upgrade_config ([email protected])
- Convert calico to self-hosted install ([email protected])
- Switch the default network mode to ovs-networkpolicy ([email protected])
- Allow rcpbind for CNS block in cns-secgrp (openshift_openstack).
- Change default grafana ns to openshift-grafana ([email protected])
- Only run no_log on task that scrapes all inventory variables
- Bug 1549220 - configmap still exist after running uninstall playbook for
logging ([email protected])
- Fix grafana role node selector check ([email protected])
- cri-o: configure oci-umount with CRI-O paths ([email protected])
- added note about any_errors_fatal for ansible.cfg ([email protected])
- add missing evaluate_groups ([email protected])
- change to better coding style ([email protected])
- removed cleanup comment ([email protected])
- corrected rhel unsubscribe role ([email protected])
- Add openstack uninstall playbook ([email protected])
- add any_errors_fatal to openstack install playbook ([email protected])
- add any_errors_fatal to openstack playbooks ([email protected])
- cockpit-ui: Make it optional ([email protected])
- only annotate ops project for ops kibana when using ops ([email protected])
* Wed Mar 07 2018 Justin Pierce <[email protected]> 3.10.0-0.4.0
- During master upgrade reset loopback config ([email protected])
* Wed Mar 07 2018 Justin Pierce <[email protected]> 3.10.0-0.3.0
-
* Wed Mar 07 2018 Justin Pierce <[email protected]> 3.10.0-0.2.0
- Add wait_for_pods to upgrade for hosted components ([email protected])
- Refactor openshift.common.version to openshift_current_version
- Fix the DNS server name issue for OpenStack ([email protected])
- Fix hosted registry upgrade bug ([email protected])
- Remove redeploy after the roll has executed. ([email protected])
- ansible-quite: set callback_plugins path ([email protected])
- Make broker pods run correct versions on upgrade ([email protected])
- enable iscsid on start and add rpcbind dependencies ([email protected])
- fix bz 1550271: restore mpath defaults config ([email protected])
- Ensure removed web console extension variables are not set
- openstack: set a default when no API LB is needed ([email protected])
- openshift on openstack: fix non kuryr non API LB ([email protected])
- kuryr: fix linting tests ([email protected])
- kuryr: fix API LB and DNS access ([email protected])
- update LB ports iff the provider is haproxy ([email protected])
- kuryr: Use openshift-infra namespace ([email protected])
- kuryr: required pub subnet configuration option ([email protected])
- sanity_checks: add missing kuryr net_plugin ([email protected])
- kuryr: Make controller and CNI image configurable ([email protected])
- Check openstack kuryr prerequisites ([email protected])
- Kuryr var generation in OSt dynamic inventory ([email protected])
- kuryr: move to new binding_driver setting config ([email protected])
- Add s3 and block uninstall sections as well. ([email protected])
- Temporarily fix Dockerfile until we can find a replacement package
- Bug 1550148 - Fail install if console port does not match API server port
- Master scheduler upgrade cleanup ([email protected])
- Add proxy env vars to ASB DC. ([email protected])
- Correcting a typo: idle_timout -> idle_timeout ([email protected])
- docker_image_availability: encode error message ([email protected])
- Fix the gluster-s3 pod label used in gluster-s3 service.
- etcd scaleup: use r_etcd_common_etcdctl_command instead of binary path
- Change default etcd port to 2379 ([email protected])
- Fixing evaluating if ops deployment needs to skip health check, removing
logic for determining version, fixing pod check for elasticsearch to get
running version ([email protected])
- oc_obj: fail in state=list when return code != 0. ([email protected])
- Fix for gluster-s3 pvc check count. ([email protected])
- Allow for using an external openvswitch ([email protected])
- Fix rhgs-s3 image name ([email protected])
- Prometheus reader in continuing to #7064 using the right prometheus sa, with
view privileges. ([email protected])
- ansible-quiet.cfg: Don't set callback_plugins path ([email protected])
- Add support for instance_ids to ELB provisioner ([email protected])
- Remove RBAC console template ([email protected])
- crio: Add schedulable check for dockergc-ds ([email protected])
- Move common master upgrade playbooks to openshift-master ([email protected])
- crio: docker_gc on by default ([email protected])
- add stack update case for dry run ([email protected])
- [bz 1508561] default to secure registry and update certificates
- [BZ 1513706] make concurrenyLimit of heapster's hawkular sink configurable
- Fix redeploy router from openshift_hosted refactor. ([email protected])
- add stack dry run check ([email protected])
- prometheus retention 3d ([email protected])
- add liveness probe for config reload ([email protected])
- Add kuryr-kubernetes external lock_path * Lock path is now configurable to
run cni daemon without error. ([email protected])
- Add openstack stack failures list if stack fails to create
- Add Heat template validation ([email protected])
- Clarify node system container service unit ([email protected])
* Wed Feb 28 2018 Scott Dodson <[email protected]> 3.10.0-0.1.0
- Adding 3.10 releaser ([email protected])
- Add inventory docs for gcp variables ([email protected])
- Add prometheus node-exporter ([email protected])
- hosts.example: use 3.9 versions in sample inventory file
- upgrade: skip restart during double upgrade ([email protected])
- gcp: Move provisioning of SSH key into separate task
- fix when logging metrics user is modified ([email protected])
- bug 1537857. Additional logging proxy metrics fixes ([email protected])
- changed logic due to failures in CI ([email protected])
- ntpd/chronyd will now be started before node/master services
- Add service catalog components to upgrade ([email protected])
- Add registry GCS storage to hosts.example ([email protected])
- Remove no_log: True from openshift_version calls ([email protected])
- docker: support ADDTL_MOUNTS ([email protected])
- refactor grafana role ([email protected])
- Remove v3_8 upgrade playbooks ([email protected])
- Dump verbose curl output and API logs when API doesn't become available.
- Start master API in parallel on all masters. ([email protected])
- Update glusterfs-template: - Add GB_LOGDIR - failureThreshold as 50 secs
- Don't upgrade master nodes during double upgrade ([email protected])
- Don't upgrade nodes for OCP 3.8 ([email protected])
- sanity_checks: warn that some OCP versions cannot be installed
- repo_query: always include package_name in results ([email protected])
- Update upgrade README and add 3.7.x -> 3.9.x entry ([email protected])
- Remove unused tasks upgrade_facts in openshift_master ([email protected])
- Remove set_fact usage from web-console role ([email protected])
- Retrieve node list from API when testing for nodes with selector.
- Update controller port to match containerPort ([email protected])
- Fix way openshift_openstack_nodes_to_remove parameter is parsed in template
- logging: update README about cri-o ([email protected])
- Bug 1536651 - logging-mux not working in 3.7.z when logging installed with
openshift_logging_use_mux=true ([email protected])
- vsphere svc fix upgrade and datastore fix ([email protected])
- logging: allow fluentd to determine cri-o ([email protected])
- add generic image-and-flavor check that verifies existence and compatibility
* Sun Feb 25 2018 Justin Pierce <[email protected]> 3.9.0-0.53.0
-
* Sun Feb 25 2018 Justin Pierce <[email protected]> 3.9.0-0.52.0
- Move journald setup to node tasks from master ([email protected])
- [BZ 1497408] delete config map, dameon set, and cluster role
- Fix aggregator relative paths ([email protected])
- Fix package tasks ordering in OpenStack playbooks ([email protected])
- Change openshift_release to openshift_upgrade_target in upgrade
- Normalize times we wait on pods to 10s * 60retries ([email protected])
- start_api_server: service catalog healthcheck doesn't require proxy
- Changing default of openshift_logging_public_master_url to use
openshift_master_cluster_public_hostname if available ([email protected])
- Sync v3.8 content ([email protected])
- Sync v3.7 content ([email protected])
- Sync v3.9 content ([email protected])
- Allow branch specific pulls from origin ([email protected])
- Fixing bz1540467 docker-registry env var migration. Adding ability to oc_edit
complex array style edits. ([email protected])
- [1537872] Adding seboolean for virt_use_samba ([email protected])
- Making patching a local_action and ensuring we become:false for local_actions
- Cast string to dict in lib_utils_oo_dict_to_keqv_list ([email protected])
- refine condition for doing ami fetching ([email protected])
- Add field_selector parameter to oc_obj. ([email protected])
- GlusterFS: Check for groups in template file ([email protected])
- Updating AMI copying tags to no longer default to parent AMI.
- Remove NoVolumeNodeConflict from 3.9+ ([email protected])
* Fri Feb 23 2018 Justin Pierce <[email protected]> 3.9.0-0.51.0
-
* Thu Feb 22 2018 Justin Pierce <[email protected]> 3.9.0-0.50.0
- Fix upgrade verify_upgrade_targets ([email protected])
- Ensure wire-aggregator run on 3.7 upgrades ([email protected])
- Add no_log to prevent printing AWS creds ([email protected])
- added ci inventory and groups for containerized ([email protected])
* Thu Feb 22 2018 Justin Pierce <[email protected]> 3.9.0-0.48.0
- Fix openshift_hosted_registry_storage_glusterfs_path ([email protected])
- Revert openshift_portal_net ([email protected])
- skip search for an ami if openshift_aws_ami_map provides one
- Adding node autoapprover. ([email protected])
- Adding ability to state absent array items with index/curr_value.
- Change image location to CF 4.6 GA from Beta ([email protected])
- Update templates to mount the configmap into the directory the new image
expects ([email protected])
- Fix for support multi-cluster heketi's topology ([email protected])
* Tue Feb 20 2018 Justin Pierce <[email protected]> 3.9.0-0.47.0
- Update API healthz check to use uri module ([email protected])
- fixed an oo_filter plugin lib_utils_oo_has_no_matching_selector to do set
comparison ([email protected])
- Grafana roles updates. ([email protected])
- add deprovision playbook for cluster-operator infrastructure