Проблема
В настройках registry каким-то чудом прописали два одинаковых порта на http и https - они должны быть разные.После рестарта nexus не запускается из-за этого:
|
Как я это лечил в кубере
Важно: запускать докер от пользователя кому принадлежит БД, если этого не сделать - некоторые таблицы потом становятся не читаемыми - приходится потом делать chown на нужного пользователя.
Зайти на ноду, куда зацепился pv/pvc
docker run --rm -ti -v /var/lib/kubelet/plugins/kubernetes.io/csi/pv/pv-nexus-dev/globalmount:/tmp1 sonatype/nexus3:3.39.0 /bin/bash
java -jar /opt/sonatype/nexus/lib/support/nexus-orient-console.jar
Просмотр репозиториев:
connect plocal:/tmp1/db/config admin admin
orientdb {db=config}> select * from repository limit 100
+----+------+---------+------+---------+---------+---------+---------------------------------------------------------------------------------------------+
|# |@RID |@CLASS |online|recipe_na|routingRu|repositor|attributes |
+----+------+---------+------+---------+---------+---------+---------------------------------------------------------------------------------------------+
|0 |#37:0 |reposi...|true |nuget-...| |nuget-...|{storage={writePolicy=ALLOW, blobStoreName=default}} |
|1 |#37:1 |reposi...|true |nuget-...| |nuget-...|{group={memberNames=[nuget-hosted, nuget.org-proxy]}, storage={blobStoreName=default}} |
|2 |#37:2 |reposi...|true |maven2...| |maven-...|{maven={versionPolicy=SNAPSHOT, layoutPolicy=STRICT}, storage={writePolicy=ALLOW, strictCo...|
|3 |#37:3 |reposi...|true |maven2...| |maven-...|{maven={versionPolicy=MIXED}, group={memberNames=[maven-releases, maven-snapshots, maven-c...|
|4 |#37:4 |reposi...|true |maven2...| |maven-...|{proxy={contentMaxAge=-1.0, remoteUrl=https://repo1.maven.org/maven2/, metadataMaxAge=1440...|
|5 |#37:5 |reposi...|true |maven2...| |web-ma...|{maven={versionPolicy=RELEASE, layoutPolicy=STRICT}, storage={strictContentTypeValidation=...|
|6 |#37:6 |reposi...|true |maven2...| |web-ma...|{cleanup={policyName=[None]}, maven={versionPolicy=RELEASE, layoutPolicy=STRICT}, storage=...|
|7 |#37:7 |reposi...|true |pypi-h...| |kkryuc...|{cleanup={policyName=[None]}, component={proprietaryComponents=false}, storage={strictCont...|
|8 |#37:8 |reposi...|true |npm-ho...| |npm-pr...|{storage={strictContentTypeValidation=true, writePolicy=ALLOW_ONCE, blobStoreName=default}} |
Вывести нужную строку:
select * from repository where @RID = "#38:3"
+----+-----+---------+------+---------+---------+---------+---------------------------------------------------------------------------------------------+
|# |@RID |@CLASS |online|recipe_na|routingRu|repositor|attributes |
+----+-----+---------+------+---------+---------+---------+---------------------------------------------------------------------------------------------+
|0 |#38:3|reposi...|true |docker...| |docker...|{component={proprietaryComponents=false}, docker={v1Enabled=true, forceBasicAuth=true, htt...|
+----+-----+---------+------+---------+---------+---------+---------------------------------------------------------------------------------------------+
Показать полное значение полей:
orientdb {db=config}> DISPLAY RAW RECORD 0
LOW LEVEL CLUSTER INFO
status: PRESENT
cluster fieldId: 9109013009270833256
cluster name: repository_1
in cluster position: 3
empty: false
contentSize: 351
n-pages: 1
+----------PAGE_ID---------------+------IN_PAGE_POSITION----------+---------IN_PAGE_SIZE-----------+----PAGE_CONTENT---->>
| 1 | 3 | 360 |ZFoBAAAAFHJlcG9zaXRvcnmDAkYXRpb24AAAEoAAcWd3JpdGVQb2xpY3kAAAEpBwcYbGF0ZXN0UGAHGmJsb2JTdG9yZU5hbWdGUBAf//////////
RECORD CONTENT INFO
class name: repository
fail on Reading: false
fail position: 0
number of properties : 5
PROPERTIES
property name: attributes
property type: EMBEDDEDMAP
property globalId: 65
fail on reading: false
property value: {component={proprietaryComponents=false}, docker={v1Enabled=true, forceBasicAuth=true, httpsPort=8083.0, httpPort=8083.0}, storage={strictContentTypeValidation=true, writePolicy=ALLOW, latestPolicy=false, blobStoreName=docker-blob}}
property name: recipe_name
property type: STRING
property globalId: 79
fail on reading: false
property value: docker-hosted
property name: repository_name
property type: STRING
property globalId: 78
fail on reading: false
property value: docker-private
property name: online
property type: BOOLEAN
property globalId: 81
fail on reading: false
property value: true
property name: routingRuleId
property type: LINK
property globalId: 80
fail on reading: false
property value: null
Сделать бекап:
export database /tmp1/config.export
Exporting current database to: database /tmp1/config.export in GZipped JSON format ...
Started export of database 'config' to /tmp1/config.export.gz...
Exporting database info...OK
.......
В файле бекапа посмотреть как правильно пишется значение, поправить значение, проапдейтить:
# обновлять каждую компоненту отдельно - тогда будет проставляться знак равно
update repository set attributes.component={"proprietaryComponents":false} where @RID="#38:3"
update repository set attributes.docker={"v1Enabled":true,"forceBasicAuth":true,"httpPort":8083.0} where @RID="#38:3"
PS:
Посмотреть таблицы:
orientdb {db=config}> LIST CLASSES
CLASSES
+----+------------------------+-------------+-------------------------------------------------------+-----+
|# |NAME |SUPER-CLASSES|CLUSTERS |COUNT|
+----+------------------------+-------------+-------------------------------------------------------+-----+
|0 |capability | |capability(29),capability_1(30) | 13|
|1 |change_repo_blobstore | |change_repo_blobstore(54),change_repo_blobstore_1(55) | 0|
|2 |cleanup | |cleanup(35),cleanup_1(36) | 3|
|3 |deploymentidentifier | |deploymentidentifier(49) | 1|
|4 |E | |e(11),e_1(12) | 0|
|5 |email | |email(34) | 1|
|6 |firewall_ignore_patterns| |firewall_ignore_patterns(22) | 1|
|7 |healthcheckconfig | |healthcheckconfig(23),healthcheckconfig_1(24) | 25|
|8 |http_client | |http_client(33) | 1|
|9 |key_store | |key_store(27),key_store_1(28) | 2|
|10 |ldap | |ldap(14),ldap_1(15) | 0|
|11 |ldap_connection | |ldap_connection(18),ldap_connection_1(19) | 0|
|12 |ldap_host | |ldap_host(16),ldap_host_1(17) | 0|
|13 |ldap_mapping | |ldap_mapping(20),ldap_mapping_1(21) | 0|
|14 |log4j_visualizer | |log4j_visualizer(56) | 0|
|15 |OFunction | |ofunction(6) | 0|